From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MCgOs-0001Fc-6g for qemu-devel@nongnu.org; Fri, 05 Jun 2009 16:52:30 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MCgOn-000191-I1 for qemu-devel@nongnu.org; Fri, 05 Jun 2009 16:52:29 -0400 Received: from [199.232.76.173] (port=38239 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MCgOn-00018u-En for qemu-devel@nongnu.org; Fri, 05 Jun 2009 16:52:25 -0400 Received: from g4t0014.houston.hp.com ([15.201.24.17]:42864) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MCgOm-0005rQ-SF for qemu-devel@nongnu.org; Fri, 05 Jun 2009 16:52:25 -0400 Received: from g1t0039.austin.hp.com (g1t0039.austin.hp.com [16.236.32.45]) by g4t0014.houston.hp.com (Postfix) with ESMTP id 86F86240A9 for ; Fri, 5 Jun 2009 20:52:23 +0000 (UTC) From: Alex Williamson Date: Fri, 05 Jun 2009 14:46:52 -0600 Message-ID: <20090605204652.3355.31889.stgit@kvm.aw> In-Reply-To: <20090605204647.3355.81929.stgit@kvm.aw> References: <20090605204647.3355.81929.stgit@kvm.aw> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH 1/7] virtio-net: Add version_id 7 placeholder for vnet header support List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: alex.williamson@hp.com Signed-off-by: Alex Williamson --- hw/virtio-net.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/hw/virtio-net.c b/hw/virtio-net.c index 60aa6da..9471d9e 100644 --- a/hw/virtio-net.c +++ b/hw/virtio-net.c @@ -16,7 +16,7 @@ #include "qemu-timer.h" #include "virtio-net.h" -#define VIRTIO_NET_VM_VERSION 6 +#define VIRTIO_NET_VM_VERSION 7 #define MAC_TABLE_ENTRIES 32 #define MAX_VLAN (1 << 12) /* Per 802.1Q definition */ @@ -523,6 +523,7 @@ static void virtio_net_save(QEMUFile *f, void *opaque) qemu_put_be32(f, n->mac_table.in_use); qemu_put_buffer(f, n->mac_table.macs, n->mac_table.in_use * ETH_ALEN); qemu_put_buffer(f, (uint8_t *)n->vlans, MAX_VLAN >> 3); + qemu_put_be32(f, 0); /* vnet-hdr placeholder */ } static int virtio_net_load(QEMUFile *f, void *opaque, int version_id) @@ -562,6 +563,12 @@ static int virtio_net_load(QEMUFile *f, void *opaque, int version_id) if (version_id >= 6) qemu_get_buffer(f, (uint8_t *)n->vlans, MAX_VLAN >> 3); + if (version_id >= 7 && qemu_get_be32(f)) { + fprintf(stderr, + "virtio-net: saved image requires vnet header support\n"); + exit(1); + } + if (n->tx_timer_active) { qemu_mod_timer(n->tx_timer, qemu_get_clock(vm_clock) + TX_TIMER_INTERVAL);