Ethernet – Length of 64 byte padded Ethernet II(aka DIX) frame after 802.1q payload is added

ethernetprotocol-theory

When a router receives a padded 64 byte Ethernet II(aka DIX) frame and it needs to send this over an dot1q sub-interface, then router will add a new Ethernet II header, IEEE 802.1q field and recalculate the FCS. The question is, should router put a 64 byte frame onto wire or 68 byte frame? For example router receives an ICMP "echo request" message which has 6+6+2 byte DIX header, 20 byte IPv4 header, 8 byte ICMP header, padding of zeros for 14 bytes and then the 4 byte FCS. Now if the router will forward this frame over 802.1q sub-interface, which means that 4-byte 802.1q field is added, then should the router preserve all the padding and send 68 byte frame to wire or should it cut off 4-bytes of padding and send the 64 byte frame? A reference to RFC would be great.

Best Answer

Routers work at layer-3. Your ICMP message would be extracted from it's layer-2 container (which is bigger than the l3 payload) and processed as such. The next-hop would be presented 28 bytes to be encoded for whatever layer-2 it might be. Thus, in theory, a 64byte padded frame would be transmit.

In a switch, yes, an 802.1q tag would be inserted into the otherwise as-is frame. (adding 4 bytes.)