public class BGPPeer extends BGPPeerStateImpl implements BGPSessionListener
| Constructor and Description |
|---|
BGPPeer(BGPTableTypeRegistryConsumer tableTypeRegistry,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress neighborAddress,
String peerGroupName,
RIB rib,
PeerRole role,
ClusterIdentifier clusterId,
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs,
org.opendaylight.controller.sal.binding.api.RpcProviderRegistry rpcRegistry,
Set<TablesKey> afiSafisAdvertized,
Set<TablesKey> afiSafisGracefulAdvertized) |
| Modifier and Type | Method and Description |
|---|---|
com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> |
close()
Close Peers and performs asynchronously DS clean up.
|
BGPAfiSafiState |
getBGPAfiSafiState()
Afi Safi Operational State.
|
BGPErrorHandlingState |
getBGPErrorHandlingState()
Error Handling State.
|
BGPSessionState |
getBGPSessionState()
BGP Session Operational State.
|
BGPTimersState |
getBGPTimersState()
BGP Operation Timers State.
|
BGPTransportState |
getBGPTransportState()
BGP Operational Transport State.
|
ClusterIdentifier |
getClusterId()
Returns Cluster Id.
|
org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain |
getDomChain()
Returns Peer DOMTransactionChain.
|
ClusterIdentifier |
getFromClusterId()
Peer id of Peer route entry announcer.
|
PeerId |
getFromPeerId()
Peer id of Peer route entry announcer.
|
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber |
getFromPeerLocalAs()
Peer local AS of route entry announcer.
|
PeerRole |
getFromPeerRole()
Peer id of Peer route entry announcer.
|
org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber |
getLocalAs()
Returns Local AS.
|
List<RouteTarget> |
getMemberships()
Returns list of Route target advertized per Peer.
|
String |
getName()
Return peer's symbolic name.
|
PeerId |
getPeerId()
Returns Peer id.
|
byte[] |
getRawIdentifier()
Return the peer's BGP identifier as raw byte array.
|
org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier<Tables,TablesKey> |
getRibOutIId(TablesKey tablesKey)
Creates Table Adj Rib Out Instance identifier.
|
PeerRole |
getRole()
Returns Peer Role.
|
SendReceive |
getSupportedAddPathTables(TablesKey tableKey)
Returns AddPath support configuration if supported, otherwise null.
|
<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<? super S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> |
initializeRibOut(RouteEntryDependenciesContainer entryDep,
List<ActualBestPathRoutes<C,S,R,I>> routesToStore)
Stores under peers rib Out already present routes, before proceed to process any new route advertizement.
|
void |
instantiateServiceInstance() |
void |
markUptodate(TablesKey tablesKey)
Marks synchronization finished for given Table key.
|
void |
onMessage(BGPSession session,
org.opendaylight.yangtools.yang.binding.Notification msg)
Fired when a normal protocol message is received.
|
void |
onSessionDown(BGPSession session,
Exception e)
Fired when the session went down because of an IO error.
|
void |
onSessionTerminated(BGPSession session,
BGPTerminationReason cause)
Fired when the session is terminated locally.
|
void |
onSessionUp(BGPSession session)
Fired when the session was established successfully.
|
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) |
<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<? super S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> |
reEvaluateAdvertizement(RouteEntryDependenciesContainer entryDep,
List<ActualBestPathRoutes<C,S,R,I>> routesToStore)
Applies all policies through all present routes, and advertize/withdraws based on new results.
|
<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<? super S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> |
refreshRibOut(RouteEntryDependenciesContainer entryDep,
List<StaleBestPathRoute<C,S,R,I>> staleRoutes,
List<AdvertizedRoute<C,S,R,I>> newRoutes)
Update peers ribout after path selection processing.
|
com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> |
releaseConnection()
Release Peer session.
|
boolean |
supportsTable(TablesKey tableKey)
Returns true if peer supports table.
|
String |
toString() |
getAfiSafisAdvertized, getAfiSafisReceived, getBGPGracelfulRestart, getBGPPeerMessagesState, getErroneousUpdateReceivedCount, getGroupId, getNeighborAddress, getNotificationMessagesReceivedCount, getNotificationMessagesSentCount, getPeerRestartTime, getPeerState, getPrefixesInstalledCount, getPrefixesReceivedCount, getPrefixesSentCount, getTotalPrefixes, getUpdateMessagesReceivedCount, getUpdateMessagesSentCount, isActive, isAfiSafiSupported, isGracefulRestartAdvertized, isGracefulRestartReceived, isLocalRestarting, isPeerRestarting, messageReceived, messageSent, registerPrefixesCounters, registerPrefixesSentCounter, resetState, setActive, setAdvertizedGracefulRestartTableTypes, setAfiSafiGracefulRestartStategetInstanceIdentifierclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitsupportsAddPathSupportedgetTotalPathsCountgetInstanceIdentifierpublic BGPPeer(BGPTableTypeRegistryConsumer tableTypeRegistry, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress neighborAddress, String peerGroupName, RIB rib, PeerRole role, ClusterIdentifier clusterId, org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber localAs, org.opendaylight.controller.sal.binding.api.RpcProviderRegistry rpcRegistry, Set<TablesKey> afiSafisAdvertized, Set<TablesKey> afiSafisGracefulAdvertized)
public void instantiateServiceInstance()
public com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> close()
Peerpublic void onMessage(BGPSession session, org.opendaylight.yangtools.yang.binding.Notification msg) throws BGPDocumentedException
BGPSessionListeneronMessage in interface BGPSessionListenermsg - Protocol messageBGPDocumentedExceptionpublic void onSessionUp(BGPSession session)
BGPSessionListeneronSessionUp in interface BGPSessionListenersession - Peer address families which we acceptedpublic void onSessionDown(BGPSession session, Exception e)
BGPSessionListeneronSessionDown in interface BGPSessionListenersession - that went downe - Exception that was thrown as the cause of session being downpublic void onSessionTerminated(BGPSession session, BGPTerminationReason cause)
BGPSessionListeneronSessionTerminated in interface BGPSessionListenercause - the cause why the session went downpublic com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> releaseConnection()
PeerRPCsreleaseConnection in interface PeerRPCspublic SendReceive getSupportedAddPathTables(TablesKey tableKey)
PeerTrackerInformationgetSupportedAddPathTables in interface PeerTrackerInformationtableKey - tablepublic boolean supportsTable(TablesKey tableKey)
PeerTrackerInformationsupportsTable in interface PeerTrackerInformationtableKey - tablepublic org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier<Tables,TablesKey> getRibOutIId(TablesKey tablesKey)
PeerTrackerInformationgetRibOutIId in interface PeerTrackerInformationtablesKey - table keypublic 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.TransactionChainListenerpublic void markUptodate(TablesKey tablesKey)
BGPSessionListenermarkUptodate in interface BGPSessionListenertablesKey - of the table where synchronization finishedpublic BGPSessionState getBGPSessionState()
BGPPeerStategetBGPSessionState in interface BGPPeerStatepublic BGPTimersState getBGPTimersState()
BGPPeerStategetBGPTimersState in interface BGPPeerStatepublic BGPTransportState getBGPTransportState()
BGPPeerStategetBGPTransportState in interface BGPPeerStatepublic List<RouteTarget> getMemberships()
RouteTargetMembershipConsumergetMemberships in interface RouteTargetMembershipConsumerpublic final PeerId getPeerId()
PeerTrackerInformationgetPeerId in interface PeerTrackerInformationpublic final PeerRole getRole()
PeerTrackerInformationgetRole in interface PeerTrackerInformationpublic final byte[] getRawIdentifier()
PeergetRawIdentifier in interface Peerpublic final PeerRole getFromPeerRole()
BGPRouteEntryImportParametersgetFromPeerRole in interface BGPRouteEntryImportParameterspublic final PeerId getFromPeerId()
BGPRouteEntryImportParametersgetFromPeerId in interface BGPRouteEntryImportParameterspublic final ClusterIdentifier getFromClusterId()
BGPRouteEntryImportParametersgetFromClusterId in interface BGPRouteEntryImportParameterspublic final void onTransactionChainSuccessful(org.opendaylight.controller.md.sal.common.api.data.TransactionChain<?,?> chain)
onTransactionChainSuccessful in interface org.opendaylight.controller.md.sal.common.api.data.TransactionChainListenerpublic final BGPErrorHandlingState getBGPErrorHandlingState()
BGPPeerStategetBGPErrorHandlingState in interface BGPPeerStatepublic final BGPAfiSafiState getBGPAfiSafiState()
BGPPeerStategetBGPAfiSafiState in interface BGPPeerStatepublic final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getFromPeerLocalAs()
BGPRouteEntryImportParametersgetFromPeerLocalAs in interface BGPRouteEntryImportParameterspublic final String getName()
Peerpublic final ClusterIdentifier getClusterId()
PeerTrackerInformationgetClusterId in interface PeerTrackerInformationpublic final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getLocalAs()
PeerTrackerInformationgetLocalAs in interface PeerTrackerInformationpublic org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain getDomChain()
PeerTransactionChaingetDomChain in interface PeerTransactionChainpublic final <C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<? super S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> void initializeRibOut(RouteEntryDependenciesContainer entryDep, List<ActualBestPathRoutes<C,S,R,I>> routesToStore)
PeerinitializeRibOut in interface PeerentryDep - RouteEntryDependenciesContainerroutesToStore - routes to be advertized.public final <C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<? super S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> void refreshRibOut(RouteEntryDependenciesContainer entryDep, List<StaleBestPathRoute<C,S,R,I>> staleRoutes, List<AdvertizedRoute<C,S,R,I>> newRoutes)
PeerrefreshRibOut in interface PeerentryDep - RouteEntryDependenciesContainerstaleRoutes - routes to be removed.newRoutes - routes to be advertized.public final <C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C>,R extends Route & org.opendaylight.yangtools.yang.binding.ChildOf<? super S> & org.opendaylight.yangtools.yang.binding.Identifiable<I>,I extends org.opendaylight.yangtools.yang.binding.Identifier<R>> void reEvaluateAdvertizement(RouteEntryDependenciesContainer entryDep, List<ActualBestPathRoutes<C,S,R,I>> routesToStore)
PeerreEvaluateAdvertizement in interface PeerentryDep - RouteEntryDependenciesContainerroutesToStore - routes to be updated.Copyright © 2019 OpenDaylight. All rights reserved.