Fix metadata for route, arp and overlay
[groupbasedpolicy.git] / renderers / vpp / src / main / java / org / opendaylight / groupbasedpolicy / renderer / vpp / lisp / LispState.java
1 /*
2  * Copyright (c) 2017 Cisco Systems. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.groupbasedpolicy.renderer.vpp.lisp;
10
11 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.local.mapping.Eid;
13
14 import java.util.HashMap;
15 import java.util.HashSet;
16 import java.util.Map;
17 import java.util.Set;
18
19 /**
20  * Created by Shakib Ahmed on 3/29/17.
21  */
22 public class LispState {
23     private String hostName;
24     private boolean lispEnabled;
25     private boolean gpeEnabled;
26     private HashMap<String, String> locIntfToLocSetNameMapping;
27     private Set<IpAddress> mapServerIpAddressSet;
28     private Set<IpAddress> mapResolverIpAddressSet;
29     private Set<Long> vniSet;
30     private boolean mapRegisteredEnabled;
31     private HashMap<Eid, String> eidToMappingIdMapper;
32     private int interfaceCount;
33
34     public LispState(String hostName) {
35         this.hostName = hostName;
36         lispEnabled = false;
37         locIntfToLocSetNameMapping = new HashMap<>();
38         mapServerIpAddressSet = new HashSet<>();
39         mapResolverIpAddressSet = new HashSet<>();
40         mapRegisteredEnabled = false;
41         vniSet = new HashSet<>();
42         eidToMappingIdMapper = new HashMap<>();
43         interfaceCount = 1;
44     }
45
46     public String getHostName() {
47         return hostName;
48     }
49
50     public boolean isLispEnabled() {
51         return lispEnabled;
52     }
53
54     public void setLispEnabled(boolean lispEnabled) {
55         this.lispEnabled = lispEnabled;
56     }
57
58     public boolean isGpeEnabled() {
59         return gpeEnabled;
60     }
61
62     public void setGpeEnabled(boolean gpeEnabled) {
63         this.gpeEnabled = gpeEnabled;
64     }
65
66     public String getLocIntfToLocSetNameMapping(String locatorIntf) {
67         return locIntfToLocSetNameMapping.get(locatorIntf);
68     }
69
70     public void setLocIntfToLocSetNameMapping(String locIntfName, String locSetName) {
71         locIntfToLocSetNameMapping.put(locIntfName, locSetName);
72     }
73
74     public Set<Map.Entry<String, String>> getLocatorSetEntry() {
75         return locIntfToLocSetNameMapping.entrySet();
76     }
77
78     public int getLocatorCount() {
79         return locIntfToLocSetNameMapping.size();
80     }
81
82     public boolean mapServerSetContains(IpAddress ip) {
83         return mapServerIpAddressSet.contains(ip);
84     }
85
86     public void addInMapServerSet(IpAddress ip) {
87         mapServerIpAddressSet.add(ip);
88     }
89
90     public boolean mapResolverSetContains(IpAddress ip) {
91         return mapResolverIpAddressSet.contains(ip);
92     }
93
94     public void addInMapResolverSet(IpAddress ip) {
95         mapResolverIpAddressSet.add(ip);
96     }
97
98     public boolean vniSetContains(long vni) {
99         return vniSet.contains(vni);
100     }
101
102     public void addInVniSet(long vni) {
103         vniSet.add(vni);
104     }
105
106     public boolean isMapRegisteredEnabled() {
107         return mapRegisteredEnabled;
108     }
109
110     public void setMapRegisteredEnabled(boolean mapRegisteredEnabled) {
111         this.mapRegisteredEnabled = mapRegisteredEnabled;
112     }
113
114     public boolean eidSetContains(Eid eid) {
115         return eidToMappingIdMapper.containsKey(eid);
116     }
117
118     public void addInEidSet(Eid eid, String mappingId) {
119         interfaceCount++;
120         eidToMappingIdMapper.put(eid, mappingId);
121     }
122
123     public int eidCount() {
124         return eidToMappingIdMapper.size();
125     }
126
127     public void deleteEid(Eid eid) {
128         eidToMappingIdMapper.remove(eid);
129     }
130
131     public String getEidMapping(Eid eid) {
132         return eidToMappingIdMapper.get(eid);
133     }
134
135     public int getInterfaceId() {
136         return interfaceCount;
137     }
138 }