Small fixes and improvements on fabric.p4
- setting s_tag and c_tag for BNG as early as possible in the pipeline
- ingress_port_vlan was matching on inner_vlan_tag but that field could be not present

Change-Id: Id4d51159a314d45cec370471ed244a51fd74338b
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
index 95eb58e..0d0ce6a 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
@@ -1109,7 +1109,7 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 259,
+        "line" : 265,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
@@ -1149,7 +1149,7 @@
       "binding" : "FabricIngress.filtering.fwd_classifier",
       "source_info" : {
         "filename" : "include/control/filtering.p4",
-        "line" : 83,
+        "line" : 85,
         "column" : 50,
         "source_fragment" : "fwd_classifier_counter"
       }
@@ -1209,7 +1209,7 @@
       "binding" : "FabricIngress.next.xconnect",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 103,
+        "line" : 107,
         "column" : 50,
         "source_fragment" : "xconnect_counter"
       }
@@ -1221,7 +1221,7 @@
       "binding" : "FabricIngress.next.hashed",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 180,
+        "line" : 184,
         "column" : 50,
         "source_fragment" : "hashed_counter"
       }
@@ -1233,7 +1233,7 @@
       "binding" : "FabricIngress.next.multicast",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 224,
+        "line" : 228,
         "column" : 50,
         "source_fragment" : "multicast_counter"
       }
@@ -1281,7 +1281,7 @@
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 309,
+        "line" : 313,
         "column" : 50,
         "source_fragment" : "egress_vlan_counter"
       }
@@ -1624,7 +1624,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 86,
+            "line" : 88,
             "column" : 33,
             "source_fragment" : "= fwd_type; ..."
           }
@@ -2009,7 +2009,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 111,
+            "line" : 115,
             "column" : 32,
             "source_fragment" : "= next_id; ..."
           }
@@ -2248,7 +2248,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 227,
+            "line" : 231,
             "column" : 8,
             "source_fragment" : "standard_metadata.mcast_grp = group_id"
           }
@@ -2277,7 +2277,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 228,
+            "line" : 232,
             "column" : 37,
             "source_fragment" : "= true; ..."
           }
@@ -2383,7 +2383,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 109,
+            "line" : 111,
             "column" : 36,
             "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
           }
@@ -2402,7 +2402,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 110,
+            "line" : 112,
             "column" : 37,
             "source_fragment" : "= hdr.vlan_tag.pri; ..."
           }
@@ -2421,7 +2421,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 111,
+            "line" : 113,
             "column" : 37,
             "source_fragment" : "= hdr.vlan_tag.cfi; ..."
           }
@@ -2447,7 +2447,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 125,
+            "line" : 127,
             "column" : 37,
             "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
           }
@@ -9040,7 +9040,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 266,
+            "line" : 270,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setInvalid()"
           }
@@ -9059,7 +9059,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 268,
+            "line" : 272,
             "column" : 8,
             "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
           }
@@ -9081,7 +9081,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 273,
+            "line" : 277,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
           }
@@ -9100,7 +9100,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 274,
+            "line" : 278,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
           }
@@ -9119,7 +9119,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 275,
+            "line" : 279,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = 3w0"
           }
@@ -9138,7 +9138,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 276,
+            "line" : 280,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
           }
@@ -9157,7 +9157,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 277,
+            "line" : 281,
             "column" : 8,
             "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
           }
@@ -9198,7 +9198,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 285,
+            "line" : 289,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setValid()"
           }
@@ -9217,7 +9217,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 286,
+            "line" : 290,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
           }
@@ -9236,7 +9236,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 287,
+            "line" : 291,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
           }
@@ -9274,7 +9274,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 289,
+            "line" : 293,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
           }
@@ -9296,7 +9296,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 312,
+            "line" : 316,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setInvalid()"
           }
@@ -9386,7 +9386,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 333,
+            "line" : 337,
             "column" : 12,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -9468,7 +9468,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 35,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -9517,7 +9517,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 365,
+            "line" : 369,
             "column" : 12,
             "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
           }
@@ -9539,7 +9539,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 39,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -9588,7 +9588,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 369,
+            "line" : 373,
             "column" : 16,
             "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
           }
@@ -9904,7 +9904,7 @@
           "id" : 1,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 109,
+            "line" : 111,
             "column" : 36,
             "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
           },
@@ -9933,7 +9933,7 @@
           "id" : 2,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 125,
+            "line" : 127,
             "column" : 37,
             "source_fragment" : "="
           },
@@ -9984,12 +9984,6 @@
               "name" : "vlan_id",
               "target" : ["vlan_tag", "vlan_id"],
               "mask" : null
-            },
-            {
-              "match_type" : "ternary",
-              "name" : "inner_vlan_id",
-              "target" : ["inner_vlan_tag", "vlan_id"],
-              "mask" : null
             }
           ],
           "match_type" : "ternary",
@@ -10018,7 +10012,7 @@
           "id" : 4,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 90,
+            "line" : 92,
             "column" : 10,
             "source_fragment" : "fwd_classifier"
           },
@@ -10296,7 +10290,7 @@
           "id" : 9,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 115,
+            "line" : 119,
             "column" : 10,
             "source_fragment" : "xconnect"
           },
@@ -10340,7 +10334,7 @@
           "id" : 10,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 198,
+            "line" : 202,
             "column" : 10,
             "source_fragment" : "hashed"
           },
@@ -10374,7 +10368,7 @@
           "id" : 11,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 232,
+            "line" : 236,
             "column" : 10,
             "source_fragment" : "multicast"
           },
@@ -10411,7 +10405,7 @@
           "id" : 12,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 82,
+            "line" : 86,
             "column" : 10,
             "source_fragment" : "next_vlan"
           },
@@ -10545,7 +10539,7 @@
           "id" : 0,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 179,
+            "line" : 183,
             "column" : 57,
             "source_fragment" : "hashed_selector"
           },
@@ -10606,7 +10600,7 @@
           "id" : 1,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 108,
+            "line" : 110,
             "column" : 12,
             "source_fragment" : "hdr.vlan_tag.isValid()"
           },
@@ -10629,7 +10623,7 @@
           "id" : 2,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 120,
+            "line" : 122,
             "column" : 12,
             "source_fragment" : "!hdr.mpls.isValid()"
           },
@@ -10926,7 +10920,7 @@
           "id" : 18,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 333,
+            "line" : 337,
             "column" : 12,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -10955,7 +10949,7 @@
           "id" : 19,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 337,
+            "line" : 341,
             "column" : 36,
             "source_fragment" : "pop_mpls_if_present()"
           },
@@ -10984,7 +10978,7 @@
           "id" : 20,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 339,
+            "line" : 343,
             "column" : 12,
             "source_fragment" : "set_mpls()"
           },
@@ -11013,7 +11007,7 @@
           "id" : 21,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 316,
+            "line" : 320,
             "column" : 10,
             "source_fragment" : "egress_vlan"
           },
@@ -11102,7 +11096,7 @@
           "id" : 24,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 356,
+            "line" : 360,
             "column" : 20,
             "source_fragment" : "push_vlan()"
           },
@@ -11131,7 +11125,7 @@
           "id" : 25,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 365,
+            "line" : 369,
             "column" : 25,
             "source_fragment" : "="
           },
@@ -11160,7 +11154,7 @@
           "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 35,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -11189,7 +11183,7 @@
           "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 369,
+            "line" : 373,
             "column" : 29,
             "source_fragment" : "="
           },
@@ -11218,7 +11212,7 @@
           "id" : 28,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 39,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -12285,7 +12279,7 @@
           "id" : 12,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 331,
+            "line" : 335,
             "column" : 12,
             "source_fragment" : "fabric_metadata.is_multicast == true ..."
           },
@@ -12338,7 +12332,7 @@
           "id" : 13,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 336,
+            "line" : 340,
             "column" : 12,
             "source_fragment" : "fabric_metadata.mpls_label == 0"
           },
@@ -12364,7 +12358,7 @@
           "id" : 14,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 337,
+            "line" : 341,
             "column" : 16,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -12387,7 +12381,7 @@
           "id" : 15,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 353,
+            "line" : 357,
             "column" : 16,
             "source_fragment" : "!egress_vlan.apply().hit"
           },
@@ -12417,7 +12411,7 @@
           "id" : 16,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 355,
+            "line" : 359,
             "column" : 20,
             "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
           },
@@ -12443,7 +12437,7 @@
           "id" : 17,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 364,
+            "line" : 368,
             "column" : 12,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -12466,7 +12460,7 @@
           "id" : 18,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 16,
             "source_fragment" : "hdr.mpls.ttl == 0"
           },
@@ -12492,7 +12486,7 @@
           "id" : 19,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 368,
+            "line" : 372,
             "column" : 15,
             "source_fragment" : "hdr.ipv4.isValid()"
           },
@@ -12515,7 +12509,7 @@
           "id" : 20,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 20,
             "source_fragment" : "hdr.ipv4.ttl == 0"
           },