[libvirt-users] vhost-net requested but could not be initialized

Asadullah Hussain asadxflow at gmail.com
Thu Jul 24 10:48:06 UTC 2014


Let me clarify my question, I am using unmodified stock qemu (1.4.0) and
only the location of vhost file descriptor is different from default (I
don't remove the default /dev/vhost-net directory)

The VHOST file descriptor is present in "/dev/vhost-0" directory instead of
the default "/dev/vhost-net". When I try to give vhostfd in the XML I get a
different error:

2014-07-24 10:42:22.507+0000: 3181: error : qemuMonitorOpenUnix:293 :
failed to connect to monitor socket: No such process
2014-07-24 10:42:22.507+0000: 3181: error : qemuProcessWaitForMonitor:1806
: internal error process exited while connecting to monitor:
qemu-system-x86_64: -netdev
type=tap,id=net1,script=no,downscript=no,ifname=port4,vhost=on,vhostfd=/dev/vhost-0:
Device 'tap' could not be initialized


Whereas if I don't give the vhostfd option in the XML, it uses the default
/dev/vhost-net directory and throws the following error:

2014-07-24 10:41:35.970+0000: 3183: error : qemuMonitorOpenUnix:293 :
failed to connect to monitor socket: No such process
2014-07-24 10:41:35.970+0000: 3183: error : qemuProcessWaitForMonitor:1806
: internal error process exited while connecting to monitor:
qemu-system-x86_64: -netdev
type=tap,id=net1,script=no,downscript=no,ifname=port4,vhost=on: vhost-net
requested but could not be initialized
qemu-system-x86_64: -netdev
type=tap,id=net1,script=no,downscript=no,ifname=port4,vhost=on: Device
'tap' could not be initialized


On 24 July 2014 13:47, Asadullah Hussain <asadxflow at gmail.com> wrote:

> ​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 at 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
>



-- 
Cheers,

Asadullah Hussain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20140724/c1d9c0dc/attachment.htm>


More information about the libvirt-users mailing list