[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v5 43/57] virtio-net: Remove old migration version su
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL v5 43/57] virtio-net: Remove old migration version support |
Date: |
Thu, 21 Jul 2016 20:54:41 +0300 |
From: "Dr. David Alan Gilbert" <address@hidden>
virtio-net has had version 11 since 0ce0e8f4 in 2009
(v0.11.0-rc0-1480-g0ce0e8f) - remove the code to support loading
anything earlier.
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Amit Shah <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
hw/net/virtio-net.c | 87 +++++++++++++++++++++--------------------------------
1 file changed, 34 insertions(+), 53 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 9999899..550db30 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1543,7 +1543,7 @@ static int virtio_net_load(QEMUFile *f, void *opaque, int
version_id)
VirtIONet *n = opaque;
VirtIODevice *vdev = VIRTIO_DEVICE(n);
- if (version_id < 2 || version_id > VIRTIO_NET_VM_VERSION)
+ if (version_id != VIRTIO_NET_VM_VERSION)
return -EINVAL;
return virtio_load(vdev, f, version_id);
@@ -1562,68 +1562,49 @@ static int virtio_net_load_device(VirtIODevice *vdev,
QEMUFile *f,
virtio_vdev_has_feature(vdev,
VIRTIO_F_VERSION_1));
- if (version_id >= 3)
- n->status = qemu_get_be16(f);
+ n->status = qemu_get_be16(f);
- if (version_id >= 4) {
- if (version_id < 8) {
- n->promisc = qemu_get_be32(f);
- n->allmulti = qemu_get_be32(f);
- } else {
- n->promisc = qemu_get_byte(f);
- n->allmulti = qemu_get_byte(f);
- }
- }
+ n->promisc = qemu_get_byte(f);
+ n->allmulti = qemu_get_byte(f);
- if (version_id >= 5) {
- n->mac_table.in_use = qemu_get_be32(f);
- /* MAC_TABLE_ENTRIES may be different from the saved image */
- if (n->mac_table.in_use <= MAC_TABLE_ENTRIES) {
- qemu_get_buffer(f, n->mac_table.macs,
- n->mac_table.in_use * ETH_ALEN);
- } else {
- int64_t i;
-
- /* Overflow detected - can happen if source has a larger MAC table.
- * We simply set overflow flag so there's no need to maintain the
- * table of addresses, discard them all.
- * Note: 64 bit math to avoid integer overflow.
- */
- for (i = 0; i < (int64_t)n->mac_table.in_use * ETH_ALEN; ++i) {
- qemu_get_byte(f);
- }
- n->mac_table.multi_overflow = n->mac_table.uni_overflow = 1;
- n->mac_table.in_use = 0;
+ n->mac_table.in_use = qemu_get_be32(f);
+ /* MAC_TABLE_ENTRIES may be different from the saved image */
+ if (n->mac_table.in_use <= MAC_TABLE_ENTRIES) {
+ qemu_get_buffer(f, n->mac_table.macs,
+ n->mac_table.in_use * ETH_ALEN);
+ } else {
+ int64_t i;
+
+ /* Overflow detected - can happen if source has a larger MAC table.
+ * We simply set overflow flag so there's no need to maintain the
+ * table of addresses, discard them all.
+ * Note: 64 bit math to avoid integer overflow.
+ */
+ for (i = 0; i < (int64_t)n->mac_table.in_use * ETH_ALEN; ++i) {
+ qemu_get_byte(f);
}
+ n->mac_table.multi_overflow = n->mac_table.uni_overflow = 1;
+ n->mac_table.in_use = 0;
}
- if (version_id >= 6)
- qemu_get_buffer(f, (uint8_t *)n->vlans, MAX_VLAN >> 3);
+ qemu_get_buffer(f, (uint8_t *)n->vlans, MAX_VLAN >> 3);
- if (version_id >= 7) {
- if (qemu_get_be32(f) && !peer_has_vnet_hdr(n)) {
- error_report("virtio-net: saved image requires vnet_hdr=on");
- return -1;
- }
+ if (qemu_get_be32(f) && !peer_has_vnet_hdr(n)) {
+ error_report("virtio-net: saved image requires vnet_hdr=on");
+ return -1;
}
- if (version_id >= 9) {
- n->mac_table.multi_overflow = qemu_get_byte(f);
- n->mac_table.uni_overflow = qemu_get_byte(f);
- }
+ n->mac_table.multi_overflow = qemu_get_byte(f);
+ n->mac_table.uni_overflow = qemu_get_byte(f);
- if (version_id >= 10) {
- n->alluni = qemu_get_byte(f);
- n->nomulti = qemu_get_byte(f);
- n->nouni = qemu_get_byte(f);
- n->nobcast = qemu_get_byte(f);
- }
+ n->alluni = qemu_get_byte(f);
+ n->nomulti = qemu_get_byte(f);
+ n->nouni = qemu_get_byte(f);
+ n->nobcast = qemu_get_byte(f);
- if (version_id >= 11) {
- if (qemu_get_byte(f) && !peer_has_ufo(n)) {
- error_report("virtio-net: saved image requires TUN_F_UFO support");
- return -1;
- }
+ if (qemu_get_byte(f) && !peer_has_ufo(n)) {
+ error_report("virtio-net: saved image requires TUN_F_UFO support");
+ return -1;
}
if (n->max_queues > 1) {
--
MST
- [Qemu-devel] [PULL v5 33/57] kvm-irqchip: do explicit commit when update irq, (continued)
- [Qemu-devel] [PULL v5 33/57] kvm-irqchip: do explicit commit when update irq, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 34/57] intel_iommu: support all masks in interrupt entry cache invalidation, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 35/57] kvm-all: add trace events for kvm irqchip ops, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 36/57] intel_iommu: disallow kernel-irqchip=on with IR, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 37/57] virtio: Add typedef for handle_output, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 38/57] virtio: Introduce virtio_add_queue_aio, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 39/57] virtio-blk: Call virtio_add_queue_aio, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 40/57] virtio-scsi: Call virtio_add_queue_aio, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 41/57] Revert "mirror: Workaround for unexpected iohandler events during completion", Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 42/57] virtio-scsi: Replace HandleOutput typedef, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 43/57] virtio-net: Remove old migration version support,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL v5 44/57] virtio-serial: Remove old migration version support, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 45/57] virtio: Migration helper function and macro, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 46/57] virtio-scsi: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 48/57] virtio-rng: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 47/57] virtio-blk: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 49/57] virtio-balloon: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 50/57] virtio-net: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 51/57] virtio-serial: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 52/57] 9pfs: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21
- [Qemu-devel] [PULL v5 53/57] virtio-input: Wrap in vmstate, Michael S. Tsirkin, 2016/07/21