@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.serviceutils.upgrade.UpgradeState upgradeState,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService,
VpnUtil vpnUtil) |
| Modifier and Type | Method and Description |
|---|---|
void |
addArpResponderFlowsToExternalNetworkIps(String id,
Collection<String> fixedIps,
String macAddress,
BigInteger dpnId,
String extInterfaceName,
int lportTag) |
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) |
void |
addExtraRoute(String vpnName,
String destination,
String nextHop,
String rd,
String routerID,
Long l3vni,
RouteOrigin origin,
String intfName,
Adjacency operationalAdj,
VrfEntryBase.EncapType encapType,
Set<String> prefixListForRefreshFib,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
addSubnetMacIntoVpnInstance(String vpnName,
String subnetVpnName,
String srcMacAddress,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
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,
String intfName,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx) |
VpnPortipToPort |
getNeutronPortFromVpnPortFixedIp(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
String vpnName,
String fixedIp) |
VpnPortipToPort |
getNeutronPortFromVpnPortFixedIp(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
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) |
String |
getVpnRd(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx,
org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx) |
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.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
void |
removeRouteTargetsToSubnetAssociation(Set<VpnTarget> routeTargets,
String cidr,
String vpnName) |
void |
removeSubnetMacFromVpnInstance(String vpnName,
String subnetVpnName,
String srcMacAddress,
BigInteger dpnId,
org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) |
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.serviceutils.upgrade.UpgradeState upgradeState,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmRpcService,
VpnUtil vpnUtil)
@PostConstruct public void start()
public void addExtraRoute(String vpnName, String destination, String nextHop, String rd, @Nullable String routerID, Long l3vni, RouteOrigin origin, @Nullable String intfName, @Nullable Adjacency operationalAdj, VrfEntryBase.EncapType encapType, Set<String> prefixListForRefreshFib, @Nonnull org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
addExtraRoute in interface IVpnManagerpublic void delExtraRoute(String vpnName, String destination, String nextHop, String rd, @Nullable String routerID, @Nullable String intfName, @Nonnull org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, @Nonnull org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx)
delExtraRoute in interface IVpnManagerpublic void removePrefixFromBGP(String vpnName, String primaryRd, String extraRouteRd, String vpnInterfaceName, String prefix, String nextHop, String nextHopTunnelIp, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Operational> operTx)
removePrefixFromBGP in interface IVpnManagerpublic boolean isVPNConfigured()
isVPNConfigured in interface IVpnManagerpublic void addSubnetMacIntoVpnInstance(String vpnName, String subnetVpnName, String srcMacAddress, BigInteger dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
addSubnetMacIntoVpnInstance in interface IVpnManagerExecutionExceptionInterruptedExceptionpublic void removeSubnetMacFromVpnInstance(String vpnName, String subnetVpnName, String srcMacAddress, BigInteger dpnId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
removeSubnetMacFromVpnInstance in interface IVpnManagerExecutionExceptionInterruptedExceptionpublic 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.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
addRouterGwMacFlow in interface IVpnManagerExecutionExceptionInterruptedExceptionpublic 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.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws ExecutionException, InterruptedException
removeRouterGwMacFlow in interface IVpnManagerExecutionExceptionInterruptedExceptionpublic 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)
addArpResponderFlowsToExternalNetworkIps in interface IVpnManagerpublic void addArpResponderFlowsToExternalNetworkIps(String id, Collection<String> fixedIps, String macAddress, BigInteger dpnId, String extInterfaceName, int lportTag)
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 void onSubnetAddedToVpn(Subnetmap subnetmap, boolean isBgpVpn, Long elanTag)
onSubnetAddedToVpn in interface IVpnManagerpublic void onSubnetDeletedFromVpn(Subnetmap subnetmap, boolean isBgpVpn)
onSubnetDeletedFromVpn in interface IVpnManager@Nullable public VpnInstance getVpnInstance(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnInstanceName)
getVpnInstance in interface IVpnManagerpublic String getVpnRd(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, String vpnName)
getVpnRd in interface IVpnManagerpublic String getVpnRd(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, String vpnName)
getVpnRd in interface IVpnManagerpublic VpnPortipToPort getNeutronPortFromVpnPortFixedIp(org.opendaylight.genius.infra.TypedReadTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, String vpnName, String fixedIp)
getNeutronPortFromVpnPortFixedIp in interface IVpnManager@Nullable public 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.