@Singleton public class NexthopManager extends Object implements AutoCloseable
Constructor and Description |
---|
NexthopManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalApiManager,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager,
IElanService elanService,
org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService salGroupService,
org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator,
FibUtil fibUtil,
org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager)
Provides nexthop functions.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addVpnNexthopToDS(BigInteger dpnId,
long vpnId,
String primaryIpAddr,
String currIpAddr,
long egressPointer) |
void |
close() |
void |
createDcGwLoadBalancingGroup(List<String> availableDcGws,
BigInteger dpnId,
String destinationIp,
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType) |
long |
createLocalNextHop(long vpnId,
BigInteger dpnId,
String ifName,
String primaryIpAddress,
String currDestIpPrefix,
String gwMacAddress) |
protected long |
createNextHopPointer(String nexthopKey) |
protected void |
deleteLoadBalancingNextHop(Long parentVpnId,
BigInteger dpnId,
String destPrefix) |
L3VPNTransportTypes |
getConfiguredTransportTypeL3VPN() |
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ConfTransportTypeL3vpn> |
getConfTransportTypeIdentifier() |
BigInteger |
getDpnForPrefix(long vpnId,
String prefixIp) |
protected List<org.opendaylight.genius.mdsalutil.ActionInfo> |
getEgressActionsForInterface(String ifName,
int actionKey,
boolean isTunnelInterface) |
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService |
getItmManager() |
long |
getLocalNextHopGroup(long vpnId,
String ipNextHopAddress) |
long |
getLocalSelectGroup(long vpnId,
String ipNextHopAddress) |
org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult |
getRemoteNextHopPointer(BigInteger remoteDpnId,
long vpnId,
String prefixIp,
String nextHopIp,
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType) |
String |
getReqTransType() |
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> |
getReqTunType(String transportType) |
String |
getTransportTypeStr(String tunType) |
protected String |
getTunnelInterfaceName(BigInteger srcDpId,
BigInteger dstDpId) |
protected String |
getTunnelInterfaceName(BigInteger srcDpId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress dstIp,
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType) |
protected VpnNexthop |
getVpnNexthop(long vpnId,
String ipAddress) |
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpAdjacencies> |
getVpnNextHopIpPrefixIdentifier(long vpnId,
String primaryIpAddress,
String ipPrefix) |
void |
programDcGwLoadBalancingGroup(List<String> availableDcGws,
BigInteger dpnId,
String destinationIp,
int addRemoveOrUpdate,
boolean isTunnelUp,
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType) |
void |
removeLocalNextHop(BigInteger dpnId,
Long vpnId,
String primaryIpAddress,
String currDestIpPrefix) |
protected void |
removeNextHopPointer(String nexthopKey) |
void |
removeOrUpdateDcGwLoadBalancingGroup(List<String> availableDcGws,
BigInteger dpnId,
String destinationIp)
This method is invoked when the tunnel state is removed from DS.
|
void |
setConfTransType(String service,
String transportType) |
protected long |
setupLoadBalancingNextHop(Long parentVpnId,
BigInteger dpnId,
String destPrefix,
List<org.opendaylight.genius.mdsalutil.BucketInfo> localBucketInfo,
List<org.opendaylight.genius.mdsalutil.BucketInfo> remoteBucketInfo) |
void |
updateDcGwLoadBalancingGroup(List<String> availableDcGws,
BigInteger dpnId,
String destinationIp,
boolean isTunnelUp,
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
This method is invoked when the tunnel status is updated.
|
void |
writeConfTransTypeConfigDS() |
@Inject public NexthopManager(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalApiManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.IdManagerService idManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService odlInterfaceRpcService, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.lockmanager.rev160413.LockManagerService lockManager, IElanService elanService, org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService salGroupService, org.opendaylight.infrautils.jobcoordinator.JobCoordinator jobCoordinator, FibUtil fibUtil, org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager interfaceManager)
dataBroker
- - dataBroker referencemdsalApiManager
- - mdsalApiManager referenceidManager
- - idManager referenceodlInterfaceRpcService
- - odlInterfaceRpcService referenceitmManager
- - itmManager referencepublic org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService getItmManager()
protected long createNextHopPointer(String nexthopKey)
protected void removeNextHopPointer(String nexthopKey)
protected List<org.opendaylight.genius.mdsalutil.ActionInfo> getEgressActionsForInterface(String ifName, int actionKey, boolean isTunnelInterface)
protected String getTunnelInterfaceName(BigInteger srcDpId, BigInteger dstDpId)
protected String getTunnelInterfaceName(BigInteger srcDpId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress dstIp, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
public long getLocalNextHopGroup(long vpnId, String ipNextHopAddress)
public long getLocalSelectGroup(long vpnId, String ipNextHopAddress)
public long createLocalNextHop(long vpnId, BigInteger dpnId, String ifName, String primaryIpAddress, String currDestIpPrefix, String gwMacAddress)
protected void addVpnNexthopToDS(BigInteger dpnId, long vpnId, String primaryIpAddr, String currIpAddr, long egressPointer)
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpAdjacencies> getVpnNextHopIpPrefixIdentifier(long vpnId, String primaryIpAddress, String ipPrefix)
protected VpnNexthop getVpnNexthop(long vpnId, String ipAddress)
public org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult getRemoteNextHopPointer(BigInteger remoteDpnId, long vpnId, String prefixIp, String nextHopIp, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
public BigInteger getDpnForPrefix(long vpnId, String prefixIp)
public void removeLocalNextHop(BigInteger dpnId, Long vpnId, String primaryIpAddress, String currDestIpPrefix)
public void writeConfTransTypeConfigDS()
public L3VPNTransportTypes getConfiguredTransportTypeL3VPN()
public String getReqTransType()
public org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ConfTransportTypeL3vpn> getConfTransportTypeIdentifier()
public Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> getReqTunType(String transportType)
@PreDestroy public void close()
close
in interface AutoCloseable
protected long setupLoadBalancingNextHop(Long parentVpnId, BigInteger dpnId, String destPrefix, List<org.opendaylight.genius.mdsalutil.BucketInfo> localBucketInfo, List<org.opendaylight.genius.mdsalutil.BucketInfo> remoteBucketInfo)
protected void deleteLoadBalancingNextHop(Long parentVpnId, BigInteger dpnId, String destPrefix)
public void createDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
public void removeOrUpdateDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp)
public void updateDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp, boolean isTunnelUp, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
public void programDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp, int addRemoveOrUpdate, boolean isTunnelUp, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
Copyright © 2019 OpenDaylight. All rights reserved.