diff options
Diffstat (limited to 'routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/write/factory/MultipathHopRequestFactory.java')
-rw-r--r-- | routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/write/factory/MultipathHopRequestFactory.java | 45 |
1 files changed, 26 insertions, 19 deletions
diff --git a/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/write/factory/MultipathHopRequestFactory.java b/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/write/factory/MultipathHopRequestFactory.java index bad51478d..62e4f4525 100644 --- a/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/write/factory/MultipathHopRequestFactory.java +++ b/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/write/factory/MultipathHopRequestFactory.java @@ -22,16 +22,20 @@ import io.fd.hc2vpp.routing.write.trait.RouteRequestProducer; import io.fd.hc2vpp.vpp.classifier.context.VppClassifierContextManager; import io.fd.honeycomb.translate.MappingContext; import io.fd.vpp.jvpp.core.dto.IpAddDelRoute; +import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv4.unicast.routing.rev170917.routing.routing.instance.routing.protocols.routing.protocol._static.routes.ipv4.route.VppIpv4Route; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv4.unicast.routing.rev170917.routing.routing.instance.routing.protocols.routing.protocol._static.routes.ipv4.route.next.hop.options.next.hop.list.next.hop.list.NextHop; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv6.unicast.routing.rev170917.routing.routing.instance.routing.protocols.routing.protocol._static.routes.ipv6.route.VppIpv6Route; - -import javax.annotation.Nonnull; - +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv4.unicast.routing.rev180313.routing.control.plane.protocols.control.plane.protocol._static.routes.ipv4.Route; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv4.unicast.routing.rev180313.routing.control.plane.protocols.control.plane.protocol._static.routes.ipv4.route.next.hop.NextHop1; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev180313.next.hop.content.next.hop.options.next.hop.list.next.hop.list.NextHop; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.ipv4.unicast.routing.rev180319.VppIpv4NextHopAugmentation; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.ipv4.unicast.routing.rev180319.VppIpv4RouteAttributesAugmentation; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.ipv4.unicast.routing.rev180319.routing.control.plane.protocols.control.plane.protocol._static.routes.ipv4.route.VppIpv4Route; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.ipv6.unicast.routing.rev180319.VppIpv6NextHopAugmentation; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.ipv6.unicast.routing.rev180319.VppIpv6RouteAttributesAugmentation; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.vpp.ipv6.unicast.routing.rev180319.routing.control.plane.protocols.control.plane.protocol._static.routes.ipv6.route.VppIpv6Route; /** * Factory for creating requests to create route with multiple hops @@ -53,10 +57,12 @@ public class MultipathHopRequestFactory extends BasicHopRequestFactory implement public IpAddDelRoute createIpv4MultipathHopRequest(final boolean add, @Nonnull final String parentProtocolName, - @Nonnull final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv4.unicast.routing.rev170917.routing.routing.instance.routing.protocols.routing.protocol._static.routes.ipv4.Route route, + @Nonnull final Route route, @Nonnull final NextHop hop, @Nonnull final MappingContext mappingContext) { - final VppIpv4Route routingAttributes = route.getVppIpv4Route(); + + final VppIpv4Route routingAttributes = route.getAugmentation(VppIpv4RouteAttributesAugmentation.class) != null ? + route.getAugmentation(VppIpv4RouteAttributesAugmentation.class).getVppIpv4Route() : null; final int nextHopInterfaceIndex = getInterfaceNamingContext().getIndex(hop.getOutgoingInterface(), mappingContext); @@ -66,8 +72,8 @@ public class MultipathHopRequestFactory extends BasicHopRequestFactory implement return getMultipathHopRequest(add, route.getDestinationPrefix(), nextHopInterfaceIndex, - hop.getAddress(), - hop.getWeight().byteValue(), + hop.getAugmentation(NextHop1.class).getNextHopAddress(), + hop.getAugmentation(VppIpv4NextHopAugmentation.class).getWeight().byteValue(), getRoutingProtocolContext().getIndex(parentProtocolName, mappingContext), DEFAULT_VNI, classifyTableIndex(routingAttributes.getClassifyTable(), getVppClassifierContextManager(), @@ -77,8 +83,8 @@ public class MultipathHopRequestFactory extends BasicHopRequestFactory implement return getMultipathHopRequest(add, route.getDestinationPrefix(), nextHopInterfaceIndex, - hop.getAddress(), - hop.getWeight().byteValue(), + hop.getAugmentation(NextHop1.class).getNextHopAddress(), + hop.getAugmentation(VppIpv4NextHopAugmentation.class).getWeight().byteValue(), getRoutingProtocolContext().getIndex(parentProtocolName, mappingContext), DEFAULT_VNI, 0, @@ -88,10 +94,11 @@ public class MultipathHopRequestFactory extends BasicHopRequestFactory implement public IpAddDelRoute createIpv6MultipathHopRequest(final boolean add, @Nonnull final String parentProtocolName, - @Nonnull final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv6.unicast.routing.rev170917.routing.routing.instance.routing.protocols.routing.protocol._static.routes.ipv6.Route route, - @Nonnull final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv6.unicast.routing.rev170917.routing.routing.instance.routing.protocols.routing.protocol._static.routes.ipv6.route.next.hop.options.next.hop.list.next.hop.list.NextHop hop, + @Nonnull final org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv6.unicast.routing.rev180313.routing.control.plane.protocols.control.plane.protocol._static.routes.ipv6.Route route, + @Nonnull final NextHop hop, @Nonnull final MappingContext mappingContext) { - final VppIpv6Route routingAttributes = route.getVppIpv6Route(); + final VppIpv6Route routingAttributes = route.getAugmentation(VppIpv6RouteAttributesAugmentation.class) != null ? + route.getAugmentation(VppIpv6RouteAttributesAugmentation.class).getVppIpv6Route() : null; final int nextHopInterfaceIndex = getInterfaceNamingContext().getIndex(hop.getOutgoingInterface(), mappingContext); @@ -101,8 +108,8 @@ public class MultipathHopRequestFactory extends BasicHopRequestFactory implement return getMultipathHopRequest(add, route.getDestinationPrefix(), nextHopInterfaceIndex, - hop.getAddress(), - hop.getWeight().byteValue(), + hop.getAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv6.unicast.routing.rev180313.routing.control.plane.protocols.control.plane.protocol._static.routes.ipv6.route.next.hop.NextHop1.class).getNextHopAddress(), + hop.getAugmentation(VppIpv6NextHopAugmentation.class).getWeight().byteValue(), getRoutingProtocolContext().getIndex(parentProtocolName, mappingContext), DEFAULT_VNI, classifyTableIndex(routingAttributes.getClassifyTable(), getVppClassifierContextManager(), @@ -112,8 +119,8 @@ public class MultipathHopRequestFactory extends BasicHopRequestFactory implement return getMultipathHopRequest(add, route.getDestinationPrefix(), nextHopInterfaceIndex, - hop.getAddress(), - hop.getWeight().byteValue(), + hop.getAugmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.ipv6.unicast.routing.rev180313.routing.control.plane.protocols.control.plane.protocol._static.routes.ipv6.route.next.hop.NextHop1.class).getNextHopAddress(), + hop.getAugmentation(VppIpv6NextHopAugmentation.class).getWeight().byteValue(), getRoutingProtocolContext().getIndex(parentProtocolName, mappingContext), DEFAULT_VNI, 0, |