On Sun, 2009-10-18 at 19:32 +0200, Michael S. Tsirkin wrote: > On Sun, Oct 18, 2009 at 12:53:56PM +0200, Michael S. Tsirkin wrote: > > On Fri, Oct 16, 2009 at 12:29:29PM -0700, Sridhar Samudrala wrote: > > > Hi Michael, > > > > > > We are trying out your vhost-net patches from your git trees on > > > kernel.org. > > > I am using mst/vhost.git as host kernel and mst/qemu-kvm.git for qemu. > > > > > > I am using the following qemu script to start the guest using userspace > > > tap backend. > > > > > > home/sridhar/git/mst/qemu-kvm/x86_64-softmmu/qemu-system-x86_64 > > > /home/sridhar/kvm_images/fedora10-1-vm -m 512 -drive > > > file=/home/sridhar/kvm_images/fedora10-1-vm,if=virtio,index=0,boot=on > > > -net nic,macaddr=54:52:00:35:e3:73,model=virtio -net > > > tap,ifname=vnet0,script=no,downscript=no > > > > > > Now that i got the default backend to work, i wanted to try vhost in > > > kernel. But > > > could not figure out the right -net option to pass to qemu. > > > > > > Can you let me know the right syntax to start a guest using vhost. > > > > > > Thanks > > > Sridhar > > > > Here's an example with raw socket: > > > > /root/kvm-test/bin/qemu-system-x86_64 -m 1G -kernel \ > > /boot/vmlinuz-$release -append \ > > 'root=UUID=d5d2d201-d086-42ad-bb1d-32fbe40eda71 ro quiet nosplash \ > > console=tty0 console=ttyS0,9600n8' -initrd /boot/guest-initrd.img \ > > $HOME/disk.raw.copy -net raw,ifname=eth3 -net nic,model=virtio,vhost \ > > -balloon none -redir tcp:8023::22 > > > > As you see, I changed the command line. > > You now simply add ",vhost" after model, and it will locate > > host network interface specified earlier and attach to it. > > This should have been clear from running qemu with -help > > flag. Could you please suggest how can that text > > be clarified?
I updated to your latest git trees and the default user-space tap backend using the following -net options worked fine. -net tap,ifname=vnet0,script=no,downscript=no -net nic,model=virtio But i could not get vhost to work with either raw or tap backends. I tried the following combinations. 1) -net raw,ifname=eth0 -net nic,model=virtio,vhost 2) -net raw,ifname=vnet0, -net nic,model=virtio,vhost 3) -net tap,ifname=vnet0,script=no,downscript=no -net nic,model=virtio,vhost They all failed with the following error vhost_net_init returned -7 This is an error message from hw/virtio-net.c:virtio_net_driver_ok() when vhost_net_start() fails. It looks like dev->binding->irqfd() is failing in vhost_virtqueue_init(). Haven't yet debugged further. I have CONFIG_EVENTFD enabled in the host kernel. Are all the above -net options supposed to work? In your descriptions, you say that checksum/tso offload is not supported. Isn't it possible to send/receive large packets without checksum using AF_PACKET sockets if the attached interface supports these offloads. Do you see the same offload issue even when using tap backend via vhost? Thanks Sridhar -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html