[AETHER-1032] Backport AETHER-538 to fabric.p4
AETHER-538 introduces a new design for the egress pipeline
where the tagged ports are explicitily matched in the
egress_vlan table. Moreover, no match means dropped with
this new design.
Change-Id: If6f8c73aad0effd01f18c87c147535378e8db84c
diff --git a/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java b/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
index 05bf7cf..05e738f 100644
--- a/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
+++ b/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
@@ -266,6 +266,8 @@
PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v6");
public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_SIMPLE =
PiActionId.of("FabricIngress.next.routing_simple");
+ public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_PUSH_VLAN =
+ PiActionId.of("FabricEgress.egress_next.push_vlan");
public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V4 =
PiActionId.of("FabricEgress.bng_egress.downstream.encap_v4");
public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_HASHED =
@@ -282,6 +284,8 @@
PiActionId.of("FabricIngress.acl.punt_to_cpu");
public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_QOS_PRIO =
PiActionId.of("FabricIngress.bng_ingress.downstream.qos_prio");
+ public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_DROP =
+ PiActionId.of("FabricEgress.egress_next.drop");
public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_PDR =
PiActionId.of("FabricIngress.spgw.load_pdr");
public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java
index 21ff675..2da557a 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/FabricTreatmentInterpreter.java
@@ -38,12 +38,7 @@
import static java.lang.String.format;
import static org.onosproject.net.flow.instructions.Instruction.Type.OUTPUT;
-import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.ETH_DST;
-import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.ETH_SRC;
-import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.MPLS_LABEL;
-import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.MPLS_PUSH;
-import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.VLAN_ID;
-import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.VLAN_POP;
+import static org.onosproject.net.flow.instructions.L2ModificationInstruction.L2SubType.*;
import static org.onosproject.pipelines.fabric.impl.behaviour.FabricUtils.instruction;
import static org.onosproject.pipelines.fabric.impl.behaviour.FabricUtils.l2Instruction;
import static org.onosproject.pipelines.fabric.impl.behaviour.FabricUtils.l2Instructions;
@@ -225,6 +220,12 @@
static PiAction mapEgressNextTreatment(
TrafficTreatment treatment, PiTableId tableId)
throws PiInterpreterException {
+ L2ModificationInstruction pushVlan = l2Instruction(treatment, VLAN_PUSH);
+ if (pushVlan != null) {
+ return PiAction.builder()
+ .withId(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_PUSH_VLAN)
+ .build();
+ }
l2InstructionOrFail(treatment, VLAN_POP, tableId);
return PiAction.builder()
.withId(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN)
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/NextObjectiveTranslator.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/NextObjectiveTranslator.java
index 1e0e52d..a8c4c6f 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/NextObjectiveTranslator.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/NextObjectiveTranslator.java
@@ -247,35 +247,30 @@
throws FabricPipelinerException {
final PortNumber outPort = outputPort(treatment);
final Instruction popVlanInst = l2Instruction(treatment, VLAN_POP);
- if (popVlanInst != null && outPort != null) {
+ if (outPort != null) {
if (strict && treatment.allInstructions().size() > 2) {
throw new FabricPipelinerException(
"Treatment contains instructions other " +
"than OUTPUT and VLAN_POP, cannot generate " +
"egress rules");
}
- egressVlanPop(outPort, obj, resultBuilder);
+ // We cannot program if there are no proper metadata in the objective
+ if (obj.meta() != null && obj.meta().getCriterion(Criterion.Type.VLAN_VID) != null) {
+ egressVlan(outPort, obj, popVlanInst, resultBuilder);
+ } else {
+ log.warn("NextObjective {} is trying to program {} without {} information",
+ obj, FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN,
+ obj.meta() == null ? "metadata" : "vlanId");
+ }
}
}
- private void egressVlanPop(PortNumber outPort, NextObjective obj,
- ObjectiveTranslation.Builder resultBuilder)
+ private void egressVlan(PortNumber outPort, NextObjective obj, Instruction popVlanInst,
+ ObjectiveTranslation.Builder resultBuilder)
throws FabricPipelinerException {
- if (obj.meta() == null) {
- throw new FabricPipelinerException(
- "Cannot process egress pop VLAN rule, NextObjective has null meta",
- ObjectiveError.BADPARAMS);
- }
-
final VlanIdCriterion vlanIdCriterion = (VlanIdCriterion) criterion(
obj.meta(), Criterion.Type.VLAN_VID);
- if (vlanIdCriterion == null) {
- throw new FabricPipelinerException(
- "Cannot process egress pop VLAN rule, missing VLAN_VID criterion " +
- "in NextObjective meta",
- ObjectiveError.BADPARAMS);
- }
final PiCriterion egressVlanTableMatch = PiCriterion.builder()
.matchExact(FabricConstants.HDR_EG_PORT, outPort.toLong())
@@ -284,13 +279,16 @@
.matchPi(egressVlanTableMatch)
.matchVlanId(vlanIdCriterion.vlanId())
.build();
- final TrafficTreatment treatment = DefaultTrafficTreatment.builder()
- .popVlan()
- .build();
+ final TrafficTreatment.Builder treatmentBuilder = DefaultTrafficTreatment.builder();
+ if (popVlanInst == null) {
+ treatmentBuilder.pushVlan();
+ } else {
+ treatmentBuilder.popVlan();
+ }
resultBuilder.addFlowRule(flowRule(
obj, FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN,
- selector, treatment));
+ selector, treatmentBuilder.build()));
}
private TrafficSelector nextIdSelector(int nextId) {
diff --git a/pipelines/fabric/impl/src/main/resources/include/control/next.p4 b/pipelines/fabric/impl/src/main/resources/include/control/next.p4
index 0a624b2..11437b1 100644
--- a/pipelines/fabric/impl/src/main/resources/include/control/next.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/control/next.p4
@@ -283,7 +283,7 @@
}
@hidden
- action push_vlan() {
+ action push_outer_vlan() {
// If VLAN is already valid, we overwrite it with a potentially new VLAN
// ID, and same CFI, PRI, and eth_type values found in ingress.
hdr.vlan_tag.setValid();
@@ -308,25 +308,37 @@
/*
* Egress VLAN Table.
- * Pops the VLAN tag if the pair egress port and VLAN ID is matched.
+ * Pushes or Pops the VLAN tag if the pair egress port and VLAN ID is matched.
+ * Instead, it drops the packets on miss.
*/
direct_counter(CounterType.packets_and_bytes) egress_vlan_counter;
+ action push_vlan() {
+ push_outer_vlan();
+ egress_vlan_counter.count();
+ }
+
action pop_vlan() {
hdr.vlan_tag.setInvalid();
egress_vlan_counter.count();
}
+ action drop() {
+ mark_to_drop(standard_metadata);
+ egress_vlan_counter.count();
+ }
+
table egress_vlan {
key = {
fabric_metadata.vlan_id: exact @name("vlan_id");
standard_metadata.egress_port: exact @name("eg_port");
}
actions = {
+ push_vlan;
pop_vlan;
- @defaultonly nop;
+ @defaultonly drop;
}
- const default_action = nop();
+ const default_action = drop();
counters = egress_vlan_counter;
size = EGRESS_VLAN_TABLE_SIZE;
}
@@ -346,20 +358,14 @@
#ifdef WITH_DOUBLE_VLAN_TERMINATION
if (fabric_metadata.push_double_vlan == _TRUE) {
// Double VLAN termination.
- push_vlan();
+ push_outer_vlan();
push_inner_vlan();
} else {
// If no push double vlan, inner_vlan_tag must be popped
hdr.inner_vlan_tag.setInvalid();
#endif // WITH_DOUBLE_VLAN_TERMINATION
- // Port-based VLAN tagging (by default all
- // ports are assumed tagged)
- if (!egress_vlan.apply().hit) {
- // Push VLAN tag if not the default one.
- if (fabric_metadata.vlan_id != DEFAULT_VLAN_ID) {
- push_vlan();
- }
- }
+ // Port-based VLAN tagging; if there is no match drop the packet!
+ egress_vlan.apply();
#ifdef WITH_DOUBLE_VLAN_TERMINATION
}
#endif // WITH_DOUBLE_VLAN_TERMINATION
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
index a44e179..9086045 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
@@ -4,15 +4,14 @@
"name" : "scalars_0",
"id" : 0,
"fields" : [
+ ["tmp", 16, false],
["tmp_0", 16, false],
- ["tmp_1", 16, false],
- ["tmp_2", 4, false],
- ["tmp", 32, false],
+ ["tmp_1", 4, false],
+ ["tmp_2", 32, false],
["tmp_3", 32, false],
["bng_ingress_upstream_tmp", 1, false],
["bng_ingress_downstream_tmp", 1, false],
["bng_ingress_upstream_hasReturned", 1, false],
- ["egress_next_tmp", 1, false],
["fabric_metadata_t._ip_eth_type0", 16, false],
["fabric_metadata_t._vlan_id1", 12, false],
["fabric_metadata_t._vlan_pri2", 3, false],
@@ -40,7 +39,7 @@
["fabric_metadata_t._bng_ds_meter_result24", 32, false],
["fabric_metadata_t._bng_s_tag25", 12, false],
["fabric_metadata_t._bng_c_tag26", 12, false],
- ["_padding_0", 2, false]
+ ["_padding_0", 3, false]
]
},
{
@@ -409,7 +408,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp"]
},
{
"type" : "lookahead",
@@ -447,7 +446,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp"]
}
]
},
@@ -481,7 +480,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "lookahead",
@@ -507,7 +506,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
}
]
},
@@ -682,7 +681,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -708,7 +707,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
@@ -1171,7 +1170,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 313,
+ "line" : 314,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -2778,7 +2777,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_2"]
},
{
"type" : "expression",
@@ -2814,7 +2813,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_2"]
}
],
"source_info" : {
@@ -3176,14 +3175,8 @@
]
},
{
- "name" : "nop",
- "id" : 50,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "FabricEgress.bng_egress.downstream.encap_v4",
- "id" : 51,
+ "id" : 50,
"runtime_data" : [],
"primitives" : [
{
@@ -3380,7 +3373,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 52,
+ "id" : 51,
"runtime_data" : [],
"primitives" : [
{
@@ -3421,7 +3414,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 53,
+ "id" : 52,
"runtime_data" : [],
"primitives" : [
{
@@ -3537,106 +3530,8 @@
]
},
{
- "name" : "FabricEgress.egress_next.push_vlan",
- "id" : 54,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "add_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "vlan_tag"
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 289,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.setValid()"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "cfi"]
- },
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 290,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "pri"]
- },
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 291,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "eth_type"]
- },
- {
- "type" : "hexstr",
- "value" : "0x8100"
- }
- ],
- "source_info" : {
- "filename" : "include/control/../define.p4",
- "line" : 115,
- "column" : 31,
- "source_fragment" : "0x8100; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "vlan_id"]
- },
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 293,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.egress_next.push_vlan",
- "id" : 55,
+ "name" : "FabricEgress.egress_next.push_outer_vlan",
+ "id" : 53,
"runtime_data" : [],
"primitives" : [
{
@@ -3734,7 +3629,7 @@
},
{
"name" : "FabricEgress.egress_next.push_inner_vlan",
- "id" : 56,
+ "id" : 54,
"runtime_data" : [],
"primitives" : [
{
@@ -3850,8 +3745,106 @@
]
},
{
+ "name" : "FabricEgress.egress_next.push_vlan",
+ "id" : 55,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "vlan_tag"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 289,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "cfi"]
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 290,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "pri"]
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 291,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "eth_type"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x8100"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/../define.p4",
+ "line" : 115,
+ "column" : 31,
+ "source_fragment" : "0x8100; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "vlan_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 293,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
+ }
+ }
+ ]
+ },
+ {
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 57,
+ "id" : 56,
"runtime_data" : [],
"primitives" : [
{
@@ -3864,7 +3857,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 316,
+ "line" : 322,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -3872,6 +3865,28 @@
]
},
{
+ "name" : "FabricEgress.egress_next.drop",
+ "id" : 57,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "act_14",
"id" : 58,
"runtime_data" : [],
@@ -3954,7 +3969,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -3967,66 +3982,6 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_18",
- "id" : 62,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_19",
- "id" : 63,
- "runtime_data" : [],
- "primitives" : [
- {
"op" : "remove_header",
"parameters" : [
{
@@ -4036,7 +3991,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 353,
+ "line" : 365,
"column" : 12,
"source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
}
@@ -4044,8 +3999,8 @@
]
},
{
- "name" : "act_20",
- "id" : 64,
+ "name" : "act_18",
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -4058,7 +4013,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -4066,8 +4021,8 @@
]
},
{
- "name" : "act_21",
- "id" : 65,
+ "name" : "act_19",
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -4107,7 +4062,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
+ "line" : 375,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -4115,8 +4070,8 @@
]
},
{
- "name" : "act_22",
- "id" : 66,
+ "name" : "act_20",
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -4129,7 +4084,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -4137,8 +4092,8 @@
]
},
{
- "name" : "act_23",
- "id" : 67,
+ "name" : "act_21",
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -4178,7 +4133,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 373,
+ "line" : 379,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -5816,7 +5771,7 @@
"id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -5845,7 +5800,7 @@
"id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -5856,14 +5811,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [52],
+ "action_ids" : [51],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "node_60",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "node_60"
},
"default_entry" : {
- "action_id" : 52,
+ "action_id" : 51,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5874,7 +5829,7 @@
"id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 343,
+ "line" : 355,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -5885,27 +5840,27 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [53],
+ "action_ids" : [52],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "node_60",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "node_60"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 52,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_egress_next_push_vlan",
+ "name" : "tbl_egress_next_push_outer_vlan",
"id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 349,
+ "line" : 361,
"column" : 12,
- "source_fragment" : "push_vlan()"
+ "source_fragment" : "push_outer_vlan()"
},
"key" : [],
"match_type" : "exact",
@@ -5914,14 +5869,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [54],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
+ "action_ids" : [53],
+ "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
"base_default_next" : "tbl_egress_next_push_inner_vlan",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "tbl_egress_next_push_inner_vlan"
+ "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 53,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5932,7 +5887,7 @@
"id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 350,
+ "line" : 362,
"column" : 12,
"source_fragment" : "push_inner_vlan()"
},
@@ -5943,14 +5898,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [56],
+ "action_ids" : [54],
"actions" : ["FabricEgress.egress_next.push_inner_vlan"],
- "base_default_next" : "node_70",
+ "base_default_next" : "node_65",
"next_tables" : {
- "FabricEgress.egress_next.push_inner_vlan" : "node_70"
+ "FabricEgress.egress_next.push_inner_vlan" : "node_65"
},
"default_entry" : {
- "action_id" : 56,
+ "action_id" : 54,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5961,7 +5916,7 @@
"id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 353,
+ "line" : 365,
"column" : 12,
"source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
},
@@ -5972,14 +5927,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [63],
- "actions" : ["act_19"],
+ "action_ids" : [61],
+ "actions" : ["act_17"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
- "act_19" : "FabricEgress.egress_next.egress_vlan"
+ "act_17" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 63,
+ "action_id" : 61,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -5990,7 +5945,7 @@
"id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 331,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -6014,15 +5969,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [57, 50],
- "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
- "base_default_next" : null,
+ "action_ids" : [55, 56, 57],
+ "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
+ "base_default_next" : "node_65",
"next_tables" : {
- "__HIT__" : "tbl_act_18",
- "__MISS__" : "tbl_act_19"
+ "FabricEgress.egress_next.push_vlan" : "node_65",
+ "FabricEgress.egress_next.pop_vlan" : "node_65",
+ "FabricEgress.egress_next.drop" : "node_65"
},
"default_entry" : {
- "action_id" : 50,
+ "action_id" : 57,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6031,6 +5987,12 @@
{
"name" : "tbl_act_18",
"id" : 38,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 375,
+ "column" : 25,
+ "source_fragment" : "="
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -6038,14 +6000,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [61],
- "actions" : ["act_17"],
+ "action_ids" : [63],
+ "actions" : ["act_19"],
"base_default_next" : "node_67",
"next_tables" : {
- "act_17" : "node_67"
+ "act_19" : "node_67"
},
"default_entry" : {
- "action_id" : 61,
+ "action_id" : 63,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6054,6 +6016,12 @@
{
"name" : "tbl_act_19",
"id" : 39,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 376,
+ "column" : 35,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -6063,9 +6031,9 @@
"direct_meters" : null,
"action_ids" : [62],
"actions" : ["act_18"],
- "base_default_next" : "node_67",
+ "base_default_next" : "node_73",
"next_tables" : {
- "act_18" : "node_67"
+ "act_18" : "node_73"
},
"default_entry" : {
"action_id" : 62,
@@ -6075,41 +6043,12 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan_0",
+ "name" : "tbl_act_20",
"id" : 40,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 360,
- "column" : 20,
- "source_fragment" : "push_vlan()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [55],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_70",
- "next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_70"
- },
- "default_entry" : {
- "action_id" : 55,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_20",
- "id" : 41,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 369,
- "column" : 25,
+ "line" : 379,
+ "column" : 29,
"source_fragment" : "="
},
"key" : [],
@@ -6121,9 +6060,9 @@
"direct_meters" : null,
"action_ids" : [65],
"actions" : ["act_21"],
- "base_default_next" : "node_72",
+ "base_default_next" : "node_71",
"next_tables" : {
- "act_21" : "node_72"
+ "act_21" : "node_71"
},
"default_entry" : {
"action_id" : 65,
@@ -6134,11 +6073,11 @@
},
{
"name" : "tbl_act_21",
- "id" : 42,
+ "id" : 41,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
- "column" : 35,
+ "line" : 380,
+ "column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
@@ -6150,9 +6089,9 @@
"direct_meters" : null,
"action_ids" : [64],
"actions" : ["act_20"],
- "base_default_next" : "node_78",
+ "base_default_next" : "node_73",
"next_tables" : {
- "act_20" : "node_78"
+ "act_20" : "node_73"
},
"default_entry" : {
"action_id" : 64,
@@ -6162,66 +6101,8 @@
}
},
{
- "name" : "tbl_act_22",
- "id" : 43,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 373,
- "column" : 29,
- "source_fragment" : "="
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [67],
- "actions" : ["act_23"],
- "base_default_next" : "node_76",
- "next_tables" : {
- "act_23" : "node_76"
- },
- "default_entry" : {
- "action_id" : 67,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_23",
- "id" : 44,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 374,
- "column" : 39,
- "source_fragment" : "mark_to_drop(standard_metadata)"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [66],
- "actions" : ["act_22"],
- "base_default_next" : "node_78",
- "next_tables" : {
- "act_22" : "node_78"
- },
- "default_entry" : {
- "action_id" : 66,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_bng_egress_downstream_encap_v4",
- "id" : 45,
+ "id" : 42,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 297,
@@ -6235,14 +6116,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [51],
+ "action_ids" : [50],
"actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
"base_default_next" : null,
"next_tables" : {
"FabricEgress.bng_egress.downstream.encap_v4" : null
},
"default_entry" : {
- "action_id" : 51,
+ "action_id" : 50,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -6315,7 +6196,7 @@
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 335,
+ "line" : 347,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -6368,7 +6249,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 340,
+ "line" : 352,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -6394,7 +6275,7 @@
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -6417,7 +6298,7 @@
"id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 347,
+ "line" : 359,
"column" : 12,
"source_fragment" : "fabric_metadata.push_double_vlan == true"
},
@@ -6442,71 +6323,15 @@
}
}
},
- "true_next" : "tbl_egress_next_push_vlan",
+ "true_next" : "tbl_egress_next_push_outer_vlan",
"false_next" : "tbl_act_17"
},
{
- "name" : "node_67",
+ "name" : "node_65",
"id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 357,
- "column" : 16,
- "source_fragment" : "!egress_vlan.apply().hit"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "not",
- "left" : null,
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- }
- }
- }
- }
- },
- "true_next" : "node_68",
- "false_next" : "node_70"
- },
- {
- "name" : "node_68",
- "id" : 24,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 359,
- "column" : 20,
- "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "!=",
- "left" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x0ffe"
- }
- }
- },
- "true_next" : "tbl_egress_next_push_vlan_0",
- "false_next" : "node_70"
- },
- {
- "name" : "node_70",
- "id" : 25,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 368,
+ "line" : 374,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -6521,15 +6346,15 @@
}
}
},
- "true_next" : "tbl_act_20",
- "false_next" : "node_74"
+ "true_next" : "tbl_act_18",
+ "false_next" : "node_69"
},
{
- "name" : "node_72",
- "id" : 26,
+ "name" : "node_67",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -6547,15 +6372,15 @@
}
}
},
- "true_next" : "tbl_act_21",
- "false_next" : "node_78"
+ "true_next" : "tbl_act_19",
+ "false_next" : "node_73"
},
{
- "name" : "node_74",
- "id" : 27,
+ "name" : "node_69",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 372,
+ "line" : 378,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
},
@@ -6590,15 +6415,15 @@
}
}
},
- "true_next" : "tbl_act_22",
- "false_next" : "node_78"
+ "true_next" : "tbl_act_20",
+ "false_next" : "node_73"
},
{
- "name" : "node_76",
- "id" : 28,
+ "name" : "node_71",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -6616,12 +6441,12 @@
}
}
},
- "true_next" : "tbl_act_23",
- "false_next" : "node_78"
+ "true_next" : "tbl_act_21",
+ "false_next" : "node_73"
},
{
- "name" : "node_78",
- "id" : 29,
+ "name" : "node_73",
+ "id" : 27,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 358,
@@ -6643,11 +6468,11 @@
}
},
"false_next" : null,
- "true_next" : "node_79"
+ "true_next" : "node_74"
},
{
- "name" : "node_79",
- "id" : 30,
+ "name" : "node_74",
+ "id" : 28,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 296,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
index d95b294..2ad9fd0 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
@@ -511,14 +511,17 @@
match_type: EXACT
}
action_refs {
+ id: 16807339
+ }
+ action_refs {
id: 16790030
}
action_refs {
- id: 16819938
+ id: 16787838
annotations: "@defaultonly"
scope: DEFAULT_ONLY
}
- const_default_action_id: 16819938
+ const_default_action_id: 16787838
direct_resource_ids: 318827144
size: 1024
}
@@ -832,11 +835,25 @@
}
actions {
preamble {
+ id: 16807339
+ name: "FabricEgress.egress_next.push_vlan"
+ alias: "push_vlan"
+ }
+}
+actions {
+ preamble {
id: 16790030
name: "FabricEgress.egress_next.pop_vlan"
alias: "pop_vlan"
}
}
+actions {
+ preamble {
+ id: 16787838
+ name: "FabricEgress.egress_next.drop"
+ alias: "egress_next.drop"
+ }
+}
action_profiles {
preamble {
id: 285217164
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
index 2cca7f8..7ff2d8a 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
@@ -5,18 +5,17 @@
"id" : 0,
"fields" : [
["last_ipv4_dscp_0", 6, false],
+ ["tmp_0", 16, false],
["tmp_1", 16, false],
- ["tmp_2", 16, false],
- ["tmp_3", 4, false],
+ ["tmp_2", 4, false],
["tmp", 32, false],
- ["tmp_0", 32, false],
+ ["tmp_3", 32, false],
["tmp_4", 32, false],
["bng_ingress_upstream_tmp", 1, false],
["bng_ingress_downstream_tmp", 1, false],
["spgw_tmp", 1, false],
["bng_ingress_upstream_hasReturned", 1, false],
["key_0", 64, false],
- ["egress_next_tmp", 1, false],
["process_int_main_process_int_transit_hasReturned", 1, false],
["fabric_metadata_t._ip_eth_type0", 16, false],
["fabric_metadata_t._vlan_id1", 12, false],
@@ -68,7 +67,7 @@
["fabric_metadata_t._int_meta_new_bytes47", 16, false],
["fabric_metadata_t._int_meta_ig_tstamp48", 32, false],
["fabric_metadata_t._int_meta_eg_tstamp49", 32, false],
- ["_padding_0", 2, false]
+ ["_padding_0", 3, false]
]
},
{
@@ -799,7 +798,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "lookahead",
@@ -837,7 +836,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
}
]
},
@@ -871,7 +870,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -897,7 +896,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
@@ -1084,7 +1083,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_2"]
},
{
"type" : "lookahead",
@@ -1116,7 +1115,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_2"]
}
]
},
@@ -2057,7 +2056,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 313,
+ "line" : 314,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -7162,7 +7161,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
},
{
"type" : "expression",
@@ -7198,7 +7197,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
}
],
"source_info" : {
@@ -7749,7 +7748,7 @@
"primitives" : []
},
{
- "name" : "nop",
+ "name" : "NoAction",
"id" : 96,
"runtime_data" : [],
"primitives" : []
@@ -7761,14 +7760,8 @@
"primitives" : []
},
{
- "name" : "NoAction",
- "id" : 98,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "FabricEgress.bng_egress.downstream.encap_v4",
- "id" : 99,
+ "id" : 98,
"runtime_data" : [],
"primitives" : [
{
@@ -7965,7 +7958,7 @@
},
{
"name" : "FabricEgress.bng_egress.downstream.encap_v6",
- "id" : 100,
+ "id" : 99,
"runtime_data" : [],
"primitives" : [
{
@@ -8162,7 +8155,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
- "id" : 101,
+ "id" : 100,
"runtime_data" : [
{
"name" : "max_hop",
@@ -8657,7 +8650,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
- "id" : 102,
+ "id" : 101,
"runtime_data" : [
{
"name" : "switch_id",
@@ -8717,13 +8710,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
- "id" : 103,
+ "id" : 102,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
- "id" : 104,
+ "id" : 103,
"runtime_data" : [],
"primitives" : [
{
@@ -8880,7 +8873,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
- "id" : 105,
+ "id" : 104,
"runtime_data" : [],
"primitives" : [
{
@@ -9005,7 +8998,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
- "id" : 106,
+ "id" : 105,
"runtime_data" : [],
"primitives" : [
{
@@ -9196,7 +9189,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
- "id" : 107,
+ "id" : 106,
"runtime_data" : [],
"primitives" : [
{
@@ -9366,7 +9359,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
- "id" : 108,
+ "id" : 107,
"runtime_data" : [],
"primitives" : [
{
@@ -9602,7 +9595,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
- "id" : 109,
+ "id" : 108,
"runtime_data" : [],
"primitives" : [
{
@@ -9806,7 +9799,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
- "id" : 110,
+ "id" : 109,
"runtime_data" : [],
"primitives" : [
{
@@ -10076,7 +10069,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
- "id" : 111,
+ "id" : 110,
"runtime_data" : [],
"primitives" : [
{
@@ -10201,7 +10194,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
- "id" : 112,
+ "id" : 111,
"runtime_data" : [],
"primitives" : [
{
@@ -10392,7 +10385,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
- "id" : 113,
+ "id" : 112,
"runtime_data" : [],
"primitives" : [
{
@@ -10551,7 +10544,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
- "id" : 114,
+ "id" : 113,
"runtime_data" : [],
"primitives" : [
{
@@ -10776,7 +10769,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
- "id" : 115,
+ "id" : 114,
"runtime_data" : [],
"primitives" : [
{
@@ -10980,7 +10973,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
- "id" : 116,
+ "id" : 115,
"runtime_data" : [],
"primitives" : [
{
@@ -11250,7 +11243,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
- "id" : 117,
+ "id" : 116,
"runtime_data" : [],
"primitives" : [
{
@@ -11488,7 +11481,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
- "id" : 118,
+ "id" : 117,
"runtime_data" : [],
"primitives" : [
{
@@ -11792,13 +11785,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
- "id" : 119,
+ "id" : 118,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
- "id" : 120,
+ "id" : 119,
"runtime_data" : [],
"primitives" : [
{
@@ -11923,7 +11916,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
- "id" : 121,
+ "id" : 120,
"runtime_data" : [],
"primitives" : [
{
@@ -12067,7 +12060,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
- "id" : 122,
+ "id" : 121,
"runtime_data" : [],
"primitives" : [
{
@@ -12245,7 +12238,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
- "id" : 123,
+ "id" : 122,
"runtime_data" : [],
"primitives" : [
{
@@ -12393,7 +12386,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
- "id" : 124,
+ "id" : 123,
"runtime_data" : [],
"primitives" : [
{
@@ -12575,7 +12568,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
- "id" : 125,
+ "id" : 124,
"runtime_data" : [],
"primitives" : [
{
@@ -12776,7 +12769,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
- "id" : 126,
+ "id" : 125,
"runtime_data" : [],
"primitives" : [
{
@@ -13011,7 +13004,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
- "id" : 127,
+ "id" : 126,
"runtime_data" : [],
"primitives" : [
{
@@ -13136,7 +13129,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
- "id" : 128,
+ "id" : 127,
"runtime_data" : [],
"primitives" : [
{
@@ -13295,7 +13288,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
- "id" : 129,
+ "id" : 128,
"runtime_data" : [],
"primitives" : [
{
@@ -13473,7 +13466,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
- "id" : 130,
+ "id" : 129,
"runtime_data" : [],
"primitives" : [
{
@@ -13685,7 +13678,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
- "id" : 131,
+ "id" : 130,
"runtime_data" : [],
"primitives" : [
{
@@ -13867,7 +13860,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
- "id" : 132,
+ "id" : 131,
"runtime_data" : [],
"primitives" : [
{
@@ -14083,7 +14076,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
- "id" : 133,
+ "id" : 132,
"runtime_data" : [],
"primitives" : [
{
@@ -14318,7 +14311,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
- "id" : 134,
+ "id" : 133,
"runtime_data" : [],
"primitives" : [
{
@@ -14587,7 +14580,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_report.do_report_encapsulation",
- "id" : 135,
+ "id" : 134,
"runtime_data" : [
{
"name" : "src_mac",
@@ -15249,7 +15242,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_sink.restore_header",
- "id" : 136,
+ "id" : 135,
"runtime_data" : [],
"primitives" : [
{
@@ -15294,7 +15287,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_sink.int_sink",
- "id" : 137,
+ "id" : 136,
"runtime_data" : [],
"primitives" : [
{
@@ -15625,7 +15618,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 138,
+ "id" : 137,
"runtime_data" : [],
"primitives" : [
{
@@ -15666,7 +15659,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 139,
+ "id" : 138,
"runtime_data" : [],
"primitives" : [
{
@@ -15782,106 +15775,8 @@
]
},
{
- "name" : "FabricEgress.egress_next.push_vlan",
- "id" : 140,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "add_header",
- "parameters" : [
- {
- "type" : "header",
- "value" : "vlan_tag"
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 289,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.setValid()"
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "cfi"]
- },
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 290,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "pri"]
- },
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 291,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "eth_type"]
- },
- {
- "type" : "hexstr",
- "value" : "0x8100"
- }
- ],
- "source_info" : {
- "filename" : "include/control/../define.p4",
- "line" : 115,
- "column" : 31,
- "source_fragment" : "0x8100; ..."
- }
- },
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["vlan_tag", "vlan_id"]
- },
- {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
- }
- ],
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 293,
- "column" : 8,
- "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
- }
- }
- ]
- },
- {
- "name" : "FabricEgress.egress_next.push_vlan",
- "id" : 141,
+ "name" : "FabricEgress.egress_next.push_outer_vlan",
+ "id" : 139,
"runtime_data" : [],
"primitives" : [
{
@@ -15979,7 +15874,7 @@
},
{
"name" : "FabricEgress.egress_next.push_inner_vlan",
- "id" : 142,
+ "id" : 140,
"runtime_data" : [],
"primitives" : [
{
@@ -16095,8 +15990,106 @@
]
},
{
+ "name" : "FabricEgress.egress_next.push_vlan",
+ "id" : 141,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "add_header",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "vlan_tag"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 289,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.setValid()"
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "cfi"]
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._vlan_cfi3"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 290,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "pri"]
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._vlan_pri2"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 291,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "eth_type"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x8100"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/../define.p4",
+ "line" : 115,
+ "column" : 31,
+ "source_fragment" : "0x8100; ..."
+ }
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["vlan_tag", "vlan_id"]
+ },
+ {
+ "type" : "field",
+ "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 293,
+ "column" : 8,
+ "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
+ }
+ }
+ ]
+ },
+ {
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 143,
+ "id" : 142,
"runtime_data" : [],
"primitives" : [
{
@@ -16109,7 +16102,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 316,
+ "line" : 322,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -16117,6 +16110,28 @@
]
},
{
+ "name" : "FabricEgress.egress_next.drop",
+ "id" : 143,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "FabricEgress.spgw.gtpu_encap",
"id" : 144,
"runtime_data" : [],
@@ -16791,7 +16806,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -16804,66 +16819,6 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_27",
- "id" : 149,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_28",
- "id" : 150,
- "runtime_data" : [],
- "primitives" : [
- {
"op" : "remove_header",
"parameters" : [
{
@@ -16873,7 +16828,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 353,
+ "line" : 365,
"column" : 12,
"source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
}
@@ -16881,8 +16836,8 @@
]
},
{
- "name" : "act_29",
- "id" : 151,
+ "name" : "act_27",
+ "id" : 149,
"runtime_data" : [],
"primitives" : [
{
@@ -16895,7 +16850,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -16903,8 +16858,8 @@
]
},
{
- "name" : "act_30",
- "id" : 152,
+ "name" : "act_28",
+ "id" : 150,
"runtime_data" : [],
"primitives" : [
{
@@ -16944,7 +16899,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
+ "line" : 375,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -16952,8 +16907,8 @@
]
},
{
- "name" : "act_31",
- "id" : 153,
+ "name" : "act_29",
+ "id" : 151,
"runtime_data" : [],
"primitives" : [
{
@@ -16966,7 +16921,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -16974,8 +16929,8 @@
]
},
{
- "name" : "act_32",
- "id" : 154,
+ "name" : "act_30",
+ "id" : 152,
"runtime_data" : [],
"primitives" : [
{
@@ -17015,7 +16970,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 373,
+ "line" : 379,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -17023,8 +16978,8 @@
]
},
{
- "name" : "act_33",
- "id" : 155,
+ "name" : "act_31",
+ "id" : 153,
"runtime_data" : [],
"primitives" : [
{
@@ -17037,7 +16992,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 379,
+ "line" : 385,
"column" : 45,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -17045,8 +17000,8 @@
]
},
{
- "name" : "act_34",
- "id" : 156,
+ "name" : "act_32",
+ "id" : 154,
"runtime_data" : [],
"primitives" : [
{
@@ -17086,7 +17041,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 378,
+ "line" : 384,
"column" : 16,
"source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
}
@@ -17094,8 +17049,8 @@
]
},
{
- "name" : "act_35",
- "id" : 157,
+ "name" : "act_33",
+ "id" : 155,
"runtime_data" : [],
"primitives" : [
{
@@ -17120,8 +17075,8 @@
]
},
{
- "name" : "act_36",
- "id" : 158,
+ "name" : "act_34",
+ "id" : 156,
"runtime_data" : [],
"primitives" : [
{
@@ -17150,8 +17105,8 @@
]
},
{
- "name" : "act_37",
- "id" : 159,
+ "name" : "act_35",
+ "id" : 157,
"runtime_data" : [],
"primitives" : [
{
@@ -17186,8 +17141,8 @@
]
},
{
- "name" : "act_38",
- "id" : 160,
+ "name" : "act_36",
+ "id" : 158,
"runtime_data" : [],
"primitives" : [
{
@@ -17235,8 +17190,8 @@
]
},
{
- "name" : "act_39",
- "id" : 161,
+ "name" : "act_37",
+ "id" : 159,
"runtime_data" : [],
"primitives" : [
{
@@ -17284,8 +17239,8 @@
]
},
{
- "name" : "act_40",
- "id" : 162,
+ "name" : "act_38",
+ "id" : 160,
"runtime_data" : [],
"primitives" : [
{
@@ -17333,8 +17288,8 @@
]
},
{
- "name" : "act_41",
- "id" : 163,
+ "name" : "act_39",
+ "id" : 161,
"runtime_data" : [],
"primitives" : [
{
@@ -20212,7 +20167,7 @@
"id" : 53,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -20241,7 +20196,7 @@
"id" : 54,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -20252,14 +20207,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [138],
+ "action_ids" : [137],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "node_91",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "node_91"
},
"default_entry" : {
- "action_id" : 138,
+ "action_id" : 137,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20270,7 +20225,7 @@
"id" : 55,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 343,
+ "line" : 355,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -20281,27 +20236,27 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [139],
+ "action_ids" : [138],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "node_91",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "node_91"
},
"default_entry" : {
- "action_id" : 139,
+ "action_id" : 138,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_egress_next_push_vlan",
+ "name" : "tbl_egress_next_push_outer_vlan",
"id" : 56,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 349,
+ "line" : 361,
"column" : 12,
- "source_fragment" : "push_vlan()"
+ "source_fragment" : "push_outer_vlan()"
},
"key" : [],
"match_type" : "exact",
@@ -20310,14 +20265,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [140],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
+ "action_ids" : [139],
+ "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
"base_default_next" : "tbl_egress_next_push_inner_vlan",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "tbl_egress_next_push_inner_vlan"
+ "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
},
"default_entry" : {
- "action_id" : 140,
+ "action_id" : 139,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20328,7 +20283,7 @@
"id" : 57,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 350,
+ "line" : 362,
"column" : 12,
"source_fragment" : "push_inner_vlan()"
},
@@ -20339,14 +20294,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [142],
+ "action_ids" : [140],
"actions" : ["FabricEgress.egress_next.push_inner_vlan"],
- "base_default_next" : "node_101",
+ "base_default_next" : "node_96",
"next_tables" : {
- "FabricEgress.egress_next.push_inner_vlan" : "node_101"
+ "FabricEgress.egress_next.push_inner_vlan" : "node_96"
},
"default_entry" : {
- "action_id" : 142,
+ "action_id" : 140,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20357,7 +20312,7 @@
"id" : 58,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 353,
+ "line" : 365,
"column" : 12,
"source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
},
@@ -20368,14 +20323,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [150],
- "actions" : ["act_28"],
+ "action_ids" : [148],
+ "actions" : ["act_26"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
- "act_28" : "FabricEgress.egress_next.egress_vlan"
+ "act_26" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 150,
+ "action_id" : 148,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20386,7 +20341,7 @@
"id" : 59,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 331,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -20410,15 +20365,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [143, 96],
- "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
- "base_default_next" : null,
+ "action_ids" : [141, 142, 143],
+ "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
+ "base_default_next" : "node_96",
"next_tables" : {
- "__HIT__" : "tbl_act_27",
- "__MISS__" : "tbl_act_28"
+ "FabricEgress.egress_next.push_vlan" : "node_96",
+ "FabricEgress.egress_next.pop_vlan" : "node_96",
+ "FabricEgress.egress_next.drop" : "node_96"
},
"default_entry" : {
- "action_id" : 96,
+ "action_id" : 143,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20427,6 +20383,12 @@
{
"name" : "tbl_act_27",
"id" : 60,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 375,
+ "column" : 25,
+ "source_fragment" : "="
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -20434,14 +20396,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [148],
- "actions" : ["act_26"],
+ "action_ids" : [150],
+ "actions" : ["act_28"],
"base_default_next" : "node_98",
"next_tables" : {
- "act_26" : "node_98"
+ "act_28" : "node_98"
},
"default_entry" : {
- "action_id" : 148,
+ "action_id" : 150,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20450,6 +20412,12 @@
{
"name" : "tbl_act_28",
"id" : 61,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 376,
+ "column" : 35,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -20459,9 +20427,9 @@
"direct_meters" : null,
"action_ids" : [149],
"actions" : ["act_27"],
- "base_default_next" : "node_98",
+ "base_default_next" : "node_108",
"next_tables" : {
- "act_27" : "node_98"
+ "act_27" : "node_108"
},
"default_entry" : {
"action_id" : 149,
@@ -20471,41 +20439,12 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan_0",
+ "name" : "tbl_act_29",
"id" : 62,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 360,
- "column" : 20,
- "source_fragment" : "push_vlan()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [141],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_101",
- "next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_101"
- },
- "default_entry" : {
- "action_id" : 141,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_29",
- "id" : 63,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 369,
- "column" : 25,
+ "line" : 379,
+ "column" : 29,
"source_fragment" : "="
},
"key" : [],
@@ -20517,9 +20456,9 @@
"direct_meters" : null,
"action_ids" : [152],
"actions" : ["act_30"],
- "base_default_next" : "node_103",
+ "base_default_next" : "node_102",
"next_tables" : {
- "act_30" : "node_103"
+ "act_30" : "node_102"
},
"default_entry" : {
"action_id" : 152,
@@ -20530,11 +20469,11 @@
},
{
"name" : "tbl_act_30",
- "id" : 64,
+ "id" : 63,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
- "column" : 35,
+ "line" : 380,
+ "column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
@@ -20546,9 +20485,9 @@
"direct_meters" : null,
"action_ids" : [151],
"actions" : ["act_29"],
- "base_default_next" : "node_113",
+ "base_default_next" : "node_108",
"next_tables" : {
- "act_29" : "node_113"
+ "act_29" : "node_108"
},
"default_entry" : {
"action_id" : 151,
@@ -20559,11 +20498,11 @@
},
{
"name" : "tbl_act_31",
- "id" : 65,
+ "id" : 64,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 373,
- "column" : 29,
+ "line" : 384,
+ "column" : 35,
"source_fragment" : "="
},
"key" : [],
@@ -20575,9 +20514,9 @@
"direct_meters" : null,
"action_ids" : [154],
"actions" : ["act_32"],
- "base_default_next" : "node_107",
+ "base_default_next" : "node_106",
"next_tables" : {
- "act_32" : "node_107"
+ "act_32" : "node_106"
},
"default_entry" : {
"action_id" : 154,
@@ -20588,11 +20527,11 @@
},
{
"name" : "tbl_act_32",
- "id" : 66,
+ "id" : 65,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
- "column" : 39,
+ "line" : 385,
+ "column" : 45,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
@@ -20604,9 +20543,9 @@
"direct_meters" : null,
"action_ids" : [153],
"actions" : ["act_31"],
- "base_default_next" : "node_113",
+ "base_default_next" : "node_108",
"next_tables" : {
- "act_31" : "node_113"
+ "act_31" : "node_108"
},
"default_entry" : {
"action_id" : 153,
@@ -20616,13 +20555,13 @@
}
},
{
- "name" : "tbl_act_33",
- "id" : 67,
+ "name" : "tbl_spgw_gtpu_encap",
+ "id" : 66,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 378,
- "column" : 35,
- "source_fragment" : "="
+ "filename" : "include/control/spgw.p4",
+ "line" : 330,
+ "column" : 16,
+ "source_fragment" : "gtpu_encap()"
},
"key" : [],
"match_type" : "exact",
@@ -20631,27 +20570,27 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [156],
- "actions" : ["act_34"],
+ "action_ids" : [144],
+ "actions" : ["FabricEgress.spgw.gtpu_encap"],
"base_default_next" : "node_111",
"next_tables" : {
- "act_34" : "node_111"
+ "FabricEgress.spgw.gtpu_encap" : "node_111"
},
"default_entry" : {
- "action_id" : 156,
+ "action_id" : 144,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_34",
- "id" : 68,
+ "name" : "tbl_act_33",
+ "id" : 67,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 379,
- "column" : 45,
- "source_fragment" : "mark_to_drop(standard_metadata)"
+ "filename" : "include/control/spgw.p4",
+ "line" : 333,
+ "column" : 16,
+ "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
},
"key" : [],
"match_type" : "exact",
@@ -20674,66 +20613,8 @@
}
},
{
- "name" : "tbl_spgw_gtpu_encap",
- "id" : 69,
- "source_info" : {
- "filename" : "include/control/spgw.p4",
- "line" : 330,
- "column" : 16,
- "source_fragment" : "gtpu_encap()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [144],
- "actions" : ["FabricEgress.spgw.gtpu_encap"],
- "base_default_next" : "node_116",
- "next_tables" : {
- "FabricEgress.spgw.gtpu_encap" : "node_116"
- },
- "default_entry" : {
- "action_id" : 144,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_35",
- "id" : 70,
- "source_info" : {
- "filename" : "include/control/spgw.p4",
- "line" : 333,
- "column" : 16,
- "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [157],
- "actions" : ["act_35"],
- "base_default_next" : "node_118",
- "next_tables" : {
- "act_35" : "node_118"
- },
- "default_entry" : {
- "action_id" : 157,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_bng_egress_downstream_encap_v4",
- "id" : 71,
+ "id" : 68,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 297,
@@ -20747,14 +20628,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [99],
+ "action_ids" : [98],
"actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
- "base_default_next" : "node_123",
+ "base_default_next" : "node_118",
"next_tables" : {
- "FabricEgress.bng_egress.downstream.encap_v4" : "node_123"
+ "FabricEgress.bng_egress.downstream.encap_v4" : "node_118"
},
"default_entry" : {
- "action_id" : 99,
+ "action_id" : 98,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20762,7 +20643,7 @@
},
{
"name" : "tbl_bng_egress_downstream_encap_v6",
- "id" : 72,
+ "id" : 69,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 302,
@@ -20776,14 +20657,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [100],
+ "action_ids" : [99],
"actions" : ["FabricEgress.bng_egress.downstream.encap_v6"],
- "base_default_next" : "node_123",
+ "base_default_next" : "node_118",
"next_tables" : {
- "FabricEgress.bng_egress.downstream.encap_v6" : "node_123"
+ "FabricEgress.bng_egress.downstream.encap_v6" : "node_118"
},
"default_entry" : {
- "action_id" : 100,
+ "action_id" : 99,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20791,7 +20672,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 73,
+ "id" : 70,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -20830,12 +20711,12 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [101, 93],
+ "action_ids" : [100, 93],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_126",
+ "base_default_next" : "node_121",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_126",
- "nop" : "node_126"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_121",
+ "nop" : "node_121"
},
"default_entry" : {
"action_id" : 93,
@@ -20845,8 +20726,8 @@
}
},
{
- "name" : "tbl_act_36",
- "id" : 74,
+ "name" : "tbl_act_34",
+ "id" : 71,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -20854,14 +20735,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [158],
- "actions" : ["act_36"],
+ "action_ids" : [156],
+ "actions" : ["act_34"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
- "act_36" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
+ "act_34" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 158,
+ "action_id" : 156,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20869,7 +20750,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 75,
+ "id" : 72,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -20890,12 +20771,12 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [102, 94],
+ "action_ids" : [101, 94],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_129",
+ "base_default_next" : "node_124",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_129",
- "nop" : "node_129"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_124",
+ "nop" : "node_124"
},
"default_entry" : {
"action_id" : 94,
@@ -20905,8 +20786,8 @@
}
},
{
- "name" : "tbl_act_37",
- "id" : 76,
+ "name" : "tbl_act_35",
+ "id" : 73,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -20920,14 +20801,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [159],
- "actions" : ["act_37"],
- "base_default_next" : "node_131",
+ "action_ids" : [157],
+ "actions" : ["act_35"],
+ "base_default_next" : "node_126",
"next_tables" : {
- "act_37" : "node_131"
+ "act_35" : "node_126"
},
"default_entry" : {
- "action_id" : 159,
+ "action_id" : 157,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -20935,7 +20816,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 77,
+ "id" : 74,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -20956,7 +20837,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 97],
+ "action_ids" : [102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 96],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
@@ -20979,7 +20860,7 @@
"NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
- "action_id" : 97,
+ "action_id" : 96,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -20999,7 +20880,7 @@
}
],
"action_entry" : {
- "action_id" : 103,
+ "action_id" : 102,
"action_data" : []
},
"priority" : 1
@@ -21018,7 +20899,7 @@
}
],
"action_entry" : {
- "action_id" : 104,
+ "action_id" : 103,
"action_data" : []
},
"priority" : 2
@@ -21037,7 +20918,7 @@
}
],
"action_entry" : {
- "action_id" : 105,
+ "action_id" : 104,
"action_data" : []
},
"priority" : 3
@@ -21056,7 +20937,7 @@
}
],
"action_entry" : {
- "action_id" : 106,
+ "action_id" : 105,
"action_data" : []
},
"priority" : 4
@@ -21075,7 +20956,7 @@
}
],
"action_entry" : {
- "action_id" : 107,
+ "action_id" : 106,
"action_data" : []
},
"priority" : 5
@@ -21094,7 +20975,7 @@
}
],
"action_entry" : {
- "action_id" : 108,
+ "action_id" : 107,
"action_data" : []
},
"priority" : 6
@@ -21113,7 +20994,7 @@
}
],
"action_entry" : {
- "action_id" : 109,
+ "action_id" : 108,
"action_data" : []
},
"priority" : 7
@@ -21132,7 +21013,7 @@
}
],
"action_entry" : {
- "action_id" : 110,
+ "action_id" : 109,
"action_data" : []
},
"priority" : 8
@@ -21151,7 +21032,7 @@
}
],
"action_entry" : {
- "action_id" : 111,
+ "action_id" : 110,
"action_data" : []
},
"priority" : 9
@@ -21170,7 +21051,7 @@
}
],
"action_entry" : {
- "action_id" : 112,
+ "action_id" : 111,
"action_data" : []
},
"priority" : 10
@@ -21189,7 +21070,7 @@
}
],
"action_entry" : {
- "action_id" : 113,
+ "action_id" : 112,
"action_data" : []
},
"priority" : 11
@@ -21208,7 +21089,7 @@
}
],
"action_entry" : {
- "action_id" : 114,
+ "action_id" : 113,
"action_data" : []
},
"priority" : 12
@@ -21227,7 +21108,7 @@
}
],
"action_entry" : {
- "action_id" : 115,
+ "action_id" : 114,
"action_data" : []
},
"priority" : 13
@@ -21246,7 +21127,7 @@
}
],
"action_entry" : {
- "action_id" : 116,
+ "action_id" : 115,
"action_data" : []
},
"priority" : 14
@@ -21265,7 +21146,7 @@
}
],
"action_entry" : {
- "action_id" : 117,
+ "action_id" : 116,
"action_data" : []
},
"priority" : 15
@@ -21284,7 +21165,7 @@
}
],
"action_entry" : {
- "action_id" : 118,
+ "action_id" : 117,
"action_data" : []
},
"priority" : 16
@@ -21293,7 +21174,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 78,
+ "id" : 75,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -21314,30 +21195,30 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 98],
+ "action_ids" : [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 97],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
- "base_default_next" : "tbl_act_38",
+ "base_default_next" : "tbl_act_36",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_38",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_38",
- "NoAction" : "tbl_act_38"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_36",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_36",
+ "NoAction" : "tbl_act_36"
},
"default_entry" : {
- "action_id" : 98,
+ "action_id" : 97,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -21357,7 +21238,7 @@
}
],
"action_entry" : {
- "action_id" : 119,
+ "action_id" : 118,
"action_data" : []
},
"priority" : 1
@@ -21376,7 +21257,7 @@
}
],
"action_entry" : {
- "action_id" : 120,
+ "action_id" : 119,
"action_data" : []
},
"priority" : 2
@@ -21395,7 +21276,7 @@
}
],
"action_entry" : {
- "action_id" : 121,
+ "action_id" : 120,
"action_data" : []
},
"priority" : 3
@@ -21414,7 +21295,7 @@
}
],
"action_entry" : {
- "action_id" : 122,
+ "action_id" : 121,
"action_data" : []
},
"priority" : 4
@@ -21433,7 +21314,7 @@
}
],
"action_entry" : {
- "action_id" : 123,
+ "action_id" : 122,
"action_data" : []
},
"priority" : 5
@@ -21452,7 +21333,7 @@
}
],
"action_entry" : {
- "action_id" : 124,
+ "action_id" : 123,
"action_data" : []
},
"priority" : 6
@@ -21471,7 +21352,7 @@
}
],
"action_entry" : {
- "action_id" : 125,
+ "action_id" : 124,
"action_data" : []
},
"priority" : 7
@@ -21490,7 +21371,7 @@
}
],
"action_entry" : {
- "action_id" : 126,
+ "action_id" : 125,
"action_data" : []
},
"priority" : 8
@@ -21509,7 +21390,7 @@
}
],
"action_entry" : {
- "action_id" : 127,
+ "action_id" : 126,
"action_data" : []
},
"priority" : 9
@@ -21528,7 +21409,7 @@
}
],
"action_entry" : {
- "action_id" : 128,
+ "action_id" : 127,
"action_data" : []
},
"priority" : 10
@@ -21547,7 +21428,7 @@
}
],
"action_entry" : {
- "action_id" : 129,
+ "action_id" : 128,
"action_data" : []
},
"priority" : 11
@@ -21566,7 +21447,7 @@
}
],
"action_entry" : {
- "action_id" : 130,
+ "action_id" : 129,
"action_data" : []
},
"priority" : 12
@@ -21585,7 +21466,7 @@
}
],
"action_entry" : {
- "action_id" : 131,
+ "action_id" : 130,
"action_data" : []
},
"priority" : 13
@@ -21604,7 +21485,7 @@
}
],
"action_entry" : {
- "action_id" : 132,
+ "action_id" : 131,
"action_data" : []
},
"priority" : 14
@@ -21623,7 +21504,7 @@
}
],
"action_entry" : {
- "action_id" : 133,
+ "action_id" : 132,
"action_data" : []
},
"priority" : 15
@@ -21642,7 +21523,7 @@
}
],
"action_entry" : {
- "action_id" : 134,
+ "action_id" : 133,
"action_data" : []
},
"priority" : 16
@@ -21650,8 +21531,8 @@
]
},
{
- "name" : "tbl_act_38",
- "id" : 79,
+ "name" : "tbl_act_36",
+ "id" : 76,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -21665,22 +21546,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [161],
- "actions" : ["act_39"],
- "base_default_next" : "node_135",
+ "action_ids" : [159],
+ "actions" : ["act_37"],
+ "base_default_next" : "node_130",
"next_tables" : {
- "act_39" : "node_135"
+ "act_37" : "node_130"
},
"default_entry" : {
- "action_id" : 161,
+ "action_id" : 159,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_39",
- "id" : 80,
+ "name" : "tbl_act_37",
+ "id" : 77,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -21694,22 +21575,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [160],
- "actions" : ["act_38"],
- "base_default_next" : "node_137",
+ "action_ids" : [158],
+ "actions" : ["act_36"],
+ "base_default_next" : "node_132",
"next_tables" : {
- "act_38" : "node_137"
+ "act_36" : "node_132"
},
"default_entry" : {
- "action_id" : 160,
+ "action_id" : 158,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_40",
- "id" : 81,
+ "name" : "tbl_act_38",
+ "id" : 78,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -21723,22 +21604,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [162],
- "actions" : ["act_40"],
- "base_default_next" : "node_139",
+ "action_ids" : [160],
+ "actions" : ["act_38"],
+ "base_default_next" : "node_134",
"next_tables" : {
- "act_40" : "node_139"
+ "act_38" : "node_134"
},
"default_entry" : {
- "action_id" : 162,
+ "action_id" : 160,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_41",
- "id" : 82,
+ "name" : "tbl_act_39",
+ "id" : 79,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -21752,14 +21633,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [163],
- "actions" : ["act_41"],
- "base_default_next" : "node_141",
+ "action_ids" : [161],
+ "actions" : ["act_39"],
+ "base_default_next" : "node_136",
"next_tables" : {
- "act_41" : "node_141"
+ "act_39" : "node_136"
},
"default_entry" : {
- "action_id" : 163,
+ "action_id" : 161,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21767,7 +21648,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
- "id" : 83,
+ "id" : 80,
"source_info" : {
"filename" : "include/int/int_report.p4",
"line" : 87,
@@ -21781,12 +21662,12 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [135, 95],
+ "action_ids" : [134, 95],
"actions" : ["FabricEgress.process_int_main.process_int_report.do_report_encapsulation", "nop"],
- "base_default_next" : "node_143",
+ "base_default_next" : "node_138",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_143",
- "nop" : "node_143"
+ "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_138",
+ "nop" : "node_138"
},
"default_entry" : {
"action_id" : 95,
@@ -21797,7 +21678,7 @@
},
{
"name" : "tbl_process_int_main_process_int_sink_restore_header",
- "id" : 84,
+ "id" : 81,
"source_info" : {
"filename" : "include/int/int_sink.p4",
"line" : 53,
@@ -21811,14 +21692,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [136],
+ "action_ids" : [135],
"actions" : ["FabricEgress.process_int_main.process_int_sink.restore_header"],
"base_default_next" : "tbl_process_int_main_process_int_sink_int_sink",
"next_tables" : {
"FabricEgress.process_int_main.process_int_sink.restore_header" : "tbl_process_int_main_process_int_sink_int_sink"
},
"default_entry" : {
- "action_id" : 136,
+ "action_id" : 135,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21826,7 +21707,7 @@
},
{
"name" : "tbl_process_int_main_process_int_sink_int_sink",
- "id" : 85,
+ "id" : 82,
"source_info" : {
"filename" : "include/int/int_sink.p4",
"line" : 54,
@@ -21840,14 +21721,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [137],
+ "action_ids" : [136],
"actions" : ["FabricEgress.process_int_main.process_int_sink.int_sink"],
"base_default_next" : null,
"next_tables" : {
"FabricEgress.process_int_main.process_int_sink.int_sink" : null
},
"default_entry" : {
- "action_id" : 137,
+ "action_id" : 136,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -21920,7 +21801,7 @@
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 335,
+ "line" : 347,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -21973,7 +21854,7 @@
"id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 340,
+ "line" : 352,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -21999,7 +21880,7 @@
"id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -22022,7 +21903,7 @@
"id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 347,
+ "line" : 359,
"column" : 12,
"source_fragment" : "fabric_metadata.push_double_vlan == true"
},
@@ -22047,71 +21928,15 @@
}
}
},
- "true_next" : "tbl_egress_next_push_vlan",
+ "true_next" : "tbl_egress_next_push_outer_vlan",
"false_next" : "tbl_act_26"
},
{
- "name" : "node_98",
+ "name" : "node_96",
"id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 357,
- "column" : 16,
- "source_fragment" : "!egress_vlan.apply().hit"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "not",
- "left" : null,
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- }
- }
- }
- }
- },
- "true_next" : "node_99",
- "false_next" : "node_101"
- },
- {
- "name" : "node_99",
- "id" : 33,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 359,
- "column" : 20,
- "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "!=",
- "left" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x0ffe"
- }
- }
- },
- "true_next" : "tbl_egress_next_push_vlan_0",
- "false_next" : "node_101"
- },
- {
- "name" : "node_101",
- "id" : 34,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 368,
+ "line" : 374,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -22126,15 +21951,15 @@
}
}
},
- "true_next" : "tbl_act_29",
- "false_next" : "node_105"
+ "true_next" : "tbl_act_27",
+ "false_next" : "node_100"
},
{
- "name" : "node_103",
- "id" : 35,
+ "name" : "node_98",
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -22152,15 +21977,15 @@
}
}
},
- "true_next" : "tbl_act_30",
- "false_next" : "node_113"
+ "true_next" : "tbl_act_28",
+ "false_next" : "node_108"
},
{
- "name" : "node_105",
- "id" : 36,
+ "name" : "node_100",
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 372,
+ "line" : 378,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
},
@@ -22195,15 +22020,15 @@
}
}
},
- "true_next" : "tbl_act_31",
- "false_next" : "node_109"
+ "true_next" : "tbl_act_29",
+ "false_next" : "node_104"
},
{
- "name" : "node_107",
- "id" : 37,
+ "name" : "node_102",
+ "id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -22221,15 +22046,15 @@
}
}
},
- "true_next" : "tbl_act_32",
- "false_next" : "node_113"
+ "true_next" : "tbl_act_30",
+ "false_next" : "node_108"
},
{
- "name" : "node_109",
- "id" : 38,
+ "name" : "node_104",
+ "id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 377,
+ "line" : 383,
"column" : 21,
"source_fragment" : "hdr.ipv6.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
},
@@ -22264,15 +22089,15 @@
}
}
},
- "true_next" : "tbl_act_33",
- "false_next" : "node_113"
+ "true_next" : "tbl_act_31",
+ "false_next" : "node_108"
},
{
- "name" : "node_111",
- "id" : 39,
+ "name" : "node_106",
+ "id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 379,
+ "line" : 385,
"column" : 20,
"source_fragment" : "hdr.ipv6.hop_limit == 0"
},
@@ -22290,12 +22115,12 @@
}
}
},
- "true_next" : "tbl_act_34",
- "false_next" : "node_113"
+ "true_next" : "tbl_act_32",
+ "false_next" : "node_108"
},
{
- "name" : "node_113",
- "id" : 40,
+ "name" : "node_108",
+ "id" : 38,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 328,
@@ -22323,12 +22148,12 @@
}
}
},
- "true_next" : "node_114",
- "false_next" : "node_118"
+ "true_next" : "node_109",
+ "false_next" : "node_113"
},
{
- "name" : "node_114",
- "id" : 41,
+ "name" : "node_109",
+ "id" : 39,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 329,
@@ -22357,11 +22182,11 @@
}
},
"true_next" : "tbl_spgw_gtpu_encap",
- "false_next" : "node_116"
+ "false_next" : "node_111"
},
{
- "name" : "node_116",
- "id" : 42,
+ "name" : "node_111",
+ "id" : 40,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 332,
@@ -22389,12 +22214,12 @@
}
}
},
- "true_next" : "tbl_act_35",
- "false_next" : "node_118"
+ "true_next" : "tbl_act_33",
+ "false_next" : "node_113"
},
{
- "name" : "node_118",
- "id" : 43,
+ "name" : "node_113",
+ "id" : 41,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 358,
@@ -22415,12 +22240,12 @@
}
}
},
- "true_next" : "node_119",
- "false_next" : "node_123"
+ "true_next" : "node_114",
+ "false_next" : "node_118"
},
{
- "name" : "node_119",
- "id" : 44,
+ "name" : "node_114",
+ "id" : 42,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 296,
@@ -22439,11 +22264,11 @@
}
},
"true_next" : "tbl_bng_egress_downstream_encap_v4",
- "false_next" : "node_121"
+ "false_next" : "node_116"
},
{
- "name" : "node_121",
- "id" : 45,
+ "name" : "node_116",
+ "id" : 43,
"source_info" : {
"filename" : "include/bng.p4",
"line" : 301,
@@ -22462,11 +22287,11 @@
}
},
"true_next" : "tbl_bng_egress_downstream_encap_v6",
- "false_next" : "node_123"
+ "false_next" : "node_118"
},
{
- "name" : "node_123",
- "id" : 46,
+ "name" : "node_118",
+ "id" : 44,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 102,
@@ -22542,11 +22367,11 @@
}
},
"false_next" : null,
- "true_next" : "node_124"
+ "true_next" : "node_119"
},
{
- "name" : "node_124",
- "id" : 47,
+ "name" : "node_119",
+ "id" : 45,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 106,
@@ -22575,11 +22400,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_126"
+ "false_next" : "node_121"
},
{
- "name" : "node_126",
- "id" : 48,
+ "name" : "node_121",
+ "id" : 46,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 110,
@@ -22598,11 +22423,11 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_36"
+ "true_next" : "tbl_act_34"
},
{
- "name" : "node_129",
- "id" : 49,
+ "name" : "node_124",
+ "id" : 47,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 419,
@@ -22630,12 +22455,12 @@
}
}
},
- "true_next" : "tbl_act_37",
- "false_next" : "node_131"
+ "true_next" : "tbl_act_35",
+ "false_next" : "node_126"
},
{
- "name" : "node_131",
- "id" : 50,
+ "name" : "node_126",
+ "id" : 48,
"expression" : {
"type" : "expression",
"value" : {
@@ -22655,11 +22480,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "false_next" : "node_141"
+ "false_next" : "node_136"
},
{
- "name" : "node_135",
- "id" : 51,
+ "name" : "node_130",
+ "id" : 49,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 427,
@@ -22677,12 +22502,12 @@
}
}
},
- "true_next" : "tbl_act_39",
- "false_next" : "node_137"
+ "true_next" : "tbl_act_37",
+ "false_next" : "node_132"
},
{
- "name" : "node_137",
- "id" : 52,
+ "name" : "node_132",
+ "id" : 50,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 430,
@@ -22700,12 +22525,12 @@
}
}
},
- "true_next" : "tbl_act_40",
- "false_next" : "node_139"
+ "true_next" : "tbl_act_38",
+ "false_next" : "node_134"
},
{
- "name" : "node_139",
- "id" : 53,
+ "name" : "node_134",
+ "id" : 51,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 433,
@@ -22723,12 +22548,12 @@
}
}
},
- "true_next" : "tbl_act_41",
- "false_next" : "node_141"
+ "true_next" : "tbl_act_39",
+ "false_next" : "node_136"
},
{
- "name" : "node_141",
- "id" : 54,
+ "name" : "node_136",
+ "id" : 52,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 115,
@@ -22750,11 +22575,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
- "false_next" : "node_143"
+ "false_next" : "node_138"
},
{
- "name" : "node_143",
- "id" : 55,
+ "name" : "node_138",
+ "id" : 53,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 119,
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
index dd55cde..c02e04b 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
@@ -898,14 +898,17 @@
match_type: EXACT
}
action_refs {
+ id: 16807339
+ }
+ action_refs {
id: 16790030
}
action_refs {
- id: 16819938
+ id: 16787838
annotations: "@defaultonly"
scope: DEFAULT_ONLY
}
- const_default_action_id: 16819938
+ const_default_action_id: 16787838
direct_resource_ids: 318827144
size: 1024
}
@@ -1554,11 +1557,25 @@
}
actions {
preamble {
+ id: 16807339
+ name: "FabricEgress.egress_next.push_vlan"
+ alias: "push_vlan"
+ }
+}
+actions {
+ preamble {
id: 16790030
name: "FabricEgress.egress_next.pop_vlan"
alias: "pop_vlan"
}
}
+actions {
+ preamble {
+ id: 16787838
+ name: "FabricEgress.egress_next.drop"
+ alias: "egress_next.drop"
+ }
+}
action_profiles {
preamble {
id: 285217164
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
index 1151554..739695a 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
@@ -5,12 +5,11 @@
"id" : 0,
"fields" : [
["last_ipv4_dscp_0", 6, false],
+ ["tmp", 16, false],
["tmp_0", 16, false],
- ["tmp_1", 16, false],
- ["tmp_2", 4, false],
- ["tmp", 32, false],
+ ["tmp_1", 4, false],
+ ["tmp_2", 32, false],
["tmp_3", 32, false],
- ["egress_next_tmp", 1, false],
["process_int_main_process_int_transit_hasReturned", 1, false],
["fabric_metadata_t._ip_eth_type0", 16, false],
["fabric_metadata_t._vlan_id1", 12, false],
@@ -37,7 +36,7 @@
["fabric_metadata_t._int_meta_new_bytes22", 16, false],
["fabric_metadata_t._int_meta_ig_tstamp23", 32, false],
["fabric_metadata_t._int_meta_eg_tstamp24", 32, false],
- ["_padding_0", 6, false]
+ ["_padding_0", 7, false]
]
},
{
@@ -562,7 +561,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp"]
},
{
"type" : "lookahead",
@@ -600,7 +599,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp"]
}
]
},
@@ -621,7 +620,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "lookahead",
@@ -647,7 +646,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
}
]
},
@@ -757,7 +756,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -783,7 +782,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
@@ -1309,7 +1308,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 313,
+ "line" : 314,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -2492,7 +2491,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_2"]
},
{
"type" : "expression",
@@ -2528,7 +2527,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_2"]
}
],
"source_info" : {
@@ -2611,7 +2610,7 @@
"primitives" : []
},
{
- "name" : "nop",
+ "name" : "NoAction",
"id" : 36,
"runtime_data" : [],
"primitives" : []
@@ -2623,14 +2622,8 @@
"primitives" : []
},
{
- "name" : "NoAction",
- "id" : 38,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
- "id" : 39,
+ "id" : 38,
"runtime_data" : [
{
"name" : "max_hop",
@@ -3125,7 +3118,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
- "id" : 40,
+ "id" : 39,
"runtime_data" : [
{
"name" : "switch_id",
@@ -3185,13 +3178,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
- "id" : 41,
+ "id" : 40,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
- "id" : 42,
+ "id" : 41,
"runtime_data" : [],
"primitives" : [
{
@@ -3348,7 +3341,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
- "id" : 43,
+ "id" : 42,
"runtime_data" : [],
"primitives" : [
{
@@ -3473,7 +3466,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
- "id" : 44,
+ "id" : 43,
"runtime_data" : [],
"primitives" : [
{
@@ -3664,7 +3657,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
- "id" : 45,
+ "id" : 44,
"runtime_data" : [],
"primitives" : [
{
@@ -3834,7 +3827,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
- "id" : 46,
+ "id" : 45,
"runtime_data" : [],
"primitives" : [
{
@@ -4070,7 +4063,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
- "id" : 47,
+ "id" : 46,
"runtime_data" : [],
"primitives" : [
{
@@ -4274,7 +4267,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
- "id" : 48,
+ "id" : 47,
"runtime_data" : [],
"primitives" : [
{
@@ -4544,7 +4537,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
- "id" : 49,
+ "id" : 48,
"runtime_data" : [],
"primitives" : [
{
@@ -4669,7 +4662,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
- "id" : 50,
+ "id" : 49,
"runtime_data" : [],
"primitives" : [
{
@@ -4860,7 +4853,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
- "id" : 51,
+ "id" : 50,
"runtime_data" : [],
"primitives" : [
{
@@ -5019,7 +5012,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
- "id" : 52,
+ "id" : 51,
"runtime_data" : [],
"primitives" : [
{
@@ -5244,7 +5237,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
- "id" : 53,
+ "id" : 52,
"runtime_data" : [],
"primitives" : [
{
@@ -5448,7 +5441,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
- "id" : 54,
+ "id" : 53,
"runtime_data" : [],
"primitives" : [
{
@@ -5718,7 +5711,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
- "id" : 55,
+ "id" : 54,
"runtime_data" : [],
"primitives" : [
{
@@ -5956,7 +5949,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
- "id" : 56,
+ "id" : 55,
"runtime_data" : [],
"primitives" : [
{
@@ -6260,13 +6253,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
- "id" : 57,
+ "id" : 56,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
- "id" : 58,
+ "id" : 57,
"runtime_data" : [],
"primitives" : [
{
@@ -6391,7 +6384,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
- "id" : 59,
+ "id" : 58,
"runtime_data" : [],
"primitives" : [
{
@@ -6535,7 +6528,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
- "id" : 60,
+ "id" : 59,
"runtime_data" : [],
"primitives" : [
{
@@ -6713,7 +6706,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
- "id" : 61,
+ "id" : 60,
"runtime_data" : [],
"primitives" : [
{
@@ -6861,7 +6854,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
- "id" : 62,
+ "id" : 61,
"runtime_data" : [],
"primitives" : [
{
@@ -7043,7 +7036,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
- "id" : 63,
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -7244,7 +7237,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
- "id" : 64,
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -7479,7 +7472,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
- "id" : 65,
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -7604,7 +7597,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
- "id" : 66,
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -7763,7 +7756,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
- "id" : 67,
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -7941,7 +7934,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
- "id" : 68,
+ "id" : 67,
"runtime_data" : [],
"primitives" : [
{
@@ -8153,7 +8146,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
- "id" : 69,
+ "id" : 68,
"runtime_data" : [],
"primitives" : [
{
@@ -8335,7 +8328,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
- "id" : 70,
+ "id" : 69,
"runtime_data" : [],
"primitives" : [
{
@@ -8551,7 +8544,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
- "id" : 71,
+ "id" : 70,
"runtime_data" : [],
"primitives" : [
{
@@ -8786,7 +8779,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
- "id" : 72,
+ "id" : 71,
"runtime_data" : [],
"primitives" : [
{
@@ -9055,7 +9048,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 73,
+ "id" : 72,
"runtime_data" : [],
"primitives" : [
{
@@ -9096,7 +9089,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 74,
+ "id" : 73,
"runtime_data" : [],
"primitives" : [
{
@@ -9213,7 +9206,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 75,
+ "id" : 74,
"runtime_data" : [],
"primitives" : [
{
@@ -9311,7 +9304,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 76,
+ "id" : 75,
"runtime_data" : [],
"primitives" : [
{
@@ -9324,7 +9317,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 316,
+ "line" : 322,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -9332,6 +9325,28 @@
]
},
{
+ "name" : "FabricEgress.egress_next.drop",
+ "id" : 76,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "act_4",
"id" : 77,
"runtime_data" : [],
@@ -9414,7 +9429,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -9427,66 +9442,6 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_8",
- "id" : 81,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_9",
- "id" : 82,
- "runtime_data" : [],
- "primitives" : [
- {
"op" : "mark_to_drop",
"parameters" : [
{
@@ -9496,7 +9451,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -9504,8 +9459,8 @@
]
},
{
- "name" : "act_10",
- "id" : 83,
+ "name" : "act_8",
+ "id" : 81,
"runtime_data" : [],
"primitives" : [
{
@@ -9545,7 +9500,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
+ "line" : 375,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -9553,8 +9508,8 @@
]
},
{
- "name" : "act_11",
- "id" : 84,
+ "name" : "act_9",
+ "id" : 82,
"runtime_data" : [],
"primitives" : [
{
@@ -9567,7 +9522,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -9575,8 +9530,8 @@
]
},
{
- "name" : "act_12",
- "id" : 85,
+ "name" : "act_10",
+ "id" : 83,
"runtime_data" : [],
"primitives" : [
{
@@ -9616,7 +9571,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 373,
+ "line" : 379,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -9624,8 +9579,8 @@
]
},
{
- "name" : "act_13",
- "id" : 86,
+ "name" : "act_11",
+ "id" : 84,
"runtime_data" : [],
"primitives" : [
{
@@ -9654,8 +9609,8 @@
]
},
{
- "name" : "act_14",
- "id" : 87,
+ "name" : "act_12",
+ "id" : 85,
"runtime_data" : [],
"primitives" : [
{
@@ -9690,8 +9645,8 @@
]
},
{
- "name" : "act_15",
- "id" : 88,
+ "name" : "act_13",
+ "id" : 86,
"runtime_data" : [],
"primitives" : [
{
@@ -9739,8 +9694,8 @@
]
},
{
- "name" : "act_16",
- "id" : 89,
+ "name" : "act_14",
+ "id" : 87,
"runtime_data" : [],
"primitives" : [
{
@@ -9788,8 +9743,8 @@
]
},
{
- "name" : "act_17",
- "id" : 90,
+ "name" : "act_15",
+ "id" : 88,
"runtime_data" : [],
"primitives" : [
{
@@ -9837,8 +9792,8 @@
]
},
{
- "name" : "act_18",
- "id" : 91,
+ "name" : "act_16",
+ "id" : 89,
"runtime_data" : [],
"primitives" : [
{
@@ -10948,7 +10903,7 @@
"id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -10977,7 +10932,7 @@
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -10988,14 +10943,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [73],
+ "action_ids" : [72],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 73,
+ "action_id" : 72,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11006,7 +10961,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 343,
+ "line" : 355,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -11017,14 +10972,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [74],
+ "action_ids" : [73],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 74,
+ "action_id" : 73,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11035,7 +10990,7 @@
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 331,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -11059,15 +11014,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [76, 36],
- "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
- "base_default_next" : null,
+ "action_ids" : [74, 75, 76],
+ "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
+ "base_default_next" : "node_41",
"next_tables" : {
- "__HIT__" : "tbl_act_7",
- "__MISS__" : "tbl_act_8"
+ "FabricEgress.egress_next.push_vlan" : "node_41",
+ "FabricEgress.egress_next.pop_vlan" : "node_41",
+ "FabricEgress.egress_next.drop" : "node_41"
},
"default_entry" : {
- "action_id" : 36,
+ "action_id" : 76,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11076,29 +11032,12 @@
{
"name" : "tbl_act_7",
"id" : 22,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [80],
- "actions" : ["act_7"],
- "base_default_next" : "node_43",
- "next_tables" : {
- "act_7" : "node_43"
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 375,
+ "column" : 25,
+ "source_fragment" : "="
},
- "default_entry" : {
- "action_id" : 80,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_8",
- "id" : 23,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11120,13 +11059,13 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
- "id" : 24,
+ "name" : "tbl_act_8",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 360,
- "column" : 20,
- "source_fragment" : "push_vlan()"
+ "line" : 376,
+ "column" : 35,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -11135,14 +11074,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [75],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_46",
+ "action_ids" : [80],
+ "actions" : ["act_7"],
+ "base_default_next" : "node_49",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_46"
+ "act_7" : "node_49"
},
"default_entry" : {
- "action_id" : 75,
+ "action_id" : 80,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11150,11 +11089,11 @@
},
{
"name" : "tbl_act_9",
- "id" : 25,
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
- "column" : 25,
+ "line" : 379,
+ "column" : 29,
"source_fragment" : "="
},
"key" : [],
@@ -11166,9 +11105,9 @@
"direct_meters" : null,
"action_ids" : [83],
"actions" : ["act_10"],
- "base_default_next" : "node_48",
+ "base_default_next" : "node_47",
"next_tables" : {
- "act_10" : "node_48"
+ "act_10" : "node_47"
},
"default_entry" : {
"action_id" : 83,
@@ -11179,11 +11118,11 @@
},
{
"name" : "tbl_act_10",
- "id" : 26,
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
- "column" : 35,
+ "line" : 380,
+ "column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
@@ -11195,9 +11134,9 @@
"direct_meters" : null,
"action_ids" : [82],
"actions" : ["act_9"],
- "base_default_next" : "node_54",
+ "base_default_next" : "node_49",
"next_tables" : {
- "act_9" : "node_54"
+ "act_9" : "node_49"
},
"default_entry" : {
"action_id" : 82,
@@ -11207,66 +11146,8 @@
}
},
{
- "name" : "tbl_act_11",
- "id" : 27,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 373,
- "column" : 29,
- "source_fragment" : "="
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [85],
- "actions" : ["act_12"],
- "base_default_next" : "node_52",
- "next_tables" : {
- "act_12" : "node_52"
- },
- "default_entry" : {
- "action_id" : 85,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_12",
- "id" : 28,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 374,
- "column" : 39,
- "source_fragment" : "mark_to_drop(standard_metadata)"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [84],
- "actions" : ["act_11"],
- "base_default_next" : "node_54",
- "next_tables" : {
- "act_11" : "node_54"
- },
- "default_entry" : {
- "action_id" : 84,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 29,
+ "id" : 26,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -11305,12 +11186,12 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [39, 34],
+ "action_ids" : [38, 34],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_57",
+ "base_default_next" : "node_52",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_57",
- "nop" : "node_57"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_52",
+ "nop" : "node_52"
},
"default_entry" : {
"action_id" : 34,
@@ -11320,8 +11201,8 @@
}
},
{
- "name" : "tbl_act_13",
- "id" : 30,
+ "name" : "tbl_act_11",
+ "id" : 27,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11329,14 +11210,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [86],
- "actions" : ["act_13"],
+ "action_ids" : [84],
+ "actions" : ["act_11"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
- "act_13" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
+ "act_11" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 86,
+ "action_id" : 84,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11344,7 +11225,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 31,
+ "id" : 28,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -11365,12 +11246,12 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [40, 35],
+ "action_ids" : [39, 35],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_60",
+ "base_default_next" : "node_55",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_60",
- "nop" : "node_60"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_55",
+ "nop" : "node_55"
},
"default_entry" : {
"action_id" : 35,
@@ -11380,8 +11261,8 @@
}
},
{
- "name" : "tbl_act_14",
- "id" : 32,
+ "name" : "tbl_act_12",
+ "id" : 29,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -11395,14 +11276,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [87],
- "actions" : ["act_14"],
- "base_default_next" : "node_62",
+ "action_ids" : [85],
+ "actions" : ["act_12"],
+ "base_default_next" : "node_57",
"next_tables" : {
- "act_14" : "node_62"
+ "act_12" : "node_57"
},
"default_entry" : {
- "action_id" : 87,
+ "action_id" : 85,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11410,7 +11291,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 33,
+ "id" : 30,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -11431,7 +11312,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 37],
+ "action_ids" : [40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 36],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
@@ -11454,7 +11335,7 @@
"NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
- "action_id" : 37,
+ "action_id" : 36,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -11474,7 +11355,7 @@
}
],
"action_entry" : {
- "action_id" : 41,
+ "action_id" : 40,
"action_data" : []
},
"priority" : 1
@@ -11493,7 +11374,7 @@
}
],
"action_entry" : {
- "action_id" : 42,
+ "action_id" : 41,
"action_data" : []
},
"priority" : 2
@@ -11512,7 +11393,7 @@
}
],
"action_entry" : {
- "action_id" : 43,
+ "action_id" : 42,
"action_data" : []
},
"priority" : 3
@@ -11531,7 +11412,7 @@
}
],
"action_entry" : {
- "action_id" : 44,
+ "action_id" : 43,
"action_data" : []
},
"priority" : 4
@@ -11550,7 +11431,7 @@
}
],
"action_entry" : {
- "action_id" : 45,
+ "action_id" : 44,
"action_data" : []
},
"priority" : 5
@@ -11569,7 +11450,7 @@
}
],
"action_entry" : {
- "action_id" : 46,
+ "action_id" : 45,
"action_data" : []
},
"priority" : 6
@@ -11588,7 +11469,7 @@
}
],
"action_entry" : {
- "action_id" : 47,
+ "action_id" : 46,
"action_data" : []
},
"priority" : 7
@@ -11607,7 +11488,7 @@
}
],
"action_entry" : {
- "action_id" : 48,
+ "action_id" : 47,
"action_data" : []
},
"priority" : 8
@@ -11626,7 +11507,7 @@
}
],
"action_entry" : {
- "action_id" : 49,
+ "action_id" : 48,
"action_data" : []
},
"priority" : 9
@@ -11645,7 +11526,7 @@
}
],
"action_entry" : {
- "action_id" : 50,
+ "action_id" : 49,
"action_data" : []
},
"priority" : 10
@@ -11664,7 +11545,7 @@
}
],
"action_entry" : {
- "action_id" : 51,
+ "action_id" : 50,
"action_data" : []
},
"priority" : 11
@@ -11683,7 +11564,7 @@
}
],
"action_entry" : {
- "action_id" : 52,
+ "action_id" : 51,
"action_data" : []
},
"priority" : 12
@@ -11702,7 +11583,7 @@
}
],
"action_entry" : {
- "action_id" : 53,
+ "action_id" : 52,
"action_data" : []
},
"priority" : 13
@@ -11721,7 +11602,7 @@
}
],
"action_entry" : {
- "action_id" : 54,
+ "action_id" : 53,
"action_data" : []
},
"priority" : 14
@@ -11740,7 +11621,7 @@
}
],
"action_entry" : {
- "action_id" : 55,
+ "action_id" : 54,
"action_data" : []
},
"priority" : 15
@@ -11759,7 +11640,7 @@
}
],
"action_entry" : {
- "action_id" : 56,
+ "action_id" : 55,
"action_data" : []
},
"priority" : 16
@@ -11768,7 +11649,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 34,
+ "id" : 31,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -11789,30 +11670,30 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 38],
+ "action_ids" : [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 37],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
- "base_default_next" : "tbl_act_15",
+ "base_default_next" : "tbl_act_13",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_15",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_15",
- "NoAction" : "tbl_act_15"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_13",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_13",
+ "NoAction" : "tbl_act_13"
},
"default_entry" : {
- "action_id" : 38,
+ "action_id" : 37,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -11832,7 +11713,7 @@
}
],
"action_entry" : {
- "action_id" : 57,
+ "action_id" : 56,
"action_data" : []
},
"priority" : 1
@@ -11851,7 +11732,7 @@
}
],
"action_entry" : {
- "action_id" : 58,
+ "action_id" : 57,
"action_data" : []
},
"priority" : 2
@@ -11870,7 +11751,7 @@
}
],
"action_entry" : {
- "action_id" : 59,
+ "action_id" : 58,
"action_data" : []
},
"priority" : 3
@@ -11889,7 +11770,7 @@
}
],
"action_entry" : {
- "action_id" : 60,
+ "action_id" : 59,
"action_data" : []
},
"priority" : 4
@@ -11908,7 +11789,7 @@
}
],
"action_entry" : {
- "action_id" : 61,
+ "action_id" : 60,
"action_data" : []
},
"priority" : 5
@@ -11927,7 +11808,7 @@
}
],
"action_entry" : {
- "action_id" : 62,
+ "action_id" : 61,
"action_data" : []
},
"priority" : 6
@@ -11946,7 +11827,7 @@
}
],
"action_entry" : {
- "action_id" : 63,
+ "action_id" : 62,
"action_data" : []
},
"priority" : 7
@@ -11965,7 +11846,7 @@
}
],
"action_entry" : {
- "action_id" : 64,
+ "action_id" : 63,
"action_data" : []
},
"priority" : 8
@@ -11984,7 +11865,7 @@
}
],
"action_entry" : {
- "action_id" : 65,
+ "action_id" : 64,
"action_data" : []
},
"priority" : 9
@@ -12003,7 +11884,7 @@
}
],
"action_entry" : {
- "action_id" : 66,
+ "action_id" : 65,
"action_data" : []
},
"priority" : 10
@@ -12022,7 +11903,7 @@
}
],
"action_entry" : {
- "action_id" : 67,
+ "action_id" : 66,
"action_data" : []
},
"priority" : 11
@@ -12041,7 +11922,7 @@
}
],
"action_entry" : {
- "action_id" : 68,
+ "action_id" : 67,
"action_data" : []
},
"priority" : 12
@@ -12060,7 +11941,7 @@
}
],
"action_entry" : {
- "action_id" : 69,
+ "action_id" : 68,
"action_data" : []
},
"priority" : 13
@@ -12079,7 +11960,7 @@
}
],
"action_entry" : {
- "action_id" : 70,
+ "action_id" : 69,
"action_data" : []
},
"priority" : 14
@@ -12098,7 +11979,7 @@
}
],
"action_entry" : {
- "action_id" : 71,
+ "action_id" : 70,
"action_data" : []
},
"priority" : 15
@@ -12117,7 +11998,7 @@
}
],
"action_entry" : {
- "action_id" : 72,
+ "action_id" : 71,
"action_data" : []
},
"priority" : 16
@@ -12125,8 +12006,8 @@
]
},
{
- "name" : "tbl_act_15",
- "id" : 35,
+ "name" : "tbl_act_13",
+ "id" : 32,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -12140,22 +12021,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [89],
- "actions" : ["act_16"],
- "base_default_next" : "node_66",
+ "action_ids" : [87],
+ "actions" : ["act_14"],
+ "base_default_next" : "node_61",
"next_tables" : {
- "act_16" : "node_66"
+ "act_14" : "node_61"
},
"default_entry" : {
- "action_id" : 89,
+ "action_id" : 87,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_16",
- "id" : 36,
+ "name" : "tbl_act_14",
+ "id" : 33,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -12169,22 +12050,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [88],
- "actions" : ["act_15"],
- "base_default_next" : "node_68",
+ "action_ids" : [86],
+ "actions" : ["act_13"],
+ "base_default_next" : "node_63",
"next_tables" : {
- "act_15" : "node_68"
+ "act_13" : "node_63"
},
"default_entry" : {
- "action_id" : 88,
+ "action_id" : 86,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_17",
- "id" : 37,
+ "name" : "tbl_act_15",
+ "id" : 34,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -12198,22 +12079,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [90],
- "actions" : ["act_17"],
- "base_default_next" : "node_70",
+ "action_ids" : [88],
+ "actions" : ["act_15"],
+ "base_default_next" : "node_65",
"next_tables" : {
- "act_17" : "node_70"
+ "act_15" : "node_65"
},
"default_entry" : {
- "action_id" : 90,
+ "action_id" : 88,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_18",
- "id" : 38,
+ "name" : "tbl_act_16",
+ "id" : 35,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -12227,14 +12108,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [91],
- "actions" : ["act_18"],
+ "action_ids" : [89],
+ "actions" : ["act_16"],
"base_default_next" : null,
"next_tables" : {
- "act_18" : null
+ "act_16" : null
},
"default_entry" : {
- "action_id" : 91,
+ "action_id" : 89,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12307,7 +12188,7 @@
"id" : 12,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 335,
+ "line" : 347,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -12360,7 +12241,7 @@
"id" : 13,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 340,
+ "line" : 352,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -12386,7 +12267,7 @@
"id" : 14,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -12405,67 +12286,11 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_43",
+ "name" : "node_41",
"id" : 15,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 357,
- "column" : 16,
- "source_fragment" : "!egress_vlan.apply().hit"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "not",
- "left" : null,
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- }
- }
- }
- }
- },
- "true_next" : "node_44",
- "false_next" : "node_46"
- },
- {
- "name" : "node_44",
- "id" : 16,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 359,
- "column" : 20,
- "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "!=",
- "left" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x0ffe"
- }
- }
- },
- "true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_46"
- },
- {
- "name" : "node_46",
- "id" : 17,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 368,
+ "line" : 374,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -12480,15 +12305,15 @@
}
}
},
- "true_next" : "tbl_act_9",
- "false_next" : "node_50"
+ "true_next" : "tbl_act_7",
+ "false_next" : "node_45"
},
{
- "name" : "node_48",
- "id" : 18,
+ "name" : "node_43",
+ "id" : 16,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -12506,15 +12331,15 @@
}
}
},
- "true_next" : "tbl_act_10",
- "false_next" : "node_54"
+ "true_next" : "tbl_act_8",
+ "false_next" : "node_49"
},
{
- "name" : "node_50",
- "id" : 19,
+ "name" : "node_45",
+ "id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 372,
+ "line" : 378,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
},
@@ -12549,15 +12374,15 @@
}
}
},
- "true_next" : "tbl_act_11",
- "false_next" : "node_54"
+ "true_next" : "tbl_act_9",
+ "false_next" : "node_49"
},
{
- "name" : "node_52",
- "id" : 20,
+ "name" : "node_47",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -12575,12 +12400,12 @@
}
}
},
- "true_next" : "tbl_act_12",
- "false_next" : "node_54"
+ "true_next" : "tbl_act_10",
+ "false_next" : "node_49"
},
{
- "name" : "node_54",
- "id" : 21,
+ "name" : "node_49",
+ "id" : 19,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 102,
@@ -12656,11 +12481,11 @@
}
},
"false_next" : null,
- "true_next" : "node_55"
+ "true_next" : "node_50"
},
{
- "name" : "node_55",
- "id" : 22,
+ "name" : "node_50",
+ "id" : 20,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 106,
@@ -12689,11 +12514,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_57"
+ "false_next" : "node_52"
},
{
- "name" : "node_57",
- "id" : 23,
+ "name" : "node_52",
+ "id" : 21,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 110,
@@ -12712,11 +12537,11 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_13"
+ "true_next" : "tbl_act_11"
},
{
- "name" : "node_60",
- "id" : 24,
+ "name" : "node_55",
+ "id" : 22,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 419,
@@ -12744,12 +12569,12 @@
}
}
},
- "true_next" : "tbl_act_14",
- "false_next" : "node_62"
+ "true_next" : "tbl_act_12",
+ "false_next" : "node_57"
},
{
- "name" : "node_62",
- "id" : 25,
+ "name" : "node_57",
+ "id" : 23,
"expression" : {
"type" : "expression",
"value" : {
@@ -12772,8 +12597,8 @@
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
},
{
- "name" : "node_66",
- "id" : 26,
+ "name" : "node_61",
+ "id" : 24,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 427,
@@ -12791,12 +12616,12 @@
}
}
},
- "true_next" : "tbl_act_16",
- "false_next" : "node_68"
+ "true_next" : "tbl_act_14",
+ "false_next" : "node_63"
},
{
- "name" : "node_68",
- "id" : 27,
+ "name" : "node_63",
+ "id" : 25,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 430,
@@ -12814,12 +12639,12 @@
}
}
},
- "true_next" : "tbl_act_17",
- "false_next" : "node_70"
+ "true_next" : "tbl_act_15",
+ "false_next" : "node_65"
},
{
- "name" : "node_70",
- "id" : 28,
+ "name" : "node_65",
+ "id" : 26,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 433,
@@ -12838,7 +12663,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_18"
+ "true_next" : "tbl_act_16"
}
]
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
index a661e7a..add34cf 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
@@ -471,14 +471,17 @@
match_type: EXACT
}
action_refs {
+ id: 16807339
+ }
+ action_refs {
id: 16790030
}
action_refs {
- id: 16819938
+ id: 16787838
annotations: "@defaultonly"
scope: DEFAULT_ONLY
}
- const_default_action_id: 16819938
+ const_default_action_id: 16787838
direct_resource_ids: 318827144
size: 1024
}
@@ -612,7 +615,7 @@
preamble {
id: 16820765
name: "FabricIngress.acl.drop"
- alias: "drop"
+ alias: "acl.drop"
}
}
actions {
@@ -779,11 +782,25 @@
}
actions {
preamble {
+ id: 16807339
+ name: "FabricEgress.egress_next.push_vlan"
+ alias: "push_vlan"
+ }
+}
+actions {
+ preamble {
id: 16790030
name: "FabricEgress.egress_next.pop_vlan"
alias: "pop_vlan"
}
}
+actions {
+ preamble {
+ id: 16787838
+ name: "FabricEgress.egress_next.drop"
+ alias: "egress_next.drop"
+ }
+}
action_profiles {
preamble {
id: 285217164
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
index f5064b5..0f817fa 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
@@ -5,13 +5,12 @@
"id" : 0,
"fields" : [
["last_ipv4_dscp_0", 6, false],
+ ["tmp_0", 16, false],
["tmp_1", 16, false],
- ["tmp_2", 16, false],
- ["tmp_3", 4, false],
+ ["tmp_2", 4, false],
["tmp", 32, false],
- ["tmp_0", 32, false],
+ ["tmp_3", 32, false],
["spgw_tmp", 1, false],
- ["egress_next_tmp", 1, false],
["process_int_main_process_int_transit_hasReturned", 1, false],
["fabric_metadata_t._ip_eth_type0", 16, false],
["fabric_metadata_t._vlan_id1", 12, false],
@@ -52,7 +51,8 @@
["fabric_metadata_t._int_meta_new_words36", 8, false],
["fabric_metadata_t._int_meta_new_bytes37", 16, false],
["fabric_metadata_t._int_meta_ig_tstamp38", 32, false],
- ["fabric_metadata_t._int_meta_eg_tstamp39", 32, false]
+ ["fabric_metadata_t._int_meta_eg_tstamp39", 32, false],
+ ["_padding_0", 1, false]
]
},
{
@@ -648,7 +648,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "lookahead",
@@ -686,7 +686,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
}
]
},
@@ -707,7 +707,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -733,7 +733,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
@@ -843,7 +843,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_2"]
},
{
"type" : "lookahead",
@@ -869,7 +869,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_2"]
}
]
},
@@ -1530,7 +1530,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 313,
+ "line" : 314,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -5753,7 +5753,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
},
{
"type" : "expression",
@@ -5789,7 +5789,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
}
],
"source_info" : {
@@ -5814,7 +5814,7 @@
"primitives" : []
},
{
- "name" : "nop",
+ "name" : "NoAction",
"id" : 57,
"runtime_data" : [],
"primitives" : []
@@ -5826,14 +5826,8 @@
"primitives" : []
},
{
- "name" : "NoAction",
- "id" : 59,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
- "id" : 60,
+ "id" : 59,
"runtime_data" : [
{
"name" : "max_hop",
@@ -6328,7 +6322,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
- "id" : 61,
+ "id" : 60,
"runtime_data" : [
{
"name" : "switch_id",
@@ -6388,13 +6382,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
- "id" : 62,
+ "id" : 61,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
- "id" : 63,
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -6551,7 +6545,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
- "id" : 64,
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -6676,7 +6670,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
- "id" : 65,
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -6867,7 +6861,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
- "id" : 66,
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -7037,7 +7031,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
- "id" : 67,
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -7273,7 +7267,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
- "id" : 68,
+ "id" : 67,
"runtime_data" : [],
"primitives" : [
{
@@ -7477,7 +7471,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
- "id" : 69,
+ "id" : 68,
"runtime_data" : [],
"primitives" : [
{
@@ -7747,7 +7741,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
- "id" : 70,
+ "id" : 69,
"runtime_data" : [],
"primitives" : [
{
@@ -7872,7 +7866,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
- "id" : 71,
+ "id" : 70,
"runtime_data" : [],
"primitives" : [
{
@@ -8063,7 +8057,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
- "id" : 72,
+ "id" : 71,
"runtime_data" : [],
"primitives" : [
{
@@ -8222,7 +8216,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
- "id" : 73,
+ "id" : 72,
"runtime_data" : [],
"primitives" : [
{
@@ -8447,7 +8441,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
- "id" : 74,
+ "id" : 73,
"runtime_data" : [],
"primitives" : [
{
@@ -8651,7 +8645,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
- "id" : 75,
+ "id" : 74,
"runtime_data" : [],
"primitives" : [
{
@@ -8921,7 +8915,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
- "id" : 76,
+ "id" : 75,
"runtime_data" : [],
"primitives" : [
{
@@ -9159,7 +9153,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
- "id" : 77,
+ "id" : 76,
"runtime_data" : [],
"primitives" : [
{
@@ -9463,13 +9457,13 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
- "id" : 78,
+ "id" : 77,
"runtime_data" : [],
"primitives" : []
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
- "id" : 79,
+ "id" : 78,
"runtime_data" : [],
"primitives" : [
{
@@ -9594,7 +9588,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
- "id" : 80,
+ "id" : 79,
"runtime_data" : [],
"primitives" : [
{
@@ -9738,7 +9732,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
- "id" : 81,
+ "id" : 80,
"runtime_data" : [],
"primitives" : [
{
@@ -9916,7 +9910,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
- "id" : 82,
+ "id" : 81,
"runtime_data" : [],
"primitives" : [
{
@@ -10064,7 +10058,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
- "id" : 83,
+ "id" : 82,
"runtime_data" : [],
"primitives" : [
{
@@ -10246,7 +10240,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
- "id" : 84,
+ "id" : 83,
"runtime_data" : [],
"primitives" : [
{
@@ -10447,7 +10441,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
- "id" : 85,
+ "id" : 84,
"runtime_data" : [],
"primitives" : [
{
@@ -10682,7 +10676,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
- "id" : 86,
+ "id" : 85,
"runtime_data" : [],
"primitives" : [
{
@@ -10807,7 +10801,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
- "id" : 87,
+ "id" : 86,
"runtime_data" : [],
"primitives" : [
{
@@ -10966,7 +10960,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
- "id" : 88,
+ "id" : 87,
"runtime_data" : [],
"primitives" : [
{
@@ -11144,7 +11138,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
- "id" : 89,
+ "id" : 88,
"runtime_data" : [],
"primitives" : [
{
@@ -11356,7 +11350,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
- "id" : 90,
+ "id" : 89,
"runtime_data" : [],
"primitives" : [
{
@@ -11538,7 +11532,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
- "id" : 91,
+ "id" : 90,
"runtime_data" : [],
"primitives" : [
{
@@ -11754,7 +11748,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
- "id" : 92,
+ "id" : 91,
"runtime_data" : [],
"primitives" : [
{
@@ -11989,7 +11983,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
- "id" : 93,
+ "id" : 92,
"runtime_data" : [],
"primitives" : [
{
@@ -12258,7 +12252,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 94,
+ "id" : 93,
"runtime_data" : [],
"primitives" : [
{
@@ -12299,7 +12293,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 95,
+ "id" : 94,
"runtime_data" : [],
"primitives" : [
{
@@ -12416,7 +12410,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 96,
+ "id" : 95,
"runtime_data" : [],
"primitives" : [
{
@@ -12514,7 +12508,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 97,
+ "id" : 96,
"runtime_data" : [],
"primitives" : [
{
@@ -12527,7 +12521,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 316,
+ "line" : 322,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -12535,6 +12529,28 @@
]
},
{
+ "name" : "FabricEgress.egress_next.drop",
+ "id" : 97,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "FabricEgress.spgw.gtpu_encap",
"id" : 98,
"runtime_data" : [],
@@ -13209,7 +13225,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -13222,66 +13238,6 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_12",
- "id" : 103,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_13",
- "id" : 104,
- "runtime_data" : [],
- "primitives" : [
- {
"op" : "mark_to_drop",
"parameters" : [
{
@@ -13291,7 +13247,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -13299,8 +13255,8 @@
]
},
{
- "name" : "act_14",
- "id" : 105,
+ "name" : "act_12",
+ "id" : 103,
"runtime_data" : [],
"primitives" : [
{
@@ -13340,7 +13296,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
+ "line" : 375,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -13348,8 +13304,8 @@
]
},
{
- "name" : "act_15",
- "id" : 106,
+ "name" : "act_13",
+ "id" : 104,
"runtime_data" : [],
"primitives" : [
{
@@ -13362,7 +13318,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -13370,8 +13326,8 @@
]
},
{
- "name" : "act_16",
- "id" : 107,
+ "name" : "act_14",
+ "id" : 105,
"runtime_data" : [],
"primitives" : [
{
@@ -13411,7 +13367,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 373,
+ "line" : 379,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -13419,8 +13375,8 @@
]
},
{
- "name" : "act_17",
- "id" : 108,
+ "name" : "act_15",
+ "id" : 106,
"runtime_data" : [],
"primitives" : [
{
@@ -13445,8 +13401,8 @@
]
},
{
- "name" : "act_18",
- "id" : 109,
+ "name" : "act_16",
+ "id" : 107,
"runtime_data" : [],
"primitives" : [
{
@@ -13475,8 +13431,8 @@
]
},
{
- "name" : "act_19",
- "id" : 110,
+ "name" : "act_17",
+ "id" : 108,
"runtime_data" : [],
"primitives" : [
{
@@ -13511,8 +13467,8 @@
]
},
{
- "name" : "act_20",
- "id" : 111,
+ "name" : "act_18",
+ "id" : 109,
"runtime_data" : [],
"primitives" : [
{
@@ -13560,8 +13516,8 @@
]
},
{
- "name" : "act_21",
- "id" : 112,
+ "name" : "act_19",
+ "id" : 110,
"runtime_data" : [],
"primitives" : [
{
@@ -13609,8 +13565,8 @@
]
},
{
- "name" : "act_22",
- "id" : 113,
+ "name" : "act_20",
+ "id" : 111,
"runtime_data" : [],
"primitives" : [
{
@@ -13658,8 +13614,8 @@
]
},
{
- "name" : "act_23",
- "id" : 114,
+ "name" : "act_21",
+ "id" : 112,
"runtime_data" : [],
"primitives" : [
{
@@ -15427,7 +15383,7 @@
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -15456,7 +15412,7 @@
"id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -15467,14 +15423,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [94],
+ "action_ids" : [93],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 94,
+ "action_id" : 93,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15485,7 +15441,7 @@
"id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 343,
+ "line" : 355,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -15496,14 +15452,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [95],
+ "action_ids" : [94],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 95,
+ "action_id" : 94,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15514,7 +15470,7 @@
"id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 331,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -15538,15 +15494,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [97, 57],
- "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
- "base_default_next" : null,
+ "action_ids" : [95, 96, 97],
+ "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
+ "base_default_next" : "node_56",
"next_tables" : {
- "__HIT__" : "tbl_act_11",
- "__MISS__" : "tbl_act_12"
+ "FabricEgress.egress_next.push_vlan" : "node_56",
+ "FabricEgress.egress_next.pop_vlan" : "node_56",
+ "FabricEgress.egress_next.drop" : "node_56"
},
"default_entry" : {
- "action_id" : 57,
+ "action_id" : 97,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15555,29 +15512,12 @@
{
"name" : "tbl_act_11",
"id" : 32,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [102],
- "actions" : ["act_11"],
- "base_default_next" : "node_58",
- "next_tables" : {
- "act_11" : "node_58"
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 375,
+ "column" : 25,
+ "source_fragment" : "="
},
- "default_entry" : {
- "action_id" : 102,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_12",
- "id" : 33,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -15599,13 +15539,13 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
- "id" : 34,
+ "name" : "tbl_act_12",
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 360,
- "column" : 20,
- "source_fragment" : "push_vlan()"
+ "line" : 376,
+ "column" : 35,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -15614,14 +15554,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [96],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_61",
+ "action_ids" : [102],
+ "actions" : ["act_11"],
+ "base_default_next" : "node_64",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_61"
+ "act_11" : "node_64"
},
"default_entry" : {
- "action_id" : 96,
+ "action_id" : 102,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15629,11 +15569,11 @@
},
{
"name" : "tbl_act_13",
- "id" : 35,
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
- "column" : 25,
+ "line" : 379,
+ "column" : 29,
"source_fragment" : "="
},
"key" : [],
@@ -15645,9 +15585,9 @@
"direct_meters" : null,
"action_ids" : [105],
"actions" : ["act_14"],
- "base_default_next" : "node_63",
+ "base_default_next" : "node_62",
"next_tables" : {
- "act_14" : "node_63"
+ "act_14" : "node_62"
},
"default_entry" : {
"action_id" : 105,
@@ -15658,11 +15598,11 @@
},
{
"name" : "tbl_act_14",
- "id" : 36,
+ "id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
- "column" : 35,
+ "line" : 380,
+ "column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
@@ -15674,9 +15614,9 @@
"direct_meters" : null,
"action_ids" : [104],
"actions" : ["act_13"],
- "base_default_next" : "node_69",
+ "base_default_next" : "node_64",
"next_tables" : {
- "act_13" : "node_69"
+ "act_13" : "node_64"
},
"default_entry" : {
"action_id" : 104,
@@ -15686,13 +15626,13 @@
}
},
{
- "name" : "tbl_act_15",
- "id" : 37,
+ "name" : "tbl_spgw_gtpu_encap",
+ "id" : 36,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 373,
- "column" : 29,
- "source_fragment" : "="
+ "filename" : "include/control/spgw.p4",
+ "line" : 330,
+ "column" : 16,
+ "source_fragment" : "gtpu_encap()"
},
"key" : [],
"match_type" : "exact",
@@ -15701,27 +15641,27 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [107],
- "actions" : ["act_16"],
+ "action_ids" : [98],
+ "actions" : ["FabricEgress.spgw.gtpu_encap"],
"base_default_next" : "node_67",
"next_tables" : {
- "act_16" : "node_67"
+ "FabricEgress.spgw.gtpu_encap" : "node_67"
},
"default_entry" : {
- "action_id" : 107,
+ "action_id" : 98,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_16",
- "id" : 38,
+ "name" : "tbl_act_15",
+ "id" : 37,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 374,
- "column" : 39,
- "source_fragment" : "mark_to_drop(standard_metadata)"
+ "filename" : "include/control/spgw.p4",
+ "line" : 333,
+ "column" : 16,
+ "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
},
"key" : [],
"match_type" : "exact",
@@ -15744,66 +15684,8 @@
}
},
{
- "name" : "tbl_spgw_gtpu_encap",
- "id" : 39,
- "source_info" : {
- "filename" : "include/control/spgw.p4",
- "line" : 330,
- "column" : 16,
- "source_fragment" : "gtpu_encap()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [98],
- "actions" : ["FabricEgress.spgw.gtpu_encap"],
- "base_default_next" : "node_72",
- "next_tables" : {
- "FabricEgress.spgw.gtpu_encap" : "node_72"
- },
- "default_entry" : {
- "action_id" : 98,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_17",
- "id" : 40,
- "source_info" : {
- "filename" : "include/control/spgw.p4",
- "line" : 333,
- "column" : 16,
- "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [108],
- "actions" : ["act_17"],
- "base_default_next" : "node_74",
- "next_tables" : {
- "act_17" : "node_74"
- },
- "default_entry" : {
- "action_id" : 108,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 41,
+ "id" : 38,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -15842,12 +15724,12 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [60, 55],
+ "action_ids" : [59, 55],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_77",
+ "base_default_next" : "node_72",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_77",
- "nop" : "node_77"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_72",
+ "nop" : "node_72"
},
"default_entry" : {
"action_id" : 55,
@@ -15857,8 +15739,8 @@
}
},
{
- "name" : "tbl_act_18",
- "id" : 42,
+ "name" : "tbl_act_16",
+ "id" : 39,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -15866,14 +15748,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [109],
- "actions" : ["act_18"],
+ "action_ids" : [107],
+ "actions" : ["act_16"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
- "act_18" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
+ "act_16" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 109,
+ "action_id" : 107,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15881,7 +15763,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 43,
+ "id" : 40,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -15902,12 +15784,12 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [61, 56],
+ "action_ids" : [60, 56],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_80",
+ "base_default_next" : "node_75",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_80",
- "nop" : "node_80"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_75",
+ "nop" : "node_75"
},
"default_entry" : {
"action_id" : 56,
@@ -15917,8 +15799,8 @@
}
},
{
- "name" : "tbl_act_19",
- "id" : 44,
+ "name" : "tbl_act_17",
+ "id" : 41,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -15932,14 +15814,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [110],
- "actions" : ["act_19"],
- "base_default_next" : "node_82",
+ "action_ids" : [108],
+ "actions" : ["act_17"],
+ "base_default_next" : "node_77",
"next_tables" : {
- "act_19" : "node_82"
+ "act_17" : "node_77"
},
"default_entry" : {
- "action_id" : 110,
+ "action_id" : 108,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15947,7 +15829,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 45,
+ "id" : 42,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -15968,7 +15850,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 58],
+ "action_ids" : [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 57],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15", "NoAction"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
"next_tables" : {
@@ -15991,7 +15873,7 @@
"NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
},
"default_entry" : {
- "action_id" : 58,
+ "action_id" : 57,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -16011,7 +15893,7 @@
}
],
"action_entry" : {
- "action_id" : 62,
+ "action_id" : 61,
"action_data" : []
},
"priority" : 1
@@ -16030,7 +15912,7 @@
}
],
"action_entry" : {
- "action_id" : 63,
+ "action_id" : 62,
"action_data" : []
},
"priority" : 2
@@ -16049,7 +15931,7 @@
}
],
"action_entry" : {
- "action_id" : 64,
+ "action_id" : 63,
"action_data" : []
},
"priority" : 3
@@ -16068,7 +15950,7 @@
}
],
"action_entry" : {
- "action_id" : 65,
+ "action_id" : 64,
"action_data" : []
},
"priority" : 4
@@ -16087,7 +15969,7 @@
}
],
"action_entry" : {
- "action_id" : 66,
+ "action_id" : 65,
"action_data" : []
},
"priority" : 5
@@ -16106,7 +15988,7 @@
}
],
"action_entry" : {
- "action_id" : 67,
+ "action_id" : 66,
"action_data" : []
},
"priority" : 6
@@ -16125,7 +16007,7 @@
}
],
"action_entry" : {
- "action_id" : 68,
+ "action_id" : 67,
"action_data" : []
},
"priority" : 7
@@ -16144,7 +16026,7 @@
}
],
"action_entry" : {
- "action_id" : 69,
+ "action_id" : 68,
"action_data" : []
},
"priority" : 8
@@ -16163,7 +16045,7 @@
}
],
"action_entry" : {
- "action_id" : 70,
+ "action_id" : 69,
"action_data" : []
},
"priority" : 9
@@ -16182,7 +16064,7 @@
}
],
"action_entry" : {
- "action_id" : 71,
+ "action_id" : 70,
"action_data" : []
},
"priority" : 10
@@ -16201,7 +16083,7 @@
}
],
"action_entry" : {
- "action_id" : 72,
+ "action_id" : 71,
"action_data" : []
},
"priority" : 11
@@ -16220,7 +16102,7 @@
}
],
"action_entry" : {
- "action_id" : 73,
+ "action_id" : 72,
"action_data" : []
},
"priority" : 12
@@ -16239,7 +16121,7 @@
}
],
"action_entry" : {
- "action_id" : 74,
+ "action_id" : 73,
"action_data" : []
},
"priority" : 13
@@ -16258,7 +16140,7 @@
}
],
"action_entry" : {
- "action_id" : 75,
+ "action_id" : 74,
"action_data" : []
},
"priority" : 14
@@ -16277,7 +16159,7 @@
}
],
"action_entry" : {
- "action_id" : 76,
+ "action_id" : 75,
"action_data" : []
},
"priority" : 15
@@ -16296,7 +16178,7 @@
}
],
"action_entry" : {
- "action_id" : 77,
+ "action_id" : 76,
"action_data" : []
},
"priority" : 16
@@ -16305,7 +16187,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 46,
+ "id" : 43,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -16326,30 +16208,30 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 59],
+ "action_ids" : [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 58],
"actions" : ["FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15", "NoAction"],
- "base_default_next" : "tbl_act_20",
+ "base_default_next" : "tbl_act_18",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_20",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_20",
- "NoAction" : "tbl_act_20"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_18",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_18",
+ "NoAction" : "tbl_act_18"
},
"default_entry" : {
- "action_id" : 59,
+ "action_id" : 58,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -16369,7 +16251,7 @@
}
],
"action_entry" : {
- "action_id" : 78,
+ "action_id" : 77,
"action_data" : []
},
"priority" : 1
@@ -16388,7 +16270,7 @@
}
],
"action_entry" : {
- "action_id" : 79,
+ "action_id" : 78,
"action_data" : []
},
"priority" : 2
@@ -16407,7 +16289,7 @@
}
],
"action_entry" : {
- "action_id" : 80,
+ "action_id" : 79,
"action_data" : []
},
"priority" : 3
@@ -16426,7 +16308,7 @@
}
],
"action_entry" : {
- "action_id" : 81,
+ "action_id" : 80,
"action_data" : []
},
"priority" : 4
@@ -16445,7 +16327,7 @@
}
],
"action_entry" : {
- "action_id" : 82,
+ "action_id" : 81,
"action_data" : []
},
"priority" : 5
@@ -16464,7 +16346,7 @@
}
],
"action_entry" : {
- "action_id" : 83,
+ "action_id" : 82,
"action_data" : []
},
"priority" : 6
@@ -16483,7 +16365,7 @@
}
],
"action_entry" : {
- "action_id" : 84,
+ "action_id" : 83,
"action_data" : []
},
"priority" : 7
@@ -16502,7 +16384,7 @@
}
],
"action_entry" : {
- "action_id" : 85,
+ "action_id" : 84,
"action_data" : []
},
"priority" : 8
@@ -16521,7 +16403,7 @@
}
],
"action_entry" : {
- "action_id" : 86,
+ "action_id" : 85,
"action_data" : []
},
"priority" : 9
@@ -16540,7 +16422,7 @@
}
],
"action_entry" : {
- "action_id" : 87,
+ "action_id" : 86,
"action_data" : []
},
"priority" : 10
@@ -16559,7 +16441,7 @@
}
],
"action_entry" : {
- "action_id" : 88,
+ "action_id" : 87,
"action_data" : []
},
"priority" : 11
@@ -16578,7 +16460,7 @@
}
],
"action_entry" : {
- "action_id" : 89,
+ "action_id" : 88,
"action_data" : []
},
"priority" : 12
@@ -16597,7 +16479,7 @@
}
],
"action_entry" : {
- "action_id" : 90,
+ "action_id" : 89,
"action_data" : []
},
"priority" : 13
@@ -16616,7 +16498,7 @@
}
],
"action_entry" : {
- "action_id" : 91,
+ "action_id" : 90,
"action_data" : []
},
"priority" : 14
@@ -16635,7 +16517,7 @@
}
],
"action_entry" : {
- "action_id" : 92,
+ "action_id" : 91,
"action_data" : []
},
"priority" : 15
@@ -16654,7 +16536,7 @@
}
],
"action_entry" : {
- "action_id" : 93,
+ "action_id" : 92,
"action_data" : []
},
"priority" : 16
@@ -16662,8 +16544,8 @@
]
},
{
- "name" : "tbl_act_20",
- "id" : 47,
+ "name" : "tbl_act_18",
+ "id" : 44,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -16677,22 +16559,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [112],
- "actions" : ["act_21"],
- "base_default_next" : "node_86",
+ "action_ids" : [110],
+ "actions" : ["act_19"],
+ "base_default_next" : "node_81",
"next_tables" : {
- "act_21" : "node_86"
+ "act_19" : "node_81"
},
"default_entry" : {
- "action_id" : 112,
+ "action_id" : 110,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_21",
- "id" : 48,
+ "name" : "tbl_act_19",
+ "id" : 45,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -16706,22 +16588,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [111],
- "actions" : ["act_20"],
- "base_default_next" : "node_88",
+ "action_ids" : [109],
+ "actions" : ["act_18"],
+ "base_default_next" : "node_83",
"next_tables" : {
- "act_20" : "node_88"
+ "act_18" : "node_83"
},
"default_entry" : {
- "action_id" : 111,
+ "action_id" : 109,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_22",
- "id" : 49,
+ "name" : "tbl_act_20",
+ "id" : 46,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -16735,22 +16617,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [113],
- "actions" : ["act_22"],
- "base_default_next" : "node_90",
+ "action_ids" : [111],
+ "actions" : ["act_20"],
+ "base_default_next" : "node_85",
"next_tables" : {
- "act_22" : "node_90"
+ "act_20" : "node_85"
},
"default_entry" : {
- "action_id" : 113,
+ "action_id" : 111,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_23",
- "id" : 50,
+ "name" : "tbl_act_21",
+ "id" : 47,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -16764,14 +16646,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [114],
- "actions" : ["act_23"],
+ "action_ids" : [112],
+ "actions" : ["act_21"],
"base_default_next" : null,
"next_tables" : {
- "act_23" : null
+ "act_21" : null
},
"default_entry" : {
- "action_id" : 114,
+ "action_id" : 112,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16844,7 +16726,7 @@
"id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 335,
+ "line" : 347,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -16897,7 +16779,7 @@
"id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 340,
+ "line" : 352,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -16923,7 +16805,7 @@
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -16942,67 +16824,11 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_58",
+ "name" : "node_56",
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 357,
- "column" : 16,
- "source_fragment" : "!egress_vlan.apply().hit"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "not",
- "left" : null,
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- }
- }
- }
- }
- },
- "true_next" : "node_59",
- "false_next" : "node_61"
- },
- {
- "name" : "node_59",
- "id" : 21,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 359,
- "column" : 20,
- "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "!=",
- "left" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x0ffe"
- }
- }
- },
- "true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_61"
- },
- {
- "name" : "node_61",
- "id" : 22,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 368,
+ "line" : 374,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -17017,15 +16843,15 @@
}
}
},
- "true_next" : "tbl_act_13",
- "false_next" : "node_65"
+ "true_next" : "tbl_act_11",
+ "false_next" : "node_60"
},
{
- "name" : "node_63",
- "id" : 23,
+ "name" : "node_58",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -17043,15 +16869,15 @@
}
}
},
- "true_next" : "tbl_act_14",
- "false_next" : "node_69"
+ "true_next" : "tbl_act_12",
+ "false_next" : "node_64"
},
{
- "name" : "node_65",
- "id" : 24,
+ "name" : "node_60",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 372,
+ "line" : 378,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
},
@@ -17086,15 +16912,15 @@
}
}
},
- "true_next" : "tbl_act_15",
- "false_next" : "node_69"
+ "true_next" : "tbl_act_13",
+ "false_next" : "node_64"
},
{
- "name" : "node_67",
- "id" : 25,
+ "name" : "node_62",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -17112,12 +16938,12 @@
}
}
},
- "true_next" : "tbl_act_16",
- "false_next" : "node_69"
+ "true_next" : "tbl_act_14",
+ "false_next" : "node_64"
},
{
- "name" : "node_69",
- "id" : 26,
+ "name" : "node_64",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 328,
@@ -17145,12 +16971,12 @@
}
}
},
- "true_next" : "node_70",
- "false_next" : "node_74"
+ "true_next" : "node_65",
+ "false_next" : "node_69"
},
{
- "name" : "node_70",
- "id" : 27,
+ "name" : "node_65",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 329,
@@ -17179,11 +17005,11 @@
}
},
"true_next" : "tbl_spgw_gtpu_encap",
- "false_next" : "node_72"
+ "false_next" : "node_67"
},
{
- "name" : "node_72",
- "id" : 28,
+ "name" : "node_67",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 332,
@@ -17211,12 +17037,12 @@
}
}
},
- "true_next" : "tbl_act_17",
- "false_next" : "node_74"
+ "true_next" : "tbl_act_15",
+ "false_next" : "node_69"
},
{
- "name" : "node_74",
- "id" : 29,
+ "name" : "node_69",
+ "id" : 27,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 102,
@@ -17292,11 +17118,11 @@
}
},
"false_next" : null,
- "true_next" : "node_75"
+ "true_next" : "node_70"
},
{
- "name" : "node_75",
- "id" : 30,
+ "name" : "node_70",
+ "id" : 28,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 106,
@@ -17325,11 +17151,11 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_77"
+ "false_next" : "node_72"
},
{
- "name" : "node_77",
- "id" : 31,
+ "name" : "node_72",
+ "id" : 29,
"source_info" : {
"filename" : "include/int/int_main.p4",
"line" : 110,
@@ -17348,11 +17174,11 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_18"
+ "true_next" : "tbl_act_16"
},
{
- "name" : "node_80",
- "id" : 32,
+ "name" : "node_75",
+ "id" : 30,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 419,
@@ -17380,12 +17206,12 @@
}
}
},
- "true_next" : "tbl_act_19",
- "false_next" : "node_82"
+ "true_next" : "tbl_act_17",
+ "false_next" : "node_77"
},
{
- "name" : "node_82",
- "id" : 33,
+ "name" : "node_77",
+ "id" : 31,
"expression" : {
"type" : "expression",
"value" : {
@@ -17408,8 +17234,8 @@
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
},
{
- "name" : "node_86",
- "id" : 34,
+ "name" : "node_81",
+ "id" : 32,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 427,
@@ -17427,12 +17253,12 @@
}
}
},
- "true_next" : "tbl_act_21",
- "false_next" : "node_88"
+ "true_next" : "tbl_act_19",
+ "false_next" : "node_83"
},
{
- "name" : "node_88",
- "id" : 35,
+ "name" : "node_83",
+ "id" : 33,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 430,
@@ -17450,12 +17276,12 @@
}
}
},
- "true_next" : "tbl_act_22",
- "false_next" : "node_90"
+ "true_next" : "tbl_act_20",
+ "false_next" : "node_85"
},
{
- "name" : "node_90",
- "id" : 36,
+ "name" : "node_85",
+ "id" : 34,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 433,
@@ -17474,7 +17300,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_23"
+ "true_next" : "tbl_act_21"
}
]
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
index 100c35a..c658bdd7 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
@@ -574,14 +574,17 @@
match_type: EXACT
}
action_refs {
+ id: 16807339
+ }
+ action_refs {
id: 16790030
}
action_refs {
- id: 16819938
+ id: 16787838
annotations: "@defaultonly"
scope: DEFAULT_ONLY
}
- const_default_action_id: 16819938
+ const_default_action_id: 16787838
direct_resource_ids: 318827144
size: 1024
}
@@ -722,7 +725,7 @@
preamble {
id: 16820765
name: "FabricIngress.acl.drop"
- alias: "drop"
+ alias: "acl.drop"
}
}
actions {
@@ -1014,11 +1017,25 @@
}
actions {
preamble {
+ id: 16807339
+ name: "FabricEgress.egress_next.push_vlan"
+ alias: "push_vlan"
+ }
+}
+actions {
+ preamble {
id: 16790030
name: "FabricEgress.egress_next.pop_vlan"
alias: "pop_vlan"
}
}
+actions {
+ preamble {
+ id: 16787838
+ name: "FabricEgress.egress_next.drop"
+ alias: "egress_next.drop"
+ }
+}
action_profiles {
preamble {
id: 285217164
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
index 036ea1d..8f5381e 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
@@ -4,13 +4,12 @@
"name" : "scalars_0",
"id" : 0,
"fields" : [
+ ["tmp_0", 16, false],
["tmp_1", 16, false],
- ["tmp_2", 16, false],
- ["tmp_3", 4, false],
+ ["tmp_2", 4, false],
["tmp", 32, false],
- ["tmp_0", 32, false],
+ ["tmp_3", 32, false],
["spgw_tmp", 1, false],
- ["egress_next_tmp", 1, false],
["fabric_metadata_t._ip_eth_type0", 16, false],
["fabric_metadata_t._vlan_id1", 12, false],
["fabric_metadata_t._vlan_pri2", 3, false],
@@ -43,7 +42,7 @@
["fabric_metadata_t._spgw_needs_gtpu_encap29", 1, false],
["fabric_metadata_t._spgw_needs_gtpu_decap30", 1, false],
["fabric_metadata_t._spgw_skip_egress_pdr_ctr31", 1, false],
- ["_padding_0", 2, false]
+ ["_padding_0", 3, false]
]
},
{
@@ -464,7 +463,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "lookahead",
@@ -502,7 +501,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
}
]
},
@@ -523,7 +522,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -549,7 +548,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
@@ -659,7 +658,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_2"]
},
{
"type" : "lookahead",
@@ -685,7 +684,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_3"]
+ "value" : ["scalars", "tmp_2"]
}
]
},
@@ -1193,7 +1192,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 313,
+ "line" : 314,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -5374,7 +5373,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
},
{
"type" : "expression",
@@ -5410,7 +5409,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp_3"]
}
],
"source_info" : {
@@ -5423,14 +5422,8 @@
]
},
{
- "name" : "nop",
- "id" : 53,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 54,
+ "id" : 53,
"runtime_data" : [],
"primitives" : [
{
@@ -5471,7 +5464,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 55,
+ "id" : 54,
"runtime_data" : [],
"primitives" : [
{
@@ -5588,7 +5581,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 56,
+ "id" : 55,
"runtime_data" : [],
"primitives" : [
{
@@ -5686,7 +5679,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 57,
+ "id" : 56,
"runtime_data" : [],
"primitives" : [
{
@@ -5699,7 +5692,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 316,
+ "line" : 322,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -5707,6 +5700,28 @@
]
},
{
+ "name" : "FabricEgress.egress_next.drop",
+ "id" : 57,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "FabricEgress.spgw.gtpu_encap",
"id" : 58,
"runtime_data" : [],
@@ -6381,7 +6396,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -6394,66 +6409,6 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_12",
- "id" : 63,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_13",
- "id" : 64,
- "runtime_data" : [],
- "primitives" : [
- {
"op" : "mark_to_drop",
"parameters" : [
{
@@ -6463,7 +6418,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -6471,8 +6426,8 @@
]
},
{
- "name" : "act_14",
- "id" : 65,
+ "name" : "act_12",
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
@@ -6512,7 +6467,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
+ "line" : 375,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -6520,8 +6475,8 @@
]
},
{
- "name" : "act_15",
- "id" : 66,
+ "name" : "act_13",
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -6534,7 +6489,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -6542,8 +6497,8 @@
]
},
{
- "name" : "act_16",
- "id" : 67,
+ "name" : "act_14",
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
@@ -6583,7 +6538,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 373,
+ "line" : 379,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -6591,8 +6546,8 @@
]
},
{
- "name" : "act_17",
- "id" : 68,
+ "name" : "act_15",
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -8300,7 +8255,7 @@
"id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -8329,7 +8284,7 @@
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -8340,14 +8295,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [54],
+ "action_ids" : [53],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 54,
+ "action_id" : 53,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -8358,7 +8313,7 @@
"id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 343,
+ "line" : 355,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -8369,14 +8324,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [55],
+ "action_ids" : [54],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 55,
+ "action_id" : 54,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -8387,7 +8342,7 @@
"id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 331,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -8411,15 +8366,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [57, 53],
- "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
- "base_default_next" : null,
+ "action_ids" : [55, 56, 57],
+ "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
+ "base_default_next" : "node_55",
"next_tables" : {
- "__HIT__" : "tbl_act_11",
- "__MISS__" : "tbl_act_12"
+ "FabricEgress.egress_next.push_vlan" : "node_55",
+ "FabricEgress.egress_next.pop_vlan" : "node_55",
+ "FabricEgress.egress_next.drop" : "node_55"
},
"default_entry" : {
- "action_id" : 53,
+ "action_id" : 57,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -8428,29 +8384,12 @@
{
"name" : "tbl_act_11",
"id" : 31,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [62],
- "actions" : ["act_11"],
- "base_default_next" : "node_57",
- "next_tables" : {
- "act_11" : "node_57"
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 375,
+ "column" : 25,
+ "source_fragment" : "="
},
- "default_entry" : {
- "action_id" : 62,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_12",
- "id" : 32,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -8472,13 +8411,13 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
- "id" : 33,
+ "name" : "tbl_act_12",
+ "id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 360,
- "column" : 20,
- "source_fragment" : "push_vlan()"
+ "line" : 376,
+ "column" : 35,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -8487,14 +8426,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [56],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_60",
+ "action_ids" : [62],
+ "actions" : ["act_11"],
+ "base_default_next" : "node_63",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_60"
+ "act_11" : "node_63"
},
"default_entry" : {
- "action_id" : 56,
+ "action_id" : 62,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -8502,11 +8441,11 @@
},
{
"name" : "tbl_act_13",
- "id" : 34,
+ "id" : 33,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
- "column" : 25,
+ "line" : 379,
+ "column" : 29,
"source_fragment" : "="
},
"key" : [],
@@ -8518,9 +8457,9 @@
"direct_meters" : null,
"action_ids" : [65],
"actions" : ["act_14"],
- "base_default_next" : "node_62",
+ "base_default_next" : "node_61",
"next_tables" : {
- "act_14" : "node_62"
+ "act_14" : "node_61"
},
"default_entry" : {
"action_id" : 65,
@@ -8531,11 +8470,11 @@
},
{
"name" : "tbl_act_14",
- "id" : 35,
+ "id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
- "column" : 35,
+ "line" : 380,
+ "column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
@@ -8547,9 +8486,9 @@
"direct_meters" : null,
"action_ids" : [64],
"actions" : ["act_13"],
- "base_default_next" : "node_68",
+ "base_default_next" : "node_63",
"next_tables" : {
- "act_13" : "node_68"
+ "act_13" : "node_63"
},
"default_entry" : {
"action_id" : 64,
@@ -8559,66 +8498,8 @@
}
},
{
- "name" : "tbl_act_15",
- "id" : 36,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 373,
- "column" : 29,
- "source_fragment" : "="
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [67],
- "actions" : ["act_16"],
- "base_default_next" : "node_66",
- "next_tables" : {
- "act_16" : "node_66"
- },
- "default_entry" : {
- "action_id" : 67,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_16",
- "id" : 37,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 374,
- "column" : 39,
- "source_fragment" : "mark_to_drop(standard_metadata)"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [66],
- "actions" : ["act_15"],
- "base_default_next" : "node_68",
- "next_tables" : {
- "act_15" : "node_68"
- },
- "default_entry" : {
- "action_id" : 66,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_spgw_gtpu_encap",
- "id" : 38,
+ "id" : 35,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 330,
@@ -8634,9 +8515,9 @@
"direct_meters" : null,
"action_ids" : [58],
"actions" : ["FabricEgress.spgw.gtpu_encap"],
- "base_default_next" : "node_71",
+ "base_default_next" : "node_66",
"next_tables" : {
- "FabricEgress.spgw.gtpu_encap" : "node_71"
+ "FabricEgress.spgw.gtpu_encap" : "node_66"
},
"default_entry" : {
"action_id" : 58,
@@ -8646,8 +8527,8 @@
}
},
{
- "name" : "tbl_act_17",
- "id" : 39,
+ "name" : "tbl_act_15",
+ "id" : 36,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 333,
@@ -8661,14 +8542,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [68],
- "actions" : ["act_17"],
+ "action_ids" : [66],
+ "actions" : ["act_15"],
"base_default_next" : null,
"next_tables" : {
- "act_17" : null
+ "act_15" : null
},
"default_entry" : {
- "action_id" : 68,
+ "action_id" : 66,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -8741,7 +8622,7 @@
"id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 335,
+ "line" : 347,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -8794,7 +8675,7 @@
"id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 340,
+ "line" : 352,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -8820,7 +8701,7 @@
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -8839,67 +8720,11 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_57",
+ "name" : "node_55",
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 357,
- "column" : 16,
- "source_fragment" : "!egress_vlan.apply().hit"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "not",
- "left" : null,
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- }
- }
- }
- }
- },
- "true_next" : "node_58",
- "false_next" : "node_60"
- },
- {
- "name" : "node_58",
- "id" : 21,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 359,
- "column" : 20,
- "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "!=",
- "left" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t._vlan_id1"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x0ffe"
- }
- }
- },
- "true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_60"
- },
- {
- "name" : "node_60",
- "id" : 22,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 368,
+ "line" : 374,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -8914,15 +8739,15 @@
}
}
},
- "true_next" : "tbl_act_13",
- "false_next" : "node_64"
+ "true_next" : "tbl_act_11",
+ "false_next" : "node_59"
},
{
- "name" : "node_62",
- "id" : 23,
+ "name" : "node_57",
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -8940,15 +8765,15 @@
}
}
},
- "true_next" : "tbl_act_14",
- "false_next" : "node_68"
+ "true_next" : "tbl_act_12",
+ "false_next" : "node_63"
},
{
- "name" : "node_64",
- "id" : 24,
+ "name" : "node_59",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 372,
+ "line" : 378,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
},
@@ -8983,15 +8808,15 @@
}
}
},
- "true_next" : "tbl_act_15",
- "false_next" : "node_68"
+ "true_next" : "tbl_act_13",
+ "false_next" : "node_63"
},
{
- "name" : "node_66",
- "id" : 25,
+ "name" : "node_61",
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -9009,12 +8834,12 @@
}
}
},
- "true_next" : "tbl_act_16",
- "false_next" : "node_68"
+ "true_next" : "tbl_act_14",
+ "false_next" : "node_63"
},
{
- "name" : "node_68",
- "id" : 26,
+ "name" : "node_63",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 328,
@@ -9043,11 +8868,11 @@
}
},
"false_next" : null,
- "true_next" : "node_69"
+ "true_next" : "node_64"
},
{
- "name" : "node_69",
- "id" : 27,
+ "name" : "node_64",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 329,
@@ -9076,11 +8901,11 @@
}
},
"true_next" : "tbl_spgw_gtpu_encap",
- "false_next" : "node_71"
+ "false_next" : "node_66"
},
{
- "name" : "node_71",
- "id" : 28,
+ "name" : "node_66",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/spgw.p4",
"line" : 332,
@@ -9109,7 +8934,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_17"
+ "true_next" : "tbl_act_15"
}
]
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
index 13a2236..aaee8be 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
@@ -485,14 +485,17 @@
match_type: EXACT
}
action_refs {
+ id: 16807339
+ }
+ action_refs {
id: 16790030
}
action_refs {
- id: 16819938
+ id: 16787838
annotations: "@defaultonly"
scope: DEFAULT_ONLY
}
- const_default_action_id: 16819938
+ const_default_action_id: 16787838
direct_resource_ids: 318827144
size: 1024
}
@@ -626,7 +629,7 @@
preamble {
id: 16820765
name: "FabricIngress.acl.drop"
- alias: "drop"
+ alias: "acl.drop"
}
}
actions {
@@ -879,11 +882,25 @@
}
actions {
preamble {
+ id: 16807339
+ name: "FabricEgress.egress_next.push_vlan"
+ alias: "push_vlan"
+ }
+}
+actions {
+ preamble {
id: 16790030
name: "FabricEgress.egress_next.pop_vlan"
alias: "pop_vlan"
}
}
+actions {
+ preamble {
+ id: 16787838
+ name: "FabricEgress.egress_next.drop"
+ alias: "egress_next.drop"
+ }
+}
action_profiles {
preamble {
id: 285217164
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
index 2143288..f6c42ee 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
@@ -4,12 +4,11 @@
"name" : "scalars_0",
"id" : 0,
"fields" : [
+ ["tmp", 16, false],
["tmp_0", 16, false],
- ["tmp_1", 16, false],
- ["tmp_2", 4, false],
- ["tmp", 32, false],
+ ["tmp_1", 4, false],
+ ["tmp_2", 32, false],
["tmp_3", 32, false],
- ["egress_next_tmp", 1, false],
["fabric_metadata_t.ip_eth_type", 16, false],
["fabric_metadata_t.vlan_id", 12, false],
["fabric_metadata_t.vlan_pri", 3, false],
@@ -26,7 +25,8 @@
["fabric_metadata_t.l4_sport", 16, false],
["fabric_metadata_t.l4_dport", 16, false],
["fabric_metadata_t.ipv4_src_addr", 32, false],
- ["fabric_metadata_t.ipv4_dst_addr", 32, false]
+ ["fabric_metadata_t.ipv4_dst_addr", 32, false],
+ ["_padding_0", 1, false]
]
},
{
@@ -376,7 +376,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp"]
},
{
"type" : "lookahead",
@@ -414,7 +414,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_0"]
+ "value" : ["scalars", "tmp"]
}
]
},
@@ -435,7 +435,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
},
{
"type" : "lookahead",
@@ -461,7 +461,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_1"]
+ "value" : ["scalars", "tmp_0"]
}
]
},
@@ -571,7 +571,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
},
{
"type" : "lookahead",
@@ -597,7 +597,7 @@
"transition_key" : [
{
"type" : "field",
- "value" : ["scalars", "tmp_2"]
+ "value" : ["scalars", "tmp_1"]
}
]
},
@@ -983,7 +983,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 313,
+ "line" : 314,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -2124,7 +2124,7 @@
"parameters" : [
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_2"]
},
{
"type" : "expression",
@@ -2160,7 +2160,7 @@
},
{
"type" : "field",
- "value" : ["scalars", "tmp"]
+ "value" : ["scalars", "tmp_2"]
}
],
"source_info" : {
@@ -2231,14 +2231,8 @@
]
},
{
- "name" : "nop",
- "id" : 32,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "FabricEgress.egress_next.pop_mpls_if_present",
- "id" : 33,
+ "id" : 32,
"runtime_data" : [],
"primitives" : [
{
@@ -2279,7 +2273,7 @@
},
{
"name" : "FabricEgress.egress_next.set_mpls",
- "id" : 34,
+ "id" : 33,
"runtime_data" : [],
"primitives" : [
{
@@ -2396,7 +2390,7 @@
},
{
"name" : "FabricEgress.egress_next.push_vlan",
- "id" : 35,
+ "id" : 34,
"runtime_data" : [],
"primitives" : [
{
@@ -2494,7 +2488,7 @@
},
{
"name" : "FabricEgress.egress_next.pop_vlan",
- "id" : 36,
+ "id" : 35,
"runtime_data" : [],
"primitives" : [
{
@@ -2507,7 +2501,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 316,
+ "line" : 322,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -2515,6 +2509,28 @@
]
},
{
+ "name" : "FabricEgress.egress_next.drop",
+ "id" : 36,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "act_4",
"id" : 37,
"runtime_data" : [],
@@ -2597,7 +2613,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -2610,66 +2626,6 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : true
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_8",
- "id" : 41,
- "runtime_data" : [],
- "primitives" : [
- {
- "op" : "assign",
- "parameters" : [
- {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- },
- {
- "type" : "expression",
- "value" : {
- "type" : "expression",
- "value" : {
- "op" : "b2d",
- "left" : null,
- "right" : {
- "type" : "bool",
- "value" : false
- }
- }
- }
- }
- ]
- }
- ]
- },
- {
- "name" : "act_9",
- "id" : 42,
- "runtime_data" : [],
- "primitives" : [
- {
"op" : "mark_to_drop",
"parameters" : [
{
@@ -2679,7 +2635,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -2687,8 +2643,8 @@
]
},
{
- "name" : "act_10",
- "id" : 43,
+ "name" : "act_8",
+ "id" : 41,
"runtime_data" : [],
"primitives" : [
{
@@ -2728,7 +2684,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
+ "line" : 375,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -2736,8 +2692,8 @@
]
},
{
- "name" : "act_11",
- "id" : 44,
+ "name" : "act_9",
+ "id" : 42,
"runtime_data" : [],
"primitives" : [
{
@@ -2750,7 +2706,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -2758,8 +2714,8 @@
]
},
{
- "name" : "act_12",
- "id" : 45,
+ "name" : "act_10",
+ "id" : 43,
"runtime_data" : [],
"primitives" : [
{
@@ -2799,7 +2755,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 373,
+ "line" : 379,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -3832,7 +3788,7 @@
"id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 349,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -3861,7 +3817,7 @@
"id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -3872,14 +3828,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [33],
+ "action_ids" : [32],
"actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 33,
+ "action_id" : 32,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3890,7 +3846,7 @@
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 343,
+ "line" : 355,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -3901,14 +3857,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [34],
+ "action_ids" : [33],
"actions" : ["FabricEgress.egress_next.set_mpls"],
"base_default_next" : "FabricEgress.egress_next.egress_vlan",
"next_tables" : {
"FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
},
"default_entry" : {
- "action_id" : 34,
+ "action_id" : 33,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3919,7 +3875,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 320,
+ "line" : 331,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -3943,15 +3899,16 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [36, 32],
- "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
- "base_default_next" : null,
+ "action_ids" : [34, 35, 36],
+ "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
+ "base_default_next" : "node_40",
"next_tables" : {
- "__HIT__" : "tbl_act_7",
- "__MISS__" : "tbl_act_8"
+ "FabricEgress.egress_next.push_vlan" : "node_40",
+ "FabricEgress.egress_next.pop_vlan" : "node_40",
+ "FabricEgress.egress_next.drop" : "node_40"
},
"default_entry" : {
- "action_id" : 32,
+ "action_id" : 36,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -3960,29 +3917,12 @@
{
"name" : "tbl_act_7",
"id" : 21,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [40],
- "actions" : ["act_7"],
- "base_default_next" : "node_42",
- "next_tables" : {
- "act_7" : "node_42"
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 375,
+ "column" : 25,
+ "source_fragment" : "="
},
- "default_entry" : {
- "action_id" : 40,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_8",
- "id" : 22,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -4004,13 +3944,13 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
- "id" : 23,
+ "name" : "tbl_act_8",
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 360,
- "column" : 20,
- "source_fragment" : "push_vlan()"
+ "line" : 376,
+ "column" : 35,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -4019,14 +3959,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [35],
- "actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_45",
+ "action_ids" : [40],
+ "actions" : ["act_7"],
+ "base_default_next" : null,
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_45"
+ "act_7" : null
},
"default_entry" : {
- "action_id" : 35,
+ "action_id" : 40,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4034,11 +3974,11 @@
},
{
"name" : "tbl_act_9",
- "id" : 24,
+ "id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
- "column" : 25,
+ "line" : 379,
+ "column" : 29,
"source_fragment" : "="
},
"key" : [],
@@ -4050,9 +3990,9 @@
"direct_meters" : null,
"action_ids" : [43],
"actions" : ["act_10"],
- "base_default_next" : "node_47",
+ "base_default_next" : "node_46",
"next_tables" : {
- "act_10" : "node_47"
+ "act_10" : "node_46"
},
"default_entry" : {
"action_id" : 43,
@@ -4063,11 +4003,11 @@
},
{
"name" : "tbl_act_10",
- "id" : 25,
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
- "column" : 35,
+ "line" : 380,
+ "column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
@@ -4089,64 +4029,6 @@
"action_data" : [],
"action_entry_const" : true
}
- },
- {
- "name" : "tbl_act_11",
- "id" : 26,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 373,
- "column" : 29,
- "source_fragment" : "="
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [45],
- "actions" : ["act_12"],
- "base_default_next" : "node_51",
- "next_tables" : {
- "act_12" : "node_51"
- },
- "default_entry" : {
- "action_id" : 45,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_12",
- "id" : 27,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 374,
- "column" : 39,
- "source_fragment" : "mark_to_drop(standard_metadata)"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [44],
- "actions" : ["act_11"],
- "base_default_next" : null,
- "next_tables" : {
- "act_11" : null
- },
- "default_entry" : {
- "action_id" : 44,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
}
],
"action_profiles" : [],
@@ -4215,7 +4097,7 @@
"id" : 12,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 335,
+ "line" : 347,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -4268,7 +4150,7 @@
"id" : 13,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 340,
+ "line" : 352,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -4294,7 +4176,7 @@
"id" : 14,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 341,
+ "line" : 353,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -4313,67 +4195,11 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_42",
+ "name" : "node_40",
"id" : 15,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 357,
- "column" : 16,
- "source_fragment" : "!egress_vlan.apply().hit"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "not",
- "left" : null,
- "right" : {
- "type" : "expression",
- "value" : {
- "op" : "d2b",
- "left" : null,
- "right" : {
- "type" : "field",
- "value" : ["scalars", "egress_next_tmp"]
- }
- }
- }
- }
- },
- "true_next" : "node_43",
- "false_next" : "node_45"
- },
- {
- "name" : "node_43",
- "id" : 16,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 359,
- "column" : 20,
- "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
- },
- "expression" : {
- "type" : "expression",
- "value" : {
- "op" : "!=",
- "left" : {
- "type" : "field",
- "value" : ["scalars", "fabric_metadata_t.vlan_id"]
- },
- "right" : {
- "type" : "hexstr",
- "value" : "0x0ffe"
- }
- }
- },
- "true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_45"
- },
- {
- "name" : "node_45",
- "id" : 17,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 368,
+ "line" : 374,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -4388,15 +4214,15 @@
}
}
},
- "true_next" : "tbl_act_9",
- "false_next" : "node_49"
+ "true_next" : "tbl_act_7",
+ "false_next" : "node_44"
},
{
- "name" : "node_47",
- "id" : 18,
+ "name" : "node_42",
+ "id" : 16,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 376,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -4415,14 +4241,14 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_10"
+ "true_next" : "tbl_act_8"
},
{
- "name" : "node_49",
- "id" : 19,
+ "name" : "node_44",
+ "id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 372,
+ "line" : 378,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid() && fabric_metadata.fwd_type != FWD_BRIDGING"
},
@@ -4458,14 +4284,14 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_11"
+ "true_next" : "tbl_act_9"
},
{
- "name" : "node_51",
- "id" : 20,
+ "name" : "node_46",
+ "id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 380,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -4484,7 +4310,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_12"
+ "true_next" : "tbl_act_10"
}
]
}
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
index d036bed..122ff9d 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
@@ -382,14 +382,17 @@
match_type: EXACT
}
action_refs {
+ id: 16807339
+ }
+ action_refs {
id: 16790030
}
action_refs {
- id: 16819938
+ id: 16787838
annotations: "@defaultonly"
scope: DEFAULT_ONLY
}
- const_default_action_id: 16819938
+ const_default_action_id: 16787838
direct_resource_ids: 318827144
size: 1024
}
@@ -516,7 +519,7 @@
preamble {
id: 16820765
name: "FabricIngress.acl.drop"
- alias: "drop"
+ alias: "acl.drop"
}
}
actions {
@@ -637,11 +640,25 @@
}
actions {
preamble {
+ id: 16807339
+ name: "FabricEgress.egress_next.push_vlan"
+ alias: "push_vlan"
+ }
+}
+actions {
+ preamble {
id: 16790030
name: "FabricEgress.egress_next.pop_vlan"
alias: "pop_vlan"
}
}
+actions {
+ preamble {
+ id: 16787838
+ name: "FabricEgress.egress_next.drop"
+ alias: "egress_next.drop"
+ }
+}
action_profiles {
preamble {
id: 285217164
diff --git a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FabricNextPipelinerTest.java b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FabricNextPipelinerTest.java
index ffe6221..8dfe887 100644
--- a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FabricNextPipelinerTest.java
+++ b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/pipeliner/FabricNextPipelinerTest.java
@@ -19,6 +19,7 @@
import com.google.common.collect.ImmutableList;
import org.junit.Before;
import org.junit.Test;
+import org.onosproject.net.PortNumber;
import org.onosproject.net.flow.DefaultFlowRule;
import org.onosproject.net.flow.DefaultTrafficSelector;
import org.onosproject.net.flow.DefaultTrafficTreatment;
@@ -45,6 +46,7 @@
import java.util.stream.Collectors;
import static org.junit.Assert.assertEquals;
+import static org.onosproject.pipelines.fabric.impl.behaviour.FabricUtils.outputPort;
/**
* Test cases for fabric.p4 pipeline next control block.
@@ -197,10 +199,35 @@
.withTreatment(DefaultTrafficTreatment.builder()
.piTableAction(piAction).build())
.build();
+ // Expected egress VLAN_PUSH flow rule.
+ final PortNumber outPort = outputPort(treatment);
+ PiCriterion egressVlanTableMatch = PiCriterion.builder()
+ .matchExact(FabricConstants.HDR_EG_PORT, outPort.toLong())
+ .build();
+ TrafficSelector selectorForEgressVlan = DefaultTrafficSelector.builder()
+ .matchPi(egressVlanTableMatch)
+ .matchVlanId(VLAN_100)
+ .build();
+ PiAction piActionForEgressVlan = PiAction.builder()
+ .withId(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_PUSH_VLAN)
+ .build();
+ TrafficTreatment treatmentForEgressVlan = DefaultTrafficTreatment.builder()
+ .piTableAction(piActionForEgressVlan)
+ .build();
+ FlowRule expectedEgressVlanPushRule = DefaultFlowRule.builder()
+ .withSelector(selectorForEgressVlan)
+ .withTreatment(treatmentForEgressVlan)
+ .forTable(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN)
+ .makePermanent()
+ .withPriority(nextObjective.priority())
+ .forDevice(DEVICE_ID)
+ .fromApp(APP_ID)
+ .build();
ObjectiveTranslation expectedTranslation = ObjectiveTranslation.builder()
.addFlowRule(vlanMetaFlowRule)
.addFlowRule(expectedFlowRule)
+ .addFlowRule(expectedEgressVlanPushRule)
.build();
assertEquals(expectedTranslation, actualTranslation);
@@ -438,21 +465,44 @@
.withTreatment(treatment)
.build();
- // Expected egress VLAN POP flow rule.
+ // Expected egress VLAN_PUSH flow rule.
PiCriterion egressVlanTableMatch = PiCriterion.builder()
- .matchExact(FabricConstants.HDR_EG_PORT, PORT_2.toLong())
+ .matchExact(FabricConstants.HDR_EG_PORT, PORT_1.toLong())
.build();
TrafficSelector selectorForEgressVlan = DefaultTrafficSelector.builder()
.matchPi(egressVlanTableMatch)
.matchVlanId(VLAN_100)
.build();
PiAction piActionForEgressVlan = PiAction.builder()
- .withId(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN)
+ .withId(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_PUSH_VLAN)
.build();
TrafficTreatment treatmentForEgressVlan = DefaultTrafficTreatment.builder()
.piTableAction(piActionForEgressVlan)
.build();
- FlowRule expectedEgressVlanRule = DefaultFlowRule.builder()
+ FlowRule expectedEgressVlanPushRule = DefaultFlowRule.builder()
+ .withSelector(selectorForEgressVlan)
+ .withTreatment(treatmentForEgressVlan)
+ .forTable(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN)
+ .makePermanent()
+ .withPriority(nextObjective.priority())
+ .forDevice(DEVICE_ID)
+ .fromApp(APP_ID)
+ .build();
+ // Expected egress VLAN POP flow rule.
+ egressVlanTableMatch = PiCriterion.builder()
+ .matchExact(FabricConstants.HDR_EG_PORT, PORT_2.toLong())
+ .build();
+ selectorForEgressVlan = DefaultTrafficSelector.builder()
+ .matchPi(egressVlanTableMatch)
+ .matchVlanId(VLAN_100)
+ .build();
+ piActionForEgressVlan = PiAction.builder()
+ .withId(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN)
+ .build();
+ treatmentForEgressVlan = DefaultTrafficTreatment.builder()
+ .piTableAction(piActionForEgressVlan)
+ .build();
+ FlowRule expectedEgressVlanPopRule = DefaultFlowRule.builder()
.withSelector(selectorForEgressVlan)
.withTreatment(treatmentForEgressVlan)
.forTable(FabricConstants.FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN)
@@ -488,7 +538,8 @@
ObjectiveTranslation expectedTranslation = ObjectiveTranslation.builder()
.addFlowRule(expectedHashedFlowRule)
.addFlowRule(vlanMetaFlowRule)
- .addFlowRule(expectedEgressVlanRule)
+ .addFlowRule(expectedEgressVlanPushRule)
+ .addFlowRule(expectedEgressVlanPopRule)
.addGroup(expectedAllGroup)
.build();