2 * Copyright (c) 2017 Cisco Systems. All rights reserved.
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
8 package org.opendaylight.groupbasedpolicy.renderer.vpp.lisp.info.container.states;
10 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev171013.dp.subtable.grouping.local.mappings.local.mapping.Eid;
13 import java.util.HashMap;
14 import java.util.HashSet;
19 * Created by Shakib Ahmed on 3/29/17.
21 public class LispState {
22 private boolean lispEnabled;
23 private boolean gpeEnabled;
24 private HashMap<String, String> interfaceNameToLocatorSetNameMapper;
25 private Set<IpAddress> mapServerIpAddressSet;
26 private Set<IpAddress> mapResolverIpAddressSet;
27 private Set<Long> vniSet;
28 private Set<Eid> eidSet;
32 interfaceNameToLocatorSetNameMapper = new HashMap<>();
33 mapServerIpAddressSet = new HashSet<>();
34 mapResolverIpAddressSet = new HashSet<>();
35 vniSet = new HashSet<>();
36 eidSet = new HashSet<>();
39 public boolean isLispEnabled() {
43 public void setLispEnabled(boolean lispEnabled) {
44 this.lispEnabled = lispEnabled;
47 public boolean isGpeEnabled() {
51 public void setGpeEnabled(boolean gpeEnabled) {
52 this.gpeEnabled = gpeEnabled;
55 public String getLocIntfToLocSetNameMapping(String locatorIntf) {
56 return interfaceNameToLocatorSetNameMapper.get(locatorIntf);
59 public void setLocIntfToLocSetNameMapping(String locIntfName, String locSetName) {
60 interfaceNameToLocatorSetNameMapper.put(locIntfName, locSetName);
63 public Set<Map.Entry<String, String>> getLocatorSetEntry() {
64 return interfaceNameToLocatorSetNameMapper.entrySet();
67 public int getLocatorCount() {
68 return interfaceNameToLocatorSetNameMapper.size();
71 public boolean mapServerSetContains(IpAddress ip) {
72 return mapServerIpAddressSet.contains(ip);
75 public void addInMapServerSet(IpAddress ip) {
76 mapServerIpAddressSet.add(ip);
79 public boolean mapResolverSetContains(IpAddress ip) {
80 return mapResolverIpAddressSet.contains(ip);
83 public void addInMapResolverSet(IpAddress ip) {
84 mapResolverIpAddressSet.add(ip);
87 public boolean isVniConfigured(long vni) {
88 return vniSet.contains(vni);
91 public int vniSetCount() {
92 return vniSet == null ? 0 : vniSet.size();
95 public void addInVniSet(long vni) {
99 public boolean eidSetContains(Eid eid) {
100 return eidSet.contains(eid);
103 public int eidCount() {
104 return eidSet.size();
107 public void addEidInEidSet(Eid eid) {
110 public void deleteEid(Eid eid) {
114 public void deleteEidSet() {
118 public void deleteVniSet() {
122 public void deleteLocators() {
123 interfaceNameToLocatorSetNameMapper.clear();
126 @Override public String toString() {
127 return "LispState{" + "lispEnabled=" + lispEnabled + ", gpeEnabled=" + gpeEnabled
128 + ", interfaceNameToLocatorSetNameMapper=" + interfaceNameToLocatorSetNameMapper
129 + ", mapServerIpAddressSet=" + mapServerIpAddressSet + ", mapResolverIpAddressSet="
130 + mapResolverIpAddressSet + ", vniSet=" + vniSet + ", eidSet=" + eidSet + '}';