Class AbstractVpnRIBSupport<C extends Routes & org.opendaylight.yangtools.binding.DataObject,S extends org.opendaylight.yangtools.binding.ChildOf<? super C> & L3vpnIpRoute>
java.lang.Object
org.opendaylight.protocol.bgp.rib.spi.AbstractRIBSupport<C,S,VpnRoute>
org.opendaylight.protocol.bgp.l3vpn.unicast.AbstractVpnRIBSupport<C,S>
- All Implemented Interfaces:
RIBSupport<C,
S>
- Direct Known Subclasses:
VpnIpv4RIBSupport
,VpnIpv6RIBSupport
public abstract class AbstractVpnRIBSupport<C extends Routes & org.opendaylight.yangtools.binding.DataObject,S extends org.opendaylight.yangtools.binding.ChildOf<? super C> & L3vpnIpRoute>
extends AbstractRIBSupport<C,S,VpnRoute>
-
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
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractVpnRIBSupport
(org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer mappingService, Class<C> cazeClass, org.opendaylight.yangtools.yang.common.QName cazeQName, Class<S> containerClass, org.opendaylight.yangtools.yang.common.QName containerQName, AddressFamily afi, org.opendaylight.yangtools.yang.common.QName afiQName, org.opendaylight.yangtools.yang.common.QName vpnDstContainerClassQname) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected 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) protected abstract org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix
createPrefix
(String prefix) protected abstract DestinationType
protected abstract DestinationType
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, createRoute, createRouteIdentifier, createRouteListArgument, deleteRoutes, deleteRoutes, emptyTable, extractAttributes, extractPathId, extractPrefix, extractRouteDistinguisher, extractRouteKey, fromNormalizedNode, getTablesKey, prefixNid, putRoutes, putRoutes, relativeRoutesPath, routeAttributesIdentifier, routeKeyTemplate, routeNid, routePathIdNid, routeQName, routesCaseClass, routesContainerClass, routesContainerIdentifier, routesListClass, routesPath, routesYangInstanceIdentifier, tablesKey
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, createRouteListArgument, routePath, toAddPathListArgument, toNonPathListArgument
-
Constructor Details
-
AbstractVpnRIBSupport
protected AbstractVpnRIBSupport(org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer mappingService, Class<C> cazeClass, org.opendaylight.yangtools.yang.common.QName cazeQName, Class<S> containerClass, org.opendaylight.yangtools.yang.common.QName containerQName, AddressFamily afi, org.opendaylight.yangtools.yang.common.QName afiQName, org.opendaylight.yangtools.yang.common.QName vpnDstContainerClassQname) Default constructor. Requires the QName of the container augmented under the routes choice node in instantiations of the rib grouping. It is assumed that this container is defined by the same model which populates it with route grouping instantiation, and by extension with the route attributes container.- Parameters:
cazeClass
- Binding class of the AFI/SAFI-specific case statement, must not be nullcontainerClass
- Binding class of the container in routes choice, must not be null.
-
-
Method Details
-
createPrefix
protected abstract org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix createPrefix(String prefix) -
getAdvertisedDestinationType
-
getWithdrawnDestinationType
-
buildDestination
protected DestinationType buildDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes) - Specified by:
buildDestination
in classAbstractRIBSupport<C extends Routes & org.opendaylight.yangtools.binding.DataObject,
S extends org.opendaylight.yangtools.binding.ChildOf<? super C> & L3vpnIpRoute, VpnRoute>
-
buildWithdrawnDestination
protected DestinationType buildWithdrawnDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes) - Specified by:
buildWithdrawnDestination
in classAbstractRIBSupport<C extends Routes & org.opendaylight.yangtools.binding.DataObject,
S extends org.opendaylight.yangtools.binding.ChildOf<? super C> & L3vpnIpRoute, VpnRoute>
-
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.binding.DataObject,
S extends org.opendaylight.yangtools.binding.ChildOf<? super C> & L3vpnIpRoute, VpnRoute>
-