From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nx2aK-0004op-C4 for qemu-devel@nongnu.org; Wed, 31 Mar 2010 14:24:12 -0400 Received: from [140.186.70.92] (port=48617 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nx2aI-0004mT-Ek for qemu-devel@nongnu.org; Wed, 31 Mar 2010 14:24:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Nx2aG-0000VE-J1 for qemu-devel@nongnu.org; Wed, 31 Mar 2010 14:24:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56710) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Nx2aG-0000UT-82 for qemu-devel@nongnu.org; Wed, 31 Mar 2010 14:24:08 -0400 Date: Wed, 31 Mar 2010 21:20:31 +0300 From: "Michael S. Tsirkin" Message-ID: <20100331182031.GA5200@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH] vhost: fix features ack List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Anthony Liguori From: David L Stevens vhost driver in qemu didn't ack features, and this happens to work because we don't really require any features. However, it's better not to rely on this. This patch passes features to vhost as guest acks them. Signed-off-by: David L Stevens Signed-off-by: Michael S. Tsirkin --- Anthony, here's a fixup patch to address an issue in vhost patches. Incidentially, what's the status of the vhost patchset? hw/virtio-net.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/hw/virtio-net.c b/hw/virtio-net.c index 9ddd58c..4c7c46e 100644 --- a/hw/virtio-net.c +++ b/hw/virtio-net.c @@ -218,6 +218,14 @@ static void virtio_net_set_features(VirtIODevice *vdev, uint32_t features) (features >> VIRTIO_NET_F_GUEST_ECN) & 1, (features >> VIRTIO_NET_F_GUEST_UFO) & 1); } + if (!n->nic->nc.peer || + n->nic->nc.peer->info->type != NET_CLIENT_TYPE_TAP) { + return; + } + if (!tap_get_vhost_net(n->nic->nc.peer)) { + return; + } + return vhost_net_ack_features(tap_get_vhost_net(n->nic->nc.peer), features); } static int virtio_net_handle_rx_mode(VirtIONet *n, uint8_t cmd, -- 1.7.0.2.280.gc6f05