@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 interfaceManager,
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager,
IElanService elanService,
org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService salGroupService)
Provides nexthop functions.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addVpnNexthopToDS(BigInteger dpnId,
long vpnId,
String ipPrefix,
long egressPointer) |
void |
close() |
void |
createDcGwLoadBalancingGroup(List<String> availableDcGws,
BigInteger dpnId,
String destinationIp) |
long |
createLocalNextHop(long vpnId,
BigInteger dpnId,
String ifName,
String ipNextHopAddress,
String ipPrefixAddress,
String gwMacAddress,
String jobKey) |
protected long |
createNextHopPointer(String nexthopKey) |
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) |
org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService |
getInterfaceManager() |
long |
getLocalNextHopGroup(long vpnId,
String ipNextHopAddress) |
org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult |
getRemoteNextHopPointer(BigInteger remoteDpnId,
long vpnId,
String prefixIp,
String nextHopIp) |
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) |
protected VpnNexthop |
getVpnNexthop(long vpnId,
String ipAddress) |
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnNexthop> |
getVpnNextHopIdentifier(long vpnId,
String ipAddress) |
void |
programDcGwLoadBalancingGroup(List<String> availableDcGws,
BigInteger dpnId,
String destinationIp,
int addRemoveOrUpdate,
boolean isTunnelUp) |
void |
removeLocalNextHop(BigInteger dpnId,
Long vpnId,
String ipNextHopAddress,
String ipPrefixAddress) |
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> listBucketInfo,
boolean addOrRemove) |
void |
updateDcGwLoadBalancingGroup(List<String> availableDcGws,
BigInteger dpnId,
String destinationIp,
boolean isTunnelUp)
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 interfaceManager, org.opendaylight.yang.gen.v1.urn.opendaylight.genius.itm.rpcs.rev160406.ItmRpcService itmManager, IElanService elanService, org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService salGroupService)
dataBroker
- - dataBroker referencemdsalApiManager
- - mdsalApiManager referenceidManager
- - idManager referenceinterfaceManager
- - interfaceManager referenceitmManager
- - itmManager referencepublic org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService getInterfaceManager()
protected long createNextHopPointer(String nexthopKey)
protected void removeNextHopPointer(String nexthopKey)
protected List<org.opendaylight.genius.mdsalutil.ActionInfo> getEgressActionsForInterface(String ifName, int actionKey)
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)
public long getLocalNextHopGroup(long vpnId, String ipNextHopAddress)
public long createLocalNextHop(long vpnId, BigInteger dpnId, String ifName, String ipNextHopAddress, String ipPrefixAddress, String gwMacAddress, String jobKey)
protected void addVpnNexthopToDS(BigInteger dpnId, long vpnId, String ipPrefix, long egressPointer)
protected org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VpnNexthop> getVpnNextHopIdentifier(long vpnId, String ipAddress)
protected VpnNexthop getVpnNexthop(long vpnId, String ipAddress)
public org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult getRemoteNextHopPointer(BigInteger remoteDpnId, long vpnId, String prefixIp, String nextHopIp)
public BigInteger getDpnForPrefix(long vpnId, String prefixIp)
public void removeLocalNextHop(BigInteger dpnId, Long vpnId, String ipNextHopAddress, String ipPrefixAddress)
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() throws Exception
close
in interface AutoCloseable
Exception
protected long setupLoadBalancingNextHop(Long parentVpnId, BigInteger dpnId, String destPrefix, List<org.opendaylight.genius.mdsalutil.BucketInfo> listBucketInfo, boolean addOrRemove)
public void createDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp)
public void removeOrUpdateDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp)
public void updateDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp, boolean isTunnelUp)
public void programDcGwLoadBalancingGroup(List<String> availableDcGws, BigInteger dpnId, String destinationIp, int addRemoveOrUpdate, boolean isTunnelUp)
Copyright © 2018 OpenDaylight. All rights reserved.