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.controller.md.sal.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 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)
void
close()
void
create(org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object vrfEntry, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
void
createRemoteFibEntry(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, java.lang.String rd, VrfEntry vrfEntry, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
void
delete(org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType datastoreType, org.opendaylight.yangtools.yang.binding.InstanceIdentifier identifier, java.lang.Object vrfEntry, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
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, com.google.common.base.Optional<Routes> extraRouteOptional, @Nullable org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
int
getBatchInterval()
int
getBatchSize()
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, com.google.common.base.Optional<VrfTables> vrfTable, org.opendaylight.controller.md.sal.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, com.google.common.base.Optional<VrfTables> vrfTable, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeCfgTxn, java.util.List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType
getDatastoreType()
org.opendaylight.controller.md.sal.binding.api.DataBroker
getResourceBroker()
void
init()
void
programRemoteFibForBgpRoutes(org.opendaylight.yangtools.yang.common.Uint64 remoteDpnId, org.opendaylight.yangtools.yang.common.Uint32 vpnId, VrfEntry vrfEntry, org.opendaylight.controller.md.sal.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)
void
update(org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, org.opendaylight.controller.md.sal.common.api.data.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)
-
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.controller.md.sal.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:
close
in interfacejava.lang.AutoCloseable
- Overrides:
close
in classBaseVrfEntryHandler
-
getResourceBroker
public org.opendaylight.controller.md.sal.binding.api.DataBroker getResourceBroker()
- Specified by:
getResourceBroker
in interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
getBatchSize
public int getBatchSize()
- Specified by:
getBatchSize
in interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
getBatchInterval
public int getBatchInterval()
- Specified by:
getBatchInterval
in interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
getDatastoreType
public org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType getDatastoreType()
- Specified by:
getDatastoreType
in interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
update
public void update(org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, org.opendaylight.controller.md.sal.common.api.data.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:
update
in interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
create
public void create(org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, org.opendaylight.controller.md.sal.common.api.data.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:
create
in interfaceorg.opendaylight.genius.utils.batching.ResourceHandler
-
delete
public void delete(org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, org.opendaylight.controller.md.sal.common.api.data.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:
delete
in 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.controller.md.sal.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.controller.md.sal.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, com.google.common.base.Optional<Routes> extraRouteOptional, @Nullable org.opendaylight.controller.md.sal.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, com.google.common.base.Optional<VrfTables> vrfTable, org.opendaylight.controller.md.sal.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, com.google.common.base.Optional<VrfTables> vrfTable, org.opendaylight.controller.md.sal.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:
addTunnelInterfaceActions
in 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:
addRewriteDstMacAction
in classBaseVrfEntryHandler
-
-