Class L3VpnMcastIpv4RIBSupport
- java.lang.Object
-
- org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport<C,S,L3vpnMcastRoute,L3vpnMcastRouteKey>
-
- org.opendaylight.protocol.bgp.l3vpn.mcast.L3VpnMcastIpv4RIBSupport
-
- All Implemented Interfaces:
RIBSupport<L3vpnMcastRoutesIpv4Case,L3vpnMcastRoutesIpv4,L3vpnMcastRoute,L3vpnMcastRouteKey>
public final class L3VpnMcastIpv4RIBSupport extends AbstractRIBSupport<C,S,L3vpnMcastRoute,L3vpnMcastRouteKey>
Ipv4 L3VPN Multicast RIBSupport.- Author:
- Claudio D. Gasparini
-
-
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 DestinationL3vpnMcastIpv4AdvertizedCase
buildDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
protected DestinationL3vpnMcastIpv4WithdrawnCase
buildWithdrawnDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.BindingObject>>
cacheableNlriObjects()
protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix
createPrefix(String prefix)
L3vpnMcastRoute
createRoute(L3vpnMcastRoute route, L3vpnMcastRouteKey key, Attributes attributes)
Creates a route with new path Id and attributes.org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates
createRouteKey(org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode l3vpn)
L3vpnMcastRouteKey
createRouteListKey(PathId pathId, String routeKey)
Construct a Route List Key using new path Id for Families.L3vpnMcastRoutesIpv4
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.List<L3vpnMcastRoute>
extractAdjRibInRoutes(Routes routes)
Extract a route list from the adj-rib-in instantiation of table routes.PathId
extractPathId(L3vpnMcastRouteKey routeListKey)
Given a route list key, return the associated path ID.String
extractRouteKey(L3vpnMcastRouteKey routeListKey)
Given a route list key, return the associated path ID.static L3VpnMcastIpv4RIBSupport
getInstance(org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer mappingService)
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, createRouteListKey, routePath
-
-
-
-
Method Detail
-
getInstance
public static L3VpnMcastIpv4RIBSupport getInstance(org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer mappingService)
-
buildDestination
protected DestinationL3vpnMcastIpv4AdvertizedCase buildDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
- Specified by:
buildDestination
in classAbstractRIBSupport<L3vpnMcastRoutesIpv4Case,L3vpnMcastRoutesIpv4,L3vpnMcastRoute,L3vpnMcastRouteKey>
-
buildWithdrawnDestination
protected DestinationL3vpnMcastIpv4WithdrawnCase buildWithdrawnDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
- Specified by:
buildWithdrawnDestination
in classAbstractRIBSupport<L3vpnMcastRoutesIpv4Case,L3vpnMcastRoutesIpv4,L3vpnMcastRoute,L3vpnMcastRouteKey>
-
emptyRoutesContainer
public L3vpnMcastRoutesIpv4 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.
-
createPrefix
protected org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix createPrefix(String prefix)
-
createRouteKey
public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates createRouteKey(org.opendaylight.yangtools.yang.data.api.schema.UnkeyedListEntryNode l3vpn)
-
extractAdjRibInRoutes
public List<L3vpnMcastRoute> 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
-
cacheableNlriObjects
public final com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.BindingObject>> cacheableNlriObjects()
-
createRoute
public final L3vpnMcastRoute createRoute(L3vpnMcastRoute route, L3vpnMcastRouteKey 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
-
createRouteListKey
public final L3vpnMcastRouteKey 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)
-
processDestination
protected final 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 & org.opendaylight.yangtools.yang.binding.ChoiceIn<Tables>,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C> & L3vpnMcastRoutes,L3vpnMcastRoute,L3vpnMcastRouteKey>
-
extractPathId
public final PathId extractPathId(L3vpnMcastRouteKey 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 String extractRouteKey(L3vpnMcastRouteKey routeListKey)
Description copied from interface:RIBSupport
Given a route list key, return the associated path ID.- Parameters:
routeListKey
- Route list key- Returns:
- RouteKey
-
-