Interface Peer
-
- All Superinterfaces:
PeerTrackerInformation
,RouteTargetMembershipConsumer
- All Known Implementing Classes:
ApplicationPeer
,BGPPeer
public interface Peer extends PeerTrackerInformation, RouteTargetMembershipConsumer
Marker interface identifying a BGP peer.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NonNull com.google.common.util.concurrent.FluentFuture<? extends Object>
close()
Close Peers and performs asynchronously DS clean up.@NonNull String
getName()
Return peer's symbolic name.byte[]
getRawIdentifier()
Return the peer's BGP identifier as raw byte array.<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>>
voidinitializeRibOut(@NonNull RouteEntryDependenciesContainer entryDep, @NonNull List<ActualBestPathRoutes<C,S,R,I>> routes)
Stores under peers rib Out already present routes, before proceed to process any new route advertizement.<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>>
voidreEvaluateAdvertizement(@NonNull RouteEntryDependenciesContainer entryDep, @NonNull List<ActualBestPathRoutes<C,S,R,I>> routes)
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>>
voidrefreshRibOut(@NonNull RouteEntryDependenciesContainer entryDep, @NonNull List<StaleBestPathRoute<C,S,R,I>> staleRoutes, @NonNull List<AdvertizedRoute<C,S,R,I>> newRoutes)
Update peers ribout after path selection processing.-
Methods inherited from interface org.opendaylight.protocol.bgp.rib.spi.PeerTrackerInformation
getClusterId, getLocalAs, getPeerId, getRibOutIId, getRole, getSupportedAddPathTables, supportsAddPathSupported, supportsTable
-
Methods inherited from interface org.opendaylight.protocol.bgp.rib.spi.policy.RouteTargetMembershipConsumer
getMemberships
-
-
-
-
Method Detail
-
getName
@NonNull String getName()
Return peer's symbolic name.- Returns:
- symbolic name.
-
getRawIdentifier
byte[] getRawIdentifier()
Return the peer's BGP identifier as raw byte array.- Returns:
- byte[] raw identifier
-
close
@NonNull com.google.common.util.concurrent.FluentFuture<? extends Object> close()
Close Peers and performs asynchronously DS clean up.- Returns:
- future
-
refreshRibOut
<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(@NonNull RouteEntryDependenciesContainer entryDep, @NonNull List<StaleBestPathRoute<C,S,R,I>> staleRoutes, @NonNull List<AdvertizedRoute<C,S,R,I>> newRoutes)
Update peers ribout after path selection processing.- Parameters:
entryDep
- RouteEntryDependenciesContainerstaleRoutes
- routes to be removed.newRoutes
- routes to be advertized.
-
initializeRibOut
<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(@NonNull RouteEntryDependenciesContainer entryDep, @NonNull List<ActualBestPathRoutes<C,S,R,I>> routes)
Stores under peers rib Out already present routes, before proceed to process any new route advertizement.- Parameters:
entryDep
- RouteEntryDependenciesContainerroutes
- routes to be advertized.
-
reEvaluateAdvertizement
<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(@NonNull RouteEntryDependenciesContainer entryDep, @NonNull List<ActualBestPathRoutes<C,S,R,I>> routes)
Applies all policies through all present routes, and advertize/withdraws based on new results. Scenario would be for example a removal of RT membership. And reprocess VPN routes.- Parameters:
entryDep
- RouteEntryDependenciesContainerroutes
- routes to be updated.
-
-