Class BaseVrfEntryHandler
- java.lang.Object
-
- org.opendaylight.netvirt.fibmanager.BaseVrfEntryHandler
-
- All Implemented Interfaces:
java.lang.AutoCloseable
- Direct Known Subclasses:
BgpRouteVrfEntryHandler
,EvpnVrfEntryHandler
,RouterInterfaceVrfEntryHandler
@Singleton public class BaseVrfEntryHandler extends java.lang.Object implements java.lang.AutoCloseable
-
-
Constructor Summary
Constructors Constructor Description BaseVrfEntryHandler(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, NexthopManager nexthopManager, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, FibUtil fibUtil, org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addRewriteDstMacAction(org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, @Nullable Prefixes prefixInfo, java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos)
protected void
addTunnelInterfaceActions(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos, java.lang.String rd)
org.opendaylight.genius.mdsalutil.FlowEntity
buildL3vpnGatewayFlow(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String gwMacAddress, org.opendaylight.yangtools.yang.common.Uint32 vpnId)
boolean
checkDpnDeleteFibEntry(VpnNexthop localNextHopInfo, org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd, org.opendaylight.mdsal.binding.api.WriteTransaction tx, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
void
close()
protected void
deleteLocalAdjacency(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipAddress, java.lang.String ipPrefixAddress)
void
deleteRemoteRoute(@Nullable org.opendaylight.yangtools.yang.common.Uint64 localDpnId, org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfTablesKey vrfTableKey, VrfEntry vrfEntry, java.util.Optional<Routes> extraRouteOptional, @Nullable org.opendaylight.mdsal.binding.api.WriteTransaction tx)
protected FibUtil
getFibUtil()
protected NexthopManager
getNextHopManager()
@Nullable Routes
getVpnToExtraroute(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String vpnRd, java.lang.String destPrefix)
static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routes>
getVpnToExtrarouteIdentifier(java.lang.String vpnName, java.lang.String vrfId, java.lang.String ipPrefix)
void
installPingResponderFlowEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String routerInternalIp, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress routerMac, org.opendaylight.yangtools.yang.common.Uint32 label, int addOrRemove)
protected void
makeConnectedRoute(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd, @Nullable java.util.List<org.opendaylight.genius.mdsalutil.InstructionInfo> instructions, int addOrRemove, org.opendaylight.mdsal.binding.api.WriteTransaction tx, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
void
programRemoteFib(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, org.opendaylight.mdsal.binding.api.WriteTransaction tx, java.lang.String rd, java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> adjacencyResults, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
protected @NonNull java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult>
resolveAdjacency(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd)
-
-
-
Constructor Detail
-
BaseVrfEntryHandler
@Inject public BaseVrfEntryHandler(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, NexthopManager nexthopManager, org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager mdsalManager, FibUtil fibUtil, org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
-
-
Method Detail
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
getFibUtil
protected FibUtil getFibUtil()
-
getNextHopManager
protected NexthopManager getNextHopManager()
-
deleteLocalAdjacency
protected void deleteLocalAdjacency(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String ipAddress, java.lang.String ipPrefixAddress)
-
resolveAdjacency
protected @NonNull java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> resolveAdjacency(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd)
-
makeConnectedRoute
protected void makeConnectedRoute(org.opendaylight.yangtools.yang.common.Uint64 dpId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd, @Nullable java.util.List<org.opendaylight.genius.mdsalutil.InstructionInfo> instructions, int addOrRemove, org.opendaylight.mdsal.binding.api.WriteTransaction tx, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
-
addRewriteDstMacAction
protected void addRewriteDstMacAction(org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, @Nullable Prefixes prefixInfo, java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos)
-
addTunnelInterfaceActions
protected void addTunnelInterfaceActions(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos, java.lang.String rd)
-
programRemoteFib
public void programRemoteFib(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, org.opendaylight.mdsal.binding.api.WriteTransaction tx, java.lang.String rd, java.util.List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> adjacencyResults, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
-
checkDpnDeleteFibEntry
public boolean checkDpnDeleteFibEntry(VpnNexthop localNextHopInfo, org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, java.lang.String rd, org.opendaylight.mdsal.binding.api.WriteTransaction tx, @Nullable java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
-
deleteRemoteRoute
public void deleteRemoteRoute(@Nullable org.opendaylight.yangtools.yang.common.Uint64 localDpnId, org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfTablesKey vrfTableKey, VrfEntry vrfEntry, java.util.Optional<Routes> extraRouteOptional, @Nullable org.opendaylight.mdsal.binding.api.WriteTransaction tx)
-
getVpnToExtrarouteIdentifier
public static org.opendaylight.yangtools.yang.binding.InstanceIdentifier<Routes> getVpnToExtrarouteIdentifier(java.lang.String vpnName, java.lang.String vrfId, java.lang.String ipPrefix)
-
getVpnToExtraroute
public @Nullable Routes getVpnToExtraroute(org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String vpnRd, java.lang.String destPrefix)
-
buildL3vpnGatewayFlow
public org.opendaylight.genius.mdsalutil.FlowEntity buildL3vpnGatewayFlow(org.opendaylight.yangtools.yang.common.Uint64 dpId, java.lang.String gwMacAddress, org.opendaylight.yangtools.yang.common.Uint32 vpnId)
-
installPingResponderFlowEntry
public void installPingResponderFlowEntry(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String routerInternalIp, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress routerMac, org.opendaylight.yangtools.yang.common.Uint32 label, int addOrRemove)
-
-