/* * Copyright (c) 2017 Cisco Systems. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.groupbasedpolicy.renderer.vpp.lisp; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.local.mapping.Eid; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; /** * Created by Shakib Ahmed on 3/29/17. */ public class LispState { private String hostName; private boolean lispEnabled; private HashMap<String, String> locIntfToLocSetNameMapping; private Set<IpAddress> mapServerIpAddressSet; private Set<IpAddress> mapResolverIpAddressSet; private Set<Long> vniSet; private boolean mapRegisteredEnabled; private HashMap<Eid, String> eidToMappingIdMapper; public LispState(String hostName) { this.hostName = hostName; lispEnabled = false; locIntfToLocSetNameMapping = new HashMap<>(); mapServerIpAddressSet = new HashSet<>(); mapResolverIpAddressSet = new HashSet<>(); mapRegisteredEnabled = false; vniSet = new HashSet<>(); eidToMappingIdMapper = new HashMap<>(); } public String getHostName() { return hostName; } public boolean isLispEnabled() { return lispEnabled; } public void setLispEnabled(boolean lispEnabled) { this.lispEnabled = lispEnabled; } public String getLocIntfToLocSetNameMapping(String locatorIntf) { return locIntfToLocSetNameMapping.get(locatorIntf); } public void setLocIntfToLocSetNameMapping(String locIntfName, String locSetName) { locIntfToLocSetNameMapping.put(locIntfName, locSetName); } public Set<Map.Entry<String, String>> getLocatorSetEntry() { return locIntfToLocSetNameMapping.entrySet(); } public int getLocatorCount() { return locIntfToLocSetNameMapping.size(); } public boolean mapServerSetContains(IpAddress ip) { return mapServerIpAddressSet.contains(ip); } public void addInMapServerSet(IpAddress ip) { mapServerIpAddressSet.add(ip); } public boolean mapResolverSetContains(IpAddress ip) { return mapResolverIpAddressSet.contains(ip); } public void addInMapResolverSet(IpAddress ip) { mapResolverIpAddressSet.add(ip); } public boolean vniSetContains(long vni) { return vniSet.contains(vni); } public void addInVniSet(long vni) { vniSet.add(vni); } public boolean isMapRegisteredEnabled() { return mapRegisteredEnabled; } public void setMapRegisteredEnabled(boolean mapRegisteredEnabled) { this.mapRegisteredEnabled = mapRegisteredEnabled; } public boolean eidSetContains(Eid eid) { return eidToMappingIdMapper.containsKey(eid); } public void addInEidSet(Eid eid, String mappingId) { eidToMappingIdMapper.put(eid, mappingId); } public int eidCount() { return eidToMappingIdMapper.size(); } public void deleteEid(Eid eid) { eidToMappingIdMapper.remove(eid); } public String getEidMapping(Eid eid) { return eidToMappingIdMapper.get(eid); } }