Initial integration of SPGW in fabric.p4

Change-Id: Idd78399212039e44c982f50d343f824d516f938a
diff --git a/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json b/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json
index 24aeb25..d6f4899 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/bmv2/fabric.json
@@ -275,12 +275,12 @@
   "header_union_stacks" : [],
   "field_lists" : [],
   "errors" : [
-    ["NoError", 0],
-    ["PacketTooShort", 1],
-    ["NoMatch", 2],
-    ["StackOutOfBounds", 3],
-    ["HeaderTooShort", 4],
-    ["ParserTimeout", 5]
+    ["NoError", 1],
+    ["PacketTooShort", 2],
+    ["NoMatch", 3],
+    ["StackOutOfBounds", 4],
+    ["HeaderTooShort", 5],
+    ["ParserTimeout", 6]
   ],
   "enums" : [],
   "parsers" : [
@@ -764,8 +764,8 @@
       "name" : "deparser",
       "id" : 0,
       "source_info" : {
-        "filename" : "./include/parser.p4",
-        "line" : 125,
+        "filename" : "include/parser.p4",
+        "line" : 158,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
@@ -850,7 +850,7 @@
       "name" : "port_counters_control.egress_port_counter",
       "id" : 12,
       "source_info" : {
-        "filename" : "./include/control/port_counter.p4",
+        "filename" : "include/control/port_counter.p4",
         "line" : 23,
         "column" : 38,
         "source_fragment" : "egress_port_counter"
@@ -862,7 +862,7 @@
       "name" : "port_counters_control.ingress_port_counter",
       "id" : 13,
       "source_info" : {
-        "filename" : "./include/control/port_counter.p4",
+        "filename" : "include/control/port_counter.p4",
         "line" : 24,
         "column" : 38,
         "source_fragment" : "ingress_port_counter"
@@ -877,8 +877,8 @@
       "name" : "calc",
       "id" : 0,
       "source_info" : {
-        "filename" : "./include/checksum.p4",
-        "line" : 48,
+        "filename" : "include/checksum.p4",
+        "line" : 55,
         "column" : 8,
         "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
       },
@@ -934,8 +934,8 @@
       "name" : "calc_0",
       "id" : 1,
       "source_info" : {
-        "filename" : "./include/checksum.p4",
-        "line" : 24,
+        "filename" : "include/checksum.p4",
+        "line" : 28,
         "column" : 8,
         "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
       },
@@ -1065,7 +1065,7 @@
           "op" : "drop",
           "parameters" : [],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 31,
             "column" : 8,
             "source_fragment" : "mark_to_drop()"
@@ -1096,7 +1096,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 35,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
@@ -1123,7 +1123,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 41,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setValid()"
@@ -1142,7 +1142,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 42,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.cfi = 0"
@@ -1161,7 +1161,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 43,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.pri = 0"
@@ -1180,7 +1180,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 44,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
@@ -1199,7 +1199,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 32,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
@@ -1218,7 +1218,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 35,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
@@ -1247,7 +1247,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "fabric_metadata.pop_vlan_at_egress = true"
@@ -1278,7 +1278,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 53,
             "column" : 8,
             "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
@@ -1295,7 +1295,7 @@
           "op" : "drop",
           "parameters" : [],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 39,
             "column" : 8,
             "source_fragment" : "mark_to_drop()"
@@ -1326,7 +1326,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 43,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1357,7 +1357,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 43,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1388,7 +1388,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 43,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1419,7 +1419,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 43,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1450,7 +1450,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 43,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1481,7 +1481,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 43,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1508,7 +1508,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 47,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setInvalid()"
@@ -1527,7 +1527,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 48,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
@@ -1553,8 +1553,8 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
-            "line" : 48,
+            "filename" : "include/control/../define.p4",
+            "line" : 50,
             "column" : 28,
             "source_fragment" : "255; ..."
           }
@@ -1584,7 +1584,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 33,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num"
@@ -1619,7 +1619,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 37,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
@@ -1648,7 +1648,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 40,
             "column" : 8,
             "source_fragment" : "fabric_metadata.pop_vlan_at_egress = false"
@@ -1667,7 +1667,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 33,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -1706,7 +1706,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 45,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -1725,7 +1725,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -1744,7 +1744,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 33,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -1783,7 +1783,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 45,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -1802,7 +1802,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -1821,7 +1821,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 33,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -1856,7 +1856,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 59,
             "column" : 8,
             "source_fragment" : "standard_metadata.mcast_grp = gid"
@@ -1875,7 +1875,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 45,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -1918,7 +1918,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 45,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -1937,7 +1937,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -1956,7 +1956,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 33,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -1971,7 +1971,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 65,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
@@ -1990,7 +1990,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 33,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
@@ -2009,7 +2009,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 67,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = label; ..."
@@ -2028,7 +2028,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 68,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = tc; ..."
@@ -2047,7 +2047,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 69,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
@@ -2066,8 +2066,8 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../header.p4",
-            "line" : 19,
+            "filename" : "include/control/../define.p4",
+            "line" : 60,
             "column" : 32,
             "source_fragment" : "64; ..."
           }
@@ -2109,7 +2109,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 45,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -2128,7 +2128,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -2147,7 +2147,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 33,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -2162,7 +2162,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 65,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
@@ -2181,7 +2181,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 33,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
@@ -2200,7 +2200,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 67,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = label; ..."
@@ -2219,7 +2219,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 68,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = tc; ..."
@@ -2238,7 +2238,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 69,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
@@ -2257,8 +2257,8 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../header.p4",
-            "line" : 19,
+            "filename" : "include/control/../define.p4",
+            "line" : 60,
             "column" : 32,
             "source_fragment" : "64; ..."
           }
@@ -2300,7 +2300,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 45,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
@@ -2319,7 +2319,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 49,
             "column" : 8,
             "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
@@ -2338,7 +2338,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 33,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
@@ -2353,7 +2353,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 65,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
@@ -2372,7 +2372,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 33,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
@@ -2391,7 +2391,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 67,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = label; ..."
@@ -2410,7 +2410,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 68,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = tc; ..."
@@ -2429,7 +2429,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 69,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
@@ -2448,8 +2448,8 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../header.p4",
-            "line" : 19,
+            "filename" : "include/control/../define.p4",
+            "line" : 60,
             "column" : 32,
             "source_fragment" : "64; ..."
           }
@@ -2474,7 +2474,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"
@@ -2489,7 +2489,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 27,
             "column" : 12,
             "source_fragment" : "hdr.packet_out.setInvalid()"
@@ -2515,7 +2515,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 35,
             "column" : 31,
             "source_fragment" : "0x0800; ..."
@@ -2534,7 +2534,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/../define.p4",
+            "filename" : "include/control/../define.p4",
             "line" : 35,
             "column" : 31,
             "source_fragment" : "0x0800; ..."
@@ -2643,7 +2643,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 140,
             "column" : 20,
             "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
@@ -2692,7 +2692,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 143,
             "column" : 20,
             "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
@@ -2744,7 +2744,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)"
@@ -2796,7 +2796,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)"
@@ -2822,7 +2822,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 160,
             "column" : 12,
             "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
@@ -2837,7 +2837,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 161,
             "column" : 12,
             "source_fragment" : "hdr.vlan_tag.setInvalid()"
@@ -2859,7 +2859,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 39,
             "column" : 12,
             "source_fragment" : "hdr.packet_in.setValid()"
@@ -2878,7 +2878,7 @@
             }
           ],
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 40,
             "column" : 12,
             "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
@@ -2893,7 +2893,7 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 29,
+        "line" : 33,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
@@ -2926,7 +2926,7 @@
           "name" : "filtering.ingress_port_vlan",
           "id" : 1,
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 57,
             "column" : 10,
             "source_fragment" : "ingress_port_vlan"
@@ -2974,7 +2974,7 @@
           "name" : "filtering.fwd_classifier",
           "id" : 2,
           "source_info" : {
-            "filename" : "./include/control/filtering.p4",
+            "filename" : "include/control/filtering.p4",
             "line" : 76,
             "column" : 10,
             "source_fragment" : "fwd_classifier"
@@ -3019,7 +3019,7 @@
           "name" : "forwarding.bridging",
           "id" : 3,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 55,
             "column" : 10,
             "source_fragment" : "bridging"
@@ -3060,7 +3060,7 @@
           "name" : "forwarding.mpls",
           "id" : 4,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 67,
             "column" : 10,
             "source_fragment" : "mpls"
@@ -3119,7 +3119,7 @@
           "name" : "forwarding.unicast_v4",
           "id" : 6,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 78,
             "column" : 10,
             "source_fragment" : "unicast_v4"
@@ -3155,7 +3155,7 @@
           "name" : "forwarding.multicast_v4",
           "id" : 7,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 89,
             "column" : 10,
             "source_fragment" : "multicast_v4"
@@ -3196,7 +3196,7 @@
           "name" : "forwarding.unicast_v6",
           "id" : 8,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 101,
             "column" : 10,
             "source_fragment" : "unicast_v6"
@@ -3232,7 +3232,7 @@
           "name" : "forwarding.multicast_v6",
           "id" : 9,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 112,
             "column" : 10,
             "source_fragment" : "multicast_v6"
@@ -3273,7 +3273,7 @@
           "name" : "forwarding.acl",
           "id" : 10,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 124,
             "column" : 10,
             "source_fragment" : "acl"
@@ -3366,7 +3366,7 @@
           "name" : "next.simple",
           "id" : 11,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 89,
             "column" : 10,
             "source_fragment" : "simple"
@@ -3494,7 +3494,7 @@
           "name" : "next.hashed",
           "id" : 16,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 103,
             "column" : 10,
             "source_fragment" : "hashed"
@@ -3527,7 +3527,7 @@
           "name" : "next.broadcast",
           "id" : 17,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 126,
             "column" : 10,
             "source_fragment" : "broadcast"
@@ -3666,7 +3666,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()"
@@ -3689,7 +3689,7 @@
           "name" : "node_6",
           "id" : 1,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 154,
             "column" : 11,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
@@ -3715,7 +3715,7 @@
           "name" : "node_8",
           "id" : 2,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 155,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
@@ -3741,7 +3741,7 @@
           "name" : "node_11",
           "id" : 3,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 162,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
@@ -3767,7 +3767,7 @@
           "name" : "node_13",
           "id" : 4,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 163,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_MULTICAST"
@@ -3793,7 +3793,7 @@
           "name" : "node_15",
           "id" : 5,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 164,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_UNICAST"
@@ -3819,7 +3819,7 @@
           "name" : "node_17",
           "id" : 6,
           "source_info" : {
-            "filename" : "./include/control/forwarding.p4",
+            "filename" : "include/control/forwarding.p4",
             "line" : 165,
             "column" : 17,
             "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV6_MULTICAST"
@@ -3862,7 +3862,7 @@
           "name" : "node_24",
           "id" : 8,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 138,
             "column" : 16,
             "source_fragment" : "!hdr.mpls.isValid()"
@@ -3892,7 +3892,7 @@
           "name" : "node_25",
           "id" : 9,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 139,
             "column" : 19,
             "source_fragment" : "hdr.ipv4.isValid()"
@@ -3915,7 +3915,7 @@
           "name" : "node_27",
           "id" : 10,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 142,
             "column" : 25,
             "source_fragment" : "hdr.ipv6.isValid()"
@@ -3938,7 +3938,7 @@
           "name" : "node_31",
           "id" : 11,
           "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"
@@ -3964,7 +3964,7 @@
           "name" : "node_33",
           "id" : 12,
           "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"
@@ -3990,7 +3990,7 @@
           "name" : "node_35",
           "id" : 13,
           "source_info" : {
-            "filename" : "./include/control/next.p4",
+            "filename" : "include/control/next.p4",
             "line" : 159,
             "column" : 12,
             "source_fragment" : "fabric_metadata.pop_vlan_at_egress"
@@ -4016,7 +4016,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 50,
+        "line" : 60,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
@@ -4052,7 +4052,7 @@
           "name" : "node_39",
           "id" : 14,
           "source_info" : {
-            "filename" : "./include/control/packetio.p4",
+            "filename" : "include/control/packetio.p4",
             "line" : 38,
             "column" : 12,
             "source_fragment" : "standard_metadata.egress_port == CPU_PORT"