summaryrefslogtreecommitdiffstats
path: root/routing/routing-impl/src/main/java/io/fd/hc2vpp/routing/trait/RouteMapper.java
diff options
context:
space:
mode:
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.java10
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;