Class FibManagerImpl
- java.lang.Object
-
- org.opendaylight.netvirt.fibmanager.FibManagerImpl
-
- All Implemented Interfaces:
IFibManager
@Singleton public class FibManagerImpl extends java.lang.Object implements IFibManager
-
-
Constructor Summary
Constructors Constructor Description FibManagerImpl(NexthopManager nexthopManager, VrfEntryListener vrfEntryListener, org.osgi.framework.BundleContext bundleContext, FibUtil fibUtil)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFibEntryForRouterInterface(java.lang.String rd, java.lang.String prefix, RouterInterface routerInterface, org.opendaylight.yangtools.yang.common.Uint32 label, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
addOrUpdateFibEntry(java.lang.String rd, java.lang.String macAddress, java.lang.String prefix, java.util.List<java.lang.String> nextHopList, VrfEntryBase.EncapType encapType, org.opendaylight.yangtools.yang.common.Uint32 label, org.opendaylight.yangtools.yang.common.Uint32 l3vni, java.lang.String gwMacAddress, java.lang.String parentVpnRd, RouteOrigin origin, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
addVrfTable(java.lang.String rd, org.opendaylight.mdsal.binding.api.WriteTransaction writeConfigTxn)
boolean
checkFibEntryExist(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String rd, java.lang.String prefix, java.lang.String nextHopIp)
void
cleanUpDpnForVpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)
void
cleanUpExternalRoutesOnDpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String localNextHopIp, java.lang.String remoteNextHopIp)
java.lang.String
getConfTransType()
java.lang.String
getReqTransType()
java.lang.String
getTransportTypeStr(java.lang.String tunType)
boolean
isVPNConfigured()
void
manageRemoteRouteOnDPN(boolean action, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String destPrefix, java.lang.String destTepIp, org.opendaylight.yangtools.yang.common.Uint32 label)
void
populateExternalRoutesOnDpn(org.opendaylight.yangtools.yang.common.Uint64 localDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String localNextHopIp, java.lang.String remoteNextHopIp)
void
populateFibOnNewDpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)
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)
void
refreshVrfEntry(java.lang.String rd, java.lang.String prefix)
void
removeFibEntry(java.lang.String rd, java.lang.String prefix, java.lang.String eventSource, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
removeInterVPNLinkRouteFlows(java.lang.String interVpnLinkName, boolean isVpnFirstEndPoint, VrfEntry vrfEntry)
void
removeOrUpdateFibEntry(java.lang.String rd, java.lang.String prefix, java.lang.String nextHopToRemove, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
removeVrfTable(java.lang.String rd, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
setConfTransType(java.lang.String service, java.lang.String transportType)
void
updateRoutePathForFibEntry(java.lang.String rd, java.lang.String prefix, java.lang.String nextHop, org.opendaylight.yangtools.yang.common.Uint32 label, boolean nextHopAdd, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
void
writeConfTransTypeConfigDS()
-
-
-
Constructor Detail
-
FibManagerImpl
@Inject public FibManagerImpl(NexthopManager nexthopManager, VrfEntryListener vrfEntryListener, org.osgi.framework.BundleContext bundleContext, FibUtil fibUtil)
-
-
Method Detail
-
populateFibOnNewDpn
public void populateFibOnNewDpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)
- Specified by:
populateFibOnNewDpn
in interfaceIFibManager
-
populateExternalRoutesOnDpn
public void populateExternalRoutesOnDpn(org.opendaylight.yangtools.yang.common.Uint64 localDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String localNextHopIp, java.lang.String remoteNextHopIp)
- Specified by:
populateExternalRoutesOnDpn
in interfaceIFibManager
-
cleanUpExternalRoutesOnDpn
public void cleanUpExternalRoutesOnDpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String localNextHopIp, java.lang.String remoteNextHopIp)
- Specified by:
cleanUpExternalRoutesOnDpn
in interfaceIFibManager
-
cleanUpDpnForVpn
public void cleanUpDpnForVpn(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, com.google.common.util.concurrent.FutureCallback<java.util.List<?>> callback)
- Specified by:
cleanUpDpnForVpn
in interfaceIFibManager
-
setConfTransType
public void setConfTransType(java.lang.String service, java.lang.String transportType)
- Specified by:
setConfTransType
in interfaceIFibManager
-
writeConfTransTypeConfigDS
public void writeConfTransTypeConfigDS()
- Specified by:
writeConfTransTypeConfigDS
in interfaceIFibManager
-
getConfTransType
public java.lang.String getConfTransType()
- Specified by:
getConfTransType
in interfaceIFibManager
-
getReqTransType
public java.lang.String getReqTransType()
- Specified by:
getReqTransType
in interfaceIFibManager
-
getTransportTypeStr
public java.lang.String getTransportTypeStr(java.lang.String tunType)
- Specified by:
getTransportTypeStr
in interfaceIFibManager
-
manageRemoteRouteOnDPN
public void manageRemoteRouteOnDPN(boolean action, org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String destPrefix, java.lang.String destTepIp, org.opendaylight.yangtools.yang.common.Uint32 label)
- Specified by:
manageRemoteRouteOnDPN
in interfaceIFibManager
-
addOrUpdateFibEntry
public void addOrUpdateFibEntry(java.lang.String rd, java.lang.String macAddress, java.lang.String prefix, java.util.List<java.lang.String> nextHopList, VrfEntryBase.EncapType encapType, org.opendaylight.yangtools.yang.common.Uint32 label, org.opendaylight.yangtools.yang.common.Uint32 l3vni, java.lang.String gwMacAddress, java.lang.String parentVpnRd, RouteOrigin origin, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
- Specified by:
addOrUpdateFibEntry
in interfaceIFibManager
-
addFibEntryForRouterInterface
public void addFibEntryForRouterInterface(java.lang.String rd, java.lang.String prefix, RouterInterface routerInterface, org.opendaylight.yangtools.yang.common.Uint32 label, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
- Specified by:
addFibEntryForRouterInterface
in interfaceIFibManager
-
removeOrUpdateFibEntry
public void removeOrUpdateFibEntry(java.lang.String rd, java.lang.String prefix, java.lang.String nextHopToRemove, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
- Specified by:
removeOrUpdateFibEntry
in interfaceIFibManager
-
removeFibEntry
public void removeFibEntry(java.lang.String rd, java.lang.String prefix, java.lang.String eventSource, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
- Specified by:
removeFibEntry
in interfaceIFibManager
-
updateRoutePathForFibEntry
public void updateRoutePathForFibEntry(java.lang.String rd, java.lang.String prefix, java.lang.String nextHop, org.opendaylight.yangtools.yang.common.Uint32 label, boolean nextHopAdd, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
- Specified by:
updateRoutePathForFibEntry
in interfaceIFibManager
-
removeVrfTable
public void removeVrfTable(java.lang.String rd, org.opendaylight.mdsal.binding.util.TypedWriteTransaction<org.opendaylight.mdsal.binding.util.Datastore.Configuration> writeConfigTxn)
- Specified by:
removeVrfTable
in interfaceIFibManager
-
addVrfTable
public void addVrfTable(java.lang.String rd, org.opendaylight.mdsal.binding.api.WriteTransaction writeConfigTxn)
- Specified by:
addVrfTable
in interfaceIFibManager
-
isVPNConfigured
public boolean isVPNConfigured()
- Specified by:
isVPNConfigured
in interfaceIFibManager
-
removeInterVPNLinkRouteFlows
public void removeInterVPNLinkRouteFlows(java.lang.String interVpnLinkName, boolean isVpnFirstEndPoint, VrfEntry vrfEntry)
- Specified by:
removeInterVPNLinkRouteFlows
in interfaceIFibManager
-
checkFibEntryExist
public boolean checkFibEntryExist(org.opendaylight.mdsal.binding.api.DataBroker broker, java.lang.String rd, java.lang.String prefix, java.lang.String nextHopIp)
- Specified by:
checkFibEntryExist
in interfaceIFibManager
-
programDcGwLoadBalancingGroup
public 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)
- Specified by:
programDcGwLoadBalancingGroup
in interfaceIFibManager
-
refreshVrfEntry
public void refreshVrfEntry(java.lang.String rd, java.lang.String prefix)
- Specified by:
refreshVrfEntry
in interfaceIFibManager
-
-