Class NexthopManager
- java.lang.Object
- 
- org.opendaylight.netvirt.fibmanager.NexthopManager
 
- 
- All Implemented Interfaces:
- java.lang.AutoCloseable
 
 @Singleton public class NexthopManager extends java.lang.Object implements java.lang.AutoCloseable
- 
- 
Constructor SummaryConstructors Constructor Description NexthopManager(org.opendaylight.mdsal.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.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddVpnNexthopToDS(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String primaryIpAddr, java.lang.String currIpAddr, long egressPointer)voidclose()voidcreateDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)longcreateLocalNextHop(org.opendaylight.yangtools.yang.common.Uint32 vpnId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String ifName, java.lang.String primaryIpAddress, java.lang.String currDestIpPrefix, java.lang.String gwMacAddress, org.opendaylight.yangtools.yang.common.Uint32 parentVpnId)protected longcreateNextHopPointer(java.lang.String nexthopKey)protected voiddeleteLoadBalancingNextHop(org.opendaylight.yangtools.yang.common.Uint32 parentVpnId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destPrefix)L3VPNTransportTypesgetConfiguredTransportTypeL3VPN()org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ConfTransportTypeL3vpn>getConfTransportTypeIdentifier()protected java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo>getEgressActionsForInterface(java.lang.String ifName, int actionKey, boolean isTunnelInterface, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String destIpPrefix)org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcServicegetItmManager()longgetLocalNextHopGroup(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipNextHopAddress)longgetLocalSelectGroup(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipNextHopAddress)@Nullable org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResultgetRemoteNextHopPointer(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String prefixIp, @Nullable java.lang.String nextHopIp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)java.lang.StringgetReqTransType()java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase>getReqTunType(java.lang.String transportType)java.lang.StringgetTransportTypeStr(java.lang.String tunType)protected @Nullable java.lang.StringgetTunnelInterfaceName(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress dstIp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)protected @Nullable java.lang.StringgetTunnelInterfaceName(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 dstDpId)protected @Nullable VpnNexthopgetVpnNexthop(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipAddress)protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpAdjacencies>getVpnNextHopIpPrefixIdentifier(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String primaryIpAddress, java.lang.String ipPrefix)voidprogramDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp, int addRemoveOrUpdate, boolean isTunnelUp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)voidremoveDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp)This method is invoked when the neighbor is removed from DS.voidremoveLocalNextHop(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String primaryIpAddress, java.lang.String currDestIpPrefix)protected voidremoveNextHopPointer(java.lang.String nexthopKey)voidsetConfTransType(java.lang.String service, java.lang.String transportType)protected longsetupLoadBalancingNextHop(org.opendaylight.yangtools.yang.common.Uint32 parentVpnId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destPrefix, java.util.List<org.opendaylight.genius.mdsalutil.BucketInfo> localBucketInfo, java.util.List<org.opendaylight.genius.mdsalutil.BucketInfo> remoteBucketInfo)voidupdateDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp, boolean isTunnelUp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)This method is invoked when the tunnel status is deleted.voidwriteConfTransTypeConfigDS()
 
- 
- 
- 
Constructor Detail- 
NexthopManager@Inject public NexthopManager(org.opendaylight.mdsal.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. Creates group ID pool- Parameters:
- dataBroker- - dataBroker reference
- mdsalApiManager- - mdsalApiManager reference
- idManager- - idManager reference
- odlInterfaceRpcService- - odlInterfaceRpcService reference
- itmManager- - itmManager reference
 
 
- 
 - 
Method Detail- 
getItmManagerpublic org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService getItmManager() 
 - 
createNextHopPointerprotected long createNextHopPointer(java.lang.String nexthopKey) 
 - 
removeNextHopPointerprotected void removeNextHopPointer(java.lang.String nexthopKey) 
 - 
getEgressActionsForInterfaceprotected java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> getEgressActionsForInterface(java.lang.String ifName, int actionKey, boolean isTunnelInterface, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String destIpPrefix)
 - 
getTunnelInterfaceNameprotected @Nullable java.lang.String getTunnelInterfaceName(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yangtools.yang.common.Uint64 dstDpId)
 - 
getTunnelInterfaceNameprotected @Nullable java.lang.String getTunnelInterfaceName(org.opendaylight.yangtools.yang.common.Uint64 srcDpId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress dstIp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
 - 
getLocalNextHopGrouppublic long getLocalNextHopGroup(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipNextHopAddress)
 - 
getLocalSelectGrouppublic long getLocalSelectGroup(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipNextHopAddress)
 - 
createLocalNextHoppublic long createLocalNextHop(org.opendaylight.yangtools.yang.common.Uint32 vpnId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String ifName, java.lang.String primaryIpAddress, java.lang.String currDestIpPrefix, java.lang.String gwMacAddress, org.opendaylight.yangtools.yang.common.Uint32 parentVpnId)
 - 
addVpnNexthopToDSprotected void addVpnNexthopToDS(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String primaryIpAddr, java.lang.String currIpAddr, long egressPointer)
 - 
getVpnNextHopIpPrefixIdentifierprotected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<IpAdjacencies> getVpnNextHopIpPrefixIdentifier(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String primaryIpAddress, java.lang.String ipPrefix) 
 - 
getVpnNexthopprotected @Nullable VpnNexthop getVpnNexthop(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipAddress) 
 - 
getRemoteNextHopPointerpublic @Nullable org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult getRemoteNextHopPointer(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String prefixIp, @Nullable java.lang.String nextHopIp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
 - 
removeLocalNextHoppublic void removeLocalNextHop(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String primaryIpAddress, java.lang.String currDestIpPrefix)
 - 
setConfTransTypepublic void setConfTransType(java.lang.String service, java.lang.String transportType)
 - 
writeConfTransTypeConfigDSpublic void writeConfTransTypeConfigDS() 
 - 
getConfiguredTransportTypeL3VPNpublic L3VPNTransportTypes getConfiguredTransportTypeL3VPN() 
 - 
getReqTransTypepublic java.lang.String getReqTransType() 
 - 
getConfTransportTypeIdentifierpublic org.opendaylight.yangtools.yang.binding.InstanceIdentifier<ConfTransportTypeL3vpn> getConfTransportTypeIdentifier() 
 - 
getReqTunTypepublic java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> getReqTunType(java.lang.String transportType) 
 - 
getTransportTypeStrpublic java.lang.String getTransportTypeStr(java.lang.String tunType) 
 - 
close@PreDestroy public void close() - Specified by:
- closein interface- java.lang.AutoCloseable
 
 - 
setupLoadBalancingNextHopprotected long setupLoadBalancingNextHop(org.opendaylight.yangtools.yang.common.Uint32 parentVpnId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destPrefix, java.util.List<org.opendaylight.genius.mdsalutil.BucketInfo> localBucketInfo, java.util.List<org.opendaylight.genius.mdsalutil.BucketInfo> remoteBucketInfo)
 - 
deleteLoadBalancingNextHopprotected void deleteLoadBalancingNextHop(org.opendaylight.yangtools.yang.common.Uint32 parentVpnId, org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destPrefix)
 - 
createDcGwLoadBalancingGrouppublic void createDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
 - 
removeDcGwLoadBalancingGrouppublic void removeDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp)This method is invoked when the neighbor is removed from DS. All the LB groups which point to the given destination will be deleted.
 - 
updateDcGwLoadBalancingGrouppublic void updateDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp, boolean isTunnelUp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)This method is invoked when the tunnel status is deleted. All the buckets which point to given destination will be marked down.
 - 
programDcGwLoadBalancingGrouppublic void programDcGwLoadBalancingGroup(org.opendaylight.yangtools.yang.common.Uint64 dpnId, java.lang.String destinationIp, int addRemoveOrUpdate, boolean isTunnelUp, java.lang.Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.TunnelTypeBase> tunnelType)
 
- 
 
-