From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [Qemu-devel] qemu-kvm-0.11 regression, crashes on older guests with virtio network Date: Thu, 29 Oct 2009 09:11:37 -0500 Message-ID: <4AE9A299.5060003@codemonkey.ws> References: <1256807803.10825.39.camel@blaa> <1256815818-sup-7805@xpc65.scottt> <1256818566.10825.58.camel@blaa> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Scott Tsai , Dustin Kirkland , qemu-devel , kvm To: Mark McLoughlin Return-path: Received: from mail-yx0-f187.google.com ([209.85.210.187]:58989 "EHLO mail-yx0-f187.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754388AbZJ2OLf (ORCPT ); Thu, 29 Oct 2009 10:11:35 -0400 Received: by yxe17 with SMTP id 17so1683599yxe.33 for ; Thu, 29 Oct 2009 07:11:40 -0700 (PDT) In-Reply-To: <1256818566.10825.58.camel@blaa> Sender: kvm-owner@vger.kernel.org List-ID: Mark McLoughlin wrote: > >> tap_set_offload(csum: 1, tso4: 1, tso6: 1, ecn: 1) >> being called and get an mtu of 1500 on virbr0 using his birdge.sh script. >> >> virtio_net_receive2 was trying to transfer a 1534 byte packet (1524 'size' + 10 'virtio_net_hdr') >> and the guest only had 1524 bytes of space in its input descriptors. >> > > Okay, that sounds like a bug in Dustin's version of the guest virtio-net > driver - if it is only supplying 1524 byte buffers, it should not be > saying it supports the VIRTIO_NET_F_GUEST_TSO4 feature > See: commit 8eca6b1bc770982595db2f7207c65051572436cb Author: aliguori Date: Sun Apr 5 17:40:08 2009 +0000 Fix oops on 2.6.25 guest (Rusty Russell) I believe this is behind the following: https://bugs.edge.launchpad.net/ubuntu/jaunty/+source/linux/+bug/331128 virtio_pci in 2.6.25 didn't do feature negotiation correctly: it acked every bit. Fortunately, we can detect this. Signed-off-by: Rusty Russell Signed-off-by: Anthony Liguori It looks like Rusty's fix wasn't enough. If I change virtio-net to only advertise F_MAC, we don't run into this problem. Regards, Anthony Liguori