public abstract class AbstractVpnRIBSupport extends AbstractRIBSupport
RIBSupport.ApplyRoute
Modifier | Constructor and Description |
---|---|
protected |
AbstractVpnRIBSupport(Class<? extends Routes> cazeClass,
Class<? extends org.opendaylight.yangtools.yang.binding.DataObject> containerClass,
Class<? extends Route> listClass,
Class<? extends AddressFamily> afiClass,
org.opendaylight.yangtools.yang.common.QName vpnDstContainerClassQname)
Default constructor.
|
Modifier and Type | Method and 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) |
com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> |
cacheableAttributeObjects() |
com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> |
cacheableNlriObjects() |
default org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument |
createRouteKeyPathArgument(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeKeyPathArgument)
Create a new Path Argument for route Key removing remove Path Id from key.
|
default Long |
extractPathId(org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> normalizedNode)
Extract PathId from route change received.
|
protected abstract 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) |
protected abstract DestinationType |
getAdvertisedDestinationType(List<VpnDestination> dests) |
default org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument |
getRouteIdAddPath(long pathId,
org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeId)
Construct a PathArgument to an AddPathRoute.
|
protected abstract DestinationType |
getWithdrawnDestinationType(List<VpnDestination> dests) |
boolean |
isComplexRoute()
Indicate whether this AFI/SAFI combination is a complex route.
|
protected void |
processDestination(org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction 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) |
buildUpdate, changedRoutes, deleteRoutes, deleteRoutes, emptyRoutes, getAfi, getSafi, putRoutes, putRoutes, routeAttributesIdentifier, routeNid, routePath, routeQName, routesCaseClass, routesContainerClass, routesContainerIdentifier, routesListClass
protected AbstractVpnRIBSupport(Class<? extends Routes> cazeClass, Class<? extends org.opendaylight.yangtools.yang.binding.DataObject> containerClass, Class<? extends Route> listClass, Class<? extends AddressFamily> afiClass, org.opendaylight.yangtools.yang.common.QName vpnDstContainerClassQname)
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.listClass
- Binding class of the route list, nust not be null;protected abstract 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)
protected abstract DestinationType getAdvertisedDestinationType(List<VpnDestination> dests)
protected abstract DestinationType getWithdrawnDestinationType(List<VpnDestination> dests)
@Nonnull protected DestinationType buildDestination(@Nonnull Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
buildDestination
in class AbstractRIBSupport
@Nonnull protected DestinationType buildWithdrawnDestination(@Nonnull Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
buildWithdrawnDestination
in class AbstractRIBSupport
@Nonnull public com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> cacheableAttributeObjects()
@Nonnull public com.google.common.collect.ImmutableCollection<Class<? extends org.opendaylight.yangtools.yang.binding.DataObject>> cacheableNlriObjects()
public boolean isComplexRoute()
RIBSupport
protected void processDestination(org.opendaylight.controller.md.sal.dom.api.DOMDataWriteTransaction 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)
processDestination
in class AbstractRIBSupport
public Long extractPathId(@Nonnull org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode<?,?> normalizedNode)
normalizedNode
- Path Id Container@Nullable public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument getRouteIdAddPath(long pathId, @Nonnull org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeId)
pathId
- The path identifierrouteId
- PathArgument leaf path@Nonnull public org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument createRouteKeyPathArgument(@Nonnull org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument routeKeyPathArgument)
routeKeyPathArgument
- routeKey Path ArgumentCopyright © 2019 OpenDaylight. All rights reserved.