From 7399b53b9d09ef07219631f79aeebd87c1b98d1e Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Tue, 24 Nov 2020 19:38:52 +0100 Subject: interfaces: add generic QinQ VLAN documentation --- docs/_include/interface-vlan-8021ad.txt | 143 ++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 docs/_include/interface-vlan-8021ad.txt (limited to 'docs/_include/interface-vlan-8021ad.txt') diff --git a/docs/_include/interface-vlan-8021ad.txt b/docs/_include/interface-vlan-8021ad.txt new file mode 100644 index 00000000..a1e971be --- /dev/null +++ b/docs/_include/interface-vlan-8021ad.txt @@ -0,0 +1,143 @@ +.. include:: ../_include/need_improvement.txt + +IEEE 802.1ad_ was an Ethernet networking standard informally known as QinQ as +an amendment to IEEE standard 802.1q VLAN interfaces as described above. +802.1ad was incorporated into the base 802.1q_ standard in 2011. The technique +is also known as provider bridging, Stacked VLANs, or simply QinQ or Q-in-Q. +"Q-in-Q" can for supported devices apply to C-tag stacking on C-tag (Ethernet +Type = 0x8100). + +The original 802.1q_ specification allows a single Virtual Local Area Network +(VLAN) header to be inserted into an Ethernet frame. QinQ allows multiple +VLAN tags to be inserted into a single frame, an essential capability for +implementing Metro Ethernet network topologies. Just as QinQ extends 802.1Q, +QinQ itself is extended by other Metro Ethernet protocols. + +In a multiple VLAN header context, out of convenience the term "VLAN tag" or +just "tag" for short is often used in place of "802.1q_ VLAN header". QinQ +allows multiple VLAN tags in an Ethernet frame; together these tags constitute +a tag stack. When used in the context of an Ethernet frame, a QinQ frame is a +frame that has 2 VLAN 802.1q_ headers (double-tagged). + +In VyOS the terms ``vif-s`` and ``vif-c`` stand for the ethertype tags that +are used. + +The inner tag is the tag which is closest to the payload portion of the frame. +It is officially called C-TAG (customer tag, with ethertype 0x8100). The outer +tag is the one closer/closest to the Ethernet header, its name is S-TAG +(service tag with Ethernet Type = 0x88a8). + + +.. cmdinclude:: ../_include/interface-address-with-dhcp.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-description.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-disable.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-disable-link-detect.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-mac.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-mtu.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-ipv6-addr-autoconf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-ipv6-addr-eui64.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-vrf.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +**DHCP(v6)** + +.. cmdinclude:: ../_include/interface-dhcp-options.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. cmdinclude:: ../_include/interface-dhcpv6-options.txt + :var0: {{ var0 }} + :var1: {{ var1 }} + :var2: vif-s + :var3: + :var4: 1000 + :var5: vif-c + :var6: + :var7: 20 + +.. include:: ../common-references.rst -- cgit v1.2.3