@Singleton public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler implements org.opendaylight.genius.utils.batching.ResourceHandler, IVrfEntryHandler
Constructor and Description |
---|
BgpRouteVrfEntryHandler(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
NexthopManager nexthopManager,
FibUtil fibUtil) |
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 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, getFibUtil, getNextHopManager, getVpnToExtraroute, getVpnToExtrarouteIdentifier, installPingResponderFlowEntry, makeConnectedRoute, programRemoteFib, resolveAdjacency
@Inject public BgpRouteVrfEntryHandler(org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, NexthopManager nexthopManager, FibUtil fibUtil)
@PostConstruct public void init()
public void close()
close
in interface AutoCloseable
close
in class BaseVrfEntryHandler
public org.opendaylight.controller.md.sal.binding.api.DataBroker getResourceBroker()
getResourceBroker
in interface org.opendaylight.genius.utils.batching.ResourceHandler
public int getBatchSize()
getBatchSize
in interface org.opendaylight.genius.utils.batching.ResourceHandler
public int getBatchInterval()
getBatchInterval
in interface org.opendaylight.genius.utils.batching.ResourceHandler
public org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType getDatastoreType()
getDatastoreType
in interface org.opendaylight.genius.utils.batching.ResourceHandler
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, Object original, Object update, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
update
in interface org.opendaylight.genius.utils.batching.ResourceHandler
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, Object vrfEntry, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
create
in interface org.opendaylight.genius.utils.batching.ResourceHandler
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, Object vrfEntry, List<org.opendaylight.genius.utils.batching.SubTransaction> subTxns)
delete
in interface org.opendaylight.genius.utils.batching.ResourceHandler
public void createFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd)
createFlows
in interface IVrfEntryHandler
public void removeFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd)
removeFlows
in interface IVrfEntryHandler
public void updateFlows(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd)
updateFlows
in interface IVrfEntryHandler
public 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 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 BaseVrfEntryHandler
protected void addRewriteDstMacAction(long vpnId, VrfEntry vrfEntry, Prefixes prefixInfo, List<org.opendaylight.genius.mdsalutil.ActionInfo> actionInfos)
addRewriteDstMacAction
in class BaseVrfEntryHandler
Copyright © 2019 OpenDaylight. All rights reserved.