[libvirt] [RFC PATCH] set tap mtu

Daniel P. Berrange berrange at redhat.com
Tue Nov 18 14:57:28 UTC 2008

On Mon, Nov 17, 2008 at 06:39:45PM -0800, Chris Wright wrote:
> Below is a simple PoC for setting a large MTU size on a tap device.
> With this we are able to improve net i/o throughput substantially (~40%
> improvement on TX and ~130% improvement on RX).  This is just RFC because
> it's hardcoded to an MTU of 9000 for any tap device.  Thoughts on the
> best way to add this kind of support?

Well if we want it to be configurable per guest then we'd add it
to the XML, in the <target> device field, alongside the VIF
name, eg

    <interface type='network'>
        <source network='default'/>
        <target dev='vnet7' mtu='9000'/>
        <mac address="11:22:33:44:55:66"/>

libvirt can handle this stuff directly for QEMU and LXC drivers
but for Xen, VIF setup is done by an /etc/xen/scripts/vif-bridge
script. AFAIK, XenD has no config param for MTU, but there's
no reason we can't write a patch for XenD to accept an MTU param
and pass that through to vif-bridge.  If large MTUs are useful
for Xen's  netback of course...

If we don't need this configurable, is there any downside to setting
a MTU of 9000 for all TAP devices we create. I assume that PTMUD
will ensure that the guest only sends packets <= 1500 if the physical
NIC connected to the bridge doesn't have such a large MTU, or if the
guest doesn't do PMTUD, then the bridge code will do fragementation
as needed ?

|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

More information about the libvir-list mailing list