Class ExternalRoutersListener
- java.lang.Object
-
- org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
- org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.util.EventListener
,org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener<Routers>
,org.opendaylight.serviceutils.tools.mdsal.listener.ChainableDataTreeChangeListener<Routers>
@Singleton public class ExternalRoutersListener extends org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
-
Constructor Summary
Constructors Constructor Description ExternalRoutersListener(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, NaptManager naptManager, NAPTSwitchSelector naptSwitchSelector, IBgpManager bgpManager, VpnRpcService vpnService, FibRpcService fibService, SNATDefaultRouteProgrammer snatDefaultRouteProgrammer, NaptEventHandler naptEventHandler, NaptPacketInHandler naptPacketInHandler, IFibManager fibManager, IVpnManager vpnManager, EvpnSnatFlowProgrammer evpnSnatFlowProgrammer, NatserviceConfig config, IElanService elanManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator coordinator, NatOverVxlanUtil natOverVxlanUtil, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers> identifier, Routers routers)
void
advToBgpAndInstallFibAndTsFlows(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, java.lang.String vpnName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, java.lang.String externalIp, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, @Nullable Routers router, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
org.opendaylight.genius.mdsalutil.FlowEntity
buildNaptPfibFlowEntity(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 segmentId)
org.opendaylight.genius.mdsalutil.FlowEntity
buildNaptPfibFlowEntityWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 segmentId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId)
protected org.opendaylight.genius.mdsalutil.FlowEntity
buildOutboundFlowEntity(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 routerId, int protocol)
protected org.opendaylight.genius.mdsalutil.FlowEntity
buildOutboundFlowEntityWithBgpVpn(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, int protocol)
org.opendaylight.genius.mdsalutil.FlowEntity
buildSnatFlowEntityWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 groupId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId)
org.opendaylight.genius.mdsalutil.FlowEntity
buildSnatFlowEntityWithUpdatedVpnIdForPrimrySwtch(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId)
void
changeBgpVpnIdToLocalVpnId(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String bgpVpnName, java.lang.String extNetwork, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx, ProviderTypes extNwProvType)
router disassociation from vpn.void
changeLocalVpnIdToBgpVpnId(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extNetwork, java.lang.String bgpVpnName, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx, ProviderTypes extNwProvType)
router association to vpn.protected @Nullable org.opendaylight.yangtools.yang.common.Uint32
checkExternalIpLabel(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp)
protected void
clearBgpRoutes(java.lang.String externalIp, java.lang.String vpnName)
protected void
clearFibTsAndReverseTraffic(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, java.util.List<java.lang.String> externalIps, @Nullable java.lang.String vpnName, java.lang.String extGwMacAddress, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
void
clrRtsFromBgpAndDelFibTs(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, @NonNull java.util.Collection<java.lang.String> externalIps, @Nullable java.lang.String vpnName, java.lang.String extGwMacAddress, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
protected void
clrRtsFromBgpAndDelFibTs(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extIp, java.lang.String vpnName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, java.lang.String extGwMacAddress, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx)
void
createOutboundTblEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
void
createOutboundTblEntryWithBgpVpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
protected void
delFibTsAndReverseTraffic(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extIp, java.lang.String vpnName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, org.opendaylight.yangtools.yang.common.Uint32 tempLabel, java.lang.String gwMacAddress, boolean switchOver, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx)
org.opendaylight.yangtools.yang.common.Uint64
getCookieOutboundFlow(org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected ExternalRoutersListener
getDataTreeChangeListener()
java.lang.String
getFlowRefOutbound(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, org.opendaylight.yangtools.yang.common.Uint32 routerID, int protocol)
static java.lang.String
getFlowRefSnat(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, java.lang.String routerID)
java.lang.String
getFlowRefTs(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, org.opendaylight.yangtools.yang.common.Uint32 routerID)
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<RouterIds>
getRoutersIdentifier(org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected @Nullable java.lang.String
getTunnelInterfaceName(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 dstDpId)
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers>
getWildCardPath()
void
handleDisableSnat(Routers router, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, @NonNull java.util.Collection<java.lang.String> externalIps, boolean routerFlag, @Nullable java.lang.String vpnName, org.opendaylight.yangtools.yang.common.Uint64 naptSwitchDpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx)
void
handleDisableSnatInternetVpn(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, @NonNull java.util.Collection<java.lang.String> externalIps, java.lang.String vpnId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
void
handleEnableSnat(Routers routers, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.yangtools.yang.common.Uint32 bgpVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
protected void
handlePrimaryNaptSwitch(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid externalNwUuid, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
void
handleSnatReverseTraffic(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, Routers router, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, java.lang.String externalIp)
protected void
handleSwitches(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId)
void
init()
void
installFlowsWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 bgpVpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNwUuid, boolean isSnatCfgd, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, ProviderTypes extNwProvType)
protected void
installNaptPfibEntriesForExternalSubnets(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 dpnId, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
void
installNaptPfibEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 segmentId, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
void
installNaptPfibEntryWithBgpVpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 segmentId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
protected void
installNaptPfibExternalOutputFlow(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
protected void
installOutboundMissEntry(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
protected void
installSnatMissEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.util.List<org.opendaylight.genius.mdsalutil.BucketInfo> bucketInfo, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
installSnatMissEntryForPrimrySwch(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
protected void
installTerminatingServiceTblEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
protected void
installTerminatingServiceTblEntryWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, ProviderTypes extNwProvType)
protected void
remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers> identifier, Routers router)
void
removeFlowsFromNonActiveSwitches(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 naptSwitchDpnId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx)
protected void
removeNaptFibExternalOutputFlows(org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, @NonNull java.util.Collection<java.lang.String> externalIps, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
void
removeNaptFlowsFromActiveSwitch(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, java.lang.String vpnName, @NonNull java.util.Collection<java.lang.String> externalIps, java.util.Collection<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> externalSubnetList, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, ProviderTypes extNwProvType)
void
removeNaptFlowsFromActiveSwitchInternetVpn(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, java.lang.String vpnName, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
protected void
removeNaptSwitch(java.lang.String routerName)
protected void
subnetRegisterMapping(Routers routerEntry, org.opendaylight.yangtools.yang.common.Uint32 segmentId)
protected void
update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers> identifier, Routers original, Routers update)
void
updateNaptFlowsWithVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 bgpVpnId)
void
updateNaptSwitch(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 naptSwitchId)
-
-
-
Constructor Detail
-
ExternalRoutersListener
@Inject public ExternalRoutersListener(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, NaptManager naptManager, NAPTSwitchSelector naptSwitchSelector, IBgpManager bgpManager, VpnRpcService vpnService, FibRpcService fibService, SNATDefaultRouteProgrammer snatDefaultRouteProgrammer, NaptEventHandler naptEventHandler, NaptPacketInHandler naptPacketInHandler, IFibManager fibManager, IVpnManager vpnManager, EvpnSnatFlowProgrammer evpnSnatFlowProgrammer, NatserviceConfig config, IElanService elanManager, org.opendaylight.infrautils.jobcoordinator.JobCoordinator coordinator, NatOverVxlanUtil natOverVxlanUtil, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager)
-
-
Method Detail
-
init
@PostConstruct public void init()
- Overrides:
init
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
getWildCardPath
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers> getWildCardPath()
- Specified by:
getWildCardPath
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
add
protected void add(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers> identifier, Routers routers)
- Specified by:
add
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
handleEnableSnat
public void handleEnableSnat(Routers routers, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.yangtools.yang.common.Uint32 bgpVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
installNaptPfibExternalOutputFlow
protected void installNaptPfibExternalOutputFlow(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
subnetRegisterMapping
protected void subnetRegisterMapping(Routers routerEntry, org.opendaylight.yangtools.yang.common.Uint32 segmentId)
-
installOutboundMissEntry
protected void installOutboundMissEntry(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
getFlowRefOutbound
public java.lang.String getFlowRefOutbound(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, org.opendaylight.yangtools.yang.common.Uint32 routerID, int protocol)
-
getCookieOutboundFlow
public org.opendaylight.yangtools.yang.common.Uint64 getCookieOutboundFlow(org.opendaylight.yangtools.yang.common.Uint32 routerId)
-
buildOutboundFlowEntity
protected org.opendaylight.genius.mdsalutil.FlowEntity buildOutboundFlowEntity(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 routerId, int protocol)
-
createOutboundTblEntry
public void createOutboundTblEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
getTunnelInterfaceName
protected @Nullable java.lang.String getTunnelInterfaceName(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 dstDpId)
-
installSnatMissEntryForPrimrySwch
protected void installSnatMissEntryForPrimrySwch(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
installSnatMissEntry
protected void installSnatMissEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.util.List<org.opendaylight.genius.mdsalutil.BucketInfo> bucketInfo, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId)
-
installTerminatingServiceTblEntry
protected void installTerminatingServiceTblEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
getFlowRefTs
public java.lang.String getFlowRefTs(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, org.opendaylight.yangtools.yang.common.Uint32 routerID)
-
getFlowRefSnat
public static java.lang.String getFlowRefSnat(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, java.lang.String routerID)
-
handleSwitches
protected void handleSwitches(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId)
-
handlePrimaryNaptSwitch
protected void handlePrimaryNaptSwitch(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid externalNwUuid, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
installNaptPfibEntry
public void installNaptPfibEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 segmentId, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
buildNaptPfibFlowEntity
public org.opendaylight.genius.mdsalutil.FlowEntity buildNaptPfibFlowEntity(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 segmentId)
-
handleSnatReverseTraffic
public void handleSnatReverseTraffic(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, Routers router, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, java.lang.String externalIp)
-
advToBgpAndInstallFibAndTsFlows
public void advToBgpAndInstallFibAndTsFlows(org.opendaylight.yangtools.yang.common.Uint64 dpnId, short tableId, java.lang.String vpnName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, java.lang.String externalIp, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, @Nullable Routers router, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx)
-
getRoutersIdentifier
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<RouterIds> getRoutersIdentifier(org.opendaylight.yangtools.yang.common.Uint32 routerId)
-
update
protected void update(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers> identifier, Routers original, Routers update)
- Specified by:
update
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
checkExternalIpLabel
protected @Nullable org.opendaylight.yangtools.yang.common.Uint32 checkExternalIpLabel(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp)
-
remove
protected void remove(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routers> identifier, Routers router)
- Specified by:
remove
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
handleDisableSnat
public void handleDisableSnat(Routers router, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, @NonNull java.util.Collection<java.lang.String> externalIps, boolean routerFlag, @Nullable java.lang.String vpnName, org.opendaylight.yangtools.yang.common.Uint64 naptSwitchDpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx)
-
handleDisableSnatInternetVpn
public void handleDisableSnatInternetVpn(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, @NonNull java.util.Collection<java.lang.String> externalIps, java.lang.String vpnId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
-
updateNaptSwitch
public void updateNaptSwitch(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 naptSwitchId)
-
removeNaptSwitch
protected void removeNaptSwitch(java.lang.String routerName)
-
removeNaptFlowsFromActiveSwitch
public void removeNaptFlowsFromActiveSwitch(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, java.lang.String vpnName, @NonNull java.util.Collection<java.lang.String> externalIps, java.util.Collection<org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid> externalSubnetList, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, ProviderTypes extNwProvType) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
removeNaptFibExternalOutputFlows
protected void removeNaptFibExternalOutputFlows(org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, @NonNull java.util.Collection<java.lang.String> externalIps, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
removeNaptFlowsFromActiveSwitchInternetVpn
public void removeNaptFlowsFromActiveSwitchInternetVpn(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkId, java.lang.String vpnName, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
removeFlowsFromNonActiveSwitches
public void removeFlowsFromNonActiveSwitches(org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 naptSwitchDpnId, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
clrRtsFromBgpAndDelFibTs
public void clrRtsFromBgpAndDelFibTs(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, @Nullable org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, @NonNull java.util.Collection<java.lang.String> externalIps, @Nullable java.lang.String vpnName, java.lang.String extGwMacAddress, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
clrRtsFromBgpAndDelFibTs
protected void clrRtsFromBgpAndDelFibTs(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extIp, java.lang.String vpnName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, java.lang.String extGwMacAddress, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
delFibTsAndReverseTraffic
protected void delFibTsAndReverseTraffic(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extIp, java.lang.String vpnName, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNetworkId, org.opendaylight.yangtools.yang.common.Uint32 tempLabel, java.lang.String gwMacAddress, boolean switchOver, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> removeFlowInvTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
clearFibTsAndReverseTraffic
protected void clearFibTsAndReverseTraffic(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid networkUuid, java.util.List<java.lang.String> externalIps, @Nullable java.lang.String vpnName, java.lang.String extGwMacAddress, org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
clearBgpRoutes
protected void clearBgpRoutes(java.lang.String externalIp, java.lang.String vpnName)
-
changeLocalVpnIdToBgpVpnId
public void changeLocalVpnIdToBgpVpnId(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extNetwork, java.lang.String bgpVpnName, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx, ProviderTypes extNwProvType)
router association to vpn.- Parameters:
routerName
- - Name of routerrouterId
- - router idbgpVpnName
- BGP VPN name
-
changeBgpVpnIdToLocalVpnId
public void changeBgpVpnIdToLocalVpnId(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String bgpVpnName, java.lang.String extNetwork, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx, ProviderTypes extNwProvType)
router disassociation from vpn.- Parameters:
routerName
- - Name of routerrouterId
- - router idbgpVpnName
- BGP VPN name
-
installFlowsWithUpdatedVpnId
public void installFlowsWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 bgpVpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid extNwUuid, boolean isSnatCfgd, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, ProviderTypes extNwProvType)
-
updateNaptFlowsWithVpnId
public void updateNaptFlowsWithVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 bgpVpnId)
-
buildSnatFlowEntityWithUpdatedVpnId
public org.opendaylight.genius.mdsalutil.FlowEntity buildSnatFlowEntityWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 groupId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId)
-
buildSnatFlowEntityWithUpdatedVpnIdForPrimrySwtch
public org.opendaylight.genius.mdsalutil.FlowEntity buildSnatFlowEntityWithUpdatedVpnIdForPrimrySwtch(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId)
-
installTerminatingServiceTblEntryWithUpdatedVpnId
protected void installTerminatingServiceTblEntryWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, ProviderTypes extNwProvType)
-
createOutboundTblEntryWithBgpVpn
public void createOutboundTblEntryWithBgpVpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
-
buildOutboundFlowEntityWithBgpVpn
protected org.opendaylight.genius.mdsalutil.FlowEntity buildOutboundFlowEntityWithBgpVpn(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, int protocol)
-
installNaptPfibEntryWithBgpVpn
public void installNaptPfibEntryWithBgpVpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 segmentId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId, org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
-
buildNaptPfibFlowEntityWithUpdatedVpnId
public org.opendaylight.genius.mdsalutil.FlowEntity buildNaptPfibFlowEntityWithUpdatedVpnId(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 segmentId, org.opendaylight.yangtools.yang.common.Uint32 changedVpnId)
-
getDataTreeChangeListener
protected ExternalRoutersListener getDataTreeChangeListener()
- Specified by:
getDataTreeChangeListener
in classorg.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase<Routers,ExternalRoutersListener>
-
installNaptPfibEntriesForExternalSubnets
protected void installNaptPfibEntriesForExternalSubnets(java.lang.String routerName, org.opendaylight.yangtools.yang.common.Uint64 dpnId, @Nullable org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> writeFlowInvTx)
-
-