final class EvpnRibSupport extends AbstractRIBSupport<EvpnRoutesCase, EvpnRoutes, EvpnRoute> {
private static final Logger LOG = LoggerFactory.getLogger(EvpnRibSupport.class);
-
private static final NodeIdentifier NLRI_ROUTES_LIST = NodeIdentifier.create(EvpnDestination.QNAME);
EvpnRibSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- EvpnRoutesCase.class,
- EvpnRoutes.class,
- EvpnRoute.class,
- L2vpnAddressFamily.VALUE,
- EvpnSubsequentAddressFamily.VALUE,
- DestinationEvpn.QNAME);
+ EvpnRoutesCase.class, EvpnRoutesCase.QNAME,
+ EvpnRoutes.class, EvpnRoutes.QNAME,
+ EvpnRoute.class, EvpnRoute.QNAME,
+ L2vpnAddressFamily.VALUE, L2vpnAddressFamily.QNAME,
+ EvpnSubsequentAddressFamily.VALUE, EvpnSubsequentAddressFamily.QNAME,
+ DestinationEvpn.QNAME);
}
@Override
S extends ChildOf<? super C>,
R extends Route & ChildOf<? super S> & Identifiable<?>> extends AbstractFlowspecRIBSupport<T, C, S, R> {
AbstractFlowspecIpRIBSupport(final BindingNormalizedNodeSerializer mappingService, final Class<C> cazeClass,
- final Class<S> containerClass, final Class<R> listClass, final AddressFamily afiClass,
- final SubsequentAddressFamily safiClass, final QName dstContainerClassQName, final T nlriParser) {
- super(mappingService, cazeClass, containerClass, listClass, afiClass, safiClass, dstContainerClassQName,
- nlriParser);
+ final QName cazeQName, final Class<S> containerClass, final QName containerQName, final Class<R> listClass,
+ final QName listQName, final AddressFamily afi, final QName afiQName, final SubsequentAddressFamily safi,
+ final QName safiQName, final QName dstContainerClassQName, final T nlriParser) {
+ super(mappingService, cazeClass, cazeQName, containerClass, containerQName, listClass, listQName, afi, afiQName,
+ safi, safiQName, dstContainerClassQName, nlriParser);
}
@Override
protected AbstractFlowspecRIBSupport(
final BindingNormalizedNodeSerializer mappingService,
- final Class<C> cazeClass,
- final Class<S> containerClass,
- final Class<R> listClass,
- final AddressFamily afiClass,
- final SubsequentAddressFamily safiClass,
+ final Class<C> cazeClass, final QName cazeQName,
+ final Class<S> containerClass, final QName containerQName,
+ final Class<R> listClass, final QName listQName,
+ final AddressFamily afi, final QName afiQName,
+ final SubsequentAddressFamily safi, final QName safiQName,
final QName dstContainerClassQName,
- final T nlriParser
- ) {
- super(mappingService, cazeClass, containerClass, listClass, afiClass, safiClass, dstContainerClassQName);
+ final T nlriParser) {
+ super(mappingService, cazeClass, cazeQName, containerClass, containerQName, listClass, listQName, afi, afiQName,
+ safi, safiQName, dstContainerClassQName);
this.nlriParser = requireNonNull(nlriParser);
}
FlowspecRoutes,
FlowspecRoute> {
public FlowspecIpv4RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
- super(
- mappingService,
- FlowspecRoutesCase.class,
- FlowspecRoutes.class,
- FlowspecRoute.class,
- Ipv4AddressFamily.VALUE,
- FlowspecSubsequentAddressFamily.VALUE,
- DestinationFlowspecIpv4.QNAME,
- new SimpleFlowspecIpv4NlriParser(SAFI.FLOWSPEC)
- );
+ super(mappingService,
+ FlowspecRoutesCase.class, FlowspecRoutesCase.QNAME,
+ FlowspecRoutes.class, FlowspecRoutes.QNAME,
+ FlowspecRoute.class, FlowspecRoute.QNAME,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ FlowspecSubsequentAddressFamily.VALUE, FlowspecSubsequentAddressFamily.QNAME,
+ DestinationFlowspecIpv4.QNAME,
+ new SimpleFlowspecIpv4NlriParser(SAFI.FLOWSPEC));
}
}
FlowspecIpv6Routes,
FlowspecRoute> {
public FlowspecIpv6RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
- super(
- mappingService,
- FlowspecIpv6RoutesCase.class,
- FlowspecIpv6Routes.class,
- FlowspecRoute.class,
- Ipv6AddressFamily.VALUE,
- FlowspecSubsequentAddressFamily.VALUE,
- DestinationFlowspecIpv6.QNAME,
- new SimpleFlowspecIpv6NlriParser(SAFI.FLOWSPEC)
- );
+ super(mappingService,
+ FlowspecIpv6RoutesCase.class, FlowspecIpv6RoutesCase.QNAME,
+ FlowspecIpv6Routes.class, FlowspecIpv6Routes.QNAME,
+ FlowspecRoute.class, FlowspecRoute.QNAME,
+ Ipv6AddressFamily.VALUE, Ipv6AddressFamily.QNAME,
+ FlowspecSubsequentAddressFamily.VALUE, FlowspecSubsequentAddressFamily.QNAME,
+ DestinationFlowspecIpv6.QNAME,
+ new SimpleFlowspecIpv6NlriParser(SAFI.FLOWSPEC));
}
}
R extends Route & ChildOf<? super S> & Identifiable<?>> extends AbstractFlowspecRIBSupport<T, C, S, R> {
protected AbstractFlowspecL3vpnRIBSupport(
final BindingNormalizedNodeSerializer mappingService,
- final Class<C> cazeClass,
- final Class<S> containerClass,
- final Class<R> listClass,
+ final Class<C> cazeClass, final QName cazeQName,
+ final Class<S> containerClass, final QName containerQName,
+ final Class<R> listClass, final QName listQName,
final QName dstContainerClassQName,
- final AddressFamily afiClass,
- final T flowspecNlriParser
- ) {
- super(mappingService, cazeClass, containerClass, listClass, afiClass,
- FlowspecL3vpnSubsequentAddressFamily.VALUE, dstContainerClassQName, flowspecNlriParser);
+ final AddressFamily afi, final QName afiQName,
+ final T flowspecNlriParser) {
+ super(mappingService, cazeClass, cazeQName, containerClass, containerQName, listClass, listQName, afi, afiQName,
+ FlowspecL3vpnSubsequentAddressFamily.VALUE, FlowspecL3vpnSubsequentAddressFamily.QNAME,
+ dstContainerClassQName, flowspecNlriParser);
}
@Override
FlowspecL3vpnIpv4Routes,
FlowspecL3vpnRoute> {
public FlowspecL3vpnIpv4RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
- super(
- mappingService,
- FlowspecL3vpnIpv4RoutesCase.class,
- FlowspecL3vpnIpv4Routes.class,
- FlowspecL3vpnRoute.class,
- DestinationFlowspecL3vpnIpv4.QNAME,
- Ipv4AddressFamily.VALUE,
- new FlowspecL3vpnIpv4NlriParser(SAFI.FLOWSPEC_VPN)
- );
+ super(mappingService,
+ FlowspecL3vpnIpv4RoutesCase.class, FlowspecL3vpnIpv4RoutesCase.QNAME,
+ FlowspecL3vpnIpv4Routes.class, FlowspecL3vpnIpv4Routes.QNAME,
+ FlowspecL3vpnRoute.class, FlowspecL3vpnRoute.QNAME,
+ DestinationFlowspecL3vpnIpv4.QNAME,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ new FlowspecL3vpnIpv4NlriParser(SAFI.FLOWSPEC_VPN));
}
}
FlowspecL3vpnIpv6Routes,
FlowspecL3vpnRoute> {
public FlowspecL3vpnIpv6RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
- super(
- mappingService,
- FlowspecL3vpnIpv6RoutesCase.class,
- FlowspecL3vpnIpv6Routes.class,
- FlowspecL3vpnRoute.class,
- DestinationFlowspecL3vpnIpv6.QNAME,
- Ipv6AddressFamily.VALUE,
- new FlowspecL3vpnIpv6NlriParser(SAFI.FLOWSPEC_VPN)
- );
+ super(mappingService,
+ FlowspecL3vpnIpv6RoutesCase.class, FlowspecL3vpnIpv6RoutesCase.QNAME,
+ FlowspecL3vpnIpv6Routes.class, FlowspecL3vpnIpv6Routes.QNAME,
+ FlowspecL3vpnRoute.class, FlowspecL3vpnRoute.QNAME,
+ DestinationFlowspecL3vpnIpv6.QNAME,
+ Ipv6AddressFamily.VALUE, Ipv6AddressFamily.QNAME,
+ new FlowspecL3vpnIpv6NlriParser(SAFI.FLOWSPEC_VPN));
}
}
AbstractIPRibSupport(
final BindingNormalizedNodeSerializer mappingService,
final Class<? extends DataObject> prefixClass,
- final AddressFamily addressFamilyClass,
- final Class<C> cazeClass,
- final Class<S> containerClass,
- final Class<R> listClass,
+ final AddressFamily afi, final QName afiQName,
+ final Class<C> cazeClass, final QName cazeQName,
+ final Class<S> containerClass, final QName containerQName,
+ final Class<R> listClass, final QName listQName,
final QName destinationQname, final QName prefixesQname) {
- super(mappingService, cazeClass, containerClass, listClass, addressFamilyClass,
- UnicastSubsequentAddressFamily.VALUE, destinationQname);
- this.nlriRoutesList = new NodeIdentifier(prefixesQname);
- this.cacheableNlriObjects = ImmutableSet.of(prefixClass);
- this.prefixNid = new NodeIdentifier(QName.create(routeQName(), "prefix").intern());
+ super(mappingService, cazeClass, cazeQName, containerClass, containerQName, listClass, listQName, afi, afiQName,
+ UnicastSubsequentAddressFamily.VALUE, UnicastSubsequentAddressFamily.QNAME, destinationQname);
+ nlriRoutesList = NodeIdentifier.create(prefixesQname);
+ cacheableNlriObjects = ImmutableSet.of(prefixClass);
+ prefixNid = NodeIdentifier.create(QName.create(routeQName(), "prefix").intern());
}
final NodeIdentifier routePrefixIdentifier() {
- return this.prefixNid;
+ return prefixNid;
}
@Override
public final ImmutableCollection<Class<? extends BindingObject>> cacheableNlriObjects() {
- return this.cacheableNlriObjects;
+ return cacheableNlriObjects;
}
@Override
final ContainerNode attributes,
final ApplyRoute function) {
if (destination != null) {
- final DataContainerChild routes = destination.childByArg(this.nlriRoutesList);
+ final DataContainerChild routes = destination.childByArg(nlriRoutesList);
if (routes instanceof UnkeyedListNode) {
// Instance identifier to table/(choice routes)/(map of route)
final YangInstanceIdentifier base = routesYangInstanceIdentifier(routesPath);
*/
final class IPv4RIBSupport extends AbstractIPRibSupport<Ipv4RoutesCase, Ipv4Routes, Ipv4Route> {
IPv4RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
- super(
- mappingService,
- Ipv4PrefixAndPathId.class,
- Ipv4AddressFamily.VALUE,
- Ipv4RoutesCase.class,
- Ipv4Routes.class,
- Ipv4Route.class,
- DestinationIpv4.QNAME, Ipv4Prefixes.QNAME);
+ super(mappingService,
+ Ipv4PrefixAndPathId.class,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ Ipv4RoutesCase.class, Ipv4RoutesCase.QNAME,
+ Ipv4Routes.class, Ipv4Routes.QNAME,
+ Ipv4Route.class, Ipv4Route.QNAME,
+ DestinationIpv4.QNAME, Ipv4Prefixes.QNAME);
}
private List<Ipv4Prefixes> extractPrefixes(final Collection<MapEntryNode> routes) {
final class IPv6RIBSupport extends AbstractIPRibSupport<Ipv6RoutesCase, Ipv6Routes, Ipv6Route> {
IPv6RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.Ipv6Prefix.class,
- Ipv6AddressFamily.VALUE,
- Ipv6RoutesCase.class,
- Ipv6Routes.class,
- Ipv6Route.class,
- DestinationIpv6.QNAME, Ipv6Prefixes.QNAME);
+ org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.inet.rev180329.Ipv6Prefix.class,
+ Ipv6AddressFamily.VALUE, Ipv6AddressFamily.QNAME,
+ Ipv6RoutesCase.class, Ipv6RoutesCase.QNAME,
+ Ipv6Routes.class, Ipv6Routes.QNAME,
+ Ipv6Route.class, Ipv6Route.QNAME,
+ DestinationIpv6.QNAME, Ipv6Prefixes.QNAME);
}
@Override
AbstractL3vpnMcastIpRIBSupport(
final BindingNormalizedNodeSerializer mappingService,
final Class<C> cazeClass, final QName cazeQName,
- final Class<S> containerClass,
- final AddressFamily afiClass,
+ final Class<S> containerClass, final QName containerQName,
+ final AddressFamily afi, final QName afiQName,
final QName destContainerQname,
final QName destListQname) {
- super(mappingService, cazeClass, containerClass, L3vpnMcastRoute.class, afiClass,
- McastMplsLabeledVpnSubsequentAddressFamily.VALUE, destContainerQname);
- this.nlriRoutesList = NodeIdentifier.create(destListQname);
- this.rdNid = NodeIdentifier.create(QName.create(cazeQName, "route-distinguisher").intern());
- this.cacheableNlriObjects = ImmutableSet.of(cazeClass);
+ super(mappingService, cazeClass, cazeQName, containerClass, containerQName,
+ L3vpnMcastRoute.class, L3vpnMcastRoute.QNAME, afi, afiQName,
+ McastMplsLabeledVpnSubsequentAddressFamily.VALUE, McastMplsLabeledVpnSubsequentAddressFamily.QNAME,
+ destContainerQname);
+ nlriRoutesList = NodeIdentifier.create(destListQname);
+ rdNid = NodeIdentifier.create(QName.create(cazeQName, "route-distinguisher").intern());
+ cacheableNlriObjects = ImmutableSet.of(cazeClass);
}
@Override
public final ImmutableCollection<Class<? extends BindingObject>> cacheableNlriObjects() {
- return this.cacheableNlriObjects;
+ return cacheableNlriObjects;
}
protected abstract IpPrefix createPrefix(String prefix);
extends AbstractL3vpnMcastIpRIBSupport<L3vpnMcastRoutesIpv4Case, L3vpnMcastRoutesIpv4> {
public L3VpnMcastIpv4RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- L3vpnMcastRoutesIpv4Case.class, L3vpnMcastRoutesIpv4Case.QNAME,
- L3vpnMcastRoutesIpv4.class,
- Ipv4AddressFamily.VALUE,
- DestinationIpv4L3vpnMcast.QNAME,
- L3vpnMcastDestination.QNAME);
+ L3vpnMcastRoutesIpv4Case.class, L3vpnMcastRoutesIpv4Case.QNAME,
+ L3vpnMcastRoutesIpv4.class, L3vpnMcastRoutesIpv4.QNAME,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ DestinationIpv4L3vpnMcast.QNAME,
+ L3vpnMcastDestination.QNAME);
}
@Override
extends AbstractL3vpnMcastIpRIBSupport<L3vpnMcastRoutesIpv6Case, L3vpnMcastRoutesIpv6> {
public L3VpnMcastIpv6RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- L3vpnMcastRoutesIpv6Case.class, L3vpnMcastRoutesIpv6Case.QNAME,
- L3vpnMcastRoutesIpv6.class,
- Ipv6AddressFamily.VALUE,
- DestinationIpv6L3vpnMcast.QNAME,
- L3vpnMcastDestination.QNAME);
+ L3vpnMcastRoutesIpv6Case.class, L3vpnMcastRoutesIpv6Case.QNAME,
+ L3vpnMcastRoutesIpv6.class, L3vpnMcastRoutesIpv6.QNAME,
+ Ipv6AddressFamily.VALUE, Ipv6AddressFamily.QNAME,
+ DestinationIpv6L3vpnMcast.QNAME,
+ L3vpnMcastDestination.QNAME);
}
@Override
*/
protected AbstractVpnRIBSupport(
final BindingNormalizedNodeSerializer mappingService,
- final Class<C> cazeClass,
+ final Class<C> cazeClass, final QName cazeQName,
final Class<S> containerClass, final QName containerQName,
- final AddressFamily afiClass,
+ final AddressFamily afi, final QName afiQName,
final QName vpnDstContainerClassQname) {
- super(mappingService, cazeClass, containerClass, VpnRoute.class, afiClass,
- MplsLabeledVpnSubsequentAddressFamily.VALUE, vpnDstContainerClassQname);
- this.nlriRoutesListNid = NodeIdentifier.create(VpnDestination.QNAME.bindTo(containerQName.getModule())
- .intern());
- this.labelStackNid = NodeIdentifier.create(QName.create(containerQName, "label-stack").intern());
- this.lvNid = NodeIdentifier.create(QName.create(containerQName, "label-value").intern());
+ super(mappingService, cazeClass, cazeQName, containerClass, containerQName, VpnRoute.class, VpnRoute.QNAME,
+ afi, afiQName,
+ MplsLabeledVpnSubsequentAddressFamily.VALUE, MplsLabeledVpnSubsequentAddressFamily.QNAME,
+ vpnDstContainerClassQname);
+ nlriRoutesListNid = NodeIdentifier.create(VpnDestination.QNAME.bindTo(containerQName.getModule()).intern());
+ labelStackNid = NodeIdentifier.create(QName.create(containerQName, "label-stack").intern());
+ lvNid = NodeIdentifier.create(QName.create(containerQName, "label-value").intern());
}
private VpnDestination extractVpnDestination(final DataContainerNode route) {
return new VpnDestinationBuilder()
.setPrefix(createPrefix(extractPrefix(route)))
- .setLabelStack(LabeledUnicastIpv4RIBSupport.extractLabel(route, this.labelStackNid, this.lvNid))
+ .setLabelStack(LabeledUnicastIpv4RIBSupport.extractLabel(route, labelStackNid, lvNid))
.setRouteDistinguisher(extractRouteDistinguisher(route))
.setPathId(PathIdUtil.buildPathId(route, routePathIdNid()))
.build();
final ContainerNode attributes,
final ApplyRoute function) {
if (destination != null) {
- final DataContainerChild routes = destination.childByArg(this.nlriRoutesListNid);
+ final DataContainerChild routes = destination.childByArg(nlriRoutesListNid);
if (routes != null) {
if (routes instanceof UnkeyedListNode routeListNode) {
LOG.debug("{} routes are found", routeListNode.size());
*/
public VpnIpv4RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- VpnIpv4RoutesCase.class,
- VpnIpv4Routes.class, VpnIpv4Routes.QNAME,
- Ipv4AddressFamily.VALUE,
- VpnIpv4Destination.QNAME);
+ VpnIpv4RoutesCase.class, VpnIpv4RoutesCase.QNAME,
+ VpnIpv4Routes.class, VpnIpv4Routes.QNAME,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ VpnIpv4Destination.QNAME);
}
@Override
*/
public VpnIpv6RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- VpnIpv6RoutesCase.class,
- VpnIpv6Routes.class, VpnIpv6Routes.QNAME,
- Ipv6AddressFamily.VALUE,
- VpnIpv6Destination.QNAME);
+ VpnIpv6RoutesCase.class, VpnIpv6RoutesCase.QNAME,
+ VpnIpv6Routes.class, VpnIpv6Routes.QNAME,
+ Ipv6AddressFamily.VALUE, Ipv6AddressFamily.QNAME,
+ VpnIpv6Destination.QNAME);
}
@Override
* 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.
+ *
* @param mappingService Binding Normalized Node Serializer
* @param cazeClass Binding class of the AFI/SAFI-specific case statement, must not be null
* @param containerClass Binding class of the container in routes choice, must not be null.
- * @param addressFamilyClass address Family Class
+ * @param afi address Family Class
* @param destinationQname destination Qname
*/
AbstractLabeledUnicastRIBSupport(
final BindingNormalizedNodeSerializer mappingService,
- final Class<C> cazeClass,
- final Class<S> containerClass,
- final AddressFamily addressFamilyClass,
+ final Class<C> cazeClass, final QName cazeQName,
+ final Class<S> containerClass, final QName containerQName,
+ final AddressFamily afi, final QName afiQName,
final QName destinationQname) {
super(mappingService,
- cazeClass,
- containerClass,
- LabeledUnicastRoute.class,
- addressFamilyClass,
- LabeledUnicastSubsequentAddressFamily.VALUE,
- destinationQname);
+ cazeClass, cazeQName,
+ containerClass, containerQName,
+ LabeledUnicastRoute.class, LabeledUnicastRoute.QNAME,
+ afi, afiQName,
+ LabeledUnicastSubsequentAddressFamily.VALUE, LabeledUnicastSubsequentAddressFamily.QNAME,
+ destinationQname);
}
@Override
extends AbstractLabeledUnicastRIBSupport<LabeledUnicastRoutesCase, LabeledUnicastRoutes> {
public LabeledUnicastIpv4RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- LabeledUnicastRoutesCase.class,
- LabeledUnicastRoutes.class,
- Ipv4AddressFamily.VALUE,
- DestinationLabeledUnicast.QNAME);
+ LabeledUnicastRoutesCase.class, LabeledUnicastRoutesCase.QNAME,
+ LabeledUnicastRoutes.class, LabeledUnicastRoutes.QNAME,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ DestinationLabeledUnicast.QNAME);
}
@Override
extends AbstractLabeledUnicastRIBSupport<LabeledUnicastIpv6RoutesCase, LabeledUnicastIpv6Routes> {
LabeledUnicastIpv6RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- LabeledUnicastIpv6RoutesCase.class,
- LabeledUnicastIpv6Routes.class,
- Ipv6AddressFamily.VALUE,
- DestinationIpv6LabeledUnicast.QNAME);
+ LabeledUnicastIpv6RoutesCase.class, LabeledUnicastIpv6RoutesCase.QNAME,
+ LabeledUnicastIpv6Routes.class, LabeledUnicastIpv6Routes.QNAME,
+ Ipv6AddressFamily.VALUE, Ipv6AddressFamily.QNAME,
+ DestinationIpv6LabeledUnicast.QNAME);
}
@Override
private static final NodeIdentifier NLRI_ROUTES_LIST = NodeIdentifier.create(CLinkstateDestination.QNAME);
public LinkstateRIBSupport(final BindingNormalizedNodeSerializer mappingService) {
- super(
- mappingService,
- LinkstateRoutesCase.class,
- LinkstateRoutes.class,
- LinkstateRoute.class,
- LinkstateAddressFamily.VALUE,
- LinkstateSubsequentAddressFamily.VALUE,
- DestinationLinkstate.QNAME);
+ super(mappingService,
+ LinkstateRoutesCase.class, LinkstateRoutesCase.QNAME,
+ LinkstateRoutes.class, LinkstateRoutes.QNAME,
+ LinkstateRoute.class, LinkstateRoute.QNAME,
+ LinkstateAddressFamily.VALUE, LinkstateAddressFamily.QNAME,
+ LinkstateSubsequentAddressFamily.VALUE, LinkstateSubsequentAddressFamily.QNAME,
+ DestinationLinkstate.QNAME);
}
private NodeIdentifierWithPredicates createRouteKey(final UnkeyedListEntryNode linkstate) {
*/
AbstractMvpnRIBSupport(
final BindingNormalizedNodeSerializer mappingService,
- final Class<C> cazeClass,
- final Class<S> containerClass,
- final AddressFamily afiClass,
+ final Class<C> cazeClass, final QName cazeQName,
+ final Class<S> containerClass, final QName containerQName,
+ final AddressFamily afi, final QName afiQName,
final QName destContainerQname,
final QName destListQname) {
- super(mappingService, cazeClass, containerClass, MvpnRoute.class, afiClass,
- McastVpnSubsequentAddressFamily.VALUE, destContainerQname);
- this.nlriRoutesList = NodeIdentifier.create(destListQname);
- this.cacheableNlriObjects = ImmutableSet.of(cazeClass);
-
+ super(mappingService, cazeClass, cazeQName, containerClass, containerQName, MvpnRoute.class, MvpnRoute.QNAME,
+ afi, afiQName, McastVpnSubsequentAddressFamily.VALUE, McastVpnSubsequentAddressFamily.QNAME,
+ destContainerQname);
+ nlriRoutesList = NodeIdentifier.create(destListQname);
+ cacheableNlriObjects = ImmutableSet.of(cazeClass);
}
@Override
public final ImmutableCollection<Class<? extends BindingObject>> cacheableNlriObjects() {
- return this.cacheableNlriObjects;
+ return cacheableNlriObjects;
}
final MvpnChoice extractMvpnChoice(final DataContainerNode route) {
- final DataObject nn = this.mappingService.fromNormalizedNode(this.routeDefaultYii, route).getValue();
+ final DataObject nn = mappingService.fromNormalizedNode(routeDefaultYii, route).getValue();
return ((MvpnRoute) nn).getMvpnChoice();
}
final ContainerNode attributes,
final ApplyRoute function) {
if (destination != null) {
- final DataContainerChild routes = destination.childByArg(this.nlriRoutesList);
+ final DataContainerChild routes = destination.childByArg(nlriRoutesList);
if (routes != null) {
if (routes instanceof UnkeyedListNode) {
final YangInstanceIdentifier base = routesYangInstanceIdentifier(routesPath);
final class MvpnIpv4RIBSupport extends AbstractMvpnRIBSupport<MvpnRoutesIpv4Case, MvpnRoutesIpv4> {
MvpnIpv4RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- MvpnRoutesIpv4Case.class,
- MvpnRoutesIpv4.class,
- Ipv4AddressFamily.VALUE,
- DestinationMvpn.QNAME,
- MvpnDestination.QNAME);
+ MvpnRoutesIpv4Case.class, MvpnRoutesIpv4Case.QNAME,
+ MvpnRoutesIpv4.class, MvpnRoutesIpv4.QNAME,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ DestinationMvpn.QNAME,
+ MvpnDestination.QNAME);
}
private List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.ipv4.rev180417.mvpn
final class MvpnIpv6RIBSupport extends AbstractMvpnRIBSupport<MvpnRoutesIpv6Case, MvpnRoutesIpv6> {
MvpnIpv6RIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- MvpnRoutesIpv6Case.class,
- MvpnRoutesIpv6.class,
- Ipv6AddressFamily.VALUE,
- DestinationMvpn.QNAME,
- MvpnDestination.QNAME);
+ MvpnRoutesIpv6Case.class, MvpnRoutesIpv6Case.QNAME,
+ MvpnRoutesIpv6.class, MvpnRoutesIpv6.QNAME,
+ Ipv6AddressFamily.VALUE, Ipv6AddressFamily.QNAME,
+ DestinationMvpn.QNAME,
+ MvpnDestination.QNAME);
}
private List<org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.mvpn.ipv6.rev180417.mvpn
*/
public RouteTargetConstrainRIBSupport(final BindingNormalizedNodeSerializer mappingService) {
super(mappingService,
- RouteTargetConstrainRoutesCase.class,
- RouteTargetConstrainRoutes.class,
- RouteTargetConstrainRoute.class,
- Ipv4AddressFamily.VALUE,
- RouteTargetConstrainSubsequentAddressFamily.VALUE,
- DestinationRouteTargetConstrain.QNAME);
+ RouteTargetConstrainRoutesCase.class, RouteTargetConstrainRoutesCase.QNAME,
+ RouteTargetConstrainRoutes.class, RouteTargetConstrainRoutes.QNAME,
+ RouteTargetConstrainRoute.class, RouteTargetConstrainRoute.QNAME,
+ Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ RouteTargetConstrainSubsequentAddressFamily.VALUE, RouteTargetConstrainSubsequentAddressFamily.QNAME,
+ DestinationRouteTargetConstrain.QNAME);
originAsNid = new NodeIdentifier(QName.create(routeQName(), ORIGIN_AS).intern());
}
import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.bgp.concepts.RouteDistinguisherUtil;
import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer;
-import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev200120.Update;
*/
protected AbstractRIBSupport(
final BindingNormalizedNodeSerializer mappingService,
- final Class<C> cazeClass,
- final Class<S> containerClass,
- final Class<R> listClass,
- final AddressFamily afi,
- final SubsequentAddressFamily safi,
+ final Class<C> cazeClass, final QName cazeQName,
+ final Class<S> containerClass, final QName containerQName,
+ final Class<R> listClass, final QName listQName,
+ final AddressFamily afi, final QName afiQName,
+ final SubsequentAddressFamily safi, final QName safiQName,
final QName destContainerQname) {
- final QNameModule module = BindingReflections.getQNameModule(cazeClass);
- routesContainerIdentifier = NodeIdentifier.create(
- BindingReflections.findQName(containerClass).bindTo(module));
- routeAttributesIdentifier = NodeIdentifier.create(Attributes.QNAME.bindTo(module));
- this.cazeClass = requireNonNull(cazeClass);
this.mappingService = requireNonNull(mappingService);
+ this.cazeClass = requireNonNull(cazeClass);
this.containerClass = requireNonNull(containerClass);
this.listClass = requireNonNull(listClass);
- routeQname = BindingReflections.findQName(listClass).bindTo(module);
+ tk = new TablesKey(afi, safi);
+ tablesKey = NodeIdentifierWithPredicates.of(Tables.QNAME,
+ TABLES_KEY_TEMPLATE.instantiateWithValues(afiQName, safiQName));
+ destinationNid = NodeIdentifier.create(destContainerQname);
+
+ final QNameModule module = cazeQName.getModule();
+ routesContainerIdentifier = NodeIdentifier.create(containerQName.bindTo(module));
+ routeAttributesIdentifier = NodeIdentifier.create(Attributes.QNAME.bindTo(module));
+ routeQname = listQName.bindTo(module);
routeKeyQname = QName.create(module, ROUTE_KEY).intern();
routesListIdentifier = NodeIdentifier.create(routeQname);
- tk = new TablesKey(afi, safi);
- tablesKey = NodeIdentifierWithPredicates.of(Tables.QNAME, TABLES_KEY_TEMPLATE.instantiateWithValues(
- BindingReflections.getQName(afi), BindingReflections.getQName(safi)));
emptyTable = (MapEntryNode) this.mappingService
.toNormalizedNode(TABLES_II, new TablesBuilder().withKey(tk)
.setAttributes(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib
.rev180329.rib.tables.AttributesBuilder().build()).build()).getValue();
- destinationNid = NodeIdentifier.create(destContainerQname);
pathIdNid = NodeIdentifier.create(QName.create(routeQName(), "path-id").intern());
prefixTypeNid = NodeIdentifier.create(QName.create(destContainerQname, "prefix").intern());
rdNid = NodeIdentifier.create(QName.create(destContainerQname, "route-distinguisher").intern());
QName.create(Ipv4Route.QNAME, ROUTE_KEY).intern(), PREFIX);
public RIBSupportTestImp(final BindingNormalizedNodeSerializer mappingService) {
- super(mappingService, Ipv4RoutesCase.class, Ipv4Routes.class, Ipv4Route.class, Ipv4AddressFamily.VALUE,
- UnicastSubsequentAddressFamily.VALUE, Ipv4Prefixes.QNAME);
+ super(mappingService, Ipv4RoutesCase.class, Ipv4RoutesCase.QNAME, Ipv4Routes.class, Ipv4Routes.QNAME,
+ Ipv4Route.class, Ipv4Route.QNAME, Ipv4AddressFamily.VALUE, Ipv4AddressFamily.QNAME,
+ UnicastSubsequentAddressFamily.VALUE, UnicastSubsequentAddressFamily.QNAME, Ipv4Prefixes.QNAME);
}
@Override