[libvirt-users] macvtap vlan and tcp header overhead (and mtu size)

Vincent Bernat bernat at luffy.cx
Sat Jun 29 19:26:37 UTC 2019

 ❦ 27 juin 2019 19:29 +02, "Marc Roos" <M.Roos at f1-outsourcing.eu>:

> I can do a ping -M do -s 9000 between hosts via the vlan interface 
> eth0.v101. That is as expected.
> The ping -M do -s 1500 macvtap0 and another host or macvtap1 fails. The 
> maximum size that does not fragment is 1472.
> That is 28 bytes??? Where have they gone? I am only using macvtap, can 
> this be the combination of the parent interface being a vlan and that 
> macvtap is not properly handling this? Anyone experienced something 
> similar? Or can explain where these 28 bytes go?

The "-s" parameter specifies the size of the ICMP payload. You need to
add 8 bytes for the ICMP header and 20 bytes for the IP header. So, 1472
is expected with a 1500 MTU. What's not expected is 9000 on a 9000 MTU.
Write clearly - don't be too clever.
            - The Elements of Programming Style (Kernighan & Plauger)

More information about the libvirt-users mailing list