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>,​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>>

  • 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>,​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>>
    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 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 Ipv4Address
        remotePathId - remote path Id received
        Returns:
        return true if it was the last route on entry
      • selectBest

        boolean selectBest​(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 R route)
        Add Route.
        Parameters:
        routerId - router ID in unsigned integer format from an Ipv4Address
        remotePathId - remote path Id received
        route - route Data change
        Returns:
        returns the offset
      • actualBestPaths

        @NonNull List<ActualBestPathRoutes<C,​S,​R,​I>> actualBestPaths​(@NonNull RIBSupport<C,​S,​R,​I> ribSupport,
                                                                                       @NonNull RouteEntryInfo entryInfo)
        Returns collections of present selected best path.
        Parameters:
        ribSupport - RIB Support
        entryInfo - Route Entry Info wrapper
      • removeStalePaths

        @NonNull Optional<StaleBestPathRoute<C,​S,​R,​I>> removeStalePaths​(@NonNull RIBSupport<C,​S,​R,​I> ribSupport,
                                                                                          @NonNull String routeKey)
        Returns list of stale best path.
        Parameters:
        ribSupport - RIB Support
        routeKey - of stale route
        Returns:
        list containing list of stale best path
      • newBestPaths

        @NonNull List<AdvertizedRoute<C,​S,​R,​I>> newBestPaths​(@NonNull RIBSupport<C,​S,​R,​I> ribSupport,
                                                                               @NonNull String routeKey)
        Returns collection of best path routes after processing update of stale and new advertisement of routes.
        Parameters:
        ribSupport - RIB Support
        routeKey - route key