@Singleton public class NaptManager extends Object
Constructor and Description |
---|
NaptManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager) |
Modifier and Type | Method and Description |
---|---|
protected @Nullable String |
checkIpMap(long segmentId,
String internalIp) |
protected void |
createNaptPortPool(String poolName) |
@Nullable SessionAddress |
getExternalAddressMapping(long segmentId,
SessionAddress sourceAddress,
NAPTEntryEvent.Protocol protocol)
method to get external ip/port mapping when provided with internal ip/port pair
If already a mapping exist for the given input, then the existing mapping is returned
instead of overwriting with new ip/port pair.
|
protected @Nullable String |
getExternalIpAllocatedForSubnet(long segmentId,
String internalIp) |
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ExternalIpCounter> |
getExternalIpsIdentifier(long segmentId,
String external) |
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpMap> |
getIpMapIdentifier(long segid,
String internal) |
static @NonNull List<IpMap> |
getIpMapList(org.opendaylight.controller.md.sal.binding.api.DataBroker broker,
Long routerId) |
protected static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpMapping> |
getIpMapList(long routerId) |
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpPortMap> |
getIpPortMapIdentifier(long segid,
String internal,
NAPTEntryEvent.Protocol protocol) |
protected void |
initialiseExternalCounter(Routers routers,
long routerId) |
protected void |
initialiseNewExternalIpCounter(long routerId,
String externalIp) |
void |
registerMapping(long segmentId,
IPAddress internal,
IPAddress external)
This method is used to inform this service of what external IP address to be used
as mapping when requested one for the internal IP address given in the input.
|
protected void |
releaseIpExtPortMapping(long segmentId,
SessionAddress address,
NAPTEntryEvent.Protocol protocol) |
protected void |
removeExternalCounter(long routerId) |
protected void |
removeExternalIpCounter(long routerId,
String externalIp) |
protected void |
removeFromIpMapDS(long segmentId,
String internalIp) |
protected void |
removeFromIpPortMapDS(long segmentId,
String internalIpPort,
NAPTEntryEvent.Protocol protocol) |
protected void |
removeFromIpPortMapDS(long segmentId,
String internalIpPort,
ProtocolTypes protocolType) |
protected void |
removeFromSnatIpPortDS(long segmentId,
String internalIp) |
protected void |
removeIntExtIpMapDS(long segmentId,
String internalIp) |
boolean |
removeMapping(long segmentId)
Removes the internal ip to external ip mapping if present.
|
protected void |
removeSnatIntIpPortDS(long segmentId,
SessionAddress address,
ProtocolTypes protocolType) |
void |
updateCounter(long segmentId,
String externalIp,
boolean isAdd) |
@Inject public NaptManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager)
protected void createNaptPortPool(String poolName)
public void registerMapping(long segmentId, IPAddress internal, IPAddress external)
segmentId
- – segmentation in which the mapping to be used. Eg; routeridinternal
- subnet prefix or ip addressexternal
- subnet prefix or ip addresspublic void updateCounter(long segmentId, String externalIp, boolean isAdd)
public @Nullable SessionAddress getExternalAddressMapping(long segmentId, SessionAddress sourceAddress, NAPTEntryEvent.Protocol protocol)
segmentId
- - Router IDsourceAddress
- - internal ip address/port pairprotocol
- - TCP/UDPprotected void releaseIpExtPortMapping(long segmentId, SessionAddress address, NAPTEntryEvent.Protocol protocol)
public boolean removeMapping(long segmentId)
segmentId
- - Router IDprotected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpMap> getIpMapIdentifier(long segid, String internal)
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ExternalIpCounter> getExternalIpsIdentifier(long segmentId, String external)
public static @NonNull List<IpMap> getIpMapList(org.opendaylight.controller.md.sal.binding.api.DataBroker broker, Long routerId)
protected static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpMapping> getIpMapList(long routerId)
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpPortMap> getIpPortMapIdentifier(long segid, String internal, NAPTEntryEvent.Protocol protocol)
protected void removeSnatIntIpPortDS(long segmentId, SessionAddress address, ProtocolTypes protocolType)
protected void removeFromSnatIpPortDS(long segmentId, String internalIp)
protected void removeFromIpPortMapDS(long segmentId, String internalIpPort, NAPTEntryEvent.Protocol protocol)
protected void removeFromIpPortMapDS(long segmentId, String internalIpPort, ProtocolTypes protocolType)
protected void removeFromIpMapDS(long segmentId, String internalIp)
protected void removeIntExtIpMapDS(long segmentId, String internalIp)
protected @Nullable String getExternalIpAllocatedForSubnet(long segmentId, String internalIp)
protected void initialiseExternalCounter(Routers routers, long routerId)
protected void initialiseNewExternalIpCounter(long routerId, String externalIp)
protected void removeExternalCounter(long routerId)
protected void removeExternalIpCounter(long routerId, String externalIp)
Copyright © 2020 OpenDaylight. All rights reserved.