Class LabeledUnicastIpv4RIBSupport
- java.lang.Object
-
- org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport<C,S,LabeledUnicastRoute,LabeledUnicastRouteKey>
-
- org.opendaylight.protocol.bgp.labeled.unicast.LabeledUnicastIpv4RIBSupport
-
- All Implemented Interfaces:
RIBSupport<LabeledUnicastRoutesCase,LabeledUnicastRoutes,LabeledUnicastRoute,LabeledUnicastRouteKey>
public final class LabeledUnicastIpv4RIBSupport extends AbstractRIBSupport<C,S,LabeledUnicastRoute,LabeledUnicastRouteKey>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.opendaylight.protocol.bgp.rib.spi.RIBSupport
RIBSupport.ApplyRoute
-
-
Field Summary
-
Fields inherited from class org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport
mappingService, ROUTE_KEY, routeDefaultYii
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DestinationType
buildDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
protected DestinationType
buildWithdrawnDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
LabeledUnicastRoute
createRoute(LabeledUnicastRoute route, LabeledUnicastRouteKey key, Attributes attributes)
Creates a route with new path Id and attributes.LabeledUnicastRouteKey
createRouteListKey(PathId pathId, String routeKey)
Construct a Route List Key using new path Id for Families.LabeledUnicastRoutes
emptyRoutesContainer()
Return the table-type-specific empty routes container, as augmented into the bgp-peer model under /peer/effect-rib-in/tables/routes choice node/routes container.Map<LabeledUnicastRouteKey,LabeledUnicastRoute>
extractAdjRibInRoutes(Routes routes)
Extract a route list from the adj-rib-in instantiation of table routes.static List<LabelStack>
extractLabel(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<? extends org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> route, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier labelStackNid, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier labelValueNid)
PathId
extractPathId(LabeledUnicastRouteKey routeListKey)
Given a route list key, return the associated path ID.org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix
extractPrefix(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<? extends org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> route, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier prefixTypeNid)
String
extractRouteKey(LabeledUnicastRouteKey routeListKey)
Given a route list key, return the associated path ID.protected List<CLabeledUnicastDestination>
extractRoutes(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
protected Collection<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates>
processDestination(org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction tx, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier routesPath, org.opendaylight.yangtools.yang.data.api.schema.ContainerNode destination, org.opendaylight.yangtools.yang.data.api.schema.ContainerNode attributes, RIBSupport.ApplyRoute function)
-
Methods inherited from class org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport
attributeFromContainerNode, attributeToContainerNode, buildUpdate, changedRoutes, createRouteIdentifier, deleteRoutes, deleteRoutes, emptyTable, extractPrefix, extractRouteDistinguisher, fromNormalizedNode, getAfi, getSafi, getTablesKey, prefixNid, putRoutes, putRoutes, relativeRoutesPath, routeAttributesIdentifier, routeKeyTemplate, routeNid, routePathIdNid, routeQName, routesCaseClass, routesContainerClass, routesContainerIdentifier, routesListClass, routesPath, routesYangInstanceIdentifier
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.opendaylight.protocol.bgp.rib.spi.RIBSupport
cacheableAttributeObjects, cacheableNlriObjects, createRouteListKey, routePath
-
-
-
-
Method Detail
-
buildDestination
protected DestinationType buildDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
- Specified by:
buildDestination
in classAbstractRIBSupport<LabeledUnicastRoutesCase,LabeledUnicastRoutes,LabeledUnicastRoute,LabeledUnicastRouteKey>
-
buildWithdrawnDestination
protected DestinationType buildWithdrawnDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
- Specified by:
buildWithdrawnDestination
in classAbstractRIBSupport<LabeledUnicastRoutesCase,LabeledUnicastRoutes,LabeledUnicastRoute,LabeledUnicastRouteKey>
-
extractPrefix
public org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix extractPrefix(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<? extends org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> route, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier prefixTypeNid)
-
emptyRoutesContainer
public LabeledUnicastRoutes emptyRoutesContainer()
Description copied from interface:RIBSupport
Return the table-type-specific empty routes container, as augmented into the bgp-peer model under /peer/effect-rib-in/tables/routes choice node/routes container. This needs to include all the skeleton nodes under which the individual routes will be stored.- Returns:
- Protocol-specific container in the routes, may not be null.
-
extractAdjRibInRoutes
public Map<LabeledUnicastRouteKey,LabeledUnicastRoute> extractAdjRibInRoutes(Routes routes)
Description copied from interface:RIBSupport
Extract a route list from the adj-rib-in instantiation of table routes.- Parameters:
routes
- Table route choice- Returns:
- A potentially empty list of routes
-
processDestination
protected Collection<org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates> processDestination(org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction tx, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier routesPath, org.opendaylight.yangtools.yang.data.api.schema.ContainerNode destination, org.opendaylight.yangtools.yang.data.api.schema.ContainerNode attributes, RIBSupport.ApplyRoute function)
- Specified by:
processDestination
in classAbstractRIBSupport<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C> & LabeledUnicastRoutesList,LabeledUnicastRoute,LabeledUnicastRouteKey>
-
extractRoutes
protected List<CLabeledUnicastDestination> extractRoutes(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
-
extractLabel
public static List<LabelStack> extractLabel(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<? extends org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument> route, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier labelStackNid, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier labelValueNid)
-
createRouteListKey
public final LabeledUnicastRouteKey createRouteListKey(PathId pathId, String routeKey)
Description copied from interface:RIBSupport
Construct a Route List Key using new path Id for Families.- Parameters:
pathId
- The path identifierrouteKey
- RouteKey- Returns:
- route list Key (RouteKey + pathId)
-
createRoute
public final LabeledUnicastRoute createRoute(LabeledUnicastRoute route, LabeledUnicastRouteKey key, Attributes attributes)
Description copied from interface:RIBSupport
Creates a route with new path Id and attributes.- Parameters:
route
- routekey
- route keyattributes
- route attributes- Returns:
- Route List key
-
extractPathId
public final PathId extractPathId(LabeledUnicastRouteKey routeListKey)
Description copied from interface:RIBSupport
Given a route list key, return the associated path ID.- Parameters:
routeListKey
- Route list key- Returns:
- Path ID
-
extractRouteKey
public final String extractRouteKey(LabeledUnicastRouteKey routeListKey)
Description copied from interface:RIBSupport
Given a route list key, return the associated path ID.- Parameters:
routeListKey
- Route list key- Returns:
- RouteKey
-
-