802.1ad (Q-in-Q)
Last updated
Last updated
IEEE 802.1ad states that traffic with a single tag should have 0x8100 (802.1q) and traffic for QinQ should be identified with 0x88a8 as the outer tag.
The fields of 802.1ad are essentially identical to 802.1q, but the EtherType is 0x88a8 for the outer tag.
Typically in the real world, two 802.1q tags (8100) are used:
While some devices might need 88a8 in order to properly identify QinQ, in practice two 8100 tags are often used.
On IOS-XR, we can use an outer tag of 0x88a8 using:
Configuring VLAN tag matching on ASR9000 is usually fairly intuitive. A longest match rule applies. For example, dot1q 100 second-dot1q 100 will be matched first, before a subinterface with dot1q 100 second-dot1q any.
You can use the exact keyword to match only one dot1q tag and zero additional dot1q tags. You can use the any keyword to match any VLAN id. You can use encapsulation default to match anything that wasn’t matched by any other more-specific EFPs. You can also use encapsulation untagged under a subinterface to match untagged traffic. This is used to only match untagged traffic such as CDP frames, MST BDPUs, etc.
Generally the rewrite ingress tag pop 1 symmetric command is required. This is needed even when a BVI belongs to the same BD, because the BVI does not have an encapsulation. The symmetric keyword means that the opposite action happens upon egress. In this case, the tag defined in the encap dot1q #### command is pushed upon egress.
The translate keyword can be used to translate vlan 100 to vlan 200, for example.
When you use l2transport on a physical interface, it matches all traffic, the VLAN tags do not matter. You cannot define encapsulation on a physical interface.
Everything in this article is a must-read for CCIE-SP