The VLAN tag is the TPID word plus the TCI word.

highlighted = computed this step

The tag starts with TPID

After the source MAC, TPID 0x8100 marks that a VLAN tag follows.

TPID=0x8100\text{TPID}=0x8100
Four inserted tag bytesThe VLAN tag is decoded from the pinned Ethernet frame bytes.Four inserted tag bytes160 bits / 20 bytes0xaabbccddeeff0011223344558100002a08004500byte 0byte 1byte 2byte 310101010101110111100110011011101byte 4byte 5byte 6byte 711101110111111110000000000010001byte 8byte 9byte 10byte 1100100010001100110100010001010101byte 12byte 13byte 14byte 1510000001000000000000000000101010byte 16byte 17byte 18byte 1900001000000000000100010100000000dst-mac0xaabbccddeeff(cont.)(cont.)src-mac0x001122334455tpid0x8100tci0x002ainner-ethertype0x0800payload-marker0x4500

TCI is the second tag word

The next two tag bytes are TCI 0x002a. The next chapter splits that word.

TCI=0x002a\text{TCI}=0x002a
Four inserted tag bytesThe VLAN tag is decoded from the pinned Ethernet frame bytes.Four inserted tag bytes160 bits / 20 bytes0xaabbccddeeff0011223344558100002a08004500byte 0byte 1byte 2byte 310101010101110111100110011011101byte 4byte 5byte 6byte 711101110111111110000000000010001byte 8byte 9byte 10byte 1100100010001100110100010001010101byte 12byte 13byte 14byte 1510000001000000000000000000101010byte 16byte 17byte 18byte 1900001000000000000100010100000000dst-mac0xaabbccddeeff(cont.)(cont.)src-mac0x001122334455tpid0x8100tci0x002ainner-ethertype0x0800payload-marker0x4500

TPID plus TCI adds four bytes

TPID is two bytes and TCI is two bytes, so the tag adds 4 bytes between source MAC and inner EtherType.

2+2=42+2=4
Four inserted tag bytesThe VLAN tag is decoded from the pinned Ethernet frame bytes.Four inserted tag bytes160 bits / 20 bytes0xaabbccddeeff0011223344558100002a08004500byte 0byte 1byte 2byte 310101010101110111100110011011101byte 4byte 5byte 6byte 711101110111111110000000000010001byte 8byte 9byte 10byte 1100100010001100110100010001010101byte 12byte 13byte 14byte 1510000001000000000000000000101010byte 16byte 17byte 18byte 1900001000000000000100010100000000dst-mac0xaabbccddeeff(cont.)(cont.)src-mac0x001122334455tpid0x8100tci0x002ainner-ethertype0x0800payload-marker0x4500

Summary

A tagged frame inserts TPID and TCI before the original payload type.

tag bytes=4\text{tag bytes}=4
Four inserted tag bytesThe VLAN tag is decoded from the pinned Ethernet frame bytes.Four inserted tag bytes160 bits / 20 bytes0xaabbccddeeff0011223344558100002a08004500byte 0byte 1byte 2byte 310101010101110111100110011011101byte 4byte 5byte 6byte 711101110111111110000000000010001byte 8byte 9byte 10byte 1100100010001100110100010001010101byte 12byte 13byte 14byte 1510000001000000000000000000101010byte 16byte 17byte 18byte 1900001000000000000100010100000000dst-mac0xaabbccddeeff(cont.)(cont.)src-mac0x001122334455tpid0x8100tci0x002ainner-ethertype0x0800payload-marker0x4500