[SDFAB-102] Backport changes required for policies to fabric.p4 (Redirect)
Change-Id: I357c908d31abad9c3f8d74723d937ea948e54808
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreter.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreter.java
index 4ed412d..1a7b2ba 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreter.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricInterpreter.java
@@ -68,18 +68,17 @@
public static final byte[] ZERO = new byte[]{0};
// Group tables by control block.
- private static final Set<PiTableId> FILTERING_CTRL_TBLS = ImmutableSet.of(
- FabricConstants.FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN,
- FabricConstants.FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER);
private static final Set<PiTableId> FORWARDING_CTRL_TBLS = ImmutableSet.of(
FabricConstants.FABRIC_INGRESS_FORWARDING_MPLS,
FabricConstants.FABRIC_INGRESS_FORWARDING_ROUTING_V4,
FabricConstants.FABRIC_INGRESS_FORWARDING_ROUTING_V6,
FabricConstants.FABRIC_INGRESS_FORWARDING_BRIDGING);
+ private static final Set<PiTableId> PRE_NEXT_CTRL_TBLS = ImmutableSet.of(
+ FabricConstants.FABRIC_INGRESS_PRE_NEXT_NEXT_MPLS,
+ FabricConstants.FABRIC_INGRESS_PRE_NEXT_NEXT_VLAN);
private static final Set<PiTableId> ACL_CTRL_TBLS = ImmutableSet.of(
FabricConstants.FABRIC_INGRESS_ACL_ACL);
private static final Set<PiTableId> NEXT_CTRL_TBLS = ImmutableSet.of(
- FabricConstants.FABRIC_INGRESS_NEXT_NEXT_VLAN,
FabricConstants.FABRIC_INGRESS_NEXT_SIMPLE,
FabricConstants.FABRIC_INGRESS_NEXT_HASHED,
FabricConstants.FABRIC_INGRESS_NEXT_XCONNECT);
@@ -166,10 +165,10 @@
@Override
public PiAction mapTreatment(TrafficTreatment treatment, PiTableId piTableId)
throws PiInterpreterException {
- if (FILTERING_CTRL_TBLS.contains(piTableId)) {
- return treatmentInterpreter.mapFilteringTreatment(treatment, piTableId);
- } else if (FORWARDING_CTRL_TBLS.contains(piTableId)) {
+ if (FORWARDING_CTRL_TBLS.contains(piTableId)) {
return treatmentInterpreter.mapForwardingTreatment(treatment, piTableId);
+ } else if (PRE_NEXT_CTRL_TBLS.contains(piTableId)) {
+ return treatmentInterpreter.mapPreNextTreatment(treatment, piTableId);
} else if (ACL_CTRL_TBLS.contains(piTableId)) {
return treatmentInterpreter.mapAclTreatment(treatment, piTableId);
} else if (NEXT_CTRL_TBLS.contains(piTableId)) {