
On Wed, Mar 26, 2014 at 08:59:04AM +0000, Wangrui (K) wrote:
Hi,
I use ethernet vif for VM (libvirt 1.1.0 qemu 1.5.1). xml as such
<interface type='ethernet'> <script path='' /> <target dev='tap_mq'/> <mac address='52:54:00:19:9e:4e'/> <model type='virtio' /> <driver name='vhost' queues='2'/> </interface>
tap_mq is a tap device with multi_queue property which was created on host by ip command, such as follows #ip tuntap add tap_mq mode tap multi_queue
I want to use multiple queue feature for this vif so I set queues='2' in xml.
When start VM , an error occurs "error: unsupported configuration: Multiqueue network is not supported for: ethernet". This error is reported from function qemuBuildInterfaceCommandLine
/* Currently nothing besides TAP devices supports multiqueue. */ if (net->driver.virtio.queues > 0 && !(actualType == VIR_DOMAIN_NET_TYPE_NETWORK || actualType == VIR_DOMAIN_NET_TYPE_BRIDGE)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("Multiqueue network is not supported for: %s"), virDomainNetTypeToString(actualType)); return -1; }
The comment specifies that only TAP device supports multiqueue. But VIR_DOMAIN_NET_TYPE_ETHERNET is also TAP device I think.
No, libvirt can't assume that - it just knows it is something that /looks/ like a tap device but it might not be. This is just an example of one of the many problems with type=ethernet and why we recommend people never to use this & why its taints any domain using it. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|