On 05/20/2010 10:30 AM, Ruben Kerkhof wrote:
Hi all,
On Wed, May 19, 2010 at 18:22, Laine Stump<laine(a)laine.org> wrote:
> 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).
>
I just tried this with libvirt 0.8.1, on a 2.6.34 kernel, and it
doesn't seem to work for me.
Setting a breakpoint on the qemudOpenVhostNet function shows that it
returns -1, because QEMUD_CMD_FLAG_NETDEV isn't set.
-netdev is disabled on qemu 0.12
Sigh. Yes, you are correct. I had forgotten that I had locally modify
the libvirt source to force the use of the qemu -netdev commandline
option (rather than -net). -netdev is required for vhost-net because
qemu purposefully ignores vhost= in the -net options (I don't recall the
reason behind this, but do remember that it somehow made sense when it
was explained).
Also, I just noticed that F13 is still serving up libvirt 0.7.7, and the
vhost-net patch went in just after that, so it would require at least
libvirt 0.8.0.
If you don't care about network device hotplug, you can grab the latest
sources and enable -netdev - just remove the "#if 0" around the block
testing for presence of -netdev in qemudComputeCmdFlags, and
appropriately modify the qemu version number it's looking for.
If you're not that adventurous, you'll have to play the waiting game.
When support is enabled, though, you won't need to do anything with your
config; just restart your guests.