Update P4 programs to compile with most recent p4c
Change-Id: Iced2e9af53dca2dcfd4e6a5de22a45241c264886
(cherry picked from commit 040d6d8c748b6399b74b56abde5894d254eb6383)
diff --git a/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.json b/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.json
index b394608..4a5d8bc 100644
--- a/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.json
+++ b/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.json
@@ -33,10 +33,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding_0", 5, false]
+ ["priority", 3, false],
+ ["_padding_0", 2, false]
]
},
{
@@ -148,12 +149,13 @@
"header_union_stacks" : [],
"field_lists" : [],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -500,13 +502,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "mytunnel.p4",
"line" : 173,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -517,13 +524,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "mytunnel.p4",
"line" : 173,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -534,13 +546,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "mytunnel.p4",
"line" : 173,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -1016,6 +1033,12 @@
{
"name" : "tbl_act_0",
"id" : 1,
+ "source_info" : {
+ "filename" : "mytunnel.p4",
+ "line" : 241,
+ "column" : 42,
+ "source_fragment" : "= hdr.packet_out.egress_port; ..."
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1140,6 +1163,12 @@
{
"name" : "tbl_act_3",
"id" : 5,
+ "source_info" : {
+ "filename" : "mytunnel.p4",
+ "line" : 250,
+ "column" : 16,
+ "source_fragment" : "return"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1238,6 +1267,12 @@
{
"name" : "tbl_act_4",
"id" : 8,
+ "source_info" : {
+ "filename" : "mytunnel.p4",
+ "line" : 266,
+ "column" : 12,
+ "source_fragment" : "tx_port_counter.count((bit<32>) standard_metadata.egress_spec)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1261,6 +1296,12 @@
{
"name" : "tbl_act_5",
"id" : 9,
+ "source_info" : {
+ "filename" : "mytunnel.p4",
+ "line" : 269,
+ "column" : 12,
+ "source_fragment" : "rx_port_counter.count((bit<32>) standard_metadata.ingress_port)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1561,6 +1602,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "mytunnel.p4",
diff --git a/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.p4 b/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.p4
index f88f582..f92bc53 100644
--- a/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.p4
+++ b/apps/p4-tutorial/pipeconf/src/main/resources/mytunnel.p4
@@ -170,7 +170,7 @@
}
action _drop() {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
action my_tunnel_ingress(bit<32> tun_id) {
diff --git a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicConstants.java b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicConstants.java
index 667897b..a49ccef 100644
--- a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicConstants.java
+++ b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicConstants.java
@@ -80,7 +80,8 @@
PiActionId.of("ingress.table0_control.set_next_hop_id");
public static final PiActionId INGRESS_TABLE0_CONTROL_SET_EGRESS_PORT =
PiActionId.of("ingress.table0_control.set_egress_port");
- public static final PiActionId DROP = PiActionId.of("_drop");
+ public static final PiActionId INGRESS_TABLE0_CONTROL_DROP =
+ PiActionId.of("ingress.table0_control.drop");
public static final PiActionId INGRESS_HOST_METER_CONTROL_READ_METER =
PiActionId.of("ingress.host_meter_control.read_meter");
// Action Param IDs
diff --git a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicInterpreterImpl.java b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicInterpreterImpl.java
index 6e05a5b..966034c 100644
--- a/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicInterpreterImpl.java
+++ b/pipelines/basic/src/main/java/org/onosproject/pipelines/basic/BasicInterpreterImpl.java
@@ -56,7 +56,6 @@
import static org.onosproject.net.flow.instructions.Instruction.Type.OUTPUT;
import static org.onosproject.net.flow.instructions.Instructions.OutputInstruction;
import static org.onosproject.net.pi.model.PiPacketOperationType.PACKET_OUT;
-import static org.onosproject.pipelines.basic.BasicConstants.DROP;
import static org.onosproject.pipelines.basic.BasicConstants.EGRESS_PORT;
import static org.onosproject.pipelines.basic.BasicConstants.HDR_HDR_ETHERNET_DST_ADDR;
import static org.onosproject.pipelines.basic.BasicConstants.HDR_HDR_ETHERNET_ETHER_TYPE;
@@ -65,6 +64,7 @@
import static org.onosproject.pipelines.basic.BasicConstants.HDR_HDR_IPV4_SRC_ADDR;
import static org.onosproject.pipelines.basic.BasicConstants.HDR_STANDARD_METADATA_INGRESS_PORT;
import static org.onosproject.pipelines.basic.BasicConstants.INGRESS_PORT;
+import static org.onosproject.pipelines.basic.BasicConstants.INGRESS_TABLE0_CONTROL_DROP;
import static org.onosproject.pipelines.basic.BasicConstants.INGRESS_TABLE0_CONTROL_SEND_TO_CPU;
import static org.onosproject.pipelines.basic.BasicConstants.INGRESS_TABLE0_CONTROL_SET_EGRESS_PORT;
import static org.onosproject.pipelines.basic.BasicConstants.INGRESS_TABLE0_CONTROL_TABLE0;
@@ -100,7 +100,7 @@
throws PiInterpreterException {
if (treatment.allInstructions().isEmpty()) {
// No actions means drop.
- return PiAction.builder().withId(DROP).build();
+ return PiAction.builder().withId(INGRESS_TABLE0_CONTROL_DROP).build();
} else if (treatment.allInstructions().size() > 1) {
// We understand treatments with only 1 instruction.
throw new PiInterpreterException("Treatment has multiple instructions");
diff --git a/pipelines/basic/src/main/resources/include/actions.p4 b/pipelines/basic/src/main/resources/include/actions.p4
index 9f8bd4f..03ac5b9 100644
--- a/pipelines/basic/src/main/resources/include/actions.p4
+++ b/pipelines/basic/src/main/resources/include/actions.p4
@@ -20,10 +20,6 @@
#include "headers.p4"
#include "defines.p4"
-action _drop() {
- mark_to_drop();
-}
-
action nop() {
NoAction();
}
diff --git a/pipelines/basic/src/main/resources/include/host_meter_table.p4 b/pipelines/basic/src/main/resources/include/host_meter_table.p4
index 9aa2dfc..0e50e4a 100644
--- a/pipelines/basic/src/main/resources/include/host_meter_table.p4
+++ b/pipelines/basic/src/main/resources/include/host_meter_table.p4
@@ -45,7 +45,7 @@
apply {
host_meter_table.apply();
if (meter_tag == MeterColor_RED) {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
}
}
diff --git a/pipelines/basic/src/main/resources/include/port_meters.p4 b/pipelines/basic/src/main/resources/include/port_meters.p4
index b9cb2db..b9d88ff 100644
--- a/pipelines/basic/src/main/resources/include/port_meters.p4
+++ b/pipelines/basic/src/main/resources/include/port_meters.p4
@@ -26,7 +26,7 @@
apply {
ingress_port_meter.execute_meter<MeterColor>((bit<32>)standard_metadata.ingress_port, ingress_color);
if (ingress_color == MeterColor_RED) {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
}
}
@@ -40,7 +40,7 @@
apply {
egress_port_meter.execute_meter<MeterColor>((bit<32>)standard_metadata.egress_port, egress_color);
if (egress_color == MeterColor_RED) {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
}
}
diff --git a/pipelines/basic/src/main/resources/include/table0.p4 b/pipelines/basic/src/main/resources/include/table0.p4
index 27e1f8a..9b820e1 100644
--- a/pipelines/basic/src/main/resources/include/table0.p4
+++ b/pipelines/basic/src/main/resources/include/table0.p4
@@ -38,6 +38,10 @@
standard_metadata.egress_spec = port;
}
+ action drop() {
+ mark_to_drop(standard_metadata);
+ }
+
table table0 {
key = {
standard_metadata.ingress_port : ternary;
@@ -54,9 +58,9 @@
set_egress_port;
send_to_cpu;
set_next_hop_id;
- _drop;
+ drop;
}
- const default_action = _drop();
+ const default_action = drop();
counters = table0_counter;
}
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json b/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json
index b6df5b6..fcc8ce9 100644
--- a/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/basic.json
@@ -38,10 +38,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding_0", 5, false]
+ ["priority", 3, false],
+ ["_padding_0", 2, false]
]
},
{
@@ -180,12 +181,13 @@
"header_union_stacks" : [],
"field_lists" : [],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -593,21 +595,10 @@
"learn_lists" : [],
"actions" : [
{
- "name" : "_drop",
+ "name" : "NoAction",
"id" : 0,
"runtime_data" : [],
- "primitives" : [
- {
- "op" : "drop",
- "parameters" : [],
- "source_info" : {
- "filename" : "include/actions.p4",
- "line" : 24,
- "column" : 4,
- "source_fragment" : "mark_to_drop()"
- }
- }
- ]
+ "primitives" : []
},
{
"name" : "NoAction",
@@ -616,14 +607,8 @@
"primitives" : []
},
{
- "name" : "NoAction",
- "id" : 2,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "ingress.table0_control.set_next_hop_id",
- "id" : 3,
+ "id" : 2,
"runtime_data" : [
{
"name" : "next_hop_id",
@@ -654,7 +639,7 @@
},
{
"name" : "ingress.table0_control.send_to_cpu",
- "id" : 4,
+ "id" : 3,
"runtime_data" : [],
"primitives" : [
{
@@ -680,7 +665,7 @@
},
{
"name" : "ingress.table0_control.set_egress_port",
- "id" : 5,
+ "id" : 4,
"runtime_data" : [
{
"name" : "port",
@@ -710,6 +695,28 @@
]
},
{
+ "name" : "ingress.table0_control.drop",
+ "id" : 5,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/table0.p4",
+ "line" : 42,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "ingress.host_meter_control.read_meter",
"id" : 6,
"runtime_data" : [],
@@ -752,13 +759,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/port_meters.p4",
"line" : 29,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -914,6 +926,16 @@
"column" : 12,
"source_fragment" : "hdr.packet_out.setInvalid()"
}
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/packet_io.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "exit"
+ }
}
]
},
@@ -949,13 +971,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/host_meter_table.p4",
"line" : 48,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -966,13 +993,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/port_meters.p4",
"line" : 43,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -1147,6 +1179,12 @@
{
"name" : "tbl_act",
"id" : 0,
+ "source_info" : {
+ "filename" : "include/port_counters.p4",
+ "line" : 29,
+ "column" : 8,
+ "source_fragment" : "ingress_port_counter.count((bit<32>) standard_metadata.ingress_port); ..."
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1170,6 +1208,12 @@
{
"name" : "tbl_act_0",
"id" : 1,
+ "source_info" : {
+ "filename" : "include/port_meters.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1193,6 +1237,12 @@
{
"name" : "tbl_act_1",
"id" : 2,
+ "source_info" : {
+ "filename" : "include/packet_io.p4",
+ "line" : 27,
+ "column" : 42,
+ "source_fragment" : "= hdr.packet_out.egress_port; ..."
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1202,9 +1252,9 @@
"direct_meters" : null,
"action_ids" : [10],
"actions" : ["act_1"],
- "base_default_next" : null,
+ "base_default_next" : "ingress.table0_control.table0",
"next_tables" : {
- "act_1" : null
+ "act_1" : "ingress.table0_control.table0"
},
"default_entry" : {
"action_id" : 10,
@@ -1218,7 +1268,7 @@
"id" : 3,
"source_info" : {
"filename" : "include/table0.p4",
- "line" : 41,
+ "line" : 45,
"column" : 10,
"source_fragment" : "table0"
},
@@ -1284,17 +1334,17 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [5, 4, 3, 0],
- "actions" : ["ingress.table0_control.set_egress_port", "ingress.table0_control.send_to_cpu", "ingress.table0_control.set_next_hop_id", "_drop"],
+ "action_ids" : [4, 3, 2, 5],
+ "actions" : ["ingress.table0_control.set_egress_port", "ingress.table0_control.send_to_cpu", "ingress.table0_control.set_next_hop_id", "ingress.table0_control.drop"],
"base_default_next" : "tbl_act_2",
"next_tables" : {
"ingress.table0_control.set_egress_port" : "tbl_act_2",
"ingress.table0_control.send_to_cpu" : "tbl_act_2",
"ingress.table0_control.set_next_hop_id" : "tbl_act_2",
- "_drop" : "tbl_act_2"
+ "ingress.table0_control.drop" : "tbl_act_2"
},
"default_entry" : {
- "action_id" : 0,
+ "action_id" : 5,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -1303,6 +1353,12 @@
{
"name" : "tbl_act_2",
"id" : 4,
+ "source_info" : {
+ "filename" : "include/host_meter_table.p4",
+ "line" : 26,
+ "column" : 4,
+ "source_fragment" : "MeterColor meter_tag = MeterColor_GREEN;"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1346,7 +1402,7 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : "ingress.host_meter_control.host_meter",
- "action_ids" : [6, 1],
+ "action_ids" : [6, 0],
"actions" : ["ingress.host_meter_control.read_meter", "NoAction"],
"base_default_next" : "node_10",
"next_tables" : {
@@ -1354,7 +1410,7 @@
"NoAction" : "node_10"
},
"default_entry" : {
- "action_id" : 1,
+ "action_id" : 0,
"action_const" : false,
"action_data" : [],
"action_entry_const" : false
@@ -1363,6 +1419,12 @@
{
"name" : "tbl_act_3",
"id" : 6,
+ "source_info" : {
+ "filename" : "include/host_meter_table.p4",
+ "line" : 48,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1407,7 +1469,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [7, 2],
+ "action_ids" : [7, 1],
"actions" : ["ingress.wcmp_control.set_egress_port", "NoAction"],
"base_default_next" : null,
"next_tables" : {
@@ -1575,6 +1637,12 @@
{
"name" : "tbl_act_4",
"id" : 8,
+ "source_info" : {
+ "filename" : "include/port_counters.p4",
+ "line" : 39,
+ "column" : 8,
+ "source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_port); ..."
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1598,6 +1666,12 @@
{
"name" : "tbl_act_5",
"id" : 9,
+ "source_info" : {
+ "filename" : "include/port_meters.p4",
+ "line" : 43,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1621,6 +1695,12 @@
{
"name" : "tbl_act_6",
"id" : 10,
+ "source_info" : {
+ "filename" : "include/packet_io.p4",
+ "line" : 38,
+ "column" : 12,
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -1773,6 +1853,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "basic.p4",
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/basic_p4info.txt b/pipelines/basic/src/main/resources/p4c-out/bmv2/basic_p4info.txt
index 353f0ab..ad110c2 100644
--- a/pipelines/basic/src/main/resources/p4c-out/bmv2/basic_p4info.txt
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/basic_p4info.txt
@@ -71,9 +71,9 @@
id: 16777316
}
action_refs {
- id: 16784184
+ id: 16815319
}
- const_default_action_id: 16784184
+ const_default_action_id: 16815319
direct_resource_ids: 318816189
size: 1024
}
@@ -124,13 +124,6 @@
}
actions {
preamble {
- id: 16784184
- name: "_drop"
- alias: "_drop"
- }
-}
-actions {
- preamble {
id: 16800567
name: "NoAction"
alias: "NoAction"
@@ -169,6 +162,13 @@
}
actions {
preamble {
+ id: 16815319
+ name: "ingress.table0_control.drop"
+ alias: "drop"
+ }
+}
+actions {
+ preamble {
id: 16823832
name: "ingress.host_meter_control.read_meter"
alias: "read_meter"
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/int.json b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.json
index ee0c37f..038ad74 100644
--- a/pipelines/basic/src/main/resources/p4c-out/bmv2/int.json
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/int.json
@@ -46,10 +46,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding_0", 5, false]
+ ["priority", 3, false],
+ ["_padding_0", 2, false]
]
},
{
@@ -547,26 +548,31 @@
},
{
"type" : "field",
- "value" : ["standard_metadata", "checksum_error"]
- },
- {
- "type" : "field",
"value" : ["standard_metadata", "recirculate_flag"]
},
{
"type" : "field",
+ "value" : ["standard_metadata", "checksum_error"]
+ },
+ {
+ "type" : "field",
"value" : ["standard_metadata", "parser_error"]
+ },
+ {
+ "type" : "field",
+ "value" : ["standard_metadata", "priority"]
}
]
}
],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -1163,21 +1169,10 @@
"learn_lists" : [],
"actions" : [
{
- "name" : "_drop",
+ "name" : "nop",
"id" : 0,
"runtime_data" : [],
- "primitives" : [
- {
- "op" : "drop",
- "parameters" : [],
- "source_info" : {
- "filename" : "include/actions.p4",
- "line" : 24,
- "column" : 4,
- "source_fragment" : "mark_to_drop()"
- }
- }
- ]
+ "primitives" : []
},
{
"name" : "nop",
@@ -1192,14 +1187,8 @@
"primitives" : []
},
{
- "name" : "nop",
- "id" : 3,
- "runtime_data" : [],
- "primitives" : []
- },
- {
"name" : "ingress.table0_control.set_next_hop_id",
- "id" : 4,
+ "id" : 3,
"runtime_data" : [
{
"name" : "next_hop_id",
@@ -1230,7 +1219,7 @@
},
{
"name" : "ingress.table0_control.send_to_cpu",
- "id" : 5,
+ "id" : 4,
"runtime_data" : [],
"primitives" : [
{
@@ -1256,7 +1245,7 @@
},
{
"name" : "ingress.table0_control.set_egress_port",
- "id" : 6,
+ "id" : 5,
"runtime_data" : [
{
"name" : "port",
@@ -1286,6 +1275,28 @@
]
},
{
+ "name" : "ingress.table0_control.drop",
+ "id" : 6,
+ "runtime_data" : [],
+ "primitives" : [
+ {
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/table0.p4",
+ "line" : 42,
+ "column" : 8,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
"name" : "ingress.process_int_source_sink.int_set_source",
"id" : 7,
"runtime_data" : [],
@@ -1896,6 +1907,16 @@
"column" : 12,
"source_fragment" : "hdr.packet_out.setInvalid()"
}
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/packet_io.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "exit"
+ }
}
]
},
@@ -10142,6 +10163,12 @@
{
"name" : "tbl_act",
"id" : 0,
+ "source_info" : {
+ "filename" : "include/port_counters.p4",
+ "line" : 29,
+ "column" : 8,
+ "source_fragment" : "ingress_port_counter.count((bit<32>) standard_metadata.ingress_port)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -10165,6 +10192,12 @@
{
"name" : "tbl_act_0",
"id" : 1,
+ "source_info" : {
+ "filename" : "include/packet_io.p4",
+ "line" : 27,
+ "column" : 42,
+ "source_fragment" : "= hdr.packet_out.egress_port; ..."
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -10174,9 +10207,9 @@
"direct_meters" : null,
"action_ids" : [10],
"actions" : ["act"],
- "base_default_next" : null,
+ "base_default_next" : "ingress.table0_control.table0",
"next_tables" : {
- "act" : null
+ "act" : "ingress.table0_control.table0"
},
"default_entry" : {
"action_id" : 10,
@@ -10190,7 +10223,7 @@
"id" : 2,
"source_info" : {
"filename" : "include/table0.p4",
- "line" : 41,
+ "line" : 45,
"column" : 10,
"source_fragment" : "table0"
},
@@ -10256,17 +10289,17 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [6, 5, 4, 0],
- "actions" : ["ingress.table0_control.set_egress_port", "ingress.table0_control.send_to_cpu", "ingress.table0_control.set_next_hop_id", "_drop"],
+ "action_ids" : [5, 4, 3, 6],
+ "actions" : ["ingress.table0_control.set_egress_port", "ingress.table0_control.send_to_cpu", "ingress.table0_control.set_next_hop_id", "ingress.table0_control.drop"],
"base_default_next" : "ingress.process_int_source_sink.tb_set_source",
"next_tables" : {
"ingress.table0_control.set_egress_port" : "ingress.process_int_source_sink.tb_set_source",
"ingress.table0_control.send_to_cpu" : "ingress.process_int_source_sink.tb_set_source",
"ingress.table0_control.set_next_hop_id" : "ingress.process_int_source_sink.tb_set_source",
- "_drop" : "ingress.process_int_source_sink.tb_set_source"
+ "ingress.table0_control.drop" : "ingress.process_int_source_sink.tb_set_source"
},
"default_entry" : {
- "action_id" : 0,
+ "action_id" : 6,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10295,7 +10328,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [7, 1],
+ "action_ids" : [7, 0],
"actions" : ["ingress.process_int_source_sink.int_set_source", "nop"],
"base_default_next" : "ingress.process_int_source_sink.tb_set_sink",
"next_tables" : {
@@ -10303,7 +10336,7 @@
"nop" : "ingress.process_int_source_sink.tb_set_sink"
},
"default_entry" : {
- "action_id" : 1,
+ "action_id" : 0,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10332,7 +10365,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [8, 2],
+ "action_ids" : [8, 1],
"actions" : ["ingress.process_int_source_sink.int_set_sink", "nop"],
"base_default_next" : "node_8",
"next_tables" : {
@@ -10340,7 +10373,7 @@
"nop" : "node_8"
},
"default_entry" : {
- "action_id" : 2,
+ "action_id" : 1,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10387,7 +10420,7 @@
"with_counters" : true,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [9, 3],
+ "action_ids" : [9, 2],
"actions" : ["ingress.process_int_source.int_source_dscp", "nop"],
"base_default_next" : "node_10",
"next_tables" : {
@@ -10395,7 +10428,7 @@
"nop" : "node_10"
},
"default_entry" : {
- "action_id" : 3,
+ "action_id" : 2,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -10404,6 +10437,12 @@
{
"name" : "tbl_act_1",
"id" : 6,
+ "source_info" : {
+ "filename" : "int.p4",
+ "line" : 56,
+ "column" : 12,
+ "source_fragment" : "clone3(CloneType.I2E, REPORT_MIRROR_SESSION_ID, standard_metadata)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -10612,6 +10651,12 @@
{
"name" : "tbl_act_3",
"id" : 9,
+ "source_info" : {
+ "filename" : "include/int_transit.p4",
+ "line" : 416,
+ "column" : 12,
+ "source_fragment" : "return"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11351,6 +11396,12 @@
{
"name" : "tbl_act_4",
"id" : 12,
+ "source_info" : {
+ "filename" : "include/int_transit.p4",
+ "line" : 422,
+ "column" : 41,
+ "source_fragment" : "="
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11374,6 +11425,12 @@
{
"name" : "tbl_act_5",
"id" : 13,
+ "source_info" : {
+ "filename" : "include/int_transit.p4",
+ "line" : 426,
+ "column" : 25,
+ "source_fragment" : "="
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11397,6 +11454,12 @@
{
"name" : "tbl_act_6",
"id" : 14,
+ "source_info" : {
+ "filename" : "include/int_transit.p4",
+ "line" : 429,
+ "column" : 28,
+ "source_fragment" : "="
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11420,6 +11483,12 @@
{
"name" : "tbl_act_7",
"id" : 15,
+ "source_info" : {
+ "filename" : "include/int_transit.p4",
+ "line" : 432,
+ "column" : 31,
+ "source_fragment" : "="
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11480,6 +11549,12 @@
{
"name" : "tbl_process_int_sink_restore_header",
"id" : 17,
+ "source_info" : {
+ "filename" : "include/int_sink.p4",
+ "line" : 51,
+ "column" : 8,
+ "source_fragment" : "restore_header()"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11503,6 +11578,12 @@
{
"name" : "tbl_process_int_sink_int_sink",
"id" : 18,
+ "source_info" : {
+ "filename" : "include/int_sink.p4",
+ "line" : 52,
+ "column" : 8,
+ "source_fragment" : "int_sink()"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11526,6 +11607,12 @@
{
"name" : "tbl_act_8",
"id" : 19,
+ "source_info" : {
+ "filename" : "include/port_counters.p4",
+ "line" : 39,
+ "column" : 8,
+ "source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_port)"
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11549,6 +11636,12 @@
{
"name" : "tbl_act_9",
"id" : 20,
+ "source_info" : {
+ "filename" : "include/packet_io.p4",
+ "line" : 38,
+ "column" : 12,
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
+ },
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11929,6 +12022,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "int.p4",
diff --git a/pipelines/basic/src/main/resources/p4c-out/bmv2/int_p4info.txt b/pipelines/basic/src/main/resources/p4c-out/bmv2/int_p4info.txt
index ad17d1e..ad37813 100644
--- a/pipelines/basic/src/main/resources/p4c-out/bmv2/int_p4info.txt
+++ b/pipelines/basic/src/main/resources/p4c-out/bmv2/int_p4info.txt
@@ -71,9 +71,9 @@
id: 16777316
}
action_refs {
- id: 16784184
+ id: 16815319
}
- const_default_action_id: 16784184
+ const_default_action_id: 16815319
direct_resource_ids: 318816189
size: 1024
}
@@ -214,13 +214,6 @@
}
actions {
preamble {
- id: 16784184
- name: "_drop"
- alias: "_drop"
- }
-}
-actions {
- preamble {
id: 16819938
name: "nop"
alias: "nop"
@@ -259,6 +252,13 @@
}
actions {
preamble {
+ id: 16815319
+ name: "ingress.table0_control.drop"
+ alias: "drop"
+ }
+}
+actions {
+ preamble {
id: 16801076
name: "ingress.process_int_source_sink.int_set_source"
alias: "int_set_source"
diff --git a/pipelines/fabric/src/main/resources/fabric.p4 b/pipelines/fabric/src/main/resources/fabric.p4
index f4a7689..8cb09b0 100644
--- a/pipelines/fabric/src/main/resources/fabric.p4
+++ b/pipelines/fabric/src/main/resources/fabric.p4
@@ -62,7 +62,7 @@
filtering.apply(hdr, fabric_metadata, standard_metadata);
#ifdef WITH_SPGW
spgw_ingress.apply(hdr.gtpu_ipv4, hdr.gtpu_udp, hdr.gtpu,
- hdr.ipv4, hdr.udp, fabric_metadata);
+ hdr.ipv4, hdr.udp, fabric_metadata, standard_metadata);
#endif // WITH_SPGW
if (fabric_metadata.skip_forwarding == _FALSE) {
forwarding.apply(hdr, fabric_metadata, standard_metadata);
diff --git a/pipelines/fabric/src/main/resources/include/control/acl.p4 b/pipelines/fabric/src/main/resources/include/control/acl.p4
index 5b8718b..dbfd22c 100644
--- a/pipelines/fabric/src/main/resources/include/control/acl.p4
+++ b/pipelines/fabric/src/main/resources/include/control/acl.p4
@@ -48,7 +48,7 @@
}
action drop() {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
fabric_metadata.skip_next = _TRUE;
acl_counter.count();
}
diff --git a/pipelines/fabric/src/main/resources/include/control/next.p4 b/pipelines/fabric/src/main/resources/include/control/next.p4
index 88e870c..82b61eb 100644
--- a/pipelines/fabric/src/main/resources/include/control/next.p4
+++ b/pipelines/fabric/src/main/resources/include/control/next.p4
@@ -305,7 +305,7 @@
apply {
if (fabric_metadata.is_multicast == _TRUE
&& standard_metadata.ingress_port == standard_metadata.egress_port) {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
if (fabric_metadata.mpls_label == 0) {
@@ -324,16 +324,16 @@
// TTL decrement and check.
if (hdr.mpls.isValid()) {
hdr.mpls.ttl = hdr.mpls.ttl - 1;
- if (hdr.mpls.ttl == 0) mark_to_drop();
+ if (hdr.mpls.ttl == 0) mark_to_drop(standard_metadata);
} else {
if(hdr.ipv4.isValid()) {
hdr.ipv4.ttl = hdr.ipv4.ttl - 1;
- if (hdr.ipv4.ttl == 0) mark_to_drop();
+ if (hdr.ipv4.ttl == 0) mark_to_drop(standard_metadata);
}
#ifdef WITH_IPV6
else if (hdr.ipv6.isValid()) {
hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1;
- if (hdr.ipv6.hop_limit == 0) mark_to_drop();
+ if (hdr.ipv6.hop_limit == 0) mark_to_drop(standard_metadata);
}
#endif // WITH_IPV6
}
diff --git a/pipelines/fabric/src/main/resources/include/control/packetio.p4 b/pipelines/fabric/src/main/resources/include/control/packetio.p4
index a29c044..655f2ab 100644
--- a/pipelines/fabric/src/main/resources/include/control/packetio.p4
+++ b/pipelines/fabric/src/main/resources/include/control/packetio.p4
@@ -44,7 +44,7 @@
if (fabric_metadata.is_multicast == _TRUE &&
fabric_metadata.clone_to_cpu == _FALSE) {
// Is multicast but clone was not requested.
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
hdr.packet_in.setValid();
hdr.packet_in.ingress_port = standard_metadata.ingress_port;
diff --git a/pipelines/fabric/src/main/resources/include/spgw.p4 b/pipelines/fabric/src/main/resources/include/spgw.p4
index d444e52..6eb4c40 100644
--- a/pipelines/fabric/src/main/resources/include/spgw.p4
+++ b/pipelines/fabric/src/main/resources/include/spgw.p4
@@ -40,12 +40,13 @@
}
control spgw_ingress(
- inout ipv4_t gtpu_ipv4,
- inout udp_t gtpu_udp,
- inout gtpu_t gtpu,
- inout ipv4_t ipv4,
- inout udp_t udp,
- inout fabric_metadata_t fabric_meta
+ inout ipv4_t gtpu_ipv4,
+ inout udp_t gtpu_udp,
+ inout gtpu_t gtpu,
+ inout ipv4_t ipv4,
+ inout udp_t udp,
+ inout fabric_metadata_t fabric_meta,
+ inout standard_metadata_t standard_metadata
) {
direct_counter(CounterType.packets_and_bytes) ue_counter;
@@ -145,7 +146,7 @@
// S1U_SGW_PREFIX/S1U_SGW_PREFIX_LEN subnet.
// TODO: check also that gtpu.msgtype == GTP_GPDU
if (!s1u_filter_table.apply().hit) {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
fabric_meta.spgw.direction = SPGW_DIR_UPLINK;
gtpu_decap();
@@ -166,7 +167,7 @@
pcc_info_lookup.apply();
if (fabric_meta.spgw.pcc_gate_status == PCC_GATE_CLOSED) {
- mark_to_drop();
+ mark_to_drop(standard_metadata);
}
#endif // WITH_SPGW_PCC_GATING
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
index 93932bf..9e8f2c9 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
@@ -71,10 +71,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding", 5, false]
+ ["priority", 3, false],
+ ["_padding", 2, false]
]
},
{
@@ -583,12 +584,13 @@
}
],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -1602,7 +1604,7 @@
"binding" : "FabricIngress.spgw_ingress.dl_sess_lookup",
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 51,
+ "line" : 52,
"column" : 50,
"source_fragment" : "ue_counter"
}
@@ -1892,7 +1894,7 @@
"id" : 1,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 242,
+ "line" : 243,
"column" : 8,
"source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
},
@@ -2105,7 +2107,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 55,
+ "line" : 56,
"column" : 8,
"source_fragment" : "gtpu_ipv4.setInvalid()"
}
@@ -2120,7 +2122,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 56,
+ "line" : 57,
"column" : 8,
"source_fragment" : "gtpu_udp.setInvalid()"
}
@@ -2135,7 +2137,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 57,
+ "line" : 58,
"column" : 8,
"source_fragment" : "gtpu.setInvalid()"
}
@@ -2174,7 +2176,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 63,
+ "line" : 64,
"column" : 30,
"source_fragment" : "= teid; ..."
}
@@ -2193,7 +2195,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 64,
+ "line" : 65,
"column" : 38,
"source_fragment" : "= s1u_enb_addr; ..."
}
@@ -2212,7 +2214,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 65,
+ "line" : 66,
"column" : 38,
"source_fragment" : "= s1u_sgw_addr; ..."
}
@@ -2701,13 +2703,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/acl.p4",
"line" : 51,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
},
{
@@ -3591,6 +3598,16 @@
"column" : 53,
"source_fragment" : "= true; ..."
}
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "exit"
+ }
}
]
},
@@ -3769,13 +3786,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 148,
+ "line" : 149,
"column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -3940,7 +3962,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 157,
+ "line" : 158,
"column" : 12,
"source_fragment" : "return"
}
@@ -3996,7 +4018,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 174,
+ "line" : 175,
"column" : 34,
"source_fragment" : "= ipv4.total_len; ..."
}
@@ -4196,7 +4218,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 190,
+ "line" : 191,
"column" : 8,
"source_fragment" : "gtpu_ipv4.setValid()"
}
@@ -4215,7 +4237,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 191,
+ "line" : 192,
"column" : 8,
"source_fragment" : "gtpu_ipv4.version = 4"
}
@@ -4253,7 +4275,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 193,
+ "line" : 194,
"column" : 8,
"source_fragment" : "gtpu_ipv4.dscp = 0"
}
@@ -4272,7 +4294,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 194,
+ "line" : 195,
"column" : 8,
"source_fragment" : "gtpu_ipv4.ecn = 0"
}
@@ -4314,7 +4336,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 195,
+ "line" : 196,
"column" : 8,
"source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
}
@@ -4333,7 +4355,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 197,
+ "line" : 198,
"column" : 8,
"source_fragment" : "gtpu_ipv4.identification = 0x1513"
}
@@ -4352,7 +4374,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 198,
+ "line" : 199,
"column" : 8,
"source_fragment" : "gtpu_ipv4.flags = 0"
}
@@ -4371,7 +4393,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 199,
+ "line" : 200,
"column" : 8,
"source_fragment" : "gtpu_ipv4.frag_offset = 0"
}
@@ -4428,7 +4450,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 202,
+ "line" : 203,
"column" : 8,
"source_fragment" : "gtpu_ipv4.dst_addr = fabric_meta.spgw.s1u_enb_addr; ..."
}
@@ -4447,7 +4469,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 203,
+ "line" : 204,
"column" : 8,
"source_fragment" : "gtpu_ipv4.src_addr = fabric_meta.spgw.s1u_sgw_addr; ..."
}
@@ -4466,7 +4488,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 204,
+ "line" : 205,
"column" : 8,
"source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
}
@@ -4481,7 +4503,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 206,
+ "line" : 207,
"column" : 8,
"source_fragment" : "gtpu_udp.setValid()"
}
@@ -4500,7 +4522,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 207,
+ "line" : 208,
"column" : 8,
"source_fragment" : "gtpu_udp.sport = 2152"
}
@@ -4519,7 +4541,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 208,
+ "line" : 209,
"column" : 8,
"source_fragment" : "gtpu_udp.dport = 2152"
}
@@ -4561,7 +4583,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 209,
+ "line" : 210,
"column" : 8,
"source_fragment" : "gtpu_udp.len = fabric_meta.spgw.ipv4_len ..."
}
@@ -4580,7 +4602,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 211,
+ "line" : 212,
"column" : 8,
"source_fragment" : "gtpu_udp.checksum = 0"
}
@@ -4595,7 +4617,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 213,
+ "line" : 214,
"column" : 8,
"source_fragment" : "gtpu.setValid()"
}
@@ -4614,7 +4636,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 214,
+ "line" : 215,
"column" : 8,
"source_fragment" : "gtpu.version = 0x01"
}
@@ -4633,7 +4655,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 215,
+ "line" : 216,
"column" : 8,
"source_fragment" : "gtpu.pt = 0x01"
}
@@ -4652,7 +4674,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 216,
+ "line" : 217,
"column" : 8,
"source_fragment" : "gtpu.spare = 0"
}
@@ -4671,7 +4693,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 217,
+ "line" : 218,
"column" : 8,
"source_fragment" : "gtpu.ex_flag = 0"
}
@@ -4690,7 +4712,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 218,
+ "line" : 219,
"column" : 8,
"source_fragment" : "gtpu.seq_flag = 0"
}
@@ -4709,7 +4731,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 219,
+ "line" : 220,
"column" : 8,
"source_fragment" : "gtpu.npdu_flag = 0"
}
@@ -4728,7 +4750,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 220,
+ "line" : 221,
"column" : 8,
"source_fragment" : "gtpu.msgtype = 0xff"
}
@@ -4747,7 +4769,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 221,
+ "line" : 222,
"column" : 8,
"source_fragment" : "gtpu.msglen = fabric_meta.spgw.ipv4_len; ..."
}
@@ -4766,7 +4788,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 222,
+ "line" : 223,
"column" : 8,
"source_fragment" : "gtpu.teid = fabric_meta.spgw.teid; ..."
}
@@ -12543,13 +12565,13 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
}
}
]
@@ -12560,6 +12582,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_22",
+ "id" : 112,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "add_header",
"parameters" : [
{
@@ -12592,22 +12636,15 @@
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
- }
- ]
- },
- {
- "name" : "act_22",
- "id" : 112,
- "runtime_data" : [],
- "primitives" : [
+ },
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 52,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "exit"
}
}
]
@@ -12618,6 +12655,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_24",
+ "id" : 114,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "assign",
"parameters" : [
{
@@ -12643,8 +12702,8 @@
]
},
{
- "name" : "act_24",
- "id" : 114,
+ "name" : "act_25",
+ "id" : 115,
"runtime_data" : [],
"primitives" : [
{
@@ -12673,25 +12732,30 @@
]
},
{
- "name" : "act_25",
- "id" : 115,
+ "name" : "act_26",
+ "id" : 116,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 327,
"column" : 35,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_26",
- "id" : 116,
+ "name" : "act_27",
+ "id" : 117,
"runtime_data" : [],
"primitives" : [
{
@@ -12739,25 +12803,30 @@
]
},
{
- "name" : "act_27",
- "id" : 117,
+ "name" : "act_28",
+ "id" : 118,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
"column" : 39,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_28",
- "id" : 118,
+ "name" : "act_29",
+ "id" : 119,
"runtime_data" : [],
"primitives" : [
{
@@ -12805,25 +12874,30 @@
]
},
{
- "name" : "act_29",
- "id" : 119,
+ "name" : "act_30",
+ "id" : 120,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 336,
"column" : 45,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_30",
- "id" : 120,
+ "name" : "act_31",
+ "id" : 121,
"runtime_data" : [],
"primitives" : [
{
@@ -12871,8 +12945,8 @@
]
},
{
- "name" : "act_31",
- "id" : 121,
+ "name" : "act_32",
+ "id" : 122,
"runtime_data" : [],
"primitives" : [
{
@@ -12901,8 +12975,8 @@
]
},
{
- "name" : "act_32",
- "id" : 122,
+ "name" : "act_33",
+ "id" : 123,
"runtime_data" : [],
"primitives" : [
{
@@ -12937,8 +13011,8 @@
]
},
{
- "name" : "act_33",
- "id" : 123,
+ "name" : "act_34",
+ "id" : 124,
"runtime_data" : [],
"primitives" : [
{
@@ -12986,8 +13060,8 @@
]
},
{
- "name" : "act_34",
- "id" : 124,
+ "name" : "act_35",
+ "id" : 125,
"runtime_data" : [],
"primitives" : [
{
@@ -13035,8 +13109,8 @@
]
},
{
- "name" : "act_35",
- "id" : 125,
+ "name" : "act_36",
+ "id" : 126,
"runtime_data" : [],
"primitives" : [
{
@@ -13084,8 +13158,8 @@
]
},
{
- "name" : "act_36",
- "id" : 126,
+ "name" : "act_37",
+ "id" : 127,
"runtime_data" : [],
"primitives" : [
{
@@ -13308,9 +13382,9 @@
"direct_meters" : null,
"action_ids" : [46],
"actions" : ["act_4"],
- "base_default_next" : null,
+ "base_default_next" : "node_12",
"next_tables" : {
- "act_4" : null
+ "act_4" : "node_12"
},
"default_entry" : {
"action_id" : 46,
@@ -13503,7 +13577,7 @@
"id" : 11,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 82,
+ "line" : 83,
"column" : 10,
"source_fragment" : "s1u_filter_table"
},
@@ -13586,9 +13660,9 @@
"id" : 14,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 148,
+ "line" : 149,
"column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -13615,7 +13689,7 @@
"id" : 15,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 150,
+ "line" : 151,
"column" : 39,
"source_fragment" : "="
},
@@ -13644,7 +13718,7 @@
"id" : 16,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 151,
+ "line" : 152,
"column" : 12,
"source_fragment" : "gtpu_decap()"
},
@@ -13673,7 +13747,7 @@
"id" : 17,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 69,
+ "line" : 70,
"column" : 10,
"source_fragment" : "dl_sess_lookup"
},
@@ -13756,7 +13830,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 153,
+ "line" : 154,
"column" : 39,
"source_fragment" : "="
},
@@ -13785,7 +13859,7 @@
"id" : 21,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 155,
+ "line" : 156,
"column" : 39,
"source_fragment" : "= SPGW_DIR_UNKNOWN; ..."
},
@@ -13814,7 +13888,7 @@
"id" : 22,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 174,
+ "line" : 175,
"column" : 34,
"source_fragment" : "="
},
@@ -14649,7 +14723,7 @@
"id" : 6,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 143,
+ "line" : 144,
"column" : 12,
"source_fragment" : "gtpu.isValid()"
},
@@ -14672,7 +14746,7 @@
"id" : 7,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 147,
+ "line" : 148,
"column" : 16,
"source_fragment" : "!s1u_filter_table.apply().hit"
},
@@ -15011,9 +15085,9 @@
"id" : 38,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
},
"key" : [],
"match_type" : "exact",
@@ -15024,9 +15098,9 @@
"direct_meters" : null,
"action_ids" : [110],
"actions" : ["act_20"],
- "base_default_next" : "tbl_act_21",
+ "base_default_next" : "node_63",
"next_tables" : {
- "act_20" : "tbl_act_21"
+ "act_20" : "node_63"
},
"default_entry" : {
"action_id" : 110,
@@ -15040,9 +15114,9 @@
"id" : 39,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 49,
- "column" : 12,
- "source_fragment" : "hdr.packet_in.setValid(); ..."
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -15053,9 +15127,9 @@
"direct_meters" : null,
"action_ids" : [111],
"actions" : ["act_21"],
- "base_default_next" : null,
+ "base_default_next" : "tbl_act_22",
"next_tables" : {
- "act_21" : null
+ "act_21" : "tbl_act_22"
},
"default_entry" : {
"action_id" : 111,
@@ -15068,10 +15142,10 @@
"name" : "tbl_act_22",
"id" : 40,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 49,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
},
"key" : [],
"match_type" : "exact",
@@ -15082,9 +15156,9 @@
"direct_meters" : null,
"action_ids" : [112],
"actions" : ["act_22"],
- "base_default_next" : "node_68",
+ "base_default_next" : "node_67",
"next_tables" : {
- "act_22" : "node_68"
+ "act_22" : "node_67"
},
"default_entry" : {
"action_id" : 112,
@@ -15094,10 +15168,39 @@
}
},
{
- "name" : "tbl_egress_next_pop_mpls_if_present",
+ "name" : "tbl_act_23",
"id" : 41,
"source_info" : {
"filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "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" : [113],
+ "actions" : ["act_23"],
+ "base_default_next" : "node_69",
+ "next_tables" : {
+ "act_23" : "node_69"
+ },
+ "default_entry" : {
+ "action_id" : 113,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_pop_mpls_if_present",
+ "id" : 42,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
"line" : 312,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
@@ -15124,7 +15227,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 42,
+ "id" : 43,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 314,
@@ -15153,7 +15256,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 43,
+ "id" : 44,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 291,
@@ -15184,8 +15287,8 @@
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_23",
- "__MISS__" : "tbl_act_24"
+ "__HIT__" : "tbl_act_24",
+ "__MISS__" : "tbl_act_25"
},
"default_entry" : {
"action_id" : 65,
@@ -15195,29 +15298,6 @@
}
},
{
- "name" : "tbl_act_23",
- "id" : 44,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [113],
- "actions" : ["act_23"],
- "base_default_next" : "node_75",
- "next_tables" : {
- "act_23" : "node_75"
- },
- "default_entry" : {
- "action_id" : 113,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_act_24",
"id" : 45,
"key" : [],
@@ -15229,9 +15309,9 @@
"direct_meters" : null,
"action_ids" : [114],
"actions" : ["act_24"],
- "base_default_next" : "node_75",
+ "base_default_next" : "node_76",
"next_tables" : {
- "act_24" : "node_75"
+ "act_24" : "node_76"
},
"default_entry" : {
"action_id" : 114,
@@ -15241,8 +15321,31 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
+ "name" : "tbl_act_25",
"id" : 46,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [115],
+ "actions" : ["act_25"],
+ "base_default_next" : "node_76",
+ "next_tables" : {
+ "act_25" : "node_76"
+ },
+ "default_entry" : {
+ "action_id" : 115,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_push_vlan",
+ "id" : 47,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 320,
@@ -15258,9 +15361,9 @@
"direct_meters" : null,
"action_ids" : [108],
"actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_78",
+ "base_default_next" : "node_79",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_78"
+ "FabricEgress.egress_next.push_vlan" : "node_79"
},
"default_entry" : {
"action_id" : 108,
@@ -15270,8 +15373,8 @@
}
},
{
- "name" : "tbl_act_25",
- "id" : 47,
+ "name" : "tbl_act_26",
+ "id" : 48,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 326,
@@ -15285,11 +15388,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [117],
+ "actions" : ["act_27"],
+ "base_default_next" : "node_81",
+ "next_tables" : {
+ "act_27" : "node_81"
+ },
+ "default_entry" : {
+ "action_id" : 117,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_27",
+ "id" : 49,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 35,
+ "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" : [116],
"actions" : ["act_26"],
- "base_default_next" : "node_80",
+ "base_default_next" : "node_91",
"next_tables" : {
- "act_26" : "node_80"
+ "act_26" : "node_91"
},
"default_entry" : {
"action_id" : 116,
@@ -15299,37 +15431,8 @@
}
},
{
- "name" : "tbl_act_26",
- "id" : 48,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 327,
- "column" : 35,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [115],
- "actions" : ["act_25"],
- "base_default_next" : "node_90",
- "next_tables" : {
- "act_25" : "node_90"
- },
- "default_entry" : {
- "action_id" : 115,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_27",
- "id" : 49,
+ "name" : "tbl_act_28",
+ "id" : 50,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 330,
@@ -15343,11 +15446,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [119],
+ "actions" : ["act_29"],
+ "base_default_next" : "node_85",
+ "next_tables" : {
+ "act_29" : "node_85"
+ },
+ "default_entry" : {
+ "action_id" : 119,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_29",
+ "id" : 51,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 331,
+ "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" : [118],
"actions" : ["act_28"],
- "base_default_next" : "node_84",
+ "base_default_next" : "node_91",
"next_tables" : {
- "act_28" : "node_84"
+ "act_28" : "node_91"
},
"default_entry" : {
"action_id" : 118,
@@ -15357,37 +15489,8 @@
}
},
{
- "name" : "tbl_act_28",
- "id" : 50,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 331,
- "column" : 39,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [117],
- "actions" : ["act_27"],
- "base_default_next" : "node_90",
- "next_tables" : {
- "act_27" : "node_90"
- },
- "default_entry" : {
- "action_id" : 117,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_29",
- "id" : 51,
+ "name" : "tbl_act_30",
+ "id" : 52,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 335,
@@ -15401,11 +15504,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [121],
+ "actions" : ["act_31"],
+ "base_default_next" : "node_89",
+ "next_tables" : {
+ "act_31" : "node_89"
+ },
+ "default_entry" : {
+ "action_id" : 121,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_31",
+ "id" : 53,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 336,
+ "column" : 45,
+ "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" : [120],
"actions" : ["act_30"],
- "base_default_next" : "node_88",
+ "base_default_next" : "node_91",
"next_tables" : {
- "act_30" : "node_88"
+ "act_30" : "node_91"
},
"default_entry" : {
"action_id" : 120,
@@ -15415,40 +15547,11 @@
}
},
{
- "name" : "tbl_act_30",
- "id" : 52,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 336,
- "column" : 45,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [119],
- "actions" : ["act_29"],
- "base_default_next" : "node_90",
- "next_tables" : {
- "act_29" : "node_90"
- },
- "default_entry" : {
- "action_id" : 119,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_spgw_egress_gtpu_encap",
- "id" : 53,
+ "id" : 54,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 227,
+ "line" : 228,
"column" : 12,
"source_fragment" : "gtpu_encap()"
},
@@ -15461,9 +15564,9 @@
"direct_meters" : null,
"action_ids" : [68],
"actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
- "base_default_next" : "node_92",
+ "base_default_next" : "node_93",
"next_tables" : {
- "FabricEgress.spgw_egress.gtpu_encap" : "node_92"
+ "FabricEgress.spgw_egress.gtpu_encap" : "node_93"
},
"default_entry" : {
"action_id" : 68,
@@ -15474,7 +15577,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 54,
+ "id" : 55,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -15515,10 +15618,10 @@
"direct_meters" : null,
"action_ids" : [69, 62],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_95",
+ "base_default_next" : "node_96",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_95",
- "nop" : "node_95"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_96",
+ "nop" : "node_96"
},
"default_entry" : {
"action_id" : 62,
@@ -15528,8 +15631,8 @@
}
},
{
- "name" : "tbl_act_31",
- "id" : 55,
+ "name" : "tbl_act_32",
+ "id" : 56,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -15537,14 +15640,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [121],
- "actions" : ["act_31"],
+ "action_ids" : [122],
+ "actions" : ["act_32"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
- "act_31" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
+ "act_32" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 121,
+ "action_id" : 122,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15552,7 +15655,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 56,
+ "id" : 57,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -15575,10 +15678,10 @@
"direct_meters" : null,
"action_ids" : [70, 63],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_98",
+ "base_default_next" : "node_99",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_98",
- "nop" : "node_98"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_99",
+ "nop" : "node_99"
},
"default_entry" : {
"action_id" : 63,
@@ -15588,8 +15691,8 @@
}
},
{
- "name" : "tbl_act_32",
- "id" : 57,
+ "name" : "tbl_act_33",
+ "id" : 58,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -15603,14 +15706,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [122],
- "actions" : ["act_32"],
- "base_default_next" : "node_100",
+ "action_ids" : [123],
+ "actions" : ["act_33"],
+ "base_default_next" : "node_101",
"next_tables" : {
- "act_32" : "node_100"
+ "act_33" : "node_101"
},
"default_entry" : {
- "action_id" : 122,
+ "action_id" : 123,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -15618,7 +15721,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 58,
+ "id" : 59,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -15976,7 +16079,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 59,
+ "id" : 60,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -15999,25 +16102,25 @@
"direct_meters" : null,
"action_ids" : [87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 67],
"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_33",
+ "base_default_next" : "tbl_act_34",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_33",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_33",
- "NoAction" : "tbl_act_33"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_34",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_34",
+ "NoAction" : "tbl_act_34"
},
"default_entry" : {
"action_id" : 67,
@@ -16333,8 +16436,8 @@
]
},
{
- "name" : "tbl_act_33",
- "id" : 60,
+ "name" : "tbl_act_34",
+ "id" : 61,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -16348,22 +16451,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [124],
- "actions" : ["act_34"],
- "base_default_next" : "node_104",
+ "action_ids" : [125],
+ "actions" : ["act_35"],
+ "base_default_next" : "node_105",
"next_tables" : {
- "act_34" : "node_104"
+ "act_35" : "node_105"
},
"default_entry" : {
- "action_id" : 124,
+ "action_id" : 125,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_34",
- "id" : 61,
+ "name" : "tbl_act_35",
+ "id" : 62,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -16377,22 +16480,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [123],
- "actions" : ["act_33"],
- "base_default_next" : "node_106",
+ "action_ids" : [124],
+ "actions" : ["act_34"],
+ "base_default_next" : "node_107",
"next_tables" : {
- "act_33" : "node_106"
+ "act_34" : "node_107"
},
"default_entry" : {
- "action_id" : 123,
+ "action_id" : 124,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_35",
- "id" : 62,
+ "name" : "tbl_act_36",
+ "id" : 63,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -16406,22 +16509,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [125],
- "actions" : ["act_35"],
- "base_default_next" : "node_108",
+ "action_ids" : [126],
+ "actions" : ["act_36"],
+ "base_default_next" : "node_109",
"next_tables" : {
- "act_35" : "node_108"
+ "act_36" : "node_109"
},
"default_entry" : {
- "action_id" : 125,
+ "action_id" : 126,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_36",
- "id" : 63,
+ "name" : "tbl_act_37",
+ "id" : 64,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -16435,14 +16538,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [126],
- "actions" : ["act_36"],
- "base_default_next" : "node_110",
+ "action_ids" : [127],
+ "actions" : ["act_37"],
+ "base_default_next" : "node_111",
"next_tables" : {
- "act_36" : "node_110"
+ "act_37" : "node_111"
},
"default_entry" : {
- "action_id" : 126,
+ "action_id" : 127,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -16450,7 +16553,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
- "id" : 64,
+ "id" : 65,
"source_info" : {
"filename" : "include/int/int_report.p4",
"line" : 86,
@@ -16466,10 +16569,10 @@
"direct_meters" : null,
"action_ids" : [103, 64],
"actions" : ["FabricEgress.process_int_main.process_int_report.do_report_encapsulation", "nop"],
- "base_default_next" : "node_112",
+ "base_default_next" : "node_113",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_112",
- "nop" : "node_112"
+ "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_113",
+ "nop" : "node_113"
},
"default_entry" : {
"action_id" : 64,
@@ -16480,7 +16583,7 @@
},
{
"name" : "tbl_process_int_main_process_int_sink_restore_header",
- "id" : 65,
+ "id" : 66,
"source_info" : {
"filename" : "include/int/int_sink.p4",
"line" : 53,
@@ -16509,7 +16612,7 @@
},
{
"name" : "tbl_process_int_main_process_int_sink_int_sink",
- "id" : 66,
+ "id" : 67,
"source_info" : {
"filename" : "include/int/int_sink.p4",
"line" : 54,
@@ -16569,11 +16672,11 @@
}
}
},
- "true_next" : null,
- "false_next" : "node_62"
+ "true_next" : "tbl_act_20",
+ "false_next" : "node_63"
},
{
- "name" : "node_62",
+ "name" : "node_63",
"id" : 20,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -16595,11 +16698,11 @@
}
}
},
- "true_next" : "node_63",
- "false_next" : "node_66"
+ "true_next" : "node_64",
+ "false_next" : "node_67"
},
{
- "name" : "node_63",
+ "name" : "node_64",
"id" : 21,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -16655,11 +16758,11 @@
}
}
},
- "true_next" : "tbl_act_20",
- "false_next" : "tbl_act_21"
+ "true_next" : "tbl_act_21",
+ "false_next" : "tbl_act_22"
},
{
- "name" : "node_66",
+ "name" : "node_67",
"id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16708,11 +16811,11 @@
}
}
},
- "true_next" : "tbl_act_22",
- "false_next" : "node_68"
+ "true_next" : "tbl_act_23",
+ "false_next" : "node_69"
},
{
- "name" : "node_68",
+ "name" : "node_69",
"id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16734,11 +16837,11 @@
}
}
},
- "true_next" : "node_69",
+ "true_next" : "node_70",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_69",
+ "name" : "node_70",
"id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16761,7 +16864,7 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_75",
+ "name" : "node_76",
"id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16787,11 +16890,11 @@
}
}
},
- "true_next" : "node_76",
- "false_next" : "node_78"
+ "true_next" : "node_77",
+ "false_next" : "node_79"
},
{
- "name" : "node_76",
+ "name" : "node_77",
"id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16814,10 +16917,10 @@
}
},
"true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_78"
+ "false_next" : "node_79"
},
{
- "name" : "node_78",
+ "name" : "node_79",
"id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16836,11 +16939,11 @@
}
}
},
- "true_next" : "tbl_act_25",
- "false_next" : "node_82"
+ "true_next" : "tbl_act_26",
+ "false_next" : "node_83"
},
{
- "name" : "node_80",
+ "name" : "node_81",
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16862,11 +16965,11 @@
}
}
},
- "true_next" : "tbl_act_26",
- "false_next" : "node_90"
+ "true_next" : "tbl_act_27",
+ "false_next" : "node_91"
},
{
- "name" : "node_82",
+ "name" : "node_83",
"id" : 29,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16885,11 +16988,11 @@
}
}
},
- "true_next" : "tbl_act_27",
- "false_next" : "node_86"
+ "true_next" : "tbl_act_28",
+ "false_next" : "node_87"
},
{
- "name" : "node_84",
+ "name" : "node_85",
"id" : 30,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16911,11 +17014,11 @@
}
}
},
- "true_next" : "tbl_act_28",
- "false_next" : "node_90"
+ "true_next" : "tbl_act_29",
+ "false_next" : "node_91"
},
{
- "name" : "node_86",
+ "name" : "node_87",
"id" : 31,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16934,11 +17037,11 @@
}
}
},
- "true_next" : "tbl_act_29",
- "false_next" : "node_90"
+ "true_next" : "tbl_act_30",
+ "false_next" : "node_91"
},
{
- "name" : "node_88",
+ "name" : "node_89",
"id" : 32,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -16960,15 +17063,15 @@
}
}
},
- "true_next" : "tbl_act_30",
- "false_next" : "node_90"
+ "true_next" : "tbl_act_31",
+ "false_next" : "node_91"
},
{
- "name" : "node_90",
+ "name" : "node_91",
"id" : 33,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 226,
+ "line" : 227,
"column" : 12,
"source_fragment" : "fabric_meta.spgw.direction == SPGW_DIR_DOWNLINK"
},
@@ -16987,10 +17090,10 @@
}
},
"true_next" : "tbl_spgw_egress_gtpu_encap",
- "false_next" : "node_92"
+ "false_next" : "node_93"
},
{
- "name" : "node_92",
+ "name" : "node_93",
"id" : 34,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -17067,10 +17170,10 @@
}
},
"false_next" : null,
- "true_next" : "node_93"
+ "true_next" : "node_94"
},
{
- "name" : "node_93",
+ "name" : "node_94",
"id" : 35,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -17100,10 +17203,10 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_95"
+ "false_next" : "node_96"
},
{
- "name" : "node_95",
+ "name" : "node_96",
"id" : 36,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -17123,10 +17226,10 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_31"
+ "true_next" : "tbl_act_32"
},
{
- "name" : "node_98",
+ "name" : "node_99",
"id" : 37,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -17155,11 +17258,11 @@
}
}
},
- "true_next" : "tbl_act_32",
- "false_next" : "node_100"
+ "true_next" : "tbl_act_33",
+ "false_next" : "node_101"
},
{
- "name" : "node_100",
+ "name" : "node_101",
"id" : 38,
"expression" : {
"type" : "expression",
@@ -17180,10 +17283,10 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "false_next" : "node_110"
+ "false_next" : "node_111"
},
{
- "name" : "node_104",
+ "name" : "node_105",
"id" : 39,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -17202,11 +17305,11 @@
}
}
},
- "true_next" : "tbl_act_34",
- "false_next" : "node_106"
+ "true_next" : "tbl_act_35",
+ "false_next" : "node_107"
},
{
- "name" : "node_106",
+ "name" : "node_107",
"id" : 40,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -17225,11 +17328,11 @@
}
}
},
- "true_next" : "tbl_act_35",
- "false_next" : "node_108"
+ "true_next" : "tbl_act_36",
+ "false_next" : "node_109"
},
{
- "name" : "node_108",
+ "name" : "node_109",
"id" : 41,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -17248,11 +17351,11 @@
}
}
},
- "true_next" : "tbl_act_36",
- "false_next" : "node_110"
+ "true_next" : "tbl_act_37",
+ "false_next" : "node_111"
},
{
- "name" : "node_110",
+ "name" : "node_111",
"id" : 42,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -17275,10 +17378,10 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
- "false_next" : "node_112"
+ "false_next" : "node_113"
},
{
- "name" : "node_112",
+ "name" : "node_113",
"id" : 43,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -17345,7 +17448,7 @@
"id" : 1,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 242,
+ "line" : 243,
"column" : 8,
"source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
},
@@ -17439,6 +17542,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "fabric.p4",
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
index 29ea24b..ff14cae 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
@@ -60,10 +60,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding", 5, false]
+ ["priority", 3, false],
+ ["_padding", 2, false]
]
},
{
@@ -437,12 +438,13 @@
"header_union_stacks" : [],
"field_lists" : [],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -1833,13 +1835,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/acl.p4",
"line" : 51,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
},
{
@@ -2307,6 +2314,16 @@
"column" : 53,
"source_fragment" : "= true; ..."
}
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "exit"
+ }
}
]
},
@@ -9312,13 +9329,13 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
}
}
]
@@ -9329,6 +9346,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_6",
+ "id" : 79,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "add_header",
"parameters" : [
{
@@ -9361,22 +9400,15 @@
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
- }
- ]
- },
- {
- "name" : "act_6",
- "id" : 79,
- "runtime_data" : [],
- "primitives" : [
+ },
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 52,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "exit"
}
}
]
@@ -9387,6 +9419,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_8",
+ "id" : 81,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "assign",
"parameters" : [
{
@@ -9412,8 +9466,8 @@
]
},
{
- "name" : "act_8",
- "id" : 81,
+ "name" : "act_9",
+ "id" : 82,
"runtime_data" : [],
"primitives" : [
{
@@ -9442,25 +9496,30 @@
]
},
{
- "name" : "act_9",
- "id" : 82,
+ "name" : "act_10",
+ "id" : 83,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 327,
"column" : 35,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_10",
- "id" : 83,
+ "name" : "act_11",
+ "id" : 84,
"runtime_data" : [],
"primitives" : [
{
@@ -9508,25 +9567,30 @@
]
},
{
- "name" : "act_11",
- "id" : 84,
+ "name" : "act_12",
+ "id" : 85,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
"column" : 39,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_12",
- "id" : 85,
+ "name" : "act_13",
+ "id" : 86,
"runtime_data" : [],
"primitives" : [
{
@@ -9574,8 +9638,8 @@
]
},
{
- "name" : "act_13",
- "id" : 86,
+ "name" : "act_14",
+ "id" : 87,
"runtime_data" : [],
"primitives" : [
{
@@ -9604,8 +9668,8 @@
]
},
{
- "name" : "act_14",
- "id" : 87,
+ "name" : "act_15",
+ "id" : 88,
"runtime_data" : [],
"primitives" : [
{
@@ -9640,8 +9704,8 @@
]
},
{
- "name" : "act_15",
- "id" : 88,
+ "name" : "act_16",
+ "id" : 89,
"runtime_data" : [],
"primitives" : [
{
@@ -9689,8 +9753,8 @@
]
},
{
- "name" : "act_16",
- "id" : 89,
+ "name" : "act_17",
+ "id" : 90,
"runtime_data" : [],
"primitives" : [
{
@@ -9738,8 +9802,8 @@
]
},
{
- "name" : "act_17",
- "id" : 90,
+ "name" : "act_18",
+ "id" : 91,
"runtime_data" : [],
"primitives" : [
{
@@ -9787,8 +9851,8 @@
]
},
{
- "name" : "act_18",
- "id" : 91,
+ "name" : "act_19",
+ "id" : 92,
"runtime_data" : [],
"primitives" : [
{
@@ -9866,9 +9930,9 @@
"direct_meters" : null,
"action_ids" : [29],
"actions" : ["act"],
- "base_default_next" : null,
+ "base_default_next" : "node_4",
"next_tables" : {
- "act" : null
+ "act" : "node_4"
},
"default_entry" : {
"action_id" : 29,
@@ -10834,9 +10898,9 @@
"id" : 16,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
},
"key" : [],
"match_type" : "exact",
@@ -10847,9 +10911,9 @@
"direct_meters" : null,
"action_ids" : [77],
"actions" : ["act_4"],
- "base_default_next" : "tbl_act_5",
+ "base_default_next" : "node_32",
"next_tables" : {
- "act_4" : "tbl_act_5"
+ "act_4" : "node_32"
},
"default_entry" : {
"action_id" : 77,
@@ -10863,9 +10927,9 @@
"id" : 17,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 49,
- "column" : 12,
- "source_fragment" : "hdr.packet_in.setValid(); ..."
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -10876,9 +10940,9 @@
"direct_meters" : null,
"action_ids" : [78],
"actions" : ["act_5"],
- "base_default_next" : null,
+ "base_default_next" : "tbl_act_6",
"next_tables" : {
- "act_5" : null
+ "act_5" : "tbl_act_6"
},
"default_entry" : {
"action_id" : 78,
@@ -10891,10 +10955,10 @@
"name" : "tbl_act_6",
"id" : 18,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 49,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
},
"key" : [],
"match_type" : "exact",
@@ -10905,9 +10969,9 @@
"direct_meters" : null,
"action_ids" : [79],
"actions" : ["act_6"],
- "base_default_next" : "node_37",
+ "base_default_next" : "node_36",
"next_tables" : {
- "act_6" : "node_37"
+ "act_6" : "node_36"
},
"default_entry" : {
"action_id" : 79,
@@ -10917,10 +10981,39 @@
}
},
{
- "name" : "tbl_egress_next_pop_mpls_if_present",
+ "name" : "tbl_act_7",
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "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" : [80],
+ "actions" : ["act_7"],
+ "base_default_next" : "node_38",
+ "next_tables" : {
+ "act_7" : "node_38"
+ },
+ "default_entry" : {
+ "action_id" : 80,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_pop_mpls_if_present",
+ "id" : 20,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
"line" : 312,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
@@ -10947,7 +11040,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 20,
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 314,
@@ -10976,7 +11069,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 21,
+ "id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 291,
@@ -11007,8 +11100,8 @@
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_7",
- "__MISS__" : "tbl_act_8"
+ "__HIT__" : "tbl_act_8",
+ "__MISS__" : "tbl_act_9"
},
"default_entry" : {
"action_id" : 36,
@@ -11018,29 +11111,6 @@
}
},
{
- "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_44",
- "next_tables" : {
- "act_7" : "node_44"
- },
- "default_entry" : {
- "action_id" : 80,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_act_8",
"id" : 23,
"key" : [],
@@ -11052,9 +11122,9 @@
"direct_meters" : null,
"action_ids" : [81],
"actions" : ["act_8"],
- "base_default_next" : "node_44",
+ "base_default_next" : "node_45",
"next_tables" : {
- "act_8" : "node_44"
+ "act_8" : "node_45"
},
"default_entry" : {
"action_id" : 81,
@@ -11064,8 +11134,31 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
+ "name" : "tbl_act_9",
"id" : 24,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [82],
+ "actions" : ["act_9"],
+ "base_default_next" : "node_45",
+ "next_tables" : {
+ "act_9" : "node_45"
+ },
+ "default_entry" : {
+ "action_id" : 82,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_push_vlan",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 320,
@@ -11081,9 +11174,9 @@
"direct_meters" : null,
"action_ids" : [75],
"actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_47",
+ "base_default_next" : "node_48",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_47"
+ "FabricEgress.egress_next.push_vlan" : "node_48"
},
"default_entry" : {
"action_id" : 75,
@@ -11093,8 +11186,8 @@
}
},
{
- "name" : "tbl_act_9",
- "id" : 25,
+ "name" : "tbl_act_10",
+ "id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 326,
@@ -11108,11 +11201,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [84],
+ "actions" : ["act_11"],
+ "base_default_next" : "node_50",
+ "next_tables" : {
+ "act_11" : "node_50"
+ },
+ "default_entry" : {
+ "action_id" : 84,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_11",
+ "id" : 27,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 35,
+ "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" : [83],
"actions" : ["act_10"],
- "base_default_next" : "node_49",
+ "base_default_next" : "node_56",
"next_tables" : {
- "act_10" : "node_49"
+ "act_10" : "node_56"
},
"default_entry" : {
"action_id" : 83,
@@ -11122,37 +11244,8 @@
}
},
{
- "name" : "tbl_act_10",
- "id" : 26,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 327,
- "column" : 35,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [82],
- "actions" : ["act_9"],
- "base_default_next" : "node_55",
- "next_tables" : {
- "act_9" : "node_55"
- },
- "default_entry" : {
- "action_id" : 82,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_11",
- "id" : 27,
+ "name" : "tbl_act_12",
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 330,
@@ -11166,11 +11259,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [86],
+ "actions" : ["act_13"],
+ "base_default_next" : "node_54",
+ "next_tables" : {
+ "act_13" : "node_54"
+ },
+ "default_entry" : {
+ "action_id" : 86,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_13",
+ "id" : 29,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 331,
+ "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" : [85],
"actions" : ["act_12"],
- "base_default_next" : "node_53",
+ "base_default_next" : "node_56",
"next_tables" : {
- "act_12" : "node_53"
+ "act_12" : "node_56"
},
"default_entry" : {
"action_id" : 85,
@@ -11180,37 +11302,8 @@
}
},
{
- "name" : "tbl_act_12",
- "id" : 28,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 331,
- "column" : 39,
- "source_fragment" : "mark_to_drop()"
- },
- "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_55",
- "next_tables" : {
- "act_11" : "node_55"
- },
- "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" : 30,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -11251,10 +11344,10 @@
"direct_meters" : null,
"action_ids" : [39, 34],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_58",
+ "base_default_next" : "node_59",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_58",
- "nop" : "node_58"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_59",
+ "nop" : "node_59"
},
"default_entry" : {
"action_id" : 34,
@@ -11264,8 +11357,8 @@
}
},
{
- "name" : "tbl_act_13",
- "id" : 30,
+ "name" : "tbl_act_14",
+ "id" : 31,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -11273,14 +11366,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [86],
- "actions" : ["act_13"],
+ "action_ids" : [87],
+ "actions" : ["act_14"],
"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_14" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 86,
+ "action_id" : 87,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11288,7 +11381,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 31,
+ "id" : 32,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -11311,10 +11404,10 @@
"direct_meters" : null,
"action_ids" : [40, 35],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_61",
+ "base_default_next" : "node_62",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_61",
- "nop" : "node_61"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_62",
+ "nop" : "node_62"
},
"default_entry" : {
"action_id" : 35,
@@ -11324,8 +11417,8 @@
}
},
{
- "name" : "tbl_act_14",
- "id" : 32,
+ "name" : "tbl_act_15",
+ "id" : 33,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -11339,14 +11432,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [87],
- "actions" : ["act_14"],
- "base_default_next" : "node_63",
+ "action_ids" : [88],
+ "actions" : ["act_15"],
+ "base_default_next" : "node_64",
"next_tables" : {
- "act_14" : "node_63"
+ "act_15" : "node_64"
},
"default_entry" : {
- "action_id" : 87,
+ "action_id" : 88,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -11354,7 +11447,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 33,
+ "id" : 34,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -11712,7 +11805,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 34,
+ "id" : 35,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -11735,25 +11828,25 @@
"direct_meters" : null,
"action_ids" : [57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 38],
"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_16",
"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_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_16",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_16",
+ "NoAction" : "tbl_act_16"
},
"default_entry" : {
"action_id" : 38,
@@ -12069,8 +12162,8 @@
]
},
{
- "name" : "tbl_act_15",
- "id" : 35,
+ "name" : "tbl_act_16",
+ "id" : 36,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -12084,22 +12177,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [89],
- "actions" : ["act_16"],
- "base_default_next" : "node_67",
+ "action_ids" : [90],
+ "actions" : ["act_17"],
+ "base_default_next" : "node_68",
"next_tables" : {
- "act_16" : "node_67"
+ "act_17" : "node_68"
},
"default_entry" : {
- "action_id" : 89,
+ "action_id" : 90,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_16",
- "id" : 36,
+ "name" : "tbl_act_17",
+ "id" : 37,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -12113,22 +12206,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [88],
- "actions" : ["act_15"],
- "base_default_next" : "node_69",
+ "action_ids" : [89],
+ "actions" : ["act_16"],
+ "base_default_next" : "node_70",
"next_tables" : {
- "act_15" : "node_69"
+ "act_16" : "node_70"
},
"default_entry" : {
- "action_id" : 88,
+ "action_id" : 89,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_17",
- "id" : 37,
+ "name" : "tbl_act_18",
+ "id" : 38,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -12142,22 +12235,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [90],
- "actions" : ["act_17"],
- "base_default_next" : "node_71",
+ "action_ids" : [91],
+ "actions" : ["act_18"],
+ "base_default_next" : "node_72",
"next_tables" : {
- "act_17" : "node_71"
+ "act_18" : "node_72"
},
"default_entry" : {
- "action_id" : 90,
+ "action_id" : 91,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_18",
- "id" : 38,
+ "name" : "tbl_act_19",
+ "id" : 39,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -12171,14 +12264,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [91],
- "actions" : ["act_18"],
+ "action_ids" : [92],
+ "actions" : ["act_19"],
"base_default_next" : null,
"next_tables" : {
- "act_18" : null
+ "act_19" : null
},
"default_entry" : {
- "action_id" : 91,
+ "action_id" : 92,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -12217,11 +12310,11 @@
}
}
},
- "true_next" : null,
- "false_next" : "node_31"
+ "true_next" : "tbl_act_4",
+ "false_next" : "node_32"
},
{
- "name" : "node_31",
+ "name" : "node_32",
"id" : 11,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -12243,11 +12336,11 @@
}
}
},
- "true_next" : "node_32",
- "false_next" : "node_35"
+ "true_next" : "node_33",
+ "false_next" : "node_36"
},
{
- "name" : "node_32",
+ "name" : "node_33",
"id" : 12,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -12303,11 +12396,11 @@
}
}
},
- "true_next" : "tbl_act_4",
- "false_next" : "tbl_act_5"
+ "true_next" : "tbl_act_5",
+ "false_next" : "tbl_act_6"
},
{
- "name" : "node_35",
+ "name" : "node_36",
"id" : 13,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12356,11 +12449,11 @@
}
}
},
- "true_next" : "tbl_act_6",
- "false_next" : "node_37"
+ "true_next" : "tbl_act_7",
+ "false_next" : "node_38"
},
{
- "name" : "node_37",
+ "name" : "node_38",
"id" : 14,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12382,11 +12475,11 @@
}
}
},
- "true_next" : "node_38",
+ "true_next" : "node_39",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_38",
+ "name" : "node_39",
"id" : 15,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12409,7 +12502,7 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_44",
+ "name" : "node_45",
"id" : 16,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12435,11 +12528,11 @@
}
}
},
- "true_next" : "node_45",
- "false_next" : "node_47"
+ "true_next" : "node_46",
+ "false_next" : "node_48"
},
{
- "name" : "node_45",
+ "name" : "node_46",
"id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12462,10 +12555,10 @@
}
},
"true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_47"
+ "false_next" : "node_48"
},
{
- "name" : "node_47",
+ "name" : "node_48",
"id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12484,11 +12577,11 @@
}
}
},
- "true_next" : "tbl_act_9",
- "false_next" : "node_51"
+ "true_next" : "tbl_act_10",
+ "false_next" : "node_52"
},
{
- "name" : "node_49",
+ "name" : "node_50",
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12510,11 +12603,11 @@
}
}
},
- "true_next" : "tbl_act_10",
- "false_next" : "node_55"
+ "true_next" : "tbl_act_11",
+ "false_next" : "node_56"
},
{
- "name" : "node_51",
+ "name" : "node_52",
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12533,11 +12626,11 @@
}
}
},
- "true_next" : "tbl_act_11",
- "false_next" : "node_55"
+ "true_next" : "tbl_act_12",
+ "false_next" : "node_56"
},
{
- "name" : "node_53",
+ "name" : "node_54",
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -12559,11 +12652,11 @@
}
}
},
- "true_next" : "tbl_act_12",
- "false_next" : "node_55"
+ "true_next" : "tbl_act_13",
+ "false_next" : "node_56"
},
{
- "name" : "node_55",
+ "name" : "node_56",
"id" : 22,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -12640,10 +12733,10 @@
}
},
"false_next" : null,
- "true_next" : "node_56"
+ "true_next" : "node_57"
},
{
- "name" : "node_56",
+ "name" : "node_57",
"id" : 23,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -12673,10 +12766,10 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_58"
+ "false_next" : "node_59"
},
{
- "name" : "node_58",
+ "name" : "node_59",
"id" : 24,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -12696,10 +12789,10 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_13"
+ "true_next" : "tbl_act_14"
},
{
- "name" : "node_61",
+ "name" : "node_62",
"id" : 25,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -12728,11 +12821,11 @@
}
}
},
- "true_next" : "tbl_act_14",
- "false_next" : "node_63"
+ "true_next" : "tbl_act_15",
+ "false_next" : "node_64"
},
{
- "name" : "node_63",
+ "name" : "node_64",
"id" : 26,
"expression" : {
"type" : "expression",
@@ -12756,7 +12849,7 @@
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
},
{
- "name" : "node_67",
+ "name" : "node_68",
"id" : 27,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -12775,11 +12868,11 @@
}
}
},
- "true_next" : "tbl_act_16",
- "false_next" : "node_69"
+ "true_next" : "tbl_act_17",
+ "false_next" : "node_70"
},
{
- "name" : "node_69",
+ "name" : "node_70",
"id" : 28,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -12798,11 +12891,11 @@
}
}
},
- "true_next" : "tbl_act_17",
- "false_next" : "node_71"
+ "true_next" : "tbl_act_18",
+ "false_next" : "node_72"
},
{
- "name" : "node_71",
+ "name" : "node_72",
"id" : 29,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -12822,7 +12915,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_18"
+ "true_next" : "tbl_act_19"
}
]
}
@@ -12927,6 +13020,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "fabric.p4",
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
index c823b48..a2854f0 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
@@ -70,10 +70,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding", 5, false]
+ ["priority", 3, false],
+ ["_padding", 2, false]
]
},
{
@@ -497,12 +498,13 @@
"header_union_stacks" : [],
"field_lists" : [],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -1323,7 +1325,7 @@
"binding" : "FabricIngress.spgw_ingress.dl_sess_lookup",
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 51,
+ "line" : 52,
"column" : 50,
"source_fragment" : "ue_counter"
}
@@ -1577,7 +1579,7 @@
"id" : 1,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 242,
+ "line" : 243,
"column" : 8,
"source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
},
@@ -1772,7 +1774,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 55,
+ "line" : 56,
"column" : 8,
"source_fragment" : "gtpu_ipv4.setInvalid()"
}
@@ -1787,7 +1789,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 56,
+ "line" : 57,
"column" : 8,
"source_fragment" : "gtpu_udp.setInvalid()"
}
@@ -1802,7 +1804,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 57,
+ "line" : 58,
"column" : 8,
"source_fragment" : "gtpu.setInvalid()"
}
@@ -1841,7 +1843,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 63,
+ "line" : 64,
"column" : 30,
"source_fragment" : "= teid; ..."
}
@@ -1860,7 +1862,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 64,
+ "line" : 65,
"column" : 38,
"source_fragment" : "= s1u_enb_addr; ..."
}
@@ -1879,7 +1881,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 65,
+ "line" : 66,
"column" : 38,
"source_fragment" : "= s1u_sgw_addr; ..."
}
@@ -2301,13 +2303,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/acl.p4",
"line" : 51,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
},
{
@@ -2983,6 +2990,16 @@
"column" : 53,
"source_fragment" : "= true; ..."
}
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "exit"
+ }
}
]
},
@@ -3161,13 +3178,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 148,
+ "line" : 149,
"column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -3332,7 +3354,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 157,
+ "line" : 158,
"column" : 12,
"source_fragment" : "return"
}
@@ -3388,7 +3410,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 174,
+ "line" : 175,
"column" : 34,
"source_fragment" : "= ipv4.total_len; ..."
}
@@ -3556,7 +3578,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 190,
+ "line" : 191,
"column" : 8,
"source_fragment" : "gtpu_ipv4.setValid()"
}
@@ -3575,7 +3597,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 191,
+ "line" : 192,
"column" : 8,
"source_fragment" : "gtpu_ipv4.version = 4"
}
@@ -3613,7 +3635,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 193,
+ "line" : 194,
"column" : 8,
"source_fragment" : "gtpu_ipv4.dscp = 0"
}
@@ -3632,7 +3654,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 194,
+ "line" : 195,
"column" : 8,
"source_fragment" : "gtpu_ipv4.ecn = 0"
}
@@ -3674,7 +3696,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 195,
+ "line" : 196,
"column" : 8,
"source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
}
@@ -3693,7 +3715,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 197,
+ "line" : 198,
"column" : 8,
"source_fragment" : "gtpu_ipv4.identification = 0x1513"
}
@@ -3712,7 +3734,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 198,
+ "line" : 199,
"column" : 8,
"source_fragment" : "gtpu_ipv4.flags = 0"
}
@@ -3731,7 +3753,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 199,
+ "line" : 200,
"column" : 8,
"source_fragment" : "gtpu_ipv4.frag_offset = 0"
}
@@ -3788,7 +3810,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 202,
+ "line" : 203,
"column" : 8,
"source_fragment" : "gtpu_ipv4.dst_addr = fabric_meta.spgw.s1u_enb_addr; ..."
}
@@ -3807,7 +3829,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 203,
+ "line" : 204,
"column" : 8,
"source_fragment" : "gtpu_ipv4.src_addr = fabric_meta.spgw.s1u_sgw_addr; ..."
}
@@ -3826,7 +3848,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 204,
+ "line" : 205,
"column" : 8,
"source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
}
@@ -3841,7 +3863,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 206,
+ "line" : 207,
"column" : 8,
"source_fragment" : "gtpu_udp.setValid()"
}
@@ -3860,7 +3882,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 207,
+ "line" : 208,
"column" : 8,
"source_fragment" : "gtpu_udp.sport = 2152"
}
@@ -3879,7 +3901,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 208,
+ "line" : 209,
"column" : 8,
"source_fragment" : "gtpu_udp.dport = 2152"
}
@@ -3921,7 +3943,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 209,
+ "line" : 210,
"column" : 8,
"source_fragment" : "gtpu_udp.len = fabric_meta.spgw.ipv4_len ..."
}
@@ -3940,7 +3962,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 211,
+ "line" : 212,
"column" : 8,
"source_fragment" : "gtpu_udp.checksum = 0"
}
@@ -3955,7 +3977,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 213,
+ "line" : 214,
"column" : 8,
"source_fragment" : "gtpu.setValid()"
}
@@ -3974,7 +3996,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 214,
+ "line" : 215,
"column" : 8,
"source_fragment" : "gtpu.version = 0x01"
}
@@ -3993,7 +4015,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 215,
+ "line" : 216,
"column" : 8,
"source_fragment" : "gtpu.pt = 0x01"
}
@@ -4012,7 +4034,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 216,
+ "line" : 217,
"column" : 8,
"source_fragment" : "gtpu.spare = 0"
}
@@ -4031,7 +4053,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 217,
+ "line" : 218,
"column" : 8,
"source_fragment" : "gtpu.ex_flag = 0"
}
@@ -4050,7 +4072,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 218,
+ "line" : 219,
"column" : 8,
"source_fragment" : "gtpu.seq_flag = 0"
}
@@ -4069,7 +4091,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 219,
+ "line" : 220,
"column" : 8,
"source_fragment" : "gtpu.npdu_flag = 0"
}
@@ -4088,7 +4110,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 220,
+ "line" : 221,
"column" : 8,
"source_fragment" : "gtpu.msgtype = 0xff"
}
@@ -4107,7 +4129,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 221,
+ "line" : 222,
"column" : 8,
"source_fragment" : "gtpu.msglen = fabric_meta.spgw.ipv4_len; ..."
}
@@ -4126,7 +4148,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 222,
+ "line" : 223,
"column" : 8,
"source_fragment" : "gtpu.teid = fabric_meta.spgw.teid; ..."
}
@@ -10880,13 +10902,13 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
}
}
]
@@ -10897,6 +10919,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_21",
+ "id" : 99,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "add_header",
"parameters" : [
{
@@ -10929,22 +10973,15 @@
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
- }
- ]
- },
- {
- "name" : "act_21",
- "id" : 99,
- "runtime_data" : [],
- "primitives" : [
+ },
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 52,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "exit"
}
}
]
@@ -10955,6 +10992,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_23",
+ "id" : 101,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "assign",
"parameters" : [
{
@@ -10980,8 +11039,8 @@
]
},
{
- "name" : "act_23",
- "id" : 101,
+ "name" : "act_24",
+ "id" : 102,
"runtime_data" : [],
"primitives" : [
{
@@ -11010,25 +11069,30 @@
]
},
{
- "name" : "act_24",
- "id" : 102,
+ "name" : "act_25",
+ "id" : 103,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 327,
"column" : 35,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_25",
- "id" : 103,
+ "name" : "act_26",
+ "id" : 104,
"runtime_data" : [],
"primitives" : [
{
@@ -11076,25 +11140,30 @@
]
},
{
- "name" : "act_26",
- "id" : 104,
+ "name" : "act_27",
+ "id" : 105,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
"column" : 39,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_27",
- "id" : 105,
+ "name" : "act_28",
+ "id" : 106,
"runtime_data" : [],
"primitives" : [
{
@@ -11142,8 +11211,8 @@
]
},
{
- "name" : "act_28",
- "id" : 106,
+ "name" : "act_29",
+ "id" : 107,
"runtime_data" : [],
"primitives" : [
{
@@ -11172,8 +11241,8 @@
]
},
{
- "name" : "act_29",
- "id" : 107,
+ "name" : "act_30",
+ "id" : 108,
"runtime_data" : [],
"primitives" : [
{
@@ -11208,8 +11277,8 @@
]
},
{
- "name" : "act_30",
- "id" : 108,
+ "name" : "act_31",
+ "id" : 109,
"runtime_data" : [],
"primitives" : [
{
@@ -11257,8 +11326,8 @@
]
},
{
- "name" : "act_31",
- "id" : 109,
+ "name" : "act_32",
+ "id" : 110,
"runtime_data" : [],
"primitives" : [
{
@@ -11306,8 +11375,8 @@
]
},
{
- "name" : "act_32",
- "id" : 110,
+ "name" : "act_33",
+ "id" : 111,
"runtime_data" : [],
"primitives" : [
{
@@ -11355,8 +11424,8 @@
]
},
{
- "name" : "act_33",
- "id" : 111,
+ "name" : "act_34",
+ "id" : 112,
"runtime_data" : [],
"primitives" : [
{
@@ -11579,9 +11648,9 @@
"direct_meters" : null,
"action_ids" : [38],
"actions" : ["act_4"],
- "base_default_next" : null,
+ "base_default_next" : "node_12",
"next_tables" : {
- "act_4" : null
+ "act_4" : "node_12"
},
"default_entry" : {
"action_id" : 38,
@@ -11774,7 +11843,7 @@
"id" : 11,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 82,
+ "line" : 83,
"column" : 10,
"source_fragment" : "s1u_filter_table"
},
@@ -11857,9 +11926,9 @@
"id" : 14,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 148,
+ "line" : 149,
"column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -11886,7 +11955,7 @@
"id" : 15,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 150,
+ "line" : 151,
"column" : 39,
"source_fragment" : "="
},
@@ -11915,7 +11984,7 @@
"id" : 16,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 151,
+ "line" : 152,
"column" : 12,
"source_fragment" : "gtpu_decap()"
},
@@ -11944,7 +12013,7 @@
"id" : 17,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 69,
+ "line" : 70,
"column" : 10,
"source_fragment" : "dl_sess_lookup"
},
@@ -12027,7 +12096,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 153,
+ "line" : 154,
"column" : 39,
"source_fragment" : "="
},
@@ -12056,7 +12125,7 @@
"id" : 21,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 155,
+ "line" : 156,
"column" : 39,
"source_fragment" : "= SPGW_DIR_UNKNOWN; ..."
},
@@ -12085,7 +12154,7 @@
"id" : 22,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 174,
+ "line" : 175,
"column" : 34,
"source_fragment" : "="
},
@@ -12778,7 +12847,7 @@
"id" : 6,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 143,
+ "line" : 144,
"column" : 12,
"source_fragment" : "gtpu.isValid()"
},
@@ -12801,7 +12870,7 @@
"id" : 7,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 147,
+ "line" : 148,
"column" : 16,
"source_fragment" : "!s1u_filter_table.apply().hit"
},
@@ -13081,9 +13150,9 @@
"id" : 34,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
},
"key" : [],
"match_type" : "exact",
@@ -13094,9 +13163,9 @@
"direct_meters" : null,
"action_ids" : [97],
"actions" : ["act_19"],
- "base_default_next" : "tbl_act_20",
+ "base_default_next" : "node_57",
"next_tables" : {
- "act_19" : "tbl_act_20"
+ "act_19" : "node_57"
},
"default_entry" : {
"action_id" : 97,
@@ -13110,9 +13179,9 @@
"id" : 35,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 49,
- "column" : 12,
- "source_fragment" : "hdr.packet_in.setValid(); ..."
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -13123,9 +13192,9 @@
"direct_meters" : null,
"action_ids" : [98],
"actions" : ["act_20"],
- "base_default_next" : null,
+ "base_default_next" : "tbl_act_21",
"next_tables" : {
- "act_20" : null
+ "act_20" : "tbl_act_21"
},
"default_entry" : {
"action_id" : 98,
@@ -13138,10 +13207,10 @@
"name" : "tbl_act_21",
"id" : 36,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 49,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
},
"key" : [],
"match_type" : "exact",
@@ -13152,9 +13221,9 @@
"direct_meters" : null,
"action_ids" : [99],
"actions" : ["act_21"],
- "base_default_next" : "node_62",
+ "base_default_next" : "node_61",
"next_tables" : {
- "act_21" : "node_62"
+ "act_21" : "node_61"
},
"default_entry" : {
"action_id" : 99,
@@ -13164,10 +13233,39 @@
}
},
{
- "name" : "tbl_egress_next_pop_mpls_if_present",
+ "name" : "tbl_act_22",
"id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "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" : [100],
+ "actions" : ["act_22"],
+ "base_default_next" : "node_63",
+ "next_tables" : {
+ "act_22" : "node_63"
+ },
+ "default_entry" : {
+ "action_id" : 100,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_pop_mpls_if_present",
+ "id" : 38,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
"line" : 312,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
@@ -13194,7 +13292,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 38,
+ "id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 314,
@@ -13223,7 +13321,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 39,
+ "id" : 40,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 291,
@@ -13254,8 +13352,8 @@
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_22",
- "__MISS__" : "tbl_act_23"
+ "__HIT__" : "tbl_act_23",
+ "__MISS__" : "tbl_act_24"
},
"default_entry" : {
"action_id" : 55,
@@ -13265,29 +13363,6 @@
}
},
{
- "name" : "tbl_act_22",
- "id" : 40,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [100],
- "actions" : ["act_22"],
- "base_default_next" : "node_69",
- "next_tables" : {
- "act_22" : "node_69"
- },
- "default_entry" : {
- "action_id" : 100,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_act_23",
"id" : 41,
"key" : [],
@@ -13299,9 +13374,9 @@
"direct_meters" : null,
"action_ids" : [101],
"actions" : ["act_23"],
- "base_default_next" : "node_69",
+ "base_default_next" : "node_70",
"next_tables" : {
- "act_23" : "node_69"
+ "act_23" : "node_70"
},
"default_entry" : {
"action_id" : 101,
@@ -13311,8 +13386,31 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
+ "name" : "tbl_act_24",
"id" : 42,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [102],
+ "actions" : ["act_24"],
+ "base_default_next" : "node_70",
+ "next_tables" : {
+ "act_24" : "node_70"
+ },
+ "default_entry" : {
+ "action_id" : 102,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_push_vlan",
+ "id" : 43,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 320,
@@ -13328,9 +13426,9 @@
"direct_meters" : null,
"action_ids" : [95],
"actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_72",
+ "base_default_next" : "node_73",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_72"
+ "FabricEgress.egress_next.push_vlan" : "node_73"
},
"default_entry" : {
"action_id" : 95,
@@ -13340,8 +13438,8 @@
}
},
{
- "name" : "tbl_act_24",
- "id" : 43,
+ "name" : "tbl_act_25",
+ "id" : 44,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 326,
@@ -13355,11 +13453,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [104],
+ "actions" : ["act_26"],
+ "base_default_next" : "node_75",
+ "next_tables" : {
+ "act_26" : "node_75"
+ },
+ "default_entry" : {
+ "action_id" : 104,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_26",
+ "id" : 45,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 35,
+ "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" : [103],
"actions" : ["act_25"],
- "base_default_next" : "node_74",
+ "base_default_next" : "node_81",
"next_tables" : {
- "act_25" : "node_74"
+ "act_25" : "node_81"
},
"default_entry" : {
"action_id" : 103,
@@ -13369,37 +13496,8 @@
}
},
{
- "name" : "tbl_act_25",
- "id" : 44,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 327,
- "column" : 35,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [102],
- "actions" : ["act_24"],
- "base_default_next" : "node_80",
- "next_tables" : {
- "act_24" : "node_80"
- },
- "default_entry" : {
- "action_id" : 102,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_26",
- "id" : 45,
+ "name" : "tbl_act_27",
+ "id" : 46,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 330,
@@ -13413,11 +13511,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [106],
+ "actions" : ["act_28"],
+ "base_default_next" : "node_79",
+ "next_tables" : {
+ "act_28" : "node_79"
+ },
+ "default_entry" : {
+ "action_id" : 106,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_28",
+ "id" : 47,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 331,
+ "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" : [105],
"actions" : ["act_27"],
- "base_default_next" : "node_78",
+ "base_default_next" : "node_81",
"next_tables" : {
- "act_27" : "node_78"
+ "act_27" : "node_81"
},
"default_entry" : {
"action_id" : 105,
@@ -13427,40 +13554,11 @@
}
},
{
- "name" : "tbl_act_27",
- "id" : 46,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 331,
- "column" : 39,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [104],
- "actions" : ["act_26"],
- "base_default_next" : "node_80",
- "next_tables" : {
- "act_26" : "node_80"
- },
- "default_entry" : {
- "action_id" : 104,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_spgw_egress_gtpu_encap",
- "id" : 47,
+ "id" : 48,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 227,
+ "line" : 228,
"column" : 12,
"source_fragment" : "gtpu_encap()"
},
@@ -13473,9 +13571,9 @@
"direct_meters" : null,
"action_ids" : [58],
"actions" : ["FabricEgress.spgw_egress.gtpu_encap"],
- "base_default_next" : "node_82",
+ "base_default_next" : "node_83",
"next_tables" : {
- "FabricEgress.spgw_egress.gtpu_encap" : "node_82"
+ "FabricEgress.spgw_egress.gtpu_encap" : "node_83"
},
"default_entry" : {
"action_id" : 58,
@@ -13486,7 +13584,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "id" : 48,
+ "id" : 49,
"source_info" : {
"filename" : "include/int/int_source.p4",
"line" : 66,
@@ -13527,10 +13625,10 @@
"direct_meters" : null,
"action_ids" : [59, 53],
"actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
- "base_default_next" : "node_85",
+ "base_default_next" : "node_86",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_85",
- "nop" : "node_85"
+ "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_86",
+ "nop" : "node_86"
},
"default_entry" : {
"action_id" : 53,
@@ -13540,8 +13638,8 @@
}
},
{
- "name" : "tbl_act_28",
- "id" : 49,
+ "name" : "tbl_act_29",
+ "id" : 50,
"key" : [],
"match_type" : "exact",
"type" : "simple",
@@ -13549,14 +13647,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [106],
- "actions" : ["act_28"],
+ "action_ids" : [107],
+ "actions" : ["act_29"],
"base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
"next_tables" : {
- "act_28" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
+ "act_29" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
},
"default_entry" : {
- "action_id" : 106,
+ "action_id" : 107,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -13564,7 +13662,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
- "id" : 50,
+ "id" : 51,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 315,
@@ -13587,10 +13685,10 @@
"direct_meters" : null,
"action_ids" : [60, 54],
"actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
- "base_default_next" : "node_88",
+ "base_default_next" : "node_89",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_88",
- "nop" : "node_88"
+ "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_89",
+ "nop" : "node_89"
},
"default_entry" : {
"action_id" : 54,
@@ -13600,8 +13698,8 @@
}
},
{
- "name" : "tbl_act_29",
- "id" : 51,
+ "name" : "tbl_act_30",
+ "id" : 52,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 420,
@@ -13615,14 +13713,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [107],
- "actions" : ["act_29"],
- "base_default_next" : "node_90",
+ "action_ids" : [108],
+ "actions" : ["act_30"],
+ "base_default_next" : "node_91",
"next_tables" : {
- "act_29" : "node_90"
+ "act_30" : "node_91"
},
"default_entry" : {
- "action_id" : 107,
+ "action_id" : 108,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -13630,7 +13728,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
- "id" : 52,
+ "id" : 53,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 331,
@@ -13988,7 +14086,7 @@
},
{
"name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
- "id" : 53,
+ "id" : 54,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 375,
@@ -14011,25 +14109,25 @@
"direct_meters" : null,
"action_ids" : [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 57],
"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_30",
+ "base_default_next" : "tbl_act_31",
"next_tables" : {
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_30",
- "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_30",
- "NoAction" : "tbl_act_30"
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14" : "tbl_act_31",
+ "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15" : "tbl_act_31",
+ "NoAction" : "tbl_act_31"
},
"default_entry" : {
"action_id" : 57,
@@ -14345,8 +14443,8 @@
]
},
{
- "name" : "tbl_act_30",
- "id" : 54,
+ "name" : "tbl_act_31",
+ "id" : 55,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 425,
@@ -14360,22 +14458,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [109],
- "actions" : ["act_31"],
- "base_default_next" : "node_94",
+ "action_ids" : [110],
+ "actions" : ["act_32"],
+ "base_default_next" : "node_95",
"next_tables" : {
- "act_31" : "node_94"
+ "act_32" : "node_95"
},
"default_entry" : {
- "action_id" : 109,
+ "action_id" : 110,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_31",
- "id" : 55,
+ "name" : "tbl_act_32",
+ "id" : 56,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 428,
@@ -14389,22 +14487,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [108],
- "actions" : ["act_30"],
- "base_default_next" : "node_96",
+ "action_ids" : [109],
+ "actions" : ["act_31"],
+ "base_default_next" : "node_97",
"next_tables" : {
- "act_30" : "node_96"
+ "act_31" : "node_97"
},
"default_entry" : {
- "action_id" : 108,
+ "action_id" : 109,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_32",
- "id" : 56,
+ "name" : "tbl_act_33",
+ "id" : 57,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 431,
@@ -14418,22 +14516,22 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [110],
- "actions" : ["act_32"],
- "base_default_next" : "node_98",
+ "action_ids" : [111],
+ "actions" : ["act_33"],
+ "base_default_next" : "node_99",
"next_tables" : {
- "act_32" : "node_98"
+ "act_33" : "node_99"
},
"default_entry" : {
- "action_id" : 110,
+ "action_id" : 111,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_33",
- "id" : 57,
+ "name" : "tbl_act_34",
+ "id" : 58,
"source_info" : {
"filename" : "include/int/int_transit.p4",
"line" : 434,
@@ -14447,14 +14545,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [111],
- "actions" : ["act_33"],
+ "action_ids" : [112],
+ "actions" : ["act_34"],
"base_default_next" : null,
"next_tables" : {
- "act_33" : null
+ "act_34" : null
},
"default_entry" : {
- "action_id" : 111,
+ "action_id" : 112,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -14493,11 +14591,11 @@
}
}
},
- "true_next" : null,
- "false_next" : "node_56"
+ "true_next" : "tbl_act_19",
+ "false_next" : "node_57"
},
{
- "name" : "node_56",
+ "name" : "node_57",
"id" : 18,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -14519,11 +14617,11 @@
}
}
},
- "true_next" : "node_57",
- "false_next" : "node_60"
+ "true_next" : "node_58",
+ "false_next" : "node_61"
},
{
- "name" : "node_57",
+ "name" : "node_58",
"id" : 19,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -14579,11 +14677,11 @@
}
}
},
- "true_next" : "tbl_act_19",
- "false_next" : "tbl_act_20"
+ "true_next" : "tbl_act_20",
+ "false_next" : "tbl_act_21"
},
{
- "name" : "node_60",
+ "name" : "node_61",
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14632,11 +14730,11 @@
}
}
},
- "true_next" : "tbl_act_21",
- "false_next" : "node_62"
+ "true_next" : "tbl_act_22",
+ "false_next" : "node_63"
},
{
- "name" : "node_62",
+ "name" : "node_63",
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14658,11 +14756,11 @@
}
}
},
- "true_next" : "node_63",
+ "true_next" : "node_64",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_63",
+ "name" : "node_64",
"id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14685,7 +14783,7 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_69",
+ "name" : "node_70",
"id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14711,11 +14809,11 @@
}
}
},
- "true_next" : "node_70",
- "false_next" : "node_72"
+ "true_next" : "node_71",
+ "false_next" : "node_73"
},
{
- "name" : "node_70",
+ "name" : "node_71",
"id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14738,10 +14836,10 @@
}
},
"true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_72"
+ "false_next" : "node_73"
},
{
- "name" : "node_72",
+ "name" : "node_73",
"id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14760,11 +14858,11 @@
}
}
},
- "true_next" : "tbl_act_24",
- "false_next" : "node_76"
+ "true_next" : "tbl_act_25",
+ "false_next" : "node_77"
},
{
- "name" : "node_74",
+ "name" : "node_75",
"id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14786,11 +14884,11 @@
}
}
},
- "true_next" : "tbl_act_25",
- "false_next" : "node_80"
+ "true_next" : "tbl_act_26",
+ "false_next" : "node_81"
},
{
- "name" : "node_76",
+ "name" : "node_77",
"id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14809,11 +14907,11 @@
}
}
},
- "true_next" : "tbl_act_26",
- "false_next" : "node_80"
+ "true_next" : "tbl_act_27",
+ "false_next" : "node_81"
},
{
- "name" : "node_78",
+ "name" : "node_79",
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -14835,15 +14933,15 @@
}
}
},
- "true_next" : "tbl_act_27",
- "false_next" : "node_80"
+ "true_next" : "tbl_act_28",
+ "false_next" : "node_81"
},
{
- "name" : "node_80",
+ "name" : "node_81",
"id" : 29,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 226,
+ "line" : 227,
"column" : 12,
"source_fragment" : "fabric_meta.spgw.direction == SPGW_DIR_DOWNLINK"
},
@@ -14862,10 +14960,10 @@
}
},
"true_next" : "tbl_spgw_egress_gtpu_encap",
- "false_next" : "node_82"
+ "false_next" : "node_83"
},
{
- "name" : "node_82",
+ "name" : "node_83",
"id" : 30,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -14942,10 +15040,10 @@
}
},
"false_next" : null,
- "true_next" : "node_83"
+ "true_next" : "node_84"
},
{
- "name" : "node_83",
+ "name" : "node_84",
"id" : 31,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -14975,10 +15073,10 @@
}
},
"true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
- "false_next" : "node_85"
+ "false_next" : "node_86"
},
{
- "name" : "node_85",
+ "name" : "node_86",
"id" : 32,
"source_info" : {
"filename" : "include/int/int_main.p4",
@@ -14998,10 +15096,10 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_28"
+ "true_next" : "tbl_act_29"
},
{
- "name" : "node_88",
+ "name" : "node_89",
"id" : 33,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -15030,11 +15128,11 @@
}
}
},
- "true_next" : "tbl_act_29",
- "false_next" : "node_90"
+ "true_next" : "tbl_act_30",
+ "false_next" : "node_91"
},
{
- "name" : "node_90",
+ "name" : "node_91",
"id" : 34,
"expression" : {
"type" : "expression",
@@ -15058,7 +15156,7 @@
"true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
},
{
- "name" : "node_94",
+ "name" : "node_95",
"id" : 35,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -15077,11 +15175,11 @@
}
}
},
- "true_next" : "tbl_act_31",
- "false_next" : "node_96"
+ "true_next" : "tbl_act_32",
+ "false_next" : "node_97"
},
{
- "name" : "node_96",
+ "name" : "node_97",
"id" : 36,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -15100,11 +15198,11 @@
}
}
},
- "true_next" : "tbl_act_32",
- "false_next" : "node_98"
+ "true_next" : "tbl_act_33",
+ "false_next" : "node_99"
},
{
- "name" : "node_98",
+ "name" : "node_99",
"id" : 37,
"source_info" : {
"filename" : "include/int/int_transit.p4",
@@ -15124,7 +15222,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_33"
+ "true_next" : "tbl_act_34"
}
]
}
@@ -15161,7 +15259,7 @@
"id" : 1,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 242,
+ "line" : 243,
"column" : 8,
"source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
},
@@ -15255,6 +15353,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "fabric.p4",
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
index 441b476..860a5a3 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
@@ -60,10 +60,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding", 5, false]
+ ["priority", 3, false],
+ ["_padding", 2, false]
]
},
{
@@ -312,12 +313,13 @@
"header_union_stacks" : [],
"field_lists" : [],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -1009,7 +1011,7 @@
"binding" : "FabricIngress.spgw_ingress.dl_sess_lookup",
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 51,
+ "line" : 52,
"column" : 50,
"source_fragment" : "ue_counter"
}
@@ -1239,7 +1241,7 @@
"id" : 1,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 242,
+ "line" : 243,
"column" : 8,
"source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
},
@@ -1428,7 +1430,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 55,
+ "line" : 56,
"column" : 8,
"source_fragment" : "gtpu_ipv4.setInvalid()"
}
@@ -1443,7 +1445,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 56,
+ "line" : 57,
"column" : 8,
"source_fragment" : "gtpu_udp.setInvalid()"
}
@@ -1458,7 +1460,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 57,
+ "line" : 58,
"column" : 8,
"source_fragment" : "gtpu.setInvalid()"
}
@@ -1497,7 +1499,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 63,
+ "line" : 64,
"column" : 30,
"source_fragment" : "= teid; ..."
}
@@ -1516,7 +1518,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 64,
+ "line" : 65,
"column" : 38,
"source_fragment" : "= s1u_enb_addr; ..."
}
@@ -1535,7 +1537,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 65,
+ "line" : 66,
"column" : 38,
"source_fragment" : "= s1u_sgw_addr; ..."
}
@@ -1921,13 +1923,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/acl.p4",
"line" : 51,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
},
{
@@ -2603,6 +2610,16 @@
"column" : 53,
"source_fragment" : "= true; ..."
}
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "exit"
+ }
}
]
},
@@ -2781,13 +2798,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 148,
+ "line" : 149,
"column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
@@ -2952,7 +2974,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 157,
+ "line" : 158,
"column" : 12,
"source_fragment" : "return"
}
@@ -3008,7 +3030,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 174,
+ "line" : 175,
"column" : 34,
"source_fragment" : "= ipv4.total_len; ..."
}
@@ -3152,7 +3174,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 190,
+ "line" : 191,
"column" : 8,
"source_fragment" : "gtpu_ipv4.setValid()"
}
@@ -3171,7 +3193,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 191,
+ "line" : 192,
"column" : 8,
"source_fragment" : "gtpu_ipv4.version = 4"
}
@@ -3209,7 +3231,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 193,
+ "line" : 194,
"column" : 8,
"source_fragment" : "gtpu_ipv4.dscp = 0"
}
@@ -3228,7 +3250,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 194,
+ "line" : 195,
"column" : 8,
"source_fragment" : "gtpu_ipv4.ecn = 0"
}
@@ -3270,7 +3292,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 195,
+ "line" : 196,
"column" : 8,
"source_fragment" : "gtpu_ipv4.total_len = ipv4.total_len ..."
}
@@ -3289,7 +3311,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 197,
+ "line" : 198,
"column" : 8,
"source_fragment" : "gtpu_ipv4.identification = 0x1513"
}
@@ -3308,7 +3330,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 198,
+ "line" : 199,
"column" : 8,
"source_fragment" : "gtpu_ipv4.flags = 0"
}
@@ -3327,7 +3349,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 199,
+ "line" : 200,
"column" : 8,
"source_fragment" : "gtpu_ipv4.frag_offset = 0"
}
@@ -3384,7 +3406,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 202,
+ "line" : 203,
"column" : 8,
"source_fragment" : "gtpu_ipv4.dst_addr = fabric_meta.spgw.s1u_enb_addr; ..."
}
@@ -3403,7 +3425,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 203,
+ "line" : 204,
"column" : 8,
"source_fragment" : "gtpu_ipv4.src_addr = fabric_meta.spgw.s1u_sgw_addr; ..."
}
@@ -3422,7 +3444,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 204,
+ "line" : 205,
"column" : 8,
"source_fragment" : "gtpu_ipv4.hdr_checksum = 0"
}
@@ -3437,7 +3459,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 206,
+ "line" : 207,
"column" : 8,
"source_fragment" : "gtpu_udp.setValid()"
}
@@ -3456,7 +3478,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 207,
+ "line" : 208,
"column" : 8,
"source_fragment" : "gtpu_udp.sport = 2152"
}
@@ -3475,7 +3497,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 208,
+ "line" : 209,
"column" : 8,
"source_fragment" : "gtpu_udp.dport = 2152"
}
@@ -3517,7 +3539,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 209,
+ "line" : 210,
"column" : 8,
"source_fragment" : "gtpu_udp.len = fabric_meta.spgw.ipv4_len ..."
}
@@ -3536,7 +3558,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 211,
+ "line" : 212,
"column" : 8,
"source_fragment" : "gtpu_udp.checksum = 0"
}
@@ -3551,7 +3573,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 213,
+ "line" : 214,
"column" : 8,
"source_fragment" : "gtpu.setValid()"
}
@@ -3570,7 +3592,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 214,
+ "line" : 215,
"column" : 8,
"source_fragment" : "gtpu.version = 0x01"
}
@@ -3589,7 +3611,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 215,
+ "line" : 216,
"column" : 8,
"source_fragment" : "gtpu.pt = 0x01"
}
@@ -3608,7 +3630,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 216,
+ "line" : 217,
"column" : 8,
"source_fragment" : "gtpu.spare = 0"
}
@@ -3627,7 +3649,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 217,
+ "line" : 218,
"column" : 8,
"source_fragment" : "gtpu.ex_flag = 0"
}
@@ -3646,7 +3668,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 218,
+ "line" : 219,
"column" : 8,
"source_fragment" : "gtpu.seq_flag = 0"
}
@@ -3665,7 +3687,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 219,
+ "line" : 220,
"column" : 8,
"source_fragment" : "gtpu.npdu_flag = 0"
}
@@ -3684,7 +3706,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 220,
+ "line" : 221,
"column" : 8,
"source_fragment" : "gtpu.msgtype = 0xff"
}
@@ -3703,7 +3725,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 221,
+ "line" : 222,
"column" : 8,
"source_fragment" : "gtpu.msglen = fabric_meta.spgw.ipv4_len; ..."
}
@@ -3722,7 +3744,7 @@
],
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 222,
+ "line" : 223,
"column" : 8,
"source_fragment" : "gtpu.teid = fabric_meta.spgw.teid; ..."
}
@@ -4051,13 +4073,13 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
}
}
]
@@ -4068,6 +4090,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_21",
+ "id" : 59,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "add_header",
"parameters" : [
{
@@ -4100,22 +4144,15 @@
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
- }
- ]
- },
- {
- "name" : "act_21",
- "id" : 59,
- "runtime_data" : [],
- "primitives" : [
+ },
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 52,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "exit"
}
}
]
@@ -4126,6 +4163,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_23",
+ "id" : 61,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "assign",
"parameters" : [
{
@@ -4151,8 +4210,8 @@
]
},
{
- "name" : "act_23",
- "id" : 61,
+ "name" : "act_24",
+ "id" : 62,
"runtime_data" : [],
"primitives" : [
{
@@ -4181,25 +4240,30 @@
]
},
{
- "name" : "act_24",
- "id" : 62,
+ "name" : "act_25",
+ "id" : 63,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 327,
"column" : 35,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_25",
- "id" : 63,
+ "name" : "act_26",
+ "id" : 64,
"runtime_data" : [],
"primitives" : [
{
@@ -4247,25 +4311,30 @@
]
},
{
- "name" : "act_26",
- "id" : 64,
+ "name" : "act_27",
+ "id" : 65,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
"column" : 39,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_27",
- "id" : 65,
+ "name" : "act_28",
+ "id" : 66,
"runtime_data" : [],
"primitives" : [
{
@@ -4488,9 +4557,9 @@
"direct_meters" : null,
"action_ids" : [36],
"actions" : ["act_4"],
- "base_default_next" : null,
+ "base_default_next" : "node_12",
"next_tables" : {
- "act_4" : null
+ "act_4" : "node_12"
},
"default_entry" : {
"action_id" : 36,
@@ -4683,7 +4752,7 @@
"id" : 11,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 82,
+ "line" : 83,
"column" : 10,
"source_fragment" : "s1u_filter_table"
},
@@ -4766,9 +4835,9 @@
"id" : 14,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 148,
+ "line" : 149,
"column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -4795,7 +4864,7 @@
"id" : 15,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 150,
+ "line" : 151,
"column" : 39,
"source_fragment" : "="
},
@@ -4824,7 +4893,7 @@
"id" : 16,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 151,
+ "line" : 152,
"column" : 12,
"source_fragment" : "gtpu_decap()"
},
@@ -4853,7 +4922,7 @@
"id" : 17,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 69,
+ "line" : 70,
"column" : 10,
"source_fragment" : "dl_sess_lookup"
},
@@ -4936,7 +5005,7 @@
"id" : 20,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 153,
+ "line" : 154,
"column" : 39,
"source_fragment" : "="
},
@@ -4965,7 +5034,7 @@
"id" : 21,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 155,
+ "line" : 156,
"column" : 39,
"source_fragment" : "= SPGW_DIR_UNKNOWN; ..."
},
@@ -4994,7 +5063,7 @@
"id" : 22,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 174,
+ "line" : 175,
"column" : 34,
"source_fragment" : "="
},
@@ -5650,7 +5719,7 @@
"id" : 6,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 143,
+ "line" : 144,
"column" : 12,
"source_fragment" : "gtpu.isValid()"
},
@@ -5673,7 +5742,7 @@
"id" : 7,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 147,
+ "line" : 148,
"column" : 16,
"source_fragment" : "!s1u_filter_table.apply().hit"
},
@@ -5953,9 +6022,9 @@
"id" : 33,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
},
"key" : [],
"match_type" : "exact",
@@ -5966,9 +6035,9 @@
"direct_meters" : null,
"action_ids" : [57],
"actions" : ["act_19"],
- "base_default_next" : "tbl_act_20",
+ "base_default_next" : "node_56",
"next_tables" : {
- "act_19" : "tbl_act_20"
+ "act_19" : "node_56"
},
"default_entry" : {
"action_id" : 57,
@@ -5982,9 +6051,9 @@
"id" : 34,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 49,
- "column" : 12,
- "source_fragment" : "hdr.packet_in.setValid(); ..."
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -5995,9 +6064,9 @@
"direct_meters" : null,
"action_ids" : [58],
"actions" : ["act_20"],
- "base_default_next" : null,
+ "base_default_next" : "tbl_act_21",
"next_tables" : {
- "act_20" : null
+ "act_20" : "tbl_act_21"
},
"default_entry" : {
"action_id" : 58,
@@ -6010,10 +6079,10 @@
"name" : "tbl_act_21",
"id" : 35,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 49,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
},
"key" : [],
"match_type" : "exact",
@@ -6024,9 +6093,9 @@
"direct_meters" : null,
"action_ids" : [59],
"actions" : ["act_21"],
- "base_default_next" : "node_61",
+ "base_default_next" : "node_60",
"next_tables" : {
- "act_21" : "node_61"
+ "act_21" : "node_60"
},
"default_entry" : {
"action_id" : 59,
@@ -6036,10 +6105,39 @@
}
},
{
- "name" : "tbl_egress_next_pop_mpls_if_present",
+ "name" : "tbl_act_22",
"id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "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" : [60],
+ "actions" : ["act_22"],
+ "base_default_next" : "node_62",
+ "next_tables" : {
+ "act_22" : "node_62"
+ },
+ "default_entry" : {
+ "action_id" : 60,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_pop_mpls_if_present",
+ "id" : 37,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
"line" : 312,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
@@ -6066,7 +6164,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 37,
+ "id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 314,
@@ -6095,7 +6193,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 38,
+ "id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 291,
@@ -6126,8 +6224,8 @@
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_22",
- "__MISS__" : "tbl_act_23"
+ "__HIT__" : "tbl_act_23",
+ "__MISS__" : "tbl_act_24"
},
"default_entry" : {
"action_id" : 51,
@@ -6137,29 +6235,6 @@
}
},
{
- "name" : "tbl_act_22",
- "id" : 39,
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [60],
- "actions" : ["act_22"],
- "base_default_next" : "node_68",
- "next_tables" : {
- "act_22" : "node_68"
- },
- "default_entry" : {
- "action_id" : 60,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_act_23",
"id" : 40,
"key" : [],
@@ -6171,9 +6246,9 @@
"direct_meters" : null,
"action_ids" : [61],
"actions" : ["act_23"],
- "base_default_next" : "node_68",
+ "base_default_next" : "node_69",
"next_tables" : {
- "act_23" : "node_68"
+ "act_23" : "node_69"
},
"default_entry" : {
"action_id" : 61,
@@ -6183,8 +6258,31 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
+ "name" : "tbl_act_24",
"id" : 41,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [62],
+ "actions" : ["act_24"],
+ "base_default_next" : "node_69",
+ "next_tables" : {
+ "act_24" : "node_69"
+ },
+ "default_entry" : {
+ "action_id" : 62,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_push_vlan",
+ "id" : 42,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 320,
@@ -6200,9 +6298,9 @@
"direct_meters" : null,
"action_ids" : [55],
"actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_71",
+ "base_default_next" : "node_72",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_71"
+ "FabricEgress.egress_next.push_vlan" : "node_72"
},
"default_entry" : {
"action_id" : 55,
@@ -6212,8 +6310,8 @@
}
},
{
- "name" : "tbl_act_24",
- "id" : 42,
+ "name" : "tbl_act_25",
+ "id" : 43,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 326,
@@ -6227,11 +6325,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [64],
+ "actions" : ["act_26"],
+ "base_default_next" : "node_74",
+ "next_tables" : {
+ "act_26" : "node_74"
+ },
+ "default_entry" : {
+ "action_id" : 64,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_26",
+ "id" : 44,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 35,
+ "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" : [63],
"actions" : ["act_25"],
- "base_default_next" : "node_73",
+ "base_default_next" : "node_80",
"next_tables" : {
- "act_25" : "node_73"
+ "act_25" : "node_80"
},
"default_entry" : {
"action_id" : 63,
@@ -6241,37 +6368,8 @@
}
},
{
- "name" : "tbl_act_25",
- "id" : 43,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 327,
- "column" : 35,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [62],
- "actions" : ["act_24"],
- "base_default_next" : "node_79",
- "next_tables" : {
- "act_24" : "node_79"
- },
- "default_entry" : {
- "action_id" : 62,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_26",
- "id" : 44,
+ "name" : "tbl_act_27",
+ "id" : 45,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 330,
@@ -6285,11 +6383,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [66],
+ "actions" : ["act_28"],
+ "base_default_next" : "node_78",
+ "next_tables" : {
+ "act_28" : "node_78"
+ },
+ "default_entry" : {
+ "action_id" : 66,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_28",
+ "id" : 46,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 331,
+ "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" : [65],
"actions" : ["act_27"],
- "base_default_next" : "node_77",
+ "base_default_next" : "node_80",
"next_tables" : {
- "act_27" : "node_77"
+ "act_27" : "node_80"
},
"default_entry" : {
"action_id" : 65,
@@ -6299,40 +6426,11 @@
}
},
{
- "name" : "tbl_act_27",
- "id" : 45,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 331,
- "column" : 39,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [64],
- "actions" : ["act_26"],
- "base_default_next" : "node_79",
- "next_tables" : {
- "act_26" : "node_79"
- },
- "default_entry" : {
- "action_id" : 64,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_spgw_egress_gtpu_encap",
- "id" : 46,
+ "id" : 47,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 227,
+ "line" : 228,
"column" : 12,
"source_fragment" : "gtpu_encap()"
},
@@ -6389,11 +6487,11 @@
}
}
},
- "true_next" : null,
- "false_next" : "node_55"
+ "true_next" : "tbl_act_19",
+ "false_next" : "node_56"
},
{
- "name" : "node_55",
+ "name" : "node_56",
"id" : 18,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -6415,11 +6513,11 @@
}
}
},
- "true_next" : "node_56",
- "false_next" : "node_59"
+ "true_next" : "node_57",
+ "false_next" : "node_60"
},
{
- "name" : "node_56",
+ "name" : "node_57",
"id" : 19,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -6475,11 +6573,11 @@
}
}
},
- "true_next" : "tbl_act_19",
- "false_next" : "tbl_act_20"
+ "true_next" : "tbl_act_20",
+ "false_next" : "tbl_act_21"
},
{
- "name" : "node_59",
+ "name" : "node_60",
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6528,11 +6626,11 @@
}
}
},
- "true_next" : "tbl_act_21",
- "false_next" : "node_61"
+ "true_next" : "tbl_act_22",
+ "false_next" : "node_62"
},
{
- "name" : "node_61",
+ "name" : "node_62",
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6554,11 +6652,11 @@
}
}
},
- "true_next" : "node_62",
+ "true_next" : "node_63",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_62",
+ "name" : "node_63",
"id" : 22,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6581,7 +6679,7 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_68",
+ "name" : "node_69",
"id" : 23,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6607,11 +6705,11 @@
}
}
},
- "true_next" : "node_69",
- "false_next" : "node_71"
+ "true_next" : "node_70",
+ "false_next" : "node_72"
},
{
- "name" : "node_69",
+ "name" : "node_70",
"id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6634,10 +6732,10 @@
}
},
"true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_71"
+ "false_next" : "node_72"
},
{
- "name" : "node_71",
+ "name" : "node_72",
"id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6656,11 +6754,11 @@
}
}
},
- "true_next" : "tbl_act_24",
- "false_next" : "node_75"
+ "true_next" : "tbl_act_25",
+ "false_next" : "node_76"
},
{
- "name" : "node_73",
+ "name" : "node_74",
"id" : 26,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6682,11 +6780,11 @@
}
}
},
- "true_next" : "tbl_act_25",
- "false_next" : "node_79"
+ "true_next" : "tbl_act_26",
+ "false_next" : "node_80"
},
{
- "name" : "node_75",
+ "name" : "node_76",
"id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6705,11 +6803,11 @@
}
}
},
- "true_next" : "tbl_act_26",
- "false_next" : "node_79"
+ "true_next" : "tbl_act_27",
+ "false_next" : "node_80"
},
{
- "name" : "node_77",
+ "name" : "node_78",
"id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -6731,15 +6829,15 @@
}
}
},
- "true_next" : "tbl_act_27",
- "false_next" : "node_79"
+ "true_next" : "tbl_act_28",
+ "false_next" : "node_80"
},
{
- "name" : "node_79",
+ "name" : "node_80",
"id" : 29,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 226,
+ "line" : 227,
"column" : 12,
"source_fragment" : "fabric_meta.spgw.direction == SPGW_DIR_DOWNLINK"
},
@@ -6795,7 +6893,7 @@
"id" : 1,
"source_info" : {
"filename" : "include/spgw.p4",
- "line" : 242,
+ "line" : 243,
"column" : 8,
"source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
},
@@ -6889,6 +6987,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "fabric.p4",
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
index edf6f41..8d2dfe1 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
@@ -50,10 +50,11 @@
["mcast_grp", 16, false],
["resubmit_flag", 32, false],
["egress_rid", 16, false],
- ["checksum_error", 1, false],
["recirculate_flag", 32, false],
+ ["checksum_error", 1, false],
["parser_error", 32, false],
- ["_padding", 5, false]
+ ["priority", 3, false],
+ ["_padding", 2, false]
]
},
{
@@ -252,12 +253,13 @@
"header_union_stacks" : [],
"field_lists" : [],
"errors" : [
- ["NoError", 1],
- ["PacketTooShort", 2],
- ["NoMatch", 3],
- ["StackOutOfBounds", 4],
- ["HeaderTooShort", 5],
- ["ParserTimeout", 6]
+ ["NoError", 0],
+ ["PacketTooShort", 1],
+ ["NoMatch", 2],
+ ["StackOutOfBounds", 3],
+ ["HeaderTooShort", 4],
+ ["ParserTimeout", 5],
+ ["ParserInvalidArgument", 6]
],
"enums" : [],
"parsers" : [
@@ -1466,13 +1468,18 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/acl.p4",
"line" : 51,
"column" : 8,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
},
{
@@ -1940,6 +1947,16 @@
"column" : 12,
"source_fragment" : "fabric_metadata.is_controller_packet_out = true"
}
+ },
+ {
+ "op" : "exit",
+ "parameters" : [],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 29,
+ "column" : 12,
+ "source_fragment" : "exit"
+ }
}
]
},
@@ -2496,13 +2513,13 @@
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
}
}
]
@@ -2513,6 +2530,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/packetio.p4",
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_6",
+ "id" : 39,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "add_header",
"parameters" : [
{
@@ -2545,22 +2584,15 @@
"column" : 12,
"source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
}
- }
- ]
- },
- {
- "name" : "act_6",
- "id" : 39,
- "runtime_data" : [],
- "primitives" : [
+ },
{
- "op" : "drop",
+ "op" : "exit",
"parameters" : [],
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 52,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "exit"
}
}
]
@@ -2571,6 +2603,28 @@
"runtime_data" : [],
"primitives" : [
{
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
+ }
+ }
+ ]
+ },
+ {
+ "name" : "act_8",
+ "id" : 41,
+ "runtime_data" : [],
+ "primitives" : [
+ {
"op" : "assign",
"parameters" : [
{
@@ -2596,8 +2650,8 @@
]
},
{
- "name" : "act_8",
- "id" : 41,
+ "name" : "act_9",
+ "id" : 42,
"runtime_data" : [],
"primitives" : [
{
@@ -2626,25 +2680,30 @@
]
},
{
- "name" : "act_9",
- "id" : 42,
+ "name" : "act_10",
+ "id" : 43,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 327,
"column" : 35,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_10",
- "id" : 43,
+ "name" : "act_11",
+ "id" : 44,
"runtime_data" : [],
"primitives" : [
{
@@ -2692,25 +2751,30 @@
]
},
{
- "name" : "act_11",
- "id" : 44,
+ "name" : "act_12",
+ "id" : 45,
"runtime_data" : [],
"primitives" : [
{
- "op" : "drop",
- "parameters" : [],
+ "op" : "mark_to_drop",
+ "parameters" : [
+ {
+ "type" : "header",
+ "value" : "standard_metadata"
+ }
+ ],
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
"column" : 39,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
}
}
]
},
{
- "name" : "act_12",
- "id" : 45,
+ "name" : "act_13",
+ "id" : 46,
"runtime_data" : [],
"primitives" : [
{
@@ -2788,9 +2852,9 @@
"direct_meters" : null,
"action_ids" : [27],
"actions" : ["act"],
- "base_default_next" : null,
+ "base_default_next" : "node_4",
"next_tables" : {
- "act" : null
+ "act" : "node_4"
},
"default_entry" : {
"action_id" : 27,
@@ -3719,9 +3783,9 @@
"id" : 15,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 47,
- "column" : 16,
- "source_fragment" : "mark_to_drop()"
+ "line" : 41,
+ "column" : 12,
+ "source_fragment" : "exit"
},
"key" : [],
"match_type" : "exact",
@@ -3732,9 +3796,9 @@
"direct_meters" : null,
"action_ids" : [37],
"actions" : ["act_4"],
- "base_default_next" : "tbl_act_5",
+ "base_default_next" : "node_31",
"next_tables" : {
- "act_4" : "tbl_act_5"
+ "act_4" : "node_31"
},
"default_entry" : {
"action_id" : 37,
@@ -3748,9 +3812,9 @@
"id" : 16,
"source_info" : {
"filename" : "include/control/packetio.p4",
- "line" : 49,
- "column" : 12,
- "source_fragment" : "hdr.packet_in.setValid(); ..."
+ "line" : 47,
+ "column" : 16,
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -3761,9 +3825,9 @@
"direct_meters" : null,
"action_ids" : [38],
"actions" : ["act_5"],
- "base_default_next" : null,
+ "base_default_next" : "tbl_act_6",
"next_tables" : {
- "act_5" : null
+ "act_5" : "tbl_act_6"
},
"default_entry" : {
"action_id" : 38,
@@ -3776,10 +3840,10 @@
"name" : "tbl_act_6",
"id" : 17,
"source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 308,
+ "filename" : "include/control/packetio.p4",
+ "line" : 49,
"column" : 12,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "hdr.packet_in.setValid(); ..."
},
"key" : [],
"match_type" : "exact",
@@ -3790,9 +3854,9 @@
"direct_meters" : null,
"action_ids" : [39],
"actions" : ["act_6"],
- "base_default_next" : "node_36",
+ "base_default_next" : "node_35",
"next_tables" : {
- "act_6" : "node_36"
+ "act_6" : "node_35"
},
"default_entry" : {
"action_id" : 39,
@@ -3802,10 +3866,39 @@
}
},
{
- "name" : "tbl_egress_next_pop_mpls_if_present",
+ "name" : "tbl_act_7",
"id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
+ "line" : 308,
+ "column" : 12,
+ "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" : [40],
+ "actions" : ["act_7"],
+ "base_default_next" : "node_37",
+ "next_tables" : {
+ "act_7" : "node_37"
+ },
+ "default_entry" : {
+ "action_id" : 40,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_pop_mpls_if_present",
+ "id" : 19,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
"line" : 312,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
@@ -3832,7 +3925,7 @@
},
{
"name" : "tbl_egress_next_set_mpls",
- "id" : 19,
+ "id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 314,
@@ -3861,7 +3954,7 @@
},
{
"name" : "FabricEgress.egress_next.egress_vlan",
- "id" : 20,
+ "id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 291,
@@ -3892,8 +3985,8 @@
"actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
"base_default_next" : null,
"next_tables" : {
- "__HIT__" : "tbl_act_7",
- "__MISS__" : "tbl_act_8"
+ "__HIT__" : "tbl_act_8",
+ "__MISS__" : "tbl_act_9"
},
"default_entry" : {
"action_id" : 32,
@@ -3903,29 +3996,6 @@
}
},
{
- "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_43",
- "next_tables" : {
- "act_7" : "node_43"
- },
- "default_entry" : {
- "action_id" : 40,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
"name" : "tbl_act_8",
"id" : 22,
"key" : [],
@@ -3937,9 +4007,9 @@
"direct_meters" : null,
"action_ids" : [41],
"actions" : ["act_8"],
- "base_default_next" : "node_43",
+ "base_default_next" : "node_44",
"next_tables" : {
- "act_8" : "node_43"
+ "act_8" : "node_44"
},
"default_entry" : {
"action_id" : 41,
@@ -3949,8 +4019,31 @@
}
},
{
- "name" : "tbl_egress_next_push_vlan",
+ "name" : "tbl_act_9",
"id" : 23,
+ "key" : [],
+ "match_type" : "exact",
+ "type" : "simple",
+ "max_size" : 1024,
+ "with_counters" : false,
+ "support_timeout" : false,
+ "direct_meters" : null,
+ "action_ids" : [42],
+ "actions" : ["act_9"],
+ "base_default_next" : "node_44",
+ "next_tables" : {
+ "act_9" : "node_44"
+ },
+ "default_entry" : {
+ "action_id" : 42,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_egress_next_push_vlan",
+ "id" : 24,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 320,
@@ -3966,9 +4059,9 @@
"direct_meters" : null,
"action_ids" : [35],
"actions" : ["FabricEgress.egress_next.push_vlan"],
- "base_default_next" : "node_46",
+ "base_default_next" : "node_47",
"next_tables" : {
- "FabricEgress.egress_next.push_vlan" : "node_46"
+ "FabricEgress.egress_next.push_vlan" : "node_47"
},
"default_entry" : {
"action_id" : 35,
@@ -3978,8 +4071,8 @@
}
},
{
- "name" : "tbl_act_9",
- "id" : 24,
+ "name" : "tbl_act_10",
+ "id" : 25,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 326,
@@ -3993,11 +4086,40 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
+ "action_ids" : [44],
+ "actions" : ["act_11"],
+ "base_default_next" : "node_49",
+ "next_tables" : {
+ "act_11" : "node_49"
+ },
+ "default_entry" : {
+ "action_id" : 44,
+ "action_const" : true,
+ "action_data" : [],
+ "action_entry_const" : true
+ }
+ },
+ {
+ "name" : "tbl_act_11",
+ "id" : 26,
+ "source_info" : {
+ "filename" : "include/control/next.p4",
+ "line" : 327,
+ "column" : 35,
+ "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" : [43],
"actions" : ["act_10"],
- "base_default_next" : "node_48",
+ "base_default_next" : null,
"next_tables" : {
- "act_10" : "node_48"
+ "act_10" : null
},
"default_entry" : {
"action_id" : 43,
@@ -4007,37 +4129,8 @@
}
},
{
- "name" : "tbl_act_10",
- "id" : 25,
- "source_info" : {
- "filename" : "include/control/next.p4",
- "line" : 327,
- "column" : 35,
- "source_fragment" : "mark_to_drop()"
- },
- "key" : [],
- "match_type" : "exact",
- "type" : "simple",
- "max_size" : 1024,
- "with_counters" : false,
- "support_timeout" : false,
- "direct_meters" : null,
- "action_ids" : [42],
- "actions" : ["act_9"],
- "base_default_next" : null,
- "next_tables" : {
- "act_9" : null
- },
- "default_entry" : {
- "action_id" : 42,
- "action_const" : true,
- "action_data" : [],
- "action_entry_const" : true
- }
- },
- {
- "name" : "tbl_act_11",
- "id" : 26,
+ "name" : "tbl_act_12",
+ "id" : 27,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 330,
@@ -4051,27 +4144,27 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [45],
- "actions" : ["act_12"],
- "base_default_next" : "node_52",
+ "action_ids" : [46],
+ "actions" : ["act_13"],
+ "base_default_next" : "node_53",
"next_tables" : {
- "act_12" : "node_52"
+ "act_13" : "node_53"
},
"default_entry" : {
- "action_id" : 45,
+ "action_id" : 46,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
}
},
{
- "name" : "tbl_act_12",
- "id" : 27,
+ "name" : "tbl_act_13",
+ "id" : 28,
"source_info" : {
"filename" : "include/control/next.p4",
"line" : 331,
"column" : 39,
- "source_fragment" : "mark_to_drop()"
+ "source_fragment" : "mark_to_drop(standard_metadata)"
},
"key" : [],
"match_type" : "exact",
@@ -4080,14 +4173,14 @@
"with_counters" : false,
"support_timeout" : false,
"direct_meters" : null,
- "action_ids" : [44],
- "actions" : ["act_11"],
+ "action_ids" : [45],
+ "actions" : ["act_12"],
"base_default_next" : null,
"next_tables" : {
- "act_11" : null
+ "act_12" : null
},
"default_entry" : {
- "action_id" : 44,
+ "action_id" : 45,
"action_const" : true,
"action_data" : [],
"action_entry_const" : true
@@ -4126,11 +4219,11 @@
}
}
},
- "true_next" : null,
- "false_next" : "node_30"
+ "true_next" : "tbl_act_4",
+ "false_next" : "node_31"
},
{
- "name" : "node_30",
+ "name" : "node_31",
"id" : 11,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -4152,11 +4245,11 @@
}
}
},
- "true_next" : "node_31",
- "false_next" : "node_34"
+ "true_next" : "node_32",
+ "false_next" : "node_35"
},
{
- "name" : "node_31",
+ "name" : "node_32",
"id" : 12,
"source_info" : {
"filename" : "include/control/packetio.p4",
@@ -4212,11 +4305,11 @@
}
}
},
- "true_next" : "tbl_act_4",
- "false_next" : "tbl_act_5"
+ "true_next" : "tbl_act_5",
+ "false_next" : "tbl_act_6"
},
{
- "name" : "node_34",
+ "name" : "node_35",
"id" : 13,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4265,11 +4358,11 @@
}
}
},
- "true_next" : "tbl_act_6",
- "false_next" : "node_36"
+ "true_next" : "tbl_act_7",
+ "false_next" : "node_37"
},
{
- "name" : "node_36",
+ "name" : "node_37",
"id" : 14,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4291,11 +4384,11 @@
}
}
},
- "true_next" : "node_37",
+ "true_next" : "node_38",
"false_next" : "tbl_egress_next_set_mpls"
},
{
- "name" : "node_37",
+ "name" : "node_38",
"id" : 15,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4318,7 +4411,7 @@
"false_next" : "FabricEgress.egress_next.egress_vlan"
},
{
- "name" : "node_43",
+ "name" : "node_44",
"id" : 16,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4344,11 +4437,11 @@
}
}
},
- "true_next" : "node_44",
- "false_next" : "node_46"
+ "true_next" : "node_45",
+ "false_next" : "node_47"
},
{
- "name" : "node_44",
+ "name" : "node_45",
"id" : 17,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4371,10 +4464,10 @@
}
},
"true_next" : "tbl_egress_next_push_vlan",
- "false_next" : "node_46"
+ "false_next" : "node_47"
},
{
- "name" : "node_46",
+ "name" : "node_47",
"id" : 18,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4393,11 +4486,11 @@
}
}
},
- "true_next" : "tbl_act_9",
- "false_next" : "node_50"
+ "true_next" : "tbl_act_10",
+ "false_next" : "node_51"
},
{
- "name" : "node_48",
+ "name" : "node_49",
"id" : 19,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4420,10 +4513,10 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_10"
+ "true_next" : "tbl_act_11"
},
{
- "name" : "node_50",
+ "name" : "node_51",
"id" : 20,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4443,10 +4536,10 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_11"
+ "true_next" : "tbl_act_12"
},
{
- "name" : "node_52",
+ "name" : "node_53",
"id" : 21,
"source_info" : {
"filename" : "include/control/next.p4",
@@ -4469,7 +4562,7 @@
}
},
"false_next" : null,
- "true_next" : "tbl_act_12"
+ "true_next" : "tbl_act_13"
}
]
}
@@ -4574,6 +4667,10 @@
[
"intrinsic_metadata.recirculate_flag",
["standard_metadata", "recirculate_flag"]
+ ],
+ [
+ "intrinsic_metadata.priority",
+ ["standard_metadata", "priority"]
]
],
"program" : "fabric.p4",