Laine, Thank you for the answer. That really solved my problem. Regards, HUANG, Zhiteng Intel -----Original Message----- From: sendmail [mailto:justsendmailnothingelse@xxxxxxxxx] On Behalf Of Laine Stump Sent: Thursday, May 20, 2010 12:23 AM To: libvir-list@xxxxxxxxxx Cc: Huang, Zhiteng Subject: Re: How to enable vhost for virtIO NIC? 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'> > <name>unnamed</name> > <uuid>9cc877c1-7ac2-463d-3d3f-fa8f8918fe23</uuid> > <memory>1048576</memory> > <currentMemory>1048576</currentMemory> > <vcpu>1</vcpu> > <os> > <type arch='x86_64'>hvm</type> > </os> > <features> > <acpi/> > </features> > <clock offset='utc'/> > <on_poweroff>destroy</on_poweroff> > <on_reboot>restart</on_reboot> > <on_crash>destroy</on_crash> > <devices> > <emulator>qemu-system-x86_64</emulator> > <input type='mouse' bus='ps2'/> > <graphics type='sdl'/> > <video> > <model type='cirrus' vram='9216' heads='1'/> > </video> > </devices> > </domain> > > 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 too? > > 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 libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list