public abstract class AbstractSnatService extends Object implements SnatServiceListener
Modifier and Type | Field and Description |
---|---|
protected org.opendaylight.controller.md.sal.binding.api.DataBroker |
dataBroker |
protected org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService |
idManager |
protected org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService |
interfaceManager |
protected org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService |
itmManager |
protected org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager |
mdsalManager |
protected NAPTSwitchSelector |
naptSwitchSelector |
Constructor and Description |
---|
AbstractSnatService(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 interfaceManager,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
NAPTSwitchSelector naptSwitchSelector) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
protected String |
getFlowRef(BigInteger dpnId,
short tableId,
long routerID) |
boolean |
handleSnat(Routers routers,
BigInteger primarySwitchId,
BigInteger dpnId,
int addOrRemove)
Adds/removes snat flows for the dpnId.
|
boolean |
handleSnatAllSwitch(Routers routers,
BigInteger primarySwitchId,
int addOrRemove)
Adds/removes snat flows for all dpns having ports on the router subnet.
|
void |
init() |
protected void |
installDefaultFibRouteForSNAT(BigInteger dpnId,
Long extNetId,
int addOrRemove) |
protected void |
installInboundFibEntry(BigInteger dpnId,
String externalIp,
String routerName,
Long routerId,
long extSubnetId,
int addOrRemove) |
protected void |
installInboundTerminatingServiceTblEntry(BigInteger dpnId,
Long routerId,
String routerName,
String externalIp,
long extSubnetId,
int addOrRemove) |
protected void |
installSnatCommonEntriesForNaptSwitch(Routers routers,
BigInteger dpnId,
int addOrRemove) |
protected void |
installSnatCommonEntriesForNonNaptSwitch(Routers routers,
BigInteger primarySwitchId,
BigInteger dpnId,
int addOrRemove) |
protected void |
installSnatMissEntry(BigInteger dpnId,
Long routerId,
String routerName,
BigInteger primarySwitchId,
String externalIp,
long extSubnetId,
int addOrRemove) |
protected abstract void |
installSnatSpecificEntriesForNaptSwitch(Routers routers,
BigInteger dpnId,
int addOrRemove) |
protected abstract void |
installSnatSpecificEntriesForNonNaptSwitch(Routers routers,
BigInteger dpnId,
int addOrRemove) |
protected void |
syncFlow(BigInteger dpId,
short tableId,
String flowId,
int priority,
String flowName,
BigInteger cookie,
List<? extends org.opendaylight.genius.mdsalutil.MatchInfoBase> matches,
List<org.opendaylight.genius.mdsalutil.InstructionInfo> instructions,
int addOrRemove) |
protected final org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker
protected final org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager
protected final org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager
protected final NAPTSwitchSelector naptSwitchSelector
protected final org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager
protected final org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService interfaceManager
public AbstractSnatService(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 interfaceManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, NAPTSwitchSelector naptSwitchSelector)
public void init()
public void close()
public boolean handleSnatAllSwitch(Routers routers, BigInteger primarySwitchId, int addOrRemove)
SnatServiceListener
handleSnatAllSwitch
in interface SnatServiceListener
routers
- the router.primarySwitchId
- the primaryswitchIdaddOrRemove
- add or remove the flow.public boolean handleSnat(Routers routers, BigInteger primarySwitchId, BigInteger dpnId, int addOrRemove)
SnatServiceListener
handleSnat
in interface SnatServiceListener
routers
- the router.primarySwitchId
- the primaryswitchId.dpnId
- the dpnId for which the flows needs to be added/removed.addOrRemove
- add or remove the flow.protected void installSnatCommonEntriesForNaptSwitch(Routers routers, BigInteger dpnId, int addOrRemove)
protected void installSnatCommonEntriesForNonNaptSwitch(Routers routers, BigInteger primarySwitchId, BigInteger dpnId, int addOrRemove)
protected abstract void installSnatSpecificEntriesForNaptSwitch(Routers routers, BigInteger dpnId, int addOrRemove)
protected abstract void installSnatSpecificEntriesForNonNaptSwitch(Routers routers, BigInteger dpnId, int addOrRemove)
protected void installInboundFibEntry(BigInteger dpnId, String externalIp, String routerName, Long routerId, long extSubnetId, int addOrRemove)
protected void installSnatMissEntry(BigInteger dpnId, Long routerId, String routerName, BigInteger primarySwitchId, String externalIp, long extSubnetId, int addOrRemove)
protected void installInboundTerminatingServiceTblEntry(BigInteger dpnId, Long routerId, String routerName, String externalIp, long extSubnetId, int addOrRemove)
protected void installDefaultFibRouteForSNAT(BigInteger dpnId, Long extNetId, int addOrRemove)
protected String getFlowRef(BigInteger dpnId, short tableId, long routerID)
protected void syncFlow(BigInteger dpId, short tableId, String flowId, int priority, String flowName, BigInteger cookie, List<? extends org.opendaylight.genius.mdsalutil.MatchInfoBase> matches, List<org.opendaylight.genius.mdsalutil.InstructionInfo> instructions, int addOrRemove)
Copyright © 2018 OpenDaylight. All rights reserved.