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/include/parser.p4 b/pipelines/fabric/src/main/resources/include/parser.p4
index 2d6a1d4..3fadebf 100644
--- a/pipelines/fabric/src/main/resources/include/parser.p4
+++ b/pipelines/fabric/src/main/resources/include/parser.p4
@@ -43,6 +43,8 @@
fabric_metadata.last_eth_type = hdr.ethernet.eth_type;
fabric_metadata.vlan_id = DEFAULT_VLAN_ID;
transition select(hdr.ethernet.eth_type){
+ ETHERTYPE_QINQ: parse_vlan_tag;
+ ETHERTYPE_QINQ_NON_STD: parse_vlan_tag;
ETHERTYPE_VLAN: parse_vlan_tag;
ETHERTYPE_MPLS: parse_mpls;
ETHERTYPE_IPV4: pre_parse_ipv4;
@@ -63,8 +65,6 @@
ETHERTYPE_MPLS: parse_mpls;
#if defined(WITH_XCONNECT) || defined(WITH_BNG) || defined(WITH_DOUBLE_VLAN_TERMINATION)
ETHERTYPE_VLAN: parse_inner_vlan_tag;
- ETHERTYPE_QINQ: parse_inner_vlan_tag;
- ETHERTYPE_QINQ_NON_STD: parse_inner_vlan_tag;
#endif // WITH_XCONNECT
default: accept;
}