Asadullah Hussain
2014-Jul-24 03:42 UTC
Re: [libvirt-users] vhost-net requested but could not be initialized
Thanks Wangkai but libvirt infact pre-configures network tap devices and pre-opens /dev/vhost-net file and passes these to qemu as open, ready to use file descriptors. My issue is that my qemu requires that /dev/vhost-net directory is removed and it's kernel module be unloaded. Then it creates a vhost -net device using its own configuration. On 24 July 2014 07:35, Wangkai (Kevin,C) <wangkai86@huawei.com> wrote:> For qemu, the default vhost drive file is “/dev/vhost-net”, when you > configured vhost on. > > Give the command “modprobe vhost-net” to add host kernel support for vhost. > > This is cannot controlled by libvirt I think. > > > > Wangkai > > > > *From:* libvirt-users-bounces@redhat.com [mailto: > libvirt-users-bounces@redhat.com] *On Behalf Of *Asadullah Hussain > *Sent:* Thursday, July 24, 2014 12:43 AM > *To:* libvirt-users@redhat.com > *Subject:* [libvirt-users] vhost-net requested but could not be > initialized > > > > I am using a custom qemu to launch a vhost enabled VM. The qemu doesn't > use the default "/dev/vhost-net" directory as character device. Due to this > I am getting the error: > > > > qemu-system-x86_64: -netdev > type=tap,id=net1,script=no,downscript=no,ifname=port3,vhost=on: vhost-net > requested but could not be initialized > > > > Is there a way to tell libvirt to avoid using the default > /dev/vhost-net file? > > > > I have tried using the pass-through arguments but libvirt still processes > the command and throws the error. > > > > PS: I can successfully create a vhost VM using qemu command-line, so this > is a libvirt issue. > > > > -- > > Cheers, > > > > Asadullah Hussain >-- Cheers, Asadullah Hussain
Daniel P. Berrange
2014-Jul-24 08:31 UTC
Re: [libvirt-users] vhost-net requested but could not be initialized
On Thu, Jul 24, 2014 at 08:42:47AM +0500, Asadullah Hussain wrote:> Thanks Wangkai but libvirt infact pre-configures network tap devices and > pre-opens /dev/vhost-net file and passes these to qemu as open, ready to > use file descriptors. > > My issue is that my qemu requires that /dev/vhost-net directory is removed > and it's kernel module be unloaded. Then it creates a vhost -net device > using its own configuration.Libvirt is only written to work against official upstream QEMU. If you have modified your QEMU to work in a different way wrt net devices then you'll have to modify your libvirt to cope or workaround the problems. 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 :|
Asadullah Hussain
2014-Jul-24 08:47 UTC
Re: [libvirt-users] vhost-net requested but could not be initialized
The qemu that I am using isn't modified at all. It's the VHOST drivers that are mounted elsewhere i.e., not on default /dev/vhost-net. Here is the command that I use to launch my qemu VM: qemu-system-x86_64 -cpu host -boot order=c -hda /root/Disks/ubuntu1.qcow2 -m 1024M -smp 2 --enable-kvm -name 'client 1' -nographic -vnc :2 -net none -no-reboot -mem-path /dev/hugepages -mem-prealloc -netdev type=tap,id=net1,script=no,downscript=no,ifname=port3,vhost=on -device virtio-net-pci,netdev=net1,mac=00:00:00:00:00:01,csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off -netdev type=tap,id=net2,script=no,downscript=no,ifname=port4,vhost=on -device virtio-net-pci,netdev=net2,mac=00:00:00:00:00:02,csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off As you can see I have created tap interfaces port3 & port4 and I just want to connect the VM to these VMs. On 24 July 2014 13:31, Daniel P. Berrange <berrange@redhat.com> wrote:> On Thu, Jul 24, 2014 at 08:42:47AM +0500, Asadullah Hussain wrote: > > Thanks Wangkai but libvirt infact pre-configures network tap devices and > > pre-opens /dev/vhost-net file and passes these to qemu as open, ready to > > use file descriptors. > > > > My issue is that my qemu requires that /dev/vhost-net directory is > removed > > and it's kernel module be unloaded. Then it creates a vhost -net device > > using its own configuration. > > Libvirt is only written to work against official upstream QEMU. If you > have modified your QEMU to work in a different way wrt net devices then > you'll have to modify your libvirt to cope or workaround the problems. > > 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 > :| >-- Cheers, Asadullah Hussain