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-spgw-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
index f98e55d..a3e31ff 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
@@ -1362,7 +1362,7 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 259,
+        "line" : 265,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
@@ -1414,7 +1414,7 @@
       "binding" : "FabricIngress.filtering.fwd_classifier",
       "source_info" : {
         "filename" : "include/control/filtering.p4",
-        "line" : 83,
+        "line" : 85,
         "column" : 50,
         "source_fragment" : "fwd_classifier_counter"
       }
@@ -1474,7 +1474,7 @@
       "binding" : "FabricIngress.next.xconnect",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 103,
+        "line" : 107,
         "column" : 50,
         "source_fragment" : "xconnect_counter"
       }
@@ -1486,7 +1486,7 @@
       "binding" : "FabricIngress.next.hashed",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 180,
+        "line" : 184,
         "column" : 50,
         "source_fragment" : "hashed_counter"
       }
@@ -1498,7 +1498,7 @@
       "binding" : "FabricIngress.next.multicast",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 224,
+        "line" : 228,
         "column" : 50,
         "source_fragment" : "multicast_counter"
       }
@@ -1546,7 +1546,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"
       }
@@ -2091,7 +2091,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 86,
+            "line" : 88,
             "column" : 33,
             "source_fragment" : "= fwd_type; ..."
           }
@@ -2476,7 +2476,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 111,
+            "line" : 115,
             "column" : 32,
             "source_fragment" : "= next_id; ..."
           }
@@ -2715,7 +2715,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 227,
+            "line" : 231,
             "column" : 8,
             "source_fragment" : "standard_metadata.mcast_grp = group_id"
           }
@@ -2744,7 +2744,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 228,
+            "line" : 232,
             "column" : 37,
             "source_fragment" : "= true; ..."
           }
@@ -3058,7 +3058,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 109,
+            "line" : 111,
             "column" : 36,
             "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
           }
@@ -3077,7 +3077,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 110,
+            "line" : 112,
             "column" : 37,
             "source_fragment" : "= hdr.vlan_tag.pri; ..."
           }
@@ -3096,7 +3096,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 111,
+            "line" : 113,
             "column" : 37,
             "source_fragment" : "= hdr.vlan_tag.cfi; ..."
           }
@@ -3122,7 +3122,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 125,
+            "line" : 127,
             "column" : 37,
             "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
           }
@@ -10612,7 +10612,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 266,
+            "line" : 270,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setInvalid()"
           }
@@ -10631,7 +10631,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; ..."
           }
@@ -10653,7 +10653,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 273,
+            "line" : 277,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
           }
@@ -10672,7 +10672,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 274,
+            "line" : 278,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
           }
@@ -10691,7 +10691,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 275,
+            "line" : 279,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = 3w0"
           }
@@ -10710,7 +10710,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 276,
+            "line" : 280,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
           }
@@ -10729,7 +10729,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. ..."
           }
@@ -10770,7 +10770,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 285,
+            "line" : 289,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setValid()"
           }
@@ -10789,7 +10789,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 286,
+            "line" : 290,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
           }
@@ -10808,7 +10808,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 287,
+            "line" : 291,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
           }
@@ -10846,7 +10846,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; ..."
           }
@@ -10868,7 +10868,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 312,
+            "line" : 316,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setInvalid()"
           }
@@ -10958,7 +10958,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 333,
+            "line" : 337,
             "column" : 12,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -11040,7 +11040,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 35,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -11089,7 +11089,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 365,
+            "line" : 369,
             "column" : 12,
             "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
           }
@@ -11111,7 +11111,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 39,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -11160,7 +11160,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 369,
+            "line" : 373,
             "column" : 16,
             "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
           }
@@ -11621,7 +11621,7 @@
           "id" : 6,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 109,
+            "line" : 111,
             "column" : 36,
             "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
           },
@@ -11650,7 +11650,7 @@
           "id" : 7,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 125,
+            "line" : 127,
             "column" : 37,
             "source_fragment" : "="
           },
@@ -11701,12 +11701,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",
@@ -11735,7 +11729,7 @@
           "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 90,
+            "line" : 92,
             "column" : 10,
             "source_fragment" : "fwd_classifier"
           },
@@ -12376,7 +12370,7 @@
           "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 115,
+            "line" : 119,
             "column" : 10,
             "source_fragment" : "xconnect"
           },
@@ -12420,7 +12414,7 @@
           "id" : 28,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 198,
+            "line" : 202,
             "column" : 10,
             "source_fragment" : "hashed"
           },
@@ -12454,7 +12448,7 @@
           "id" : 29,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 232,
+            "line" : 236,
             "column" : 10,
             "source_fragment" : "multicast"
           },
@@ -12491,7 +12485,7 @@
           "id" : 30,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 82,
+            "line" : 86,
             "column" : 10,
             "source_fragment" : "next_vlan"
           },
@@ -12625,7 +12619,7 @@
           "id" : 0,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 179,
+            "line" : 183,
             "column" : 57,
             "source_fragment" : "hashed_selector"
           },
@@ -12763,7 +12757,7 @@
           "id" : 4,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 108,
+            "line" : 110,
             "column" : 12,
             "source_fragment" : "hdr.vlan_tag.isValid()"
           },
@@ -12786,7 +12780,7 @@
           "id" : 5,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 120,
+            "line" : 122,
             "column" : 12,
             "source_fragment" : "!hdr.mpls.isValid()"
           },
@@ -13177,7 +13171,7 @@
           "id" : 36,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 333,
+            "line" : 337,
             "column" : 12,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -13206,7 +13200,7 @@
           "id" : 37,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 337,
+            "line" : 341,
             "column" : 36,
             "source_fragment" : "pop_mpls_if_present()"
           },
@@ -13235,7 +13229,7 @@
           "id" : 38,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 339,
+            "line" : 343,
             "column" : 12,
             "source_fragment" : "set_mpls()"
           },
@@ -13264,7 +13258,7 @@
           "id" : 39,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 316,
+            "line" : 320,
             "column" : 10,
             "source_fragment" : "egress_vlan"
           },
@@ -13353,7 +13347,7 @@
           "id" : 42,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 356,
+            "line" : 360,
             "column" : 20,
             "source_fragment" : "push_vlan()"
           },
@@ -13382,7 +13376,7 @@
           "id" : 43,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 365,
+            "line" : 369,
             "column" : 25,
             "source_fragment" : "="
           },
@@ -13411,7 +13405,7 @@
           "id" : 44,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 35,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -13440,7 +13434,7 @@
           "id" : 45,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 369,
+            "line" : 373,
             "column" : 29,
             "source_fragment" : "="
           },
@@ -13469,7 +13463,7 @@
           "id" : 46,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 39,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -14565,7 +14559,7 @@
           "id" : 19,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 331,
+            "line" : 335,
             "column" : 12,
             "source_fragment" : "fabric_metadata.is_multicast == true ..."
           },
@@ -14618,7 +14612,7 @@
           "id" : 20,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 336,
+            "line" : 340,
             "column" : 12,
             "source_fragment" : "fabric_metadata.mpls_label == 0"
           },
@@ -14644,7 +14638,7 @@
           "id" : 21,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 337,
+            "line" : 341,
             "column" : 16,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -14667,7 +14661,7 @@
           "id" : 22,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 353,
+            "line" : 357,
             "column" : 16,
             "source_fragment" : "!egress_vlan.apply().hit"
           },
@@ -14697,7 +14691,7 @@
           "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 355,
+            "line" : 359,
             "column" : 20,
             "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
           },
@@ -14723,7 +14717,7 @@
           "id" : 24,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 364,
+            "line" : 368,
             "column" : 12,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -14746,7 +14740,7 @@
           "id" : 25,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 16,
             "source_fragment" : "hdr.mpls.ttl == 0"
           },
@@ -14772,7 +14766,7 @@
           "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 368,
+            "line" : 372,
             "column" : 15,
             "source_fragment" : "hdr.ipv4.isValid()"
           },
@@ -14795,7 +14789,7 @@
           "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 20,
             "source_fragment" : "hdr.ipv4.ttl == 0"
           },