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/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
index 828e0a3..aeae27b 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
@@ -807,7 +807,7 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 259,
+        "line" : 265,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
@@ -835,7 +835,7 @@
       "binding" : "FabricIngress.filtering.fwd_classifier",
       "source_info" : {
         "filename" : "include/control/filtering.p4",
-        "line" : 83,
+        "line" : 85,
         "column" : 50,
         "source_fragment" : "fwd_classifier_counter"
       }
@@ -895,7 +895,7 @@
       "binding" : "FabricIngress.next.xconnect",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 103,
+        "line" : 107,
         "column" : 50,
         "source_fragment" : "xconnect_counter"
       }
@@ -907,7 +907,7 @@
       "binding" : "FabricIngress.next.hashed",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 180,
+        "line" : 184,
         "column" : 50,
         "source_fragment" : "hashed_counter"
       }
@@ -919,7 +919,7 @@
       "binding" : "FabricIngress.next.multicast",
       "source_info" : {
         "filename" : "include/control/next.p4",
-        "line" : 224,
+        "line" : 228,
         "column" : 50,
         "source_fragment" : "multicast_counter"
       }
@@ -955,7 +955,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"
       }
@@ -1256,7 +1256,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 86,
+            "line" : 88,
             "column" : 8,
             "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
           }
@@ -1641,7 +1641,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 111,
+            "line" : 115,
             "column" : 8,
             "source_fragment" : "fabric_metadata.next_id = next_id"
           }
@@ -1880,7 +1880,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 227,
+            "line" : 231,
             "column" : 8,
             "source_fragment" : "standard_metadata.mcast_grp = group_id"
           }
@@ -1909,7 +1909,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 228,
+            "line" : 232,
             "column" : 8,
             "source_fragment" : "fabric_metadata.is_multicast = true"
           }
@@ -2015,7 +2015,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 109,
+            "line" : 111,
             "column" : 12,
             "source_fragment" : "fabric_metadata.vlan_id = hdr.vlan_tag.vlan_id"
           }
@@ -2034,7 +2034,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 110,
+            "line" : 112,
             "column" : 12,
             "source_fragment" : "fabric_metadata.vlan_pri = hdr.vlan_tag.pri"
           }
@@ -2053,7 +2053,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 111,
+            "line" : 113,
             "column" : 12,
             "source_fragment" : "fabric_metadata.vlan_cfi = hdr.vlan_tag.cfi"
           }
@@ -2079,7 +2079,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 125,
+            "line" : 127,
             "column" : 12,
             "source_fragment" : "fabric_metadata.mpls_ttl = DEFAULT_MPLS_TTL + 1"
           }
@@ -2223,7 +2223,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 266,
+            "line" : 270,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setInvalid()"
           }
@@ -2242,7 +2242,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"
           }
@@ -2264,7 +2264,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 273,
+            "line" : 277,
             "column" : 8,
             "source_fragment" : "hdr.mpls.setValid()"
           }
@@ -2283,7 +2283,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 274,
+            "line" : 278,
             "column" : 8,
             "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label"
           }
@@ -2302,7 +2302,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 275,
+            "line" : 279,
             "column" : 8,
             "source_fragment" : "hdr.mpls.tc = 3w0"
           }
@@ -2321,7 +2321,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 276,
+            "line" : 280,
             "column" : 8,
             "source_fragment" : "hdr.mpls.bos = 1w1"
           }
@@ -2340,7 +2340,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 277,
+            "line" : 281,
             "column" : 8,
             "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl"
           }
@@ -2381,7 +2381,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 285,
+            "line" : 289,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setValid()"
           }
@@ -2400,7 +2400,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 286,
+            "line" : 290,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi"
           }
@@ -2419,7 +2419,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 287,
+            "line" : 291,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri"
           }
@@ -2457,7 +2457,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"
           }
@@ -2479,7 +2479,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 312,
+            "line" : 316,
             "column" : 8,
             "source_fragment" : "hdr.vlan_tag.setInvalid()"
           }
@@ -2569,7 +2569,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 333,
+            "line" : 337,
             "column" : 12,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -2651,7 +2651,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 35,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -2700,7 +2700,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 365,
+            "line" : 369,
             "column" : 12,
             "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
           }
@@ -2722,7 +2722,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 39,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -2771,7 +2771,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 369,
+            "line" : 373,
             "column" : 16,
             "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
           }
@@ -2825,7 +2825,7 @@
           "id" : 1,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 109,
+            "line" : 111,
             "column" : 36,
             "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
           },
@@ -2854,7 +2854,7 @@
           "id" : 2,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 125,
+            "line" : 127,
             "column" : 37,
             "source_fragment" : "="
           },
@@ -2905,12 +2905,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",
@@ -2939,7 +2933,7 @@
           "id" : 4,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 90,
+            "line" : 92,
             "column" : 10,
             "source_fragment" : "fwd_classifier"
           },
@@ -3217,7 +3211,7 @@
           "id" : 9,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 115,
+            "line" : 119,
             "column" : 10,
             "source_fragment" : "xconnect"
           },
@@ -3261,7 +3255,7 @@
           "id" : 10,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 198,
+            "line" : 202,
             "column" : 10,
             "source_fragment" : "hashed"
           },
@@ -3295,7 +3289,7 @@
           "id" : 11,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 232,
+            "line" : 236,
             "column" : 10,
             "source_fragment" : "multicast"
           },
@@ -3332,7 +3326,7 @@
           "id" : 12,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 82,
+            "line" : 86,
             "column" : 10,
             "source_fragment" : "next_vlan"
           },
@@ -3429,7 +3423,7 @@
           "id" : 0,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 179,
+            "line" : 183,
             "column" : 57,
             "source_fragment" : "hashed_selector"
           },
@@ -3490,7 +3484,7 @@
           "id" : 1,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 108,
+            "line" : 110,
             "column" : 12,
             "source_fragment" : "hdr.vlan_tag.isValid()"
           },
@@ -3513,7 +3507,7 @@
           "id" : 2,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
-            "line" : 120,
+            "line" : 122,
             "column" : 12,
             "source_fragment" : "!hdr.mpls.isValid()"
           },
@@ -3810,7 +3804,7 @@
           "id" : 17,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 333,
+            "line" : 337,
             "column" : 12,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -3839,7 +3833,7 @@
           "id" : 18,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 337,
+            "line" : 341,
             "column" : 36,
             "source_fragment" : "pop_mpls_if_present()"
           },
@@ -3868,7 +3862,7 @@
           "id" : 19,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 339,
+            "line" : 343,
             "column" : 12,
             "source_fragment" : "set_mpls()"
           },
@@ -3897,7 +3891,7 @@
           "id" : 20,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 316,
+            "line" : 320,
             "column" : 10,
             "source_fragment" : "egress_vlan"
           },
@@ -3986,7 +3980,7 @@
           "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 356,
+            "line" : 360,
             "column" : 20,
             "source_fragment" : "push_vlan()"
           },
@@ -4015,7 +4009,7 @@
           "id" : 24,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 365,
+            "line" : 369,
             "column" : 25,
             "source_fragment" : "="
           },
@@ -4044,7 +4038,7 @@
           "id" : 25,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 35,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -4073,7 +4067,7 @@
           "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 369,
+            "line" : 373,
             "column" : 29,
             "source_fragment" : "="
           },
@@ -4102,7 +4096,7 @@
           "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 39,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           },
@@ -4193,7 +4187,7 @@
           "id" : 12,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 331,
+            "line" : 335,
             "column" : 12,
             "source_fragment" : "fabric_metadata.is_multicast == true ..."
           },
@@ -4246,7 +4240,7 @@
           "id" : 13,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 336,
+            "line" : 340,
             "column" : 12,
             "source_fragment" : "fabric_metadata.mpls_label == 0"
           },
@@ -4272,7 +4266,7 @@
           "id" : 14,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 337,
+            "line" : 341,
             "column" : 16,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -4295,7 +4289,7 @@
           "id" : 15,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 353,
+            "line" : 357,
             "column" : 16,
             "source_fragment" : "!egress_vlan.apply().hit"
           },
@@ -4325,7 +4319,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"
           },
@@ -4351,7 +4345,7 @@
           "id" : 17,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 364,
+            "line" : 368,
             "column" : 12,
             "source_fragment" : "hdr.mpls.isValid()"
           },
@@ -4374,7 +4368,7 @@
           "id" : 18,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 366,
+            "line" : 370,
             "column" : 16,
             "source_fragment" : "hdr.mpls.ttl == 0"
           },
@@ -4400,7 +4394,7 @@
           "id" : 19,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 368,
+            "line" : 372,
             "column" : 15,
             "source_fragment" : "hdr.ipv4.isValid()"
           },
@@ -4423,7 +4417,7 @@
           "id" : 20,
           "source_info" : {
             "filename" : "include/control/next.p4",
-            "line" : 370,
+            "line" : 374,
             "column" : 20,
             "source_fragment" : "hdr.ipv4.ttl == 0"
           },