On 05/19/2010 01:49 AM, Huang, Zhiteng wrote:
Hi gurus on the list,

I'm trying to bring up a Linux with virtio vhost backend.  My system is running 
on kernel 2.6.34-rc7, libvirt 0.8.0.

Two questions regarding to vhost:

1) XML format for vhost
I didn't find any documents on libvirt.org description the XML or QMU argument 
format for vhost.

If you're using virtio networking, and vhost-net support is available on your system, libvirt will automatically alter the qemu commandline arguments to take advantage of it. libvirt checks for two things:

1) it runs "qemu-kvm --help" and looks for ",vhost=" in the output (demonstrating that this build of qemu supports vhost)

2) it attempts to open "/dev/vhost-net" in rw mode (demonstrating that the kernel support is there, either built into the kernel or loaded as a module).

You can verify libvirt has enabled vhost by looking at the generated commandline in /var/log/libvirt/qemu/<domain>.log for "vhost=on,vhostfd=<some number>"

According to http://www.linux-kvm.org/page/VhostNet#vhost-net_driver_projects, 
I tried *domxml-from-native* to convert following qemu argument to XML

qemu-system-x86_64 -m 1G disk-c.qcow2 \
-net nic,model=virtio,netdev=foo \
-netdev tap,id=foo,ifname=msttap0,script=/home/mst/ifup,downscript=no,vhost=on

But the output clearly ignore the network.
<domain type='qemu'>
     <type arch='x86_64'>hvm</type>
   <clock offset='utc'/>
     <input type='mouse' bus='ps2'/>
     <graphics type='sdl'/>
       <model type='cirrus' vram='9216' heads='1'/>

What's the problem here?

I haven't used domxml-from-native, so I can't help you there.

2) Virtio driver.
It's said that vhost require guest kernel version>  2.6.31 because vhost 
requires MSI-X.  How about frontend of virtio driver?  Say I'm running a Windows 
2008 (with MSI-X support) + virtio NIC, is it necessary to upgrade frontend driver 

a vhost virtio NIC appears to the guest driver identically to a user-space virtio NIC, so the same guest-side driver should work fine. (Actually, the vhost NIC doesn't (yet) support shared buffers that the user-space NIC does, but the guest's driver can deal with that)

libvir-list mailing list

Reply via email to