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, setAfiSafiGracefulRestartState
getInstanceIdentifier
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
supportsAddPathSupported
getTotalPathsCount
getInstanceIdentifier
public 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()
Peer
public void onMessage(BGPSession session, org.opendaylight.yangtools.yang.binding.Notification msg) throws BGPDocumentedException
BGPSessionListener
onMessage
in interface BGPSessionListener
msg
- Protocol messageBGPDocumentedException
public void onSessionUp(BGPSession session)
BGPSessionListener
onSessionUp
in interface BGPSessionListener
session
- Peer address families which we acceptedpublic void onSessionDown(BGPSession session, Exception e)
BGPSessionListener
onSessionDown
in interface BGPSessionListener
session
- that went downe
- Exception that was thrown as the cause of session being downpublic void onSessionTerminated(BGPSession session, BGPTerminationReason cause)
BGPSessionListener
onSessionTerminated
in interface BGPSessionListener
cause
- the cause why the session went downpublic com.google.common.util.concurrent.FluentFuture<? extends org.opendaylight.mdsal.common.api.CommitInfo> releaseConnection()
PeerRPCs
releaseConnection
in interface PeerRPCs
public SendReceive getSupportedAddPathTables(TablesKey tableKey)
PeerTrackerInformation
getSupportedAddPathTables
in interface PeerTrackerInformation
tableKey
- tablepublic boolean supportsTable(TablesKey tableKey)
PeerTrackerInformation
supportsTable
in interface PeerTrackerInformation
tableKey
- tablepublic org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier<Tables,TablesKey> getRibOutIId(TablesKey tablesKey)
PeerTrackerInformation
getRibOutIId
in interface PeerTrackerInformation
tablesKey
- 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.TransactionChainListener
public void markUptodate(TablesKey tablesKey)
BGPSessionListener
markUptodate
in interface BGPSessionListener
tablesKey
- of the table where synchronization finishedpublic BGPSessionState getBGPSessionState()
BGPPeerState
getBGPSessionState
in interface BGPPeerState
public BGPTimersState getBGPTimersState()
BGPPeerState
getBGPTimersState
in interface BGPPeerState
public BGPTransportState getBGPTransportState()
BGPPeerState
getBGPTransportState
in interface BGPPeerState
public List<RouteTarget> getMemberships()
RouteTargetMembershipConsumer
getMemberships
in interface RouteTargetMembershipConsumer
public final PeerId getPeerId()
PeerTrackerInformation
getPeerId
in interface PeerTrackerInformation
public final PeerRole getRole()
PeerTrackerInformation
getRole
in interface PeerTrackerInformation
public final byte[] getRawIdentifier()
Peer
getRawIdentifier
in interface Peer
public final PeerRole getFromPeerRole()
BGPRouteEntryImportParameters
getFromPeerRole
in interface BGPRouteEntryImportParameters
public final PeerId getFromPeerId()
BGPRouteEntryImportParameters
getFromPeerId
in interface BGPRouteEntryImportParameters
public final ClusterIdentifier getFromClusterId()
BGPRouteEntryImportParameters
getFromClusterId
in interface BGPRouteEntryImportParameters
public final 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 final BGPErrorHandlingState getBGPErrorHandlingState()
BGPPeerState
getBGPErrorHandlingState
in interface BGPPeerState
public final BGPAfiSafiState getBGPAfiSafiState()
BGPPeerState
getBGPAfiSafiState
in interface BGPPeerState
public final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getFromPeerLocalAs()
BGPRouteEntryImportParameters
getFromPeerLocalAs
in interface BGPRouteEntryImportParameters
public final String getName()
Peer
public final ClusterIdentifier getClusterId()
PeerTrackerInformation
getClusterId
in interface PeerTrackerInformation
public final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.AsNumber getLocalAs()
PeerTrackerInformation
getLocalAs
in interface PeerTrackerInformation
public org.opendaylight.controller.md.sal.dom.api.DOMTransactionChain getDomChain()
PeerTransactionChain
getDomChain
in interface PeerTransactionChain
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 initializeRibOut(RouteEntryDependenciesContainer entryDep, List<ActualBestPathRoutes<C,S,R,I>> routesToStore)
Peer
initializeRibOut
in interface Peer
entryDep
- 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)
Peer
refreshRibOut
in interface Peer
entryDep
- 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)
Peer
reEvaluateAdvertizement
in interface Peer
entryDep
- RouteEntryDependenciesContainerroutesToStore
- routes to be updated.Copyright © 2019 OpenDaylight. All rights reserved.