diff options
Diffstat (limited to 'routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/trait/RouteMapper.java')
-rw-r--r-- | routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/trait/RouteMapper.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/trait/RouteMapper.java b/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/trait/RouteMapper.java index deabdacee..68f245b26 100644 --- a/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/trait/RouteMapper.java +++ b/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/trait/RouteMapper.java @@ -19,9 +19,12 @@ package io.fd.hc2vpp.routing.trait; import io.fd.hc2vpp.common.translate.util.AddressTranslator; import io.fd.hc2vpp.common.translate.util.ByteDataTranslator; import io.fd.vpp.jvpp.core.types.FibPath; -import javax.annotation.Nonnull; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.routing.rev140524.SpecialNextHopGrouping; +import javax.annotation.Nonnull; +import java.util.Arrays; +import java.util.stream.IntStream; + public interface RouteMapper extends AddressTranslator, ByteDataTranslator { int DEFAULT_INTERFACE_INDEX = -1; @@ -75,6 +78,11 @@ public interface RouteMapper extends AddressTranslator, ByteDataTranslator { byteToBoolean(path.isUnreach); } + default boolean isTableLookup(@Nonnull final FibPath path) { + // TODO - remove isDrop condition https://jira.fd.io/browse/VPP-995 + return path.isDrop == 1 && isArrayZeroed(path.nextHop); + } + default SpecialNextHopGrouping.SpecialNextHop specialHopType(final FibPath singlePath) { if (flagEnabled(singlePath.isDrop)) { return SpecialNextHopGrouping.SpecialNextHop.Blackhole; |