Solved the problem, basically libvirt pre-configures network tap devices
and pre-opens /dev/vhost-net file and passes these to qemu as open, ready
to use file descriptors. . It makes it very difficult to use any other file
descriptor for a vhost kernel module. I had to just make sure that the
vhost device file descriptor was the default directory i.e., /dev/vhost-net.
I also had to change the permissions for this default file descriptor and
add it to "cgroup_device_acl".
On 24 July 2014 16:00, Asadullah Hussain <asadxflow(a)gmail.com> wrote:
Currently in the VM XML, I am passing the following command line
argument
as a passthrough argument:
-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
Is there another way to represent this in the XML file? maybe that may
solve the problem.
On 24 July 2014 15:55, Asadullah Hussain <asadxflow(a)gmail.com> wrote:
>
>
>
> On 24 July 2014 15:52, Daniel P. Berrange <berrange(a)redhat.com> wrote:
>
>> On Thu, Jul 24, 2014 at 03:48:06PM +0500, Asadullah Hussain wrote:
>> > 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:
>>
>> Well I suggest you make your system use the expected device
>> name for /dev/vhost-net. Just as libvirt only targets mainline
>> QEMU, we only target mainline kernel / standard device layout
>>
>> I was able to change my device name to /dev/vhost-net but still I get
> the error, the error itself isn't telling much about the problem:
> 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
>
>> 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