Interface RouteEntry<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>>
-
- All Known Implementing Classes:
AddPathAbstractRouteEntry
public interface RouteEntry<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>>
A single route entry inside a route table. Maintains the attributes of from all contributing peers. The information is stored in arrays with a shared map of offsets for peers to allow lookups. This is needed to maintain low memory overhead in face of large number of routes and peers, where individual object overhead becomes the dominating factor.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NonNull List<ActualBestPathRoutes<C,S>>
actualBestPaths(@NonNull RIBSupport<C,S> ribSupport, @NonNull RouteEntryInfo entryInfo)
Returns collections of present selected best path.int
addRoute(@NonNull RouterId routerId, org.opendaylight.yangtools.yang.common.Uint32 remotePathId, @NonNull org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode route)
Add Route.@NonNull List<AdvertizedRoute<C,S>>
newBestPaths(@NonNull RIBSupport<C,S> ribSupport, @NonNull String routeKey)
Returns collection of best path routes after processing update of stale and new advertisement of routes.boolean
removeRoute(@NonNull RouterId routerId, org.opendaylight.yangtools.yang.common.Uint32 remotePathId)
Remove route.@NonNull Optional<StaleBestPathRoute>
removeStalePaths(@NonNull RIBSupport<C,S> ribSupport, @NonNull String routeKey)
Returns list of stale best path.boolean
selectBest(RIBSupport<C,S> ribSupport, long localAs)
Indicates whether best has changed.
-
-
-
Method Detail
-
removeRoute
boolean removeRoute(@NonNull RouterId routerId, org.opendaylight.yangtools.yang.common.Uint32 remotePathId)
Remove route.- Parameters:
routerId
- router ID in unsigned integer format from an Ipv4AddressremotePathId
- remote path Id received- Returns:
- return true if it was the last route on entry
-
selectBest
boolean selectBest(RIBSupport<C,S> ribSupport, long localAs)
Indicates whether best has changed.- Parameters:
localAs
- The local autonomous system number- Returns:
- return true if it has changed
-
addRoute
int addRoute(@NonNull RouterId routerId, org.opendaylight.yangtools.yang.common.Uint32 remotePathId, @NonNull org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode route)
Add Route.- Parameters:
routerId
- router ID in unsigned integer format from an Ipv4AddressremotePathId
- remote path Id receivedroute
- route Data change- Returns:
- returns the offset
-
actualBestPaths
@NonNull List<ActualBestPathRoutes<C,S>> actualBestPaths(@NonNull RIBSupport<C,S> ribSupport, @NonNull RouteEntryInfo entryInfo)
Returns collections of present selected best path.- Parameters:
ribSupport
- RIB SupportentryInfo
- Route Entry Info wrapper
-
removeStalePaths
@NonNull Optional<StaleBestPathRoute> removeStalePaths(@NonNull RIBSupport<C,S> ribSupport, @NonNull String routeKey)
Returns list of stale best path.- Parameters:
ribSupport
- RIB SupportrouteKey
- of stale route- Returns:
- list containing list of stale best path
-
newBestPaths
@NonNull List<AdvertizedRoute<C,S>> newBestPaths(@NonNull RIBSupport<C,S> ribSupport, @NonNull String routeKey)
Returns collection of best path routes after processing update of stale and new advertisement of routes.- Parameters:
ribSupport
- RIB SupportrouteKey
- route key
-
-