Class FlatVlanConntrackBasedSnatService
- java.lang.Object
-
- org.opendaylight.netvirt.natservice.internal.AbstractSnatService
-
- org.opendaylight.netvirt.natservice.internal.ConntrackBasedSnatService
-
- org.opendaylight.netvirt.natservice.internal.FlatVlanConntrackBasedSnatService
-
- All Implemented Interfaces:
SnatServiceListener
public class FlatVlanConntrackBasedSnatService extends ConntrackBasedSnatService
-
-
Field Summary
-
Fields inherited from class org.opendaylight.netvirt.natservice.internal.ConntrackBasedSnatService
DNAT_CT_STATE, DNAT_CT_STATE_MASK, SNAT_CT_STATE, SNAT_CT_STATE_MASK, TRACKED_NEW_CT_MASK, 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 FlatVlanConntrackBasedSnatService(org.opendaylight.mdsal.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, NAPTSwitchSelector naptSwitchSelector, 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 boolean
addSnat(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
Adds snat flows for the dpnId.boolean
addSnatAllSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId)
Adds snat flows for all dpns having ports on the router subnet.boolean
removeSnat(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
Removes snat flows for the dpnId.boolean
removeSnatAllSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId)
Removes snat flows for all dpns having ports on the router subnet.-
Methods inherited from class org.opendaylight.netvirt.natservice.internal.ConntrackBasedSnatService
addInboundEntry, addNaptPfibEntry, addNaptPfibFlow, addOutboundTblEntry, addOutboundTblTrackEntry, addSnatMissEntryForPrimrySwch, addSnatSpecificEntriesForNaptSwitch, addSnatSpecificEntriesForNonNaptSwitch, removeInboundEntry, removeNaptPfibEntry, removeNaptPfibFlow, removeOutboundTblEntry, removeOutboundTblTrackEntry, removeSnatMissEntryForPrimrySwch, removeSnatSpecificEntriesForNaptSwitch, removeSnatSpecificEntriesForNonNaptSwitch
-
Methods inherited from class org.opendaylight.netvirt.natservice.internal.AbstractSnatService
addCentralizedRouter, addCentralizedRouterAllSwitch, addSnatMissEntry, getDataBroker, getFlowRef, getGroupIdKey, handleRouterUpdate, removeCentralizedRouter, removeCentralizedRouterAllSwitch, removeSnatMissEntry
-
-
-
-
Constructor Detail
-
FlatVlanConntrackBasedSnatService
public FlatVlanConntrackBasedSnatService(org.opendaylight.mdsal.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, NAPTSwitchSelector naptSwitchSelector, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager, IVpnFootprintService vpnFootprintService, IFibManager fibManager, NatDataUtil natDataUtil, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
-
-
Method Detail
-
addSnatAllSwitch
public boolean addSnatAllSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId)
Description copied from interface:SnatServiceListener
Adds snat flows for all dpns having ports on the router subnet.- Specified by:
addSnatAllSwitch
in interfaceSnatServiceListener
- Overrides:
addSnatAllSwitch
in classAbstractSnatService
- Parameters:
confTx
- The transaction to use.routers
- the router.primarySwitchId
- the primaryswitchId- Returns:
- returns success/failure.
-
removeSnatAllSwitch
public boolean removeSnatAllSwitch(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
Description copied from interface:SnatServiceListener
Removes snat flows for all dpns having ports on the router subnet.- Specified by:
removeSnatAllSwitch
in interfaceSnatServiceListener
- Overrides:
removeSnatAllSwitch
in classAbstractSnatService
- Parameters:
confTx
- The transaction to use.routers
- the router.primarySwitchId
- the primaryswitchId- Returns:
- returns success/failure.
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
addSnat
public boolean addSnat(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.yangtools.yang.common.Uint64 dpnId)
Description copied from interface:SnatServiceListener
Adds snat flows for the dpnId.- Specified by:
addSnat
in interfaceSnatServiceListener
- Overrides:
addSnat
in classAbstractSnatService
- Parameters:
confTx
- The transaction to use.routers
- the router.primarySwitchId
- the primaryswitchId.dpnId
- the dpnId for which the flows needs to be added.- Returns:
- returns success/failure.
-
removeSnat
public boolean removeSnat(org.opendaylight.genius.infra.TypedReadWriteTransaction<org.opendaylight.genius.infra.Datastore.Configuration> confTx, Routers routers, org.opendaylight.yangtools.yang.common.Uint64 primarySwitchId, org.opendaylight.yangtools.yang.common.Uint64 dpnId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
Description copied from interface:SnatServiceListener
Removes snat flows for the dpnId.- Specified by:
removeSnat
in interfaceSnatServiceListener
- Overrides:
removeSnat
in classAbstractSnatService
- Parameters:
confTx
- The transaction to use.routers
- the router.primarySwitchId
- the primaryswitchId.dpnId
- the dpnId for which the flows needs to be removed.- Returns:
- returns success/failure.
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
-