Good work, Stephen.

It should also be documented how PMDs should interpret this MTU.

Obviously, a VLAN tagged Ethernet frame grows from 1518 to 1522 bytes incl. 
header and CRC, and should be allowed with an Ethernet MTU of 1500 bytes. 
There's even a #define ETHER_MAX_VLAN_FRAME_LEN for this, but that's as far as 
it goes...

But how about frames with even larger headers, e.g. 4 MPLS labels makes a frame 
16 bytes longer, i.e. it grows from 1518 to 1534 bytes... is such a frame 
acceptable with an MTU of 1500 bytes?

According to Wikipedia 
(https://en.wikipedia.org/wiki/Maximum_transmission_unit), MTU describes the 
maximum payload size, and is not tied to the maximum frame size. However, the 
Linux kernel (at least the older versions I have been working with) incorrectly 
ties the MTU directly to the maximum frame size, so the MTU has to increased to 
support larger headers (e.g. QinQ or an MPLS stack). Do none, all or some DPDK 
PMDs suffer from the same error?


Med venlig hilsen / kind regards
- Morten Brørup



Reply via email to