Class AbstractVpnRIBSupport<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject,S extends org.opendaylight.yangtools.yang.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.yang.binding.DataObject,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C> & L3vpnIpRoute> extends AbstractRIBSupport<C,S,VpnRoute>
  • Constructor Details

    • AbstractVpnRIBSupport

      protected AbstractVpnRIBSupport(org.opendaylight.mdsal.binding.dom.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 null
      containerClass - 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

      protected abstract DestinationType getAdvertisedDestinationType(List<VpnDestination> dests)
    • getWithdrawnDestinationType

      protected abstract DestinationType getWithdrawnDestinationType(List<VpnDestination> dests)
    • buildDestination

      protected DestinationType buildDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
      Specified by:
      buildDestination in class AbstractRIBSupport<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C> & L3vpnIpRoute,VpnRoute>
    • buildWithdrawnDestination

      protected DestinationType buildWithdrawnDestination(Collection<org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode> routes)
      Specified by:
      buildWithdrawnDestination in class AbstractRIBSupport<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject,S extends org.opendaylight.yangtools.yang.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 class AbstractRIBSupport<C extends Routes & org.opendaylight.yangtools.yang.binding.DataObject,S extends org.opendaylight.yangtools.yang.binding.ChildOf<? super C> & L3vpnIpRoute,VpnRoute>