@Singleton public class VpnManagerImpl extends Object implements IVpnManager
| Constructor and Description |
|---|
VpnManagerImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManagerService,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
IElanService elanService,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
VpnSubnetRouteHandler vpnSubnetRouteHandler,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifaceMgrRpcService,
IVpnLinkService ivpnLinkService,
IFibManager fibManager,
IBgpManager bgpManager,
InterVpnLinkCache interVpnLinkCache,
org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar dataTreeEventCallbackRegistrar,
org.opendaylight.genius.mdsalutil.UpgradeState upgradeState,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService) |
| Modifier and Type | Method and Description |
|---|---|
void |
addArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
String extInterfaceName,
int lportTag,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx) |
void |
addArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx) |
void |
addExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID,
int label,
RouteOrigin origin) |
void |
addExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID,
Long l3vni,
RouteOrigin origin,
String intfName,
Adjacency operationalAdj,
VrfEntryBase.EncapType encapType,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
void |
addRouterGwMacFlow(String routerName,
String routerGwMac,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId,
String subnetVpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx) |
void |
addSubnetMacIntoVpnInstance(String vpnName,
String subnetVpnName,
String srcMacAddress,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
boolean |
checkForOverlappingSubnets(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid network,
List<Subnetmap> subnetmapList,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn,
Set<VpnTarget> routeTargets,
List<String> failedNwList) |
void |
delExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID) |
void |
delExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID,
String intfName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
boolean |
existsVpn(String vpnName)
Returns true if the specified VPN exists.
|
List<BigInteger> |
getDpnsOnVpn(String vpnInstanceName)
Retrieves the list of DPNs where the specified VPN has footprint.
|
List<org.opendaylight.genius.mdsalutil.MatchInfoBase> |
getEgressMatchesForVpn(String vpnName) |
VpnPortipToPort |
getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp) |
String |
getPrimaryRdFromVpnInstance(VpnInstance vpnInstance) |
Set<VpnTarget> |
getRtListForVpn(String vpnName) |
VpnInstance |
getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnInstanceName) |
String |
getVpnRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName) |
boolean |
isVPNConfigured() |
void |
onSubnetAddedToVpn(Subnetmap subnetmap,
boolean isBgpVpn,
Long elanTag) |
void |
onSubnetDeletedFromVpn(Subnetmap subnetmap,
boolean isBgpVpn) |
void |
removeArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
BigInteger dpnId,
String extInterfaceName,
int lportTag) |
void |
removeArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId) |
void |
removePrefixFromBGP(String vpnName,
String primaryRd,
String extraRouteRd,
String vpnInterfaceName,
String prefix,
String nextHop,
String nextHopTunnelIp,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn) |
void |
removeRouterGwMacFlow(String routerName,
String routerGwMac,
BigInteger dpnId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId,
String subnetVpnName,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx) |
void |
removeRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets,
String cidr,
String vpnName) |
void |
removeSubnetMacFromVpnInstance(String vpnName,
String subnetVpnName,
String srcMacAddress,
BigInteger dpnId,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx) |
void |
start() |
void |
updateRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets,
String cidr,
String vpnName) |
@Inject
public VpnManagerImpl(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManagerService,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager,
IElanService elanService,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager,
VpnSubnetRouteHandler vpnSubnetRouteHandler,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService ifaceMgrRpcService,
IVpnLinkService ivpnLinkService,
IFibManager fibManager,
IBgpManager bgpManager,
InterVpnLinkCache interVpnLinkCache,
org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar dataTreeEventCallbackRegistrar,
org.opendaylight.genius.mdsalutil.UpgradeState upgradeState,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService)
@PostConstruct public void start()
public void addExtraRoute(String vpnName, String destination, String nextHop, String rd, String routerID, int label, RouteOrigin origin)
addExtraRoute in interface IVpnManagerpublic void addExtraRoute(String vpnName, String destination, String nextHop, String rd, String routerID, Long l3vni, RouteOrigin origin, String intfName, Adjacency operationalAdj, VrfEntryBase.EncapType encapType, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
addExtraRoute in interface IVpnManagerpublic void delExtraRoute(String vpnName, String destination, String nextHop, String rd, String routerID)
delExtraRoute in interface IVpnManagerpublic void delExtraRoute(String vpnName, String destination, String nextHop, String rd, String routerID, String intfName, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
delExtraRoute in interface IVpnManagerpublic void removePrefixFromBGP(String vpnName, String primaryRd, String extraRouteRd, String vpnInterfaceName, String prefix, String nextHop, String nextHopTunnelIp, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeConfigTxn)
removePrefixFromBGP in interface IVpnManagerpublic boolean isVPNConfigured()
isVPNConfigured in interface IVpnManagerpublic List<BigInteger> getDpnsOnVpn(String vpnInstanceName)
IVpnManagergetDpnsOnVpn in interface IVpnManagervpnInstanceName - The name of the Vpn instancepublic boolean existsVpn(String vpnName)
IVpnManagerexistsVpn in interface IVpnManagervpnName - it must match against the vpn-instance-name attrib in one of the VpnInstancespublic void addSubnetMacIntoVpnInstance(String vpnName, String subnetVpnName, String srcMacAddress, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
addSubnetMacIntoVpnInstance in interface IVpnManagerpublic void removeSubnetMacFromVpnInstance(String vpnName, String subnetVpnName, String srcMacAddress, BigInteger dpnId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx)
removeSubnetMacFromVpnInstance in interface IVpnManagerpublic void addRouterGwMacFlow(String routerName, String routerGwMac, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, String subnetVpnName, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx)
addRouterGwMacFlow in interface IVpnManagerpublic void removeRouterGwMacFlow(String routerName, String routerGwMac, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, String subnetVpnName, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx)
removeRouterGwMacFlow in interface IVpnManagerpublic void addArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx)
addArpResponderFlowsToExternalNetworkIps in interface IVpnManagerpublic void addArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, String extInterfaceName, int lportTag, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeTx)
addArpResponderFlowsToExternalNetworkIps in interface IVpnManagerpublic void removeArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId)
removeArpResponderFlowsToExternalNetworkIps in interface IVpnManagerpublic void removeArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, BigInteger dpnId, String extInterfaceName, int lportTag)
removeArpResponderFlowsToExternalNetworkIps in interface IVpnManagerpublic String getPrimaryRdFromVpnInstance(VpnInstance vpnInstance)
getPrimaryRdFromVpnInstance in interface IVpnManagerpublic List<org.opendaylight.genius.mdsalutil.MatchInfoBase> getEgressMatchesForVpn(String vpnName)
getEgressMatchesForVpn in interface IVpnManagerpublic void onSubnetAddedToVpn(Subnetmap subnetmap, boolean isBgpVpn, Long elanTag)
onSubnetAddedToVpn in interface IVpnManagerpublic void onSubnetDeletedFromVpn(Subnetmap subnetmap, boolean isBgpVpn)
onSubnetDeletedFromVpn in interface IVpnManagerpublic VpnInstance getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnInstanceName)
getVpnInstance in interface IVpnManagerpublic String getVpnRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName)
getVpnRd in interface IVpnManagerpublic VpnPortipToPort getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName, String fixedIp)
getNeutronPortFromVpnPortFixedIp in interface IVpnManagerpublic Set<VpnTarget> getRtListForVpn(String vpnName)
getRtListForVpn in interface IVpnManagerpublic void updateRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets, String cidr, String vpnName)
updateRouteTargetsToSubnetAssociation in interface IVpnManagerpublic void removeRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets, String cidr, String vpnName)
removeRouteTargetsToSubnetAssociation in interface IVpnManagerpublic boolean checkForOverlappingSubnets(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid network,
List<Subnetmap> subnetmapList,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid vpn,
Set<VpnTarget> routeTargets,
List<String> failedNwList)
checkForOverlappingSubnets in interface IVpnManagerCopyright © 2019 OpenDaylight. All rights reserved.