[libvirt] Libvirt and qemu multiqueue net

Michal Privoznik mprivozn at redhat.com
Tue Mar 12 10:17:16 UTC 2013


It's been a while since qemu added support for multiqueue virtio-net.
For more info follow [1]. From usage POV, libvirt is required to pass
multiple FDs:

qemu-kvm -netdev tap,id=hn0,fds=x:y:...:z,vhost=on,vhostfds=a:b:...:c
-device virtio-net-pci,netdev=hn0,vectors=N ...

where count(x:...:z) = M. We are strongly advised to use 1:1 ratio => M=N.

The FDs for 'fds' argument can be obtained via:

    fd1 = open("/dev/net/tun")
    ioctl(fd1, TUNSETIFF, "tap")
    fd2 = open("/dev/net/tun")
    ioctl(fd2, TUNATTACHQUEUE, "tap")

And what I am wondering about is, how to expose this to XML. Or do we
even want to expose this instead of some smart automatic setting? There
are not any other configurable knobs right now, but they may come in the
future.

Michal

1: http://www.linux-kvm.org/page/Multiqueue




More information about the libvir-list mailing list