Added ethertype QinQ when double VLAN tagged packets
Double VLAN tagged packets in Mininet uses QinQ Ethertype.
Change-Id: I7c3fa5f1db1ade768e1d998185d9eadded9ebb81
diff --git a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
index 10538ac..5a7432d 100644
--- a/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
+++ b/pipelines/fabric/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
@@ -754,6 +754,18 @@
"transitions" : [
{
"type" : "hexstr",
+ "value" : "0x88a8",
+ "mask" : null,
+ "next_state" : "parse_vlan_tag"
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x9100",
+ "mask" : null,
+ "next_state" : "parse_vlan_tag"
+ },
+ {
+ "type" : "hexstr",
"value" : "0x8100",
"mask" : null,
"next_state" : "parse_vlan_tag"
@@ -829,18 +841,6 @@
"next_state" : "parse_inner_vlan_tag"
},
{
- "type" : "hexstr",
- "value" : "0x88a8",
- "mask" : null,
- "next_state" : "parse_inner_vlan_tag"
- },
- {
- "type" : "hexstr",
- "value" : "0x9100",
- "mask" : null,
- "next_state" : "parse_inner_vlan_tag"
- },
- {
"value" : "default",
"mask" : null,
"next_state" : null
@@ -2127,7 +2127,7 @@
"binding" : "FabricEgress.egress_next.egress_vlan",
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 309,
+ "line" : 310,
"column" : 50,
"source_fragment" : "egress_vlan_counter"
}
@@ -14709,6 +14709,25 @@
"column" : 31,
"source_fragment" : "0x8100; ..."
}
+ },
+ {
+ "op" : "assign",
+ "parameters" : [
+ {
+ "type" : "field",
+ "value" : ["ethernet", "eth_type"]
+ },
+ {
+ "type" : "hexstr",
+ "value" : "0x88a8"
+ }
+ ],
+ "source_info" : {
+ "filename" : "include/control/../define.p4",
+ "line" : 105,
+ "column" : 31,
+ "source_fragment" : "0x88A8; ..."
+ }
}
]
},
@@ -14731,7 +14750,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 312,
+ "line" : 313,
"column" : 8,
"source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.last_eth_type; ..."
}
@@ -14746,7 +14765,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 313,
+ "line" : 314,
"column" : 8,
"source_fragment" : "hdr.vlan_tag.setInvalid()"
}
@@ -14836,7 +14855,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 334,
+ "line" : 335,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -14918,7 +14937,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 350,
+ "line" : 351,
"column" : 12,
"source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
}
@@ -14940,7 +14959,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 367,
+ "line" : 368,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -14989,7 +15008,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 366,
+ "line" : 367,
"column" : 12,
"source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
}
@@ -15011,7 +15030,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 371,
+ "line" : 372,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -15060,7 +15079,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 371,
"column" : 16,
"source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
}
@@ -15082,7 +15101,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 376,
+ "line" : 377,
"column" : 45,
"source_fragment" : "mark_to_drop(standard_metadata)"
}
@@ -15131,7 +15150,7 @@
],
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 375,
+ "line" : 376,
"column" : 16,
"source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
}
@@ -18525,7 +18544,7 @@
"id" : 67,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 334,
+ "line" : 335,
"column" : 12,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -18554,7 +18573,7 @@
"id" : 68,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 338,
+ "line" : 339,
"column" : 36,
"source_fragment" : "pop_mpls_if_present()"
},
@@ -18583,7 +18602,7 @@
"id" : 69,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 340,
+ "line" : 341,
"column" : 12,
"source_fragment" : "set_mpls()"
},
@@ -18612,7 +18631,7 @@
"id" : 70,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 346,
+ "line" : 347,
"column" : 12,
"source_fragment" : "push_vlan()"
},
@@ -18641,7 +18660,7 @@
"id" : 71,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 347,
+ "line" : 348,
"column" : 12,
"source_fragment" : "push_inner_vlan()"
},
@@ -18670,7 +18689,7 @@
"id" : 72,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 350,
+ "line" : 351,
"column" : 12,
"source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
},
@@ -18699,7 +18718,7 @@
"id" : 73,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 317,
+ "line" : 318,
"column" : 10,
"source_fragment" : "egress_vlan"
},
@@ -18788,7 +18807,7 @@
"id" : 76,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 357,
+ "line" : 358,
"column" : 20,
"source_fragment" : "push_vlan()"
},
@@ -18817,7 +18836,7 @@
"id" : 77,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 366,
+ "line" : 367,
"column" : 25,
"source_fragment" : "="
},
@@ -18846,7 +18865,7 @@
"id" : 78,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 367,
+ "line" : 368,
"column" : 35,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -18875,7 +18894,7 @@
"id" : 79,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 370,
+ "line" : 371,
"column" : 29,
"source_fragment" : "="
},
@@ -18904,7 +18923,7 @@
"id" : 80,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 371,
+ "line" : 372,
"column" : 39,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -18933,7 +18952,7 @@
"id" : 81,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 375,
+ "line" : 376,
"column" : 35,
"source_fragment" : "="
},
@@ -18962,7 +18981,7 @@
"id" : 82,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 376,
+ "line" : 377,
"column" : 45,
"source_fragment" : "mark_to_drop(standard_metadata)"
},
@@ -20204,7 +20223,7 @@
"id" : 34,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 332,
+ "line" : 333,
"column" : 12,
"source_fragment" : "fabric_metadata.is_multicast == true ..."
},
@@ -20257,7 +20276,7 @@
"id" : 35,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 337,
+ "line" : 338,
"column" : 12,
"source_fragment" : "fabric_metadata.mpls_label == 0"
},
@@ -20283,7 +20302,7 @@
"id" : 36,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 338,
+ "line" : 339,
"column" : 16,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -20306,7 +20325,7 @@
"id" : 37,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 344,
+ "line" : 345,
"column" : 12,
"source_fragment" : "fabric_metadata.push_double_vlan == true"
},
@@ -20339,7 +20358,7 @@
"id" : 38,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 354,
+ "line" : 355,
"column" : 16,
"source_fragment" : "!egress_vlan.apply().hit"
},
@@ -20369,7 +20388,7 @@
"id" : 39,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 356,
+ "line" : 357,
"column" : 20,
"source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
},
@@ -20395,7 +20414,7 @@
"id" : 40,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 365,
+ "line" : 366,
"column" : 12,
"source_fragment" : "hdr.mpls.isValid()"
},
@@ -20418,7 +20437,7 @@
"id" : 41,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 367,
+ "line" : 368,
"column" : 16,
"source_fragment" : "hdr.mpls.ttl == 0"
},
@@ -20444,7 +20463,7 @@
"id" : 42,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 369,
+ "line" : 370,
"column" : 15,
"source_fragment" : "hdr.ipv4.isValid()"
},
@@ -20467,7 +20486,7 @@
"id" : 43,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 371,
+ "line" : 372,
"column" : 20,
"source_fragment" : "hdr.ipv4.ttl == 0"
},
@@ -20493,7 +20512,7 @@
"id" : 44,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 374,
+ "line" : 375,
"column" : 21,
"source_fragment" : "hdr.ipv6.isValid()"
},
@@ -20516,7 +20535,7 @@
"id" : 45,
"source_info" : {
"filename" : "include/control/next.p4",
- "line" : 376,
+ "line" : 377,
"column" : 20,
"source_fragment" : "hdr.ipv6.hop_limit == 0"
},