@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 String |
checkIpMap(long segmentId,
String internalIp) |
protected void |
createNaptPortPool(String poolName) |
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 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 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.
|
boolean |
releaseAddressMapping(long segmentId,
SessionAddress address,
NAPTEntryEvent.Protocol protocol)
Release the existing mapping of internal ip/port to external ip/port pair
if no mapping exist for given internal ip/port, it returns false.
|
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,
NAPTEntryEvent.Protocol protocol) |
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 SessionAddress getExternalAddressMapping(long segmentId, SessionAddress sourceAddress, NAPTEntryEvent.Protocol protocol)
segmentId
- - Router IDsourceAddress
- - internal ip address/port pairprotocol
- - TCP/UDPpublic boolean releaseAddressMapping(long segmentId, SessionAddress address, NAPTEntryEvent.Protocol protocol)
segmentId
- - Router IDaddress
- - Session Addressprotocol
- - 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)
@Nonnull public static 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, NAPTEntryEvent.Protocol protocol)
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 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 © 2019 OpenDaylight. All rights reserved.