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

Marc Roos M.Roos at f1-outsourcing.eu
Thu Jun 27 17:29:05 UTC 2019


I have a host setup for libvirt kvm/qemu vms. And I wonder a bit about 
the overhead of the macvtap and how to configure the mtu's properly. To 
be able to communicate with the host, I have moved the ip address of the 
host from the adapter to a macvtap to allow host communication. 

I have the below setup on hosts. 

                                              
                                +---------+   
                                | macvtap0|   
                             +--|   ip    |   
                             |  | mtu1500 |   
                             |  +---------+   
                 +---------+ |  +---------+   
                 |eth0.v100| |  | macvtap1|   
              +--|  no ip  +-+--|   ip    |   
 +---------+  |  | mtu1500 |    | mtu1500 |   
 |   eth0  |  |  +---------+    +---------+   
 |         +--+                               
 | mtu9000 |  |  +---------+                  
 +---------+  |  |eth0.v101|                  
              +--|   ip    |                  
                 | mtu9000 |                  
                 +---------+                  

https://pastebin.com/9jJrMCTD



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?













More information about the libvirt-users mailing list