@ThreadSafe public final class RIBImpl extends BGPRIBStateImpl implements RIB, org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener, org.opendaylight.yangtools.yang.model.api.SchemaContextListener, AutoCloseable
Constructor and Description |
---|
RIBImpl(BGPTableTypeRegistryConsumer tableTypeRegistry,
RibId ribId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs,
BgpId localBgpId,
RIBExtensionConsumerContext extensions,
BGPDispatcher dispatcher,
CodecsRegistryImpl codecsRegistry,
org.opendaylight.controller.md.sal.dom.api.DOMDataBroker domDataBroker,
org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker,
BGPRibRoutingPolicy ribPolicies,
List<BgpTableType> localTables,
Map<TablesKey,PathSelectionMode> bestPathSelectionStrategies) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> |
closeServiceInstance() |
org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain |
createPeerChain(org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener listener)
Allocate a new transaction chain for use with a peer.
|
org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain |
createPeerDOMChain(org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener listener)
Allocate a new transaction chain for use with a peer.
|
BgpId |
getBgpIdentifier() |
CodecsRegistry |
getCodecsRegistry() |
org.opendaylight.controller.md.sal.binding.api.DataBroker |
getDataBroker()
Return DataBroker.
|
BGPDispatcher |
getDispatcher() |
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber |
getLocalAs()
RIB AS.
|
Set<? extends BgpTableType> |
getLocalTables()
Return the set of table identifiers which are accepted and advertised
by this RIB instance.
|
Set<TablesKey> |
getLocalTablesKeys() |
BGPPeerTracker |
getPeerTracker()
Returns peer tracker for the rib.
|
RIBExtensionConsumerContext |
getRibExtensions()
Return the RIB extensions available to the RIB instance.
|
BGPRibRoutingPolicy |
getRibPolicies()
Return Policies Container.
|
RIBSupportContextRegistry |
getRibSupportContext()
Return the RIB extensions available to the RIB instance
with additional RIB specific context such as
translation between DOM and Binding.
|
org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService |
getService()
Return instance of DOMDataTreeChangeService, where consumer can register to
listen on DOM data changes.
|
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier |
getYangRibId()
Return YangInstanceIdentifier of BGP Rib with its RibId.
|
void |
instantiateServiceInstance() |
void |
onGlobalContextUpdated(org.opendaylight.yangtools.yang.model.api.SchemaContext context) |
void |
onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain,
org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction<?,?> transaction,
Throwable cause) |
void |
onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain) |
void |
refreshTable(TablesKey tk,
PeerId peerId)
Triggers the reevaluation.
|
boolean |
supportsTable(TablesKey tableKey)
Returns true if RIB supports table.
|
String |
toString() |
getAs, getPathCount, getPathsCount, getPrefixesCount, getRIBState, getRouteId, getTablesPrefixesCount, getTotalPathsCount, getTotalPrefixesCount, isActive, registerTotalPathCounter, registerTotalPrefixesCounter, setActive
getInstanceIdentifier
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getInstanceIdentifier
public RIBImpl(BGPTableTypeRegistryConsumer tableTypeRegistry, RibId ribId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs, BgpId localBgpId, RIBExtensionConsumerContext extensions, BGPDispatcher dispatcher, CodecsRegistryImpl codecsRegistry, org.opendaylight.controller.md.sal.dom.api.DOMDataBroker domDataBroker, org.opendaylight.controller.md.sal.binding.api.DataBroker dataBroker, BGPRibRoutingPolicy ribPolicies, List<BgpTableType> localTables, Map<TablesKey,PathSelectionMode> bestPathSelectionStrategies)
public void close() throws Exception
close
in interface AutoCloseable
Exception
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getLocalAs()
RIB
getLocalAs
in interface RIB
public BgpId getBgpIdentifier()
getBgpIdentifier
in interface RIB
@Nonnull public Set<? extends BgpTableType> getLocalTables()
RIB
getLocalTables
in interface RIB
public BGPDispatcher getDispatcher()
getDispatcher
in interface RIB
public void onTransactionChainFailed(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain, org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction<?,?> transaction, Throwable cause)
onTransactionChainFailed
in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener
public void onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain)
onTransactionChainSuccessful
in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener
public Set<TablesKey> getLocalTablesKeys()
getLocalTablesKeys
in interface RIB
public boolean supportsTable(TablesKey tableKey)
RIB
supportsTable
in interface RIB
tableKey
- tablepublic BGPRibRoutingPolicy getRibPolicies()
RIB
getRibPolicies
in interface RIB
public BGPPeerTracker getPeerTracker()
RIB
getPeerTracker
in interface RIB
public void refreshTable(TablesKey tk, PeerId peerId)
RibOutRefresh
refreshTable
in interface RibOutRefresh
tk
- table key of table route paths to be reevaluatedpeerId
- peer to advertize / withdraw paths after reevaluationpublic org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeService getService()
RIB
getService
in interface RIB
public org.opendaylight.controller.md.sal.binding.api.DataBroker getDataBroker()
RIB
getDataBroker
in interface RIB
public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier getYangRibId()
RIB
getYangRibId
in interface RIB
public org.opendaylight.controller.md.sal.binding.api.BindingTransactionChain createPeerChain(org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener listener)
RIB
createPeerChain
in interface RIB
listener
- TransactionChainListener
handling recoverypublic org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain createPeerDOMChain(org.opendaylight.controller.md.sal.common.api.data.TransactionChainListener listener)
RIB
createPeerDOMChain
in interface RIB
listener
- TransactionChainListener
handling recoverypublic RIBExtensionConsumerContext getRibExtensions()
RIB
getRibExtensions
in interface RIB
public RIBSupportContextRegistry getRibSupportContext()
RIB
getRibSupportContext
in interface RIB
public void onGlobalContextUpdated(org.opendaylight.yangtools.yang.model.api.SchemaContext context)
onGlobalContextUpdated
in interface org.opendaylight.yangtools.yang.model.api.SchemaContextListener
public CodecsRegistry getCodecsRegistry()
getCodecsRegistry
in interface RIB
public void instantiateServiceInstance()
public com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> closeServiceInstance()
Copyright © 2019 OpenDaylight. All rights reserved.