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",