@Singleton public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler implements AutoCloseable, org.opendaylight.genius.utils.batching.ResourceHandler, IVrfEntryHandler
| Constructor and Description |
|---|
BgpRouteVrfEntryHandler(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
NexthopManager nexthopManager) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addRewriteDstMacAction(long vpnId,
VrfEntry vrfEntry,
Prefixes prefixInfo,
List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos) |
protected void |
addTunnelInterfaceActions(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult,
long vpnId,
VrfEntry vrfEntry,
List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos,
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,
Object vrfEntry,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns) |
void |
createFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier,
VrfEntry vrfEntry,
String rd) |
void |
createRemoteFibEntry(BigInteger remoteDpnId,
long vpnId,
String rd,
VrfEntry vrfEntry,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx,
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,
Object vrfEntry,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns) |
void |
deleteRemoteRoute(BigInteger localDpnId,
BigInteger remoteDpnId,
long vpnId,
VrfTablesKey vrfTableKey,
VrfEntry vrfEntry,
com.google.common.base.Optional<Routes> extraRouteOptional,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns) |
int |
getBatchInterval() |
int |
getBatchSize() |
Consumer<? super VrfEntry> |
getConsumerForCreatingRemoteFib(BigInteger dpnId,
long vpnId,
String rd,
String remoteNextHopIp,
com.google.common.base.Optional<VrfTables> vrfTable,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeCfgTxn,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns) |
Consumer<? super VrfEntry> |
getConsumerForDeletingRemoteFib(BigInteger dpnId,
long vpnId,
String rd,
String remoteNextHopIp,
com.google.common.base.Optional<VrfTables> vrfTable,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeCfgTxn,
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(BigInteger remoteDpnId,
long vpnId,
VrfEntry vrfEntry,
org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx,
String rd,
List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> adjacencyResults,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns) |
void |
removeFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier,
VrfEntry vrfEntry,
String rd) |
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,
Object original,
Object update,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns) |
void |
updateFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier,
VrfEntry original,
VrfEntry update,
String rd) |
buildL3vpnGatewayFlow, checkDpnDeleteFibEntry, deleteLocalAdjacency, deleteRemoteRoute, getVpnToExtraroute, getVpnToExtrarouteIdentifier, installPingResponderFlowEntry, makeConnectedRoute, programRemoteFib, resolveAdjacency@Inject
public BgpRouteVrfEntryHandler(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
NexthopManager nexthopManager)
@PostConstruct public void init()
public void close()
throws Exception
close in interface AutoCloseableclose in class BaseVrfEntryHandlerExceptionpublic org.opendaylight.controller.md.sal.binding.api.DataBroker getResourceBroker()
getResourceBroker in interface org.opendaylight.genius.utils.batching.ResourceHandlerpublic int getBatchSize()
getBatchSize in interface org.opendaylight.genius.utils.batching.ResourceHandlerpublic int getBatchInterval()
getBatchInterval in interface org.opendaylight.genius.utils.batching.ResourceHandlerpublic org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType getDatastoreType()
getDatastoreType in interface org.opendaylight.genius.utils.batching.ResourceHandlerpublic 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,
Object original,
Object update,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
update in interface org.opendaylight.genius.utils.batching.ResourceHandlerpublic 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,
Object vrfEntry,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
create in interface org.opendaylight.genius.utils.batching.ResourceHandlerpublic 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,
Object vrfEntry,
List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
delete in interface org.opendaylight.genius.utils.batching.ResourceHandlerpublic void createFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd)
createFlows in interface IVrfEntryHandlerpublic void removeFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd)
removeFlows in interface IVrfEntryHandlerpublic void updateFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd)
updateFlows in interface IVrfEntryHandlerpublic void programRemoteFibForBgpRoutes(BigInteger remoteDpnId, long vpnId, VrfEntry vrfEntry, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, String rd, List<org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult> adjacencyResults, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
public void createRemoteFibEntry(BigInteger remoteDpnId, long vpnId, String rd, VrfEntry vrfEntry, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
public void deleteRemoteRoute(BigInteger localDpnId, BigInteger remoteDpnId, long vpnId, VrfTablesKey vrfTableKey, VrfEntry vrfEntry, com.google.common.base.Optional<Routes> extraRouteOptional, org.opendaylight.controller.md.sal.binding.api.WriteTransaction tx, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
public Consumer<? super VrfEntry> getConsumerForCreatingRemoteFib(BigInteger dpnId, long vpnId, String rd, String remoteNextHopIp, com.google.common.base.Optional<VrfTables> vrfTable, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeCfgTxn, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
public Consumer<? super VrfEntry> getConsumerForDeletingRemoteFib(BigInteger dpnId, long vpnId, String rd, String remoteNextHopIp, com.google.common.base.Optional<VrfTables> vrfTable, org.opendaylight.controller.md.sal.binding.api.WriteTransaction writeCfgTxn, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
protected void addTunnelInterfaceActions(org.opendaylight.netvirt.fibmanager.NexthopManager.AdjacencyResult adjacencyResult,
long vpnId,
VrfEntry vrfEntry,
List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos,
String rd)
addTunnelInterfaceActions in class BaseVrfEntryHandlerprotected void addRewriteDstMacAction(long vpnId,
VrfEntry vrfEntry,
Prefixes prefixInfo,
List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos)
addRewriteDstMacAction in class BaseVrfEntryHandlerCopyright © 2018 OpenDaylight. All rights reserved.