The original payload type appears after the tag.

highlighted = computed this step

The payload type moves after the tag

The inner EtherType comes after TPID and TCI.

inner EtherType=0x0800\text{inner EtherType}=0x0800
Inner EtherTypeThe VLAN tag is decoded from the pinned Ethernet frame bytes.Inner EtherType160 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

Inner type says IP version four

The inner EtherType is 0x0800, the same value used for IP version 4.

inner type=0x0800\text{inner type}=0x0800
Inner EtherTypeThe VLAN tag is decoded from the pinned Ethernet frame bytes.Inner EtherType160 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

Tiny payload marker

The payload marker bytes are 0x4500. They are only here to show what follows the inner type.

payload marker=0x4500\text{payload marker}=0x4500
Inner EtherTypeThe VLAN tag is decoded from the pinned Ethernet frame bytes.Inner EtherType160 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

Destination, source, VLAN tag, inner EtherType, then payload marker: all positions are fixed by bytes.

header bytes before payload=18\text{header bytes before payload}=18
Inner EtherTypeThe VLAN tag is decoded from the pinned Ethernet frame bytes.Inner EtherType160 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