Bump P4 tools to latest version

With support for P4Runtime multicast API

Change-Id: I6982c32187204b656a927d0f3d7f3a4b1b877e75
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 2a692f7..f250cea 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
@@ -93,22 +93,8 @@
       ]
     },
     {
-      "name" : "ipv6_t",
-      "id" : 6,
-      "fields" : [
-        ["version", 4, false],
-        ["traffic_class", 8, false],
-        ["flow_label", 20, false],
-        ["payload_len", 16, false],
-        ["next_hdr", 8, false],
-        ["hop_limit", 8, false],
-        ["src_addr", 128, false],
-        ["dst_addr", 128, false]
-      ]
-    },
-    {
       "name" : "arp_t",
-      "id" : 7,
+      "id" : 6,
       "fields" : [
         ["hw_type", 16, false],
         ["proto_type", 16, false],
@@ -119,7 +105,7 @@
     },
     {
       "name" : "tcp_t",
-      "id" : 8,
+      "id" : 7,
       "fields" : [
         ["src_port", 16, false],
         ["dst_port", 16, false],
@@ -136,7 +122,7 @@
     },
     {
       "name" : "udp_t",
-      "id" : 9,
+      "id" : 8,
       "fields" : [
         ["src_port", 16, false],
         ["dst_port", 16, false],
@@ -146,7 +132,7 @@
     },
     {
       "name" : "icmp_t",
-      "id" : 10,
+      "id" : 9,
       "fields" : [
         ["icmp_type", 8, false],
         ["icmp_code", 8, false],
@@ -158,7 +144,7 @@
     },
     {
       "name" : "packet_out_header_t",
-      "id" : 11,
+      "id" : 10,
       "fields" : [
         ["egress_port", 9, false],
         ["_pad", 7, false]
@@ -166,7 +152,7 @@
     },
     {
       "name" : "packet_in_header_t",
-      "id" : 12,
+      "id" : 11,
       "fields" : [
         ["ingress_port", 9, false],
         ["_pad", 7, false]
@@ -217,50 +203,43 @@
       "pi_omit" : true
     },
     {
-      "name" : "ipv6",
-      "id" : 6,
-      "header_type" : "ipv6_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
       "name" : "arp",
-      "id" : 7,
+      "id" : 6,
       "header_type" : "arp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "tcp",
-      "id" : 8,
+      "id" : 7,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "udp",
-      "id" : 9,
+      "id" : 8,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "icmp",
-      "id" : 10,
+      "id" : 9,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_out",
-      "id" : 11,
+      "id" : 10,
       "header_type" : "packet_out_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_in",
-      "id" : 12,
+      "id" : 11,
       "header_type" : "packet_in_header_t",
       "metadata" : false,
       "pi_omit" : true
@@ -379,12 +358,6 @@
               "next_state" : "parse_ipv4"
             },
             {
-              "type" : "hexstr",
-              "value" : "0x86dd",
-              "mask" : null,
-              "next_state" : "parse_ipv6"
-            },
-            {
               "value" : "default",
               "mask" : null,
               "next_state" : null
@@ -439,12 +412,6 @@
             },
             {
               "type" : "hexstr",
-              "value" : "0x86dd",
-              "mask" : null,
-              "next_state" : "parse_ipv6"
-            },
-            {
-              "type" : "hexstr",
               "value" : "0x8847",
               "mask" : null,
               "next_state" : "parse_mpls"
@@ -497,12 +464,6 @@
               "next_state" : "parse_ipv4"
             },
             {
-              "type" : "hexstr",
-              "value" : "0x06",
-              "mask" : null,
-              "next_state" : "parse_ipv6"
-            },
-            {
               "value" : "default",
               "mask" : null,
               "next_state" : "parse_ethernet"
@@ -575,67 +536,8 @@
           ]
         },
         {
-          "name" : "parse_ipv6",
-          "id" : 6,
-          "parser_ops" : [
-            {
-              "parameters" : [
-                {
-                  "type" : "regular",
-                  "value" : "ipv6"
-                }
-              ],
-              "op" : "extract"
-            },
-            {
-              "parameters" : [
-                {
-                  "type" : "field",
-                  "value" : ["scalars", "fabric_metadata_t.ip_proto"]
-                },
-                {
-                  "type" : "field",
-                  "value" : ["ipv6", "next_hdr"]
-                }
-              ],
-              "op" : "set"
-            }
-          ],
-          "transitions" : [
-            {
-              "type" : "hexstr",
-              "value" : "0x06",
-              "mask" : null,
-              "next_state" : "parse_tcp"
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x11",
-              "mask" : null,
-              "next_state" : "parse_udp"
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x3a",
-              "mask" : null,
-              "next_state" : "parse_icmp"
-            },
-            {
-              "value" : "default",
-              "mask" : null,
-              "next_state" : null
-            }
-          ],
-          "transition_key" : [
-            {
-              "type" : "field",
-              "value" : ["ipv6", "next_hdr"]
-            }
-          ]
-        },
-        {
           "name" : "parse_arp",
-          "id" : 7,
+          "id" : 6,
           "parser_ops" : [
             {
               "parameters" : [
@@ -658,7 +560,7 @@
         },
         {
           "name" : "parse_tcp",
-          "id" : 8,
+          "id" : 7,
           "parser_ops" : [
             {
               "parameters" : [
@@ -707,7 +609,7 @@
         },
         {
           "name" : "parse_udp",
-          "id" : 9,
+          "id" : 8,
           "parser_ops" : [
             {
               "parameters" : [
@@ -756,7 +658,7 @@
         },
         {
           "name" : "parse_icmp",
-          "id" : 10,
+          "id" : 9,
           "parser_ops" : [
             {
               "parameters" : [
@@ -786,12 +688,12 @@
       "name" : "deparser",
       "id" : 0,
       "source_info" : {
-        "filename" : "./include/parser.p4",
+        "filename" : "include/parser.p4",
         "line" : 165,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
-      "order" : ["packet_in", "ethernet", "vlan_tag", "mpls", "arp", "ipv4", "ipv6", "tcp", "udp", "icmp"]
+      "order" : ["packet_in", "ethernet", "vlan_tag", "mpls", "arp", "ipv4", "tcp", "udp", "icmp"]
     }
   ],
   "meter_arrays" : [],
@@ -833,52 +735,34 @@
       "binding" : "FabricIngress.forwarding.acl"
     },
     {
-      "name" : "FabricIngress.forwarding.multicast_v4_counter",
-      "id" : 6,
-      "is_direct" : true,
-      "binding" : "FabricIngress.forwarding.multicast_v4"
-    },
-    {
-      "name" : "FabricIngress.forwarding.unicast_v6_counter",
-      "id" : 7,
-      "is_direct" : true,
-      "binding" : "FabricIngress.forwarding.unicast_v6"
-    },
-    {
-      "name" : "FabricIngress.forwarding.multicast_v6_counter",
-      "id" : 8,
-      "is_direct" : true,
-      "binding" : "FabricIngress.forwarding.multicast_v6"
-    },
-    {
       "name" : "FabricIngress.next.vlan_meta_counter",
-      "id" : 9,
+      "id" : 6,
       "is_direct" : true,
       "binding" : "FabricIngress.next.vlan_meta"
     },
     {
       "name" : "FabricIngress.next.simple_counter",
-      "id" : 10,
+      "id" : 7,
       "is_direct" : true,
       "binding" : "FabricIngress.next.simple"
     },
     {
       "name" : "FabricIngress.next.hashed_counter",
-      "id" : 11,
+      "id" : 8,
       "is_direct" : true,
       "binding" : "FabricIngress.next.hashed"
     },
     {
       "name" : "FabricIngress.next.multicast_counter",
-      "id" : 12,
+      "id" : 9,
       "is_direct" : true,
       "binding" : "FabricIngress.next.multicast"
     },
     {
       "name" : "FabricIngress.port_counters_control.egress_port_counter",
-      "id" : 13,
+      "id" : 10,
       "source_info" : {
-        "filename" : "./include/control/port_counter.p4",
+        "filename" : "include/control/port_counter.p4",
         "line" : 23,
         "column" : 48,
         "source_fragment" : "egress_port_counter"
@@ -888,9 +772,9 @@
     },
     {
       "name" : "FabricIngress.port_counters_control.ingress_port_counter",
-      "id" : 14,
+      "id" : 11,
       "source_info" : {
-        "filename" : "./include/control/port_counter.p4",
+        "filename" : "include/control/port_counter.p4",
         "line" : 24,
         "column" : 48,
         "source_fragment" : "ingress_port_counter"
@@ -900,7 +784,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.egress_vlan_counter",
-      "id" : 15,
+      "id" : 12,
       "is_direct" : true,
       "binding" : "FabricEgress.egress_next.egress_vlan"
     }
@@ -911,7 +795,7 @@
       "name" : "calc",
       "id" : 0,
       "source_info" : {
-        "filename" : "./include/checksum.p4",
+        "filename" : "include/checksum.p4",
         "line" : 28,
         "column" : 8,
         "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
@@ -968,7 +852,7 @@
       "name" : "calc_0",
       "id" : 1,
       "source_info" : {
-        "filename" : "./include/checksum.p4",
+        "filename" : "include/checksum.p4",
         "line" : 56,
         "column" : 8,
         "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
@@ -1079,33 +963,15 @@
       "primitives" : []
     },
     {
-      "name" : "NoAction",
-      "id" : 9,
-      "runtime_data" : [],
-      "primitives" : []
-    },
-    {
-      "name" : "NoAction",
-      "id" : 10,
-      "runtime_data" : [],
-      "primitives" : []
-    },
-    {
-      "name" : "NoAction",
-      "id" : 11,
-      "runtime_data" : [],
-      "primitives" : []
-    },
-    {
       "name" : "FabricIngress.filtering.drop",
-      "id" : 12,
+      "id" : 9,
       "runtime_data" : [],
       "primitives" : [
         {
           "op" : "drop",
           "parameters" : [],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "mark_to_drop()"
@@ -1115,7 +981,7 @@
     },
     {
       "name" : "FabricIngress.filtering.set_vlan",
-      "id" : 13,
+      "id" : 10,
       "runtime_data" : [
         {
           "name" : "new_vlan_id",
@@ -1136,7 +1002,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 42,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
@@ -1146,7 +1012,7 @@
     },
     {
       "name" : "FabricIngress.filtering.push_internal_vlan",
-      "id" : 14,
+      "id" : 11,
       "runtime_data" : [
         {
           "name" : "new_vlan_id",
@@ -1163,7 +1029,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setValid()"
@@ -1182,7 +1048,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 50,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.cfi = 0"
@@ -1201,7 +1067,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 51,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.pri = 0"
@@ -1220,7 +1086,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 52,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
@@ -1239,7 +1105,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 66,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
@@ -1258,7 +1124,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 54,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
@@ -1287,7 +1153,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 57,
             "column" : 8,
             "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
@@ -1297,7 +1163,7 @@
     },
     {
       "name" : "FabricIngress.filtering.set_forwarding_type",
-      "id" : 15,
+      "id" : 12,
       "runtime_data" : [
         {
           "name" : "fwd_type",
@@ -1318,7 +1184,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 94,
             "column" : 8,
             "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
@@ -1328,6 +1194,114 @@
     },
     {
       "name" : "FabricIngress.forwarding.set_next_id_bridging",
+      "id" : 13,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "fabric_metadata_t.next_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/forwarding.p4",
+            "line" : 37,
+            "column" : 8,
+            "source_fragment" : "fabric_metadata.next_id = next_id"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.pop_mpls_and_next",
+      "id" : 14,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "mpls"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/forwarding.p4",
+            "line" : 60,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "fabric_metadata_t.next_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/forwarding.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "fabric_metadata.next_id = next_id"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_next_id_unicast_v4",
+      "id" : 15,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "fabric_metadata_t.next_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/forwarding.p4",
+            "line" : 83,
+            "column" : 8,
+            "source_fragment" : "fabric_metadata.next_id = next_id"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_next_id_acl",
       "id" : 16,
       "runtime_data" : [
         {
@@ -1349,115 +1323,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 37,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.forwarding.pop_mpls_and_next",
-      "id" : 17,
-      "runtime_data" : [
-        {
-          "name" : "next_id",
-          "bitwidth" : 32
-        }
-      ],
-      "primitives" : [
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "mpls"
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 60,
-            "column" : 8,
-            "source_fragment" : "hdr.mpls.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "fabric_metadata_t.next_id"]
-            },
-            {
-              "type" : "runtime_data",
-              "value" : 0
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 61,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.forwarding.set_next_id_unicast_v4",
-      "id" : 18,
-      "runtime_data" : [
-        {
-          "name" : "next_id",
-          "bitwidth" : 32
-        }
-      ],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "fabric_metadata_t.next_id"]
-            },
-            {
-              "type" : "runtime_data",
-              "value" : 0
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 83,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.forwarding.set_next_id_acl",
-      "id" : 19,
-      "runtime_data" : [
-        {
-          "name" : "next_id",
-          "bitwidth" : 32
-        }
-      ],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "fabric_metadata_t.next_id"]
-            },
-            {
-              "type" : "runtime_data",
-              "value" : 0
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 105,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1467,7 +1333,7 @@
     },
     {
       "name" : "FabricIngress.forwarding.send_to_controller",
-      "id" : 20,
+      "id" : 17,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -1483,7 +1349,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 110,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = 255"
@@ -1493,14 +1359,14 @@
     },
     {
       "name" : "FabricIngress.forwarding.drop",
-      "id" : 21,
+      "id" : 18,
       "runtime_data" : [],
       "primitives" : [
         {
           "op" : "drop",
           "parameters" : [],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 115,
             "column" : 8,
             "source_fragment" : "mark_to_drop()"
@@ -1509,101 +1375,8 @@
       ]
     },
     {
-      "name" : "FabricIngress.forwarding.set_next_id_multicast_v4",
-      "id" : 22,
-      "runtime_data" : [
-        {
-          "name" : "next_id",
-          "bitwidth" : 32
-        }
-      ],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "fabric_metadata_t.next_id"]
-            },
-            {
-              "type" : "runtime_data",
-              "value" : 0
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 155,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.forwarding.set_next_id_unicast_v6",
-      "id" : 23,
-      "runtime_data" : [
-        {
-          "name" : "next_id",
-          "bitwidth" : 32
-        }
-      ],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "fabric_metadata_t.next_id"]
-            },
-            {
-              "type" : "runtime_data",
-              "value" : 0
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 180,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.forwarding.set_next_id_multicast_v6",
-      "id" : 24,
-      "runtime_data" : [
-        {
-          "name" : "next_id",
-          "bitwidth" : 32
-        }
-      ],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "fabric_metadata_t.next_id"]
-            },
-            {
-              "type" : "runtime_data",
-              "value" : 0
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 203,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
-          }
-        }
-      ]
-    },
-    {
       "name" : "FabricIngress.next.set_vlan",
-      "id" : 25,
+      "id" : 19,
       "runtime_data" : [
         {
           "name" : "new_vlan_id",
@@ -1624,7 +1397,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 61,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
@@ -1634,7 +1407,7 @@
     },
     {
       "name" : "FabricIngress.next.output_simple",
-      "id" : 26,
+      "id" : 20,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -1655,7 +1428,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 85,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num"
@@ -1665,7 +1438,7 @@
     },
     {
       "name" : "FabricIngress.next.set_vlan_output",
-      "id" : 27,
+      "id" : 21,
       "runtime_data" : [
         {
           "name" : "new_vlan_id",
@@ -1690,7 +1463,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 90,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
@@ -1709,7 +1482,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 85,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -1719,7 +1492,7 @@
     },
     {
       "name" : "FabricIngress.next.l3_routing_simple",
-      "id" : 28,
+      "id" : 22,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -1748,7 +1521,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -1767,7 +1540,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -1786,7 +1559,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 85,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -1796,7 +1569,7 @@
     },
     {
       "name" : "FabricIngress.next.mpls_routing_v4_simple",
-      "id" : 29,
+      "id" : 23,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -1829,7 +1602,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -1848,7 +1621,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -1867,7 +1640,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 85,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -1882,7 +1655,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 46,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
@@ -1901,7 +1674,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 67,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
@@ -1920,7 +1693,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 48,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = label; ..."
@@ -1939,7 +1712,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = tc; ..."
@@ -1958,7 +1731,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 50,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
@@ -1977,7 +1750,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 87,
             "column" : 32,
             "source_fragment" : "64; ..."
@@ -1987,7 +1760,7 @@
     },
     {
       "name" : "FabricIngress.next.mpls_routing_v6_simple",
-      "id" : 30,
+      "id" : 24,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -2020,7 +1793,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -2039,7 +1812,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -2058,7 +1831,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 85,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -2073,7 +1846,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 46,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
@@ -2092,7 +1865,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 67,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
@@ -2111,7 +1884,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 48,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = label; ..."
@@ -2130,7 +1903,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = tc; ..."
@@ -2149,7 +1922,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 50,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
@@ -2168,7 +1941,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 87,
             "column" : 32,
             "source_fragment" : "64; ..."
@@ -2178,7 +1951,7 @@
     },
     {
       "name" : "FabricIngress.next.l3_routing_vlan",
-      "id" : 31,
+      "id" : 25,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -2211,7 +1984,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -2230,7 +2003,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -2249,7 +2022,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 90,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
@@ -2268,7 +2041,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 85,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -2278,7 +2051,7 @@
     },
     {
       "name" : "FabricIngress.next.l3_routing_hashed",
-      "id" : 32,
+      "id" : 26,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -2307,7 +2080,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -2326,7 +2099,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -2345,7 +2118,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 149,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -2355,7 +2128,7 @@
     },
     {
       "name" : "FabricIngress.next.mpls_routing_v4_hashed",
-      "id" : 33,
+      "id" : 27,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -2388,7 +2161,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -2407,7 +2180,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -2426,7 +2199,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 149,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -2441,7 +2214,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 46,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
@@ -2460,7 +2233,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 67,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
@@ -2479,7 +2252,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 48,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = label; ..."
@@ -2498,7 +2271,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = tc; ..."
@@ -2517,7 +2290,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 50,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
@@ -2536,7 +2309,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 87,
             "column" : 32,
             "source_fragment" : "64; ..."
@@ -2546,7 +2319,7 @@
     },
     {
       "name" : "FabricIngress.next.mpls_routing_v6_hashed",
-      "id" : 34,
+      "id" : 28,
       "runtime_data" : [
         {
           "name" : "port_num",
@@ -2579,7 +2352,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -2598,7 +2371,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -2617,7 +2390,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 149,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -2632,7 +2405,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 46,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
@@ -2651,7 +2424,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 67,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
@@ -2670,7 +2443,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 48,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = label; ..."
@@ -2689,7 +2462,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = tc; ..."
@@ -2708,7 +2481,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 50,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
@@ -2727,7 +2500,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 87,
             "column" : 32,
             "source_fragment" : "64; ..."
@@ -2737,7 +2510,7 @@
     },
     {
       "name" : "FabricIngress.next.set_mcast_group",
-      "id" : 35,
+      "id" : 29,
       "runtime_data" : [
         {
           "name" : "gid",
@@ -2758,7 +2531,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 202,
             "column" : 8,
             "source_fragment" : "standard_metadata.mcast_grp = gid"
@@ -2768,7 +2541,7 @@
     },
     {
       "name" : "act",
-      "id" : 36,
+      "id" : 30,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -2784,7 +2557,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 26,
             "column" : 12,
             "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
@@ -2799,7 +2572,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 27,
             "column" : 12,
             "source_fragment" : "hdr.packet_out.setInvalid()"
@@ -2809,7 +2582,7 @@
     },
     {
       "name" : "act_0",
-      "id" : 37,
+      "id" : 31,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -2825,7 +2598,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 69,
             "column" : 31,
             "source_fragment" : "0x0800; ..."
@@ -2844,7 +2617,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 69,
             "column" : 31,
             "source_fragment" : "0x0800; ..."
@@ -2854,7 +2627,7 @@
     },
     {
       "name" : "act_1",
-      "id" : 38,
+      "id" : 32,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -2884,7 +2657,7 @@
     },
     {
       "name" : "act_2",
-      "id" : 39,
+      "id" : 33,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -2914,7 +2687,7 @@
     },
     {
       "name" : "act_3",
-      "id" : 40,
+      "id" : 34,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -2953,7 +2726,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 221,
             "column" : 20,
             "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
@@ -2963,56 +2736,7 @@
     },
     {
       "name" : "act_4",
-      "id" : 41,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["ipv6", "hop_limit"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["ipv6", "hop_limit"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0xff"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "./include/control/next.p4",
-            "line" : 225,
-            "column" : 20,
-            "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "act_5",
-      "id" : 42,
+      "id" : 35,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3041,7 +2765,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/port_counter.p4",
+            "filename" : "include/control/port_counter.p4",
             "line" : 28,
             "column" : 38,
             "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
@@ -3060,7 +2784,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/port_counter.p4",
+            "filename" : "include/control/port_counter.p4",
             "line" : 28,
             "column" : 12,
             "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
@@ -3069,8 +2793,8 @@
       ]
     },
     {
-      "name" : "act_6",
-      "id" : 43,
+      "name" : "act_5",
+      "id" : 36,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3099,7 +2823,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/port_counter.p4",
+            "filename" : "include/control/port_counter.p4",
             "line" : 31,
             "column" : 39,
             "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
@@ -3118,7 +2842,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/port_counter.p4",
+            "filename" : "include/control/port_counter.p4",
             "line" : 31,
             "column" : 12,
             "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
@@ -3128,13 +2852,13 @@
     },
     {
       "name" : "nop",
-      "id" : 44,
+      "id" : 37,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "FabricEgress.pkt_io_egress.pop_vlan",
-      "id" : 45,
+      "id" : 38,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3150,7 +2874,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 38,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
@@ -3165,7 +2889,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 39,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setInvalid()"
@@ -3175,7 +2899,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_vlan",
-      "id" : 46,
+      "id" : 39,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3191,7 +2915,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 247,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
@@ -3206,7 +2930,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 248,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setInvalid()"
@@ -3215,8 +2939,8 @@
       ]
     },
     {
-      "name" : "act_7",
-      "id" : 47,
+      "name" : "act_6",
+      "id" : 40,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3228,7 +2952,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 46,
             "column" : 12,
             "source_fragment" : "hdr.packet_in.setValid()"
@@ -3247,7 +2971,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 47,
             "column" : 12,
             "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
@@ -3278,14 +3002,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [36],
+          "action_ids" : [30],
           "actions" : ["act"],
           "base_default_next" : null,
           "next_tables" : {
             "act" : null
           },
           "default_entry" : {
-            "action_id" : 36,
+            "action_id" : 30,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -3295,7 +3019,7 @@
           "name" : "FabricIngress.filtering.ingress_port_vlan",
           "id" : 1,
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 61,
             "column" : 10,
             "source_fragment" : "ingress_port_vlan"
@@ -3326,7 +3050,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [14, 13, 0, 12],
+          "action_ids" : [11, 10, 0, 9],
           "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "nop", "FabricIngress.filtering.drop"],
           "base_default_next" : "FabricIngress.filtering.fwd_classifier",
           "next_tables" : {
@@ -3346,7 +3070,7 @@
           "name" : "FabricIngress.filtering.fwd_classifier",
           "id" : 2,
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 98,
             "column" : 10,
             "source_fragment" : "fwd_classifier"
@@ -3377,14 +3101,14 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [15],
+          "action_ids" : [12],
           "actions" : ["FabricIngress.filtering.set_forwarding_type"],
           "base_default_next" : "node_6",
           "next_tables" : {
             "FabricIngress.filtering.set_forwarding_type" : "node_6"
           },
           "default_entry" : {
-            "action_id" : 15,
+            "action_id" : 12,
             "action_const" : true,
             "action_data" : ["0x0"],
             "action_entry_const" : true
@@ -3394,7 +3118,7 @@
           "name" : "FabricIngress.forwarding.bridging",
           "id" : 3,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 41,
             "column" : 10,
             "source_fragment" : "bridging"
@@ -3419,7 +3143,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [16, 3],
+          "action_ids" : [13, 3],
           "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
           "base_default_next" : "FabricIngress.forwarding.acl",
           "next_tables" : {
@@ -3437,7 +3161,7 @@
           "name" : "FabricIngress.forwarding.mpls",
           "id" : 4,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 65,
             "column" : 10,
             "source_fragment" : "mpls"
@@ -3456,7 +3180,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [17, 4],
+          "action_ids" : [14, 4],
           "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
           "base_default_next" : "tbl_act_0",
           "next_tables" : {
@@ -3480,14 +3204,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [37],
+          "action_ids" : [31],
           "actions" : ["act_0"],
           "base_default_next" : "FabricIngress.forwarding.acl",
           "next_tables" : {
             "act_0" : "FabricIngress.forwarding.acl"
           },
           "default_entry" : {
-            "action_id" : 37,
+            "action_id" : 31,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -3497,7 +3221,7 @@
           "name" : "FabricIngress.forwarding.unicast_v4",
           "id" : 6,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 87,
             "column" : 10,
             "source_fragment" : "unicast_v4"
@@ -3516,7 +3240,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [18, 5],
+          "action_ids" : [15, 5],
           "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v4", "NoAction"],
           "base_default_next" : "FabricIngress.forwarding.acl",
           "next_tables" : {
@@ -3531,133 +3255,10 @@
           }
         },
         {
-          "name" : "FabricIngress.forwarding.multicast_v4",
+          "name" : "FabricIngress.forwarding.acl",
           "id" : 7,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 159,
-            "column" : 10,
-            "source_fragment" : "multicast_v4"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.vlan_tag.vlan_id",
-              "target" : ["vlan_tag", "vlan_id"],
-              "mask" : null
-            },
-            {
-              "match_type" : "lpm",
-              "name" : "hdr.ipv4.dst_addr",
-              "target" : ["ipv4", "dst_addr"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "lpm",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : true,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [22, 6],
-          "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v4", "NoAction"],
-          "base_default_next" : "FabricIngress.forwarding.acl",
-          "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_multicast_v4" : "FabricIngress.forwarding.acl",
-            "NoAction" : "FabricIngress.forwarding.acl"
-          },
-          "default_entry" : {
-            "action_id" : 6,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "FabricIngress.forwarding.unicast_v6",
-          "id" : 8,
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 184,
-            "column" : 10,
-            "source_fragment" : "unicast_v6"
-          },
-          "key" : [
-            {
-              "match_type" : "lpm",
-              "name" : "hdr.ipv6.dst_addr",
-              "target" : ["ipv6", "dst_addr"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "lpm",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : true,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [23, 7],
-          "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v6", "NoAction"],
-          "base_default_next" : "FabricIngress.forwarding.acl",
-          "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_unicast_v6" : "FabricIngress.forwarding.acl",
-            "NoAction" : "FabricIngress.forwarding.acl"
-          },
-          "default_entry" : {
-            "action_id" : 7,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "FabricIngress.forwarding.multicast_v6",
-          "id" : 9,
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 207,
-            "column" : 10,
-            "source_fragment" : "multicast_v6"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.vlan_tag.vlan_id",
-              "target" : ["vlan_tag", "vlan_id"],
-              "mask" : null
-            },
-            {
-              "match_type" : "lpm",
-              "name" : "hdr.ipv6.dst_addr",
-              "target" : ["ipv6", "dst_addr"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "lpm",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : true,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [24, 8],
-          "actions" : ["FabricIngress.forwarding.set_next_id_multicast_v6", "NoAction"],
-          "base_default_next" : "FabricIngress.forwarding.acl",
-          "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_multicast_v6" : "FabricIngress.forwarding.acl",
-            "NoAction" : "FabricIngress.forwarding.acl"
-          },
-          "default_entry" : {
-            "action_id" : 8,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "FabricIngress.forwarding.acl",
-          "id" : 10,
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 119,
             "column" : 10,
             "source_fragment" : "acl"
@@ -3742,7 +3343,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [19, 20, 21, 1],
+          "action_ids" : [16, 17, 18, 1],
           "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.send_to_controller", "FabricIngress.forwarding.drop", "nop"],
           "base_default_next" : "FabricIngress.next.vlan_meta",
           "next_tables" : {
@@ -3760,9 +3361,9 @@
         },
         {
           "name" : "FabricIngress.next.vlan_meta",
-          "id" : 11,
+          "id" : 8,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 65,
             "column" : 10,
             "source_fragment" : "vlan_meta"
@@ -3781,7 +3382,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [25, 2],
+          "action_ids" : [19, 2],
           "actions" : ["FabricIngress.next.set_vlan", "nop"],
           "base_default_next" : "FabricIngress.next.simple",
           "next_tables" : {
@@ -3797,9 +3398,9 @@
         },
         {
           "name" : "FabricIngress.next.simple",
-          "id" : 12,
+          "id" : 9,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 122,
             "column" : 10,
             "source_fragment" : "simple"
@@ -3818,7 +3419,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [26, 27, 28, 29, 30, 31, 9],
+          "action_ids" : [20, 21, 22, 23, 24, 25, 6],
           "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"],
           "base_default_next" : null,
           "next_tables" : {
@@ -3826,7 +3427,7 @@
             "__MISS__" : "tbl_act_2"
           },
           "default_entry" : {
-            "action_id" : 9,
+            "action_id" : 6,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -3834,7 +3435,7 @@
         },
         {
           "name" : "tbl_act_1",
-          "id" : 13,
+          "id" : 10,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -3842,14 +3443,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [38],
+          "action_ids" : [32],
           "actions" : ["act_1"],
-          "base_default_next" : "node_24",
+          "base_default_next" : "node_18",
           "next_tables" : {
-            "act_1" : "node_24"
+            "act_1" : "node_18"
           },
           "default_entry" : {
-            "action_id" : 38,
+            "action_id" : 32,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -3857,7 +3458,7 @@
         },
         {
           "name" : "tbl_act_2",
-          "id" : 14,
+          "id" : 11,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -3865,14 +3466,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [39],
+          "action_ids" : [33],
           "actions" : ["act_2"],
-          "base_default_next" : "node_24",
+          "base_default_next" : "node_18",
           "next_tables" : {
-            "act_2" : "node_24"
+            "act_2" : "node_18"
           },
           "default_entry" : {
-            "action_id" : 39,
+            "action_id" : 33,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -3880,7 +3481,7 @@
         },
         {
           "name" : "tbl_act_3",
-          "id" : 15,
+          "id" : 12,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -3888,37 +3489,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [40],
+          "action_ids" : [34],
           "actions" : ["act_3"],
           "base_default_next" : "FabricIngress.next.hashed",
           "next_tables" : {
             "act_3" : "FabricIngress.next.hashed"
           },
           "default_entry" : {
-            "action_id" : 40,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_act_4",
-          "id" : 16,
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [41],
-          "actions" : ["act_4"],
-          "base_default_next" : "FabricIngress.next.hashed",
-          "next_tables" : {
-            "act_4" : "FabricIngress.next.hashed"
-          },
-          "default_entry" : {
-            "action_id" : 41,
+            "action_id" : 34,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -3926,9 +3504,9 @@
         },
         {
           "name" : "FabricIngress.next.hashed",
-          "id" : 17,
+          "id" : 13,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 175,
             "column" : 10,
             "source_fragment" : "hashed"
@@ -3948,7 +3526,7 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [32, 33, 34, 10],
+          "action_ids" : [26, 27, 28, 7],
           "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
           "base_default_next" : "FabricIngress.next.multicast",
           "next_tables" : {
@@ -3960,9 +3538,9 @@
         },
         {
           "name" : "FabricIngress.next.multicast",
-          "id" : 18,
+          "id" : 14,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 206,
             "column" : 10,
             "source_fragment" : "multicast"
@@ -3981,23 +3559,23 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [35, 11],
+          "action_ids" : [29, 8],
           "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
-          "base_default_next" : "node_32",
+          "base_default_next" : "node_24",
           "next_tables" : {
-            "FabricIngress.next.set_mcast_group" : "node_32",
-            "NoAction" : "node_32"
+            "FabricIngress.next.set_mcast_group" : "node_24",
+            "NoAction" : "node_24"
           },
           "default_entry" : {
-            "action_id" : 11,
+            "action_id" : 8,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
           }
         },
         {
-          "name" : "tbl_act_5",
-          "id" : 19,
+          "name" : "tbl_act_4",
+          "id" : 15,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -4005,22 +3583,22 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [42],
-          "actions" : ["act_5"],
-          "base_default_next" : "node_34",
+          "action_ids" : [35],
+          "actions" : ["act_4"],
+          "base_default_next" : "node_26",
           "next_tables" : {
-            "act_5" : "node_34"
+            "act_4" : "node_26"
           },
           "default_entry" : {
-            "action_id" : 42,
+            "action_id" : 35,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "tbl_act_6",
-          "id" : 20,
+          "name" : "tbl_act_5",
+          "id" : 16,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -4028,14 +3606,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [43],
-          "actions" : ["act_6"],
+          "action_ids" : [36],
+          "actions" : ["act_5"],
           "base_default_next" : null,
           "next_tables" : {
-            "act_6" : null
+            "act_5" : null
           },
           "default_entry" : {
-            "action_id" : 43,
+            "action_id" : 36,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -4079,7 +3657,7 @@
           "name" : "node_2",
           "id" : 0,
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 25,
             "column" : 12,
             "source_fragment" : "hdr.packet_out.isValid()"
@@ -4102,7 +3680,7 @@
           "name" : "node_6",
           "id" : 1,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 222,
             "column" : 11,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
@@ -4128,7 +3706,7 @@
           "name" : "node_8",
           "id" : 2,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 223,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
@@ -4154,8 +3732,8 @@
           "name" : "node_11",
           "id" : 3,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 230,
+            "filename" : "include/control/forwarding.p4",
+            "line" : 238,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
           },
@@ -4174,89 +3752,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.unicast_v4",
-          "false_next" : "node_13"
-        },
-        {
-          "name" : "node_13",
-          "id" : 4,
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 232,
-            "column" : 17,
-            "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_MULTICAST"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "==",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "fabric_metadata_t.fwd_type"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x03"
-              }
-            }
-          },
-          "true_next" : "FabricIngress.forwarding.multicast_v4",
-          "false_next" : "node_15"
-        },
-        {
-          "name" : "node_15",
-          "id" : 5,
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 235,
-            "column" : 17,
-            "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "==",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "fabric_metadata_t.fwd_type"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x04"
-              }
-            }
-          },
-          "true_next" : "FabricIngress.forwarding.unicast_v6",
-          "false_next" : "node_17"
-        },
-        {
-          "name" : "node_17",
-          "id" : 6,
-          "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
-            "line" : 237,
-            "column" : 17,
-            "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_MULTICAST"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "==",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "fabric_metadata_t.fwd_type"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x05"
-              }
-            }
-          },
-          "true_next" : "FabricIngress.forwarding.multicast_v6",
           "false_next" : "FabricIngress.forwarding.acl"
         },
         {
-          "name" : "node_24",
-          "id" : 7,
+          "name" : "node_18",
+          "id" : 4,
           "expression" : {
             "type" : "expression",
             "value" : {
@@ -4268,14 +3768,14 @@
               }
             }
           },
-          "true_next" : "node_25",
+          "true_next" : "node_19",
           "false_next" : "FabricIngress.next.hashed"
         },
         {
-          "name" : "node_25",
-          "id" : 8,
+          "name" : "node_19",
+          "id" : 5,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 219,
             "column" : 16,
             "source_fragment" : "!hdr.mpls.isValid()"
@@ -4298,14 +3798,14 @@
               }
             }
           },
-          "true_next" : "node_26",
+          "true_next" : "node_20",
           "false_next" : "FabricIngress.next.hashed"
         },
         {
-          "name" : "node_26",
-          "id" : 9,
+          "name" : "node_20",
+          "id" : 6,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 220,
             "column" : 19,
             "source_fragment" : "hdr.ipv4.isValid()"
@@ -4322,36 +3822,13 @@
             }
           },
           "true_next" : "tbl_act_3",
-          "false_next" : "node_28"
-        },
-        {
-          "name" : "node_28",
-          "id" : 10,
-          "source_info" : {
-            "filename" : "./include/control/next.p4",
-            "line" : 224,
-            "column" : 25,
-            "source_fragment" : "hdr.ipv6.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["ipv6", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_act_4",
           "false_next" : "FabricIngress.next.hashed"
         },
         {
-          "name" : "node_32",
-          "id" : 11,
+          "name" : "node_24",
+          "id" : 7,
           "source_info" : {
-            "filename" : "./include/control/port_counter.p4",
+            "filename" : "include/control/port_counter.p4",
             "line" : 27,
             "column" : 12,
             "source_fragment" : "standard_metadata.egress_spec < 511"
@@ -4370,14 +3847,14 @@
               }
             }
           },
-          "true_next" : "tbl_act_5",
-          "false_next" : "node_34"
+          "true_next" : "tbl_act_4",
+          "false_next" : "node_26"
         },
         {
-          "name" : "node_34",
-          "id" : 12,
+          "name" : "node_26",
+          "id" : 8,
           "source_info" : {
-            "filename" : "./include/control/port_counter.p4",
+            "filename" : "include/control/port_counter.p4",
             "line" : 30,
             "column" : 12,
             "source_fragment" : "standard_metadata.ingress_port < 511"
@@ -4397,7 +3874,7 @@
             }
           },
           "false_next" : null,
-          "true_next" : "tbl_act_6"
+          "true_next" : "tbl_act_5"
         }
       ]
     },
@@ -4414,9 +3891,9 @@
       "tables" : [
         {
           "name" : "FabricEgress.egress_next.egress_vlan",
-          "id" : 21,
+          "id" : 17,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 252,
             "column" : 10,
             "source_fragment" : "egress_vlan"
@@ -4441,15 +3918,15 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [46, 44],
+          "action_ids" : [39, 37],
           "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
-          "base_default_next" : "node_39",
+          "base_default_next" : "node_31",
           "next_tables" : {
-            "FabricEgress.egress_next.pop_vlan" : "node_39",
-            "nop" : "node_39"
+            "FabricEgress.egress_next.pop_vlan" : "node_31",
+            "nop" : "node_31"
           },
           "default_entry" : {
-            "action_id" : 44,
+            "action_id" : 37,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -4457,7 +3934,7 @@
         },
         {
           "name" : "tbl_pkt_io_egress_pop_vlan",
-          "id" : 22,
+          "id" : 18,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -4465,22 +3942,22 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [45],
+          "action_ids" : [38],
           "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
-          "base_default_next" : "tbl_act_7",
+          "base_default_next" : "tbl_act_6",
           "next_tables" : {
-            "FabricEgress.pkt_io_egress.pop_vlan" : "tbl_act_7"
+            "FabricEgress.pkt_io_egress.pop_vlan" : "tbl_act_6"
           },
           "default_entry" : {
-            "action_id" : 45,
+            "action_id" : 38,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "tbl_act_7",
-          "id" : 23,
+          "name" : "tbl_act_6",
+          "id" : 19,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -4488,14 +3965,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [47],
-          "actions" : ["act_7"],
+          "action_ids" : [40],
+          "actions" : ["act_6"],
           "base_default_next" : null,
           "next_tables" : {
-            "act_7" : null
+            "act_6" : null
           },
           "default_entry" : {
-            "action_id" : 47,
+            "action_id" : 40,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -4505,10 +3982,10 @@
       "action_profiles" : [],
       "conditionals" : [
         {
-          "name" : "node_39",
-          "id" : 13,
+          "name" : "node_31",
+          "id" : 9,
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 42,
             "column" : 12,
             "source_fragment" : "standard_metadata.egress_port == 255"
@@ -4528,13 +4005,13 @@
             }
           },
           "false_next" : null,
-          "true_next" : "node_40"
+          "true_next" : "node_32"
         },
         {
-          "name" : "node_40",
-          "id" : 14,
+          "name" : "node_32",
+          "id" : 10,
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 43,
             "column" : 16,
             "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
@@ -4578,7 +4055,7 @@
             }
           },
           "true_next" : "tbl_pkt_io_egress_pop_vlan",
-          "false_next" : "tbl_act_7"
+          "false_next" : "tbl_act_6"
         }
       ]
     }