Class BgpRouteVrfEntryHandler
- java.lang.Object
-
- org.opendaylight.netvirt.fibmanager.BaseVrfEntryHandler
-
- org.opendaylight.netvirt.fibmanager.BgpRouteVrfEntryHandler
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.opendaylight.genius.utils.batching.ResourceHandler
@Singleton public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler implements org.opendaylight.genius.utils.batching.ResourceHandler
-
-
Constructor Summary
Constructors Constructor Description BgpRouteVrfEntryHandler(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, NexthopManager nexthopManager, FibUtil fibUtil, org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddRewriteDstMacAction(org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, @Nullable Prefixes prefixInfo, java.util.List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos)protected voidaddTunnelInterfaceActions(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)voidclose()voidcreate(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object vrfEntry, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)voidcreateRemoteFibEntry(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, VrfEntry vrfEntry, org.opendaylight.mdsal.binding.api.WriteTransaction tx, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)voiddelete(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object vrfEntry, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)voiddeleteRemoteRoute(@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, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)intgetBatchInterval()intgetBatchSize()java.util.function.Consumer<? super VrfEntry>getConsumerForCreatingRemoteFib(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String remoteNextHopIp, java.util.Optional<VrfTables> vrfTable, org.opendaylight.mdsal.binding.api.WriteTransaction writeCfgTxn, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)java.util.function.Consumer<? super VrfEntry>getConsumerForDeletingRemoteFib(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String remoteNextHopIp, java.util.Optional<VrfTables> vrfTable, org.opendaylight.mdsal.binding.api.WriteTransaction writeCfgTxn, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)org.opendaylight.mdsal.common.api.LogicalDatastoreTypegetDatastoreType()org.opendaylight.mdsal.binding.api.DataBrokergetResourceBroker()voidinit()voidprogramRemoteFibForBgpRoutes(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, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)voidupdate(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object original, java.lang.Object update, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)voidupdateContainer(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object original, java.lang.Object update, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> transactionObjects)-
Methods inherited from class org.opendaylight.netvirt.fibmanager.BaseVrfEntryHandler
buildL3vpnGatewayFlow, checkDpnDeleteFibEntry, deleteLocalAdjacency, deleteRemoteRoute, getFibUtil, getNextHopManager, getVpnToExtraroute, getVpnToExtrarouteIdentifier, installPingResponderFlowEntry, makeConnectedRoute, programRemoteFib, resolveAdjacency
-
-
-
-
Constructor Detail
-
BgpRouteVrfEntryHandler
@Inject public BgpRouteVrfEntryHandler(org.opendaylight.mdsal.binding.api.DataBroker dataBroker, NexthopManager nexthopManager, FibUtil fibUtil, org.opendaylight.serviceutils.upgrade.UpgradeState upgradeState, org.opendaylight.genius.datastoreutils.listeners.DataTreeEventCallbackRegistrar eventCallbacks)
-
-
Method Detail
-
init
@PostConstruct public void init()
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Overrides:
closein classBaseVrfEntryHandler
-
getResourceBroker
public org.opendaylight.mdsal.binding.api.DataBroker getResourceBroker()
- Specified by:
getResourceBrokerin interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
getBatchSize
public int getBatchSize()
- Specified by:
getBatchSizein interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
getBatchInterval
public int getBatchInterval()
- Specified by:
getBatchIntervalin interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
getDatastoreType
public org.opendaylight.mdsal.common.api.LogicalDatastoreType getDatastoreType()
- Specified by:
getDatastoreTypein interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
update
public void update(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object original, java.lang.Object update, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)- Specified by:
updatein interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
updateContainer
public void updateContainer(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object original, java.lang.Object update, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> transactionObjects)- Specified by:
updateContainerin interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
create
public void create(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object vrfEntry, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)- Specified by:
createin interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
delete
public void delete(org.opendaylight.mdsal.binding.api.WriteTransaction tx, org.opendaylight.mdsal.common.api.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object vrfEntry, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)- Specified by:
deletein interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
programRemoteFibForBgpRoutes
public void programRemoteFibForBgpRoutes(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, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
-
createRemoteFibEntry
public void createRemoteFibEntry(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, VrfEntry vrfEntry, org.opendaylight.mdsal.binding.api.WriteTransaction tx, 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, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
-
getConsumerForCreatingRemoteFib
public java.util.function.Consumer<? super VrfEntry> getConsumerForCreatingRemoteFib(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, java.lang.String remoteNextHopIp, java.util.Optional<VrfTables> vrfTable, org.opendaylight.mdsal.binding.api.WriteTransaction writeCfgTxn, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
-
getConsumerForDeletingRemoteFib
public java.util.function.Consumer<? super VrfEntry> getConsumerForDeletingRemoteFib(org.opendaylight.yangtools.yang.common.Uint64 dpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String remoteNextHopIp, java.util.Optional<VrfTables> vrfTable, org.opendaylight.mdsal.binding.api.WriteTransaction writeCfgTxn, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
-
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)- Overrides:
addTunnelInterfaceActionsin classBaseVrfEntryHandler
-
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)- Overrides:
addRewriteDstMacActionin classBaseVrfEntryHandler
-
-