Class ConntrackBasedSnatService
- java.lang.Object
-
- org.opendaylight.netvirt.natservice.internal.AbstractSnatService
-
- org.opendaylight.netvirt.natservice.internal.ConntrackBasedSnatService
-
- All Implemented Interfaces:
SnatServiceListener
- Direct Known Subclasses:
FlatVlanConntrackBasedSnatService
,VxlanGreConntrackBasedSnatService
public abstract class ConntrackBasedSnatService extends AbstractSnatService
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
DNAT_CT_STATE
protected static int
DNAT_CT_STATE_MASK
protected static int
SNAT_CT_STATE
protected static int
SNAT_CT_STATE_MASK
protected static int
TRACKED_NEW_CT_MASK
protected static int
TRACKED_NEW_CT_STATE
-
Fields inherited from class org.opendaylight.netvirt.natservice.internal.AbstractSnatService
dataBroker, fibManager, idManager, interfaceManager, mdsalManager, odlInterfaceRpcService, txRunner
-
-
Constructor Summary
Constructors Constructor Description ConntrackBasedSnatService(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.idmanager.rev160406.IdManagerService idManager, NAPTSwitchSelector naptSwitchSelector, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, IVpnFootprintService vpnFootprintService, IFibManager fibManager, NatDataUtil natDataUtil, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addInboundEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp, int elanId, org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)
protected void
addNaptPfibEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
addNaptPfibFlow(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)
protected void
addOutboundTblEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp, int elanId, java.lang.String extGwMacAddress)
protected void
addOutboundTblTrackEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extGwMacAddress)
protected void
addSnatMissEntryForPrimrySwch(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, int elanId)
protected void
addSnatSpecificEntriesForNaptSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
protected void
addSnatSpecificEntriesForNonNaptSwitch()
protected void
removeInboundEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
removeNaptPfibEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
removeNaptPfibFlow(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
removeOutboundTblEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
removeOutboundTblTrackEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
removeSnatMissEntryForPrimrySwch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
protected void
removeSnatSpecificEntriesForNaptSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
protected void
removeSnatSpecificEntriesForNonNaptSwitch()
-
Methods inherited from class org.opendaylight.netvirt.natservice.internal.AbstractSnatService
addCentralizedRouter, addCentralizedRouterAllSwitch, addSnat, addSnatAllSwitch, addSnatMissEntry, getDataBroker, getFlowRef, getGroupIdKey, handleRouterUpdate, removeCentralizedRouter, removeCentralizedRouterAllSwitch, removeSnat, removeSnatAllSwitch, removeSnatMissEntry
-
-
-
-
Field Detail
-
TRACKED_NEW_CT_STATE
protected static final int TRACKED_NEW_CT_STATE
- See Also:
- Constant Field Values
-
TRACKED_NEW_CT_MASK
protected static final int TRACKED_NEW_CT_MASK
- See Also:
- Constant Field Values
-
SNAT_CT_STATE
protected static final int SNAT_CT_STATE
- See Also:
- Constant Field Values
-
SNAT_CT_STATE_MASK
protected static final int SNAT_CT_STATE_MASK
- See Also:
- Constant Field Values
-
DNAT_CT_STATE
protected static final int DNAT_CT_STATE
- See Also:
- Constant Field Values
-
DNAT_CT_STATE_MASK
protected static final int DNAT_CT_STATE_MASK
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ConntrackBasedSnatService
public ConntrackBasedSnatService(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.idmanager.rev160406.IdManagerService idManager, NAPTSwitchSelector naptSwitchSelector, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, IVpnFootprintService vpnFootprintService, IFibManager fibManager, NatDataUtil natDataUtil, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
-
-
Method Detail
-
addSnatSpecificEntriesForNaptSwitch
protected void addSnatSpecificEntriesForNaptSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
- Specified by:
addSnatSpecificEntriesForNaptSwitch
in classAbstractSnatService
-
removeSnatSpecificEntriesForNaptSwitch
protected void removeSnatSpecificEntriesForNaptSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Specified by:
removeSnatSpecificEntriesForNaptSwitch
in classAbstractSnatService
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
addSnatSpecificEntriesForNonNaptSwitch
protected void addSnatSpecificEntriesForNonNaptSwitch()
- Specified by:
addSnatSpecificEntriesForNonNaptSwitch
in classAbstractSnatService
-
removeSnatSpecificEntriesForNonNaptSwitch
protected void removeSnatSpecificEntriesForNonNaptSwitch()
- Specified by:
removeSnatSpecificEntriesForNonNaptSwitch
in classAbstractSnatService
-
addSnatMissEntryForPrimrySwch
protected void addSnatMissEntryForPrimrySwch(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, int elanId)
-
removeSnatMissEntryForPrimrySwch
protected void removeSnatMissEntryForPrimrySwch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
addOutboundTblTrackEntry
protected void addOutboundTblTrackEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String extGwMacAddress)
-
removeOutboundTblTrackEntry
protected void removeOutboundTblTrackEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
addOutboundTblEntry
protected void addOutboundTblEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp, int elanId, java.lang.String extGwMacAddress)
-
removeOutboundTblEntry
protected void removeOutboundTblEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
addNaptPfibFlow
protected void addNaptPfibFlow(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)
-
removeNaptPfibFlow
protected void removeNaptPfibFlow(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
addInboundEntry
protected void addInboundEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId, java.lang.String externalIp, int elanId, org.opendaylight.yangtools.yang.common.Uint32 extSubnetId)
-
removeInboundEntry
protected void removeInboundEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
addNaptPfibEntry
protected void addNaptPfibEntry(org.opendaylight.genius.infra.TypedWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId)
-
removeNaptPfibEntry
protected void removeNaptPfibEntry(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 routerId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
-