[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 49/60] tap: reset vnet header size on open
From: |
Michael Tokarev |
Subject: |
[Qemu-devel] [PATCH 49/60] tap: reset vnet header size on open |
Date: |
Mon, 4 Feb 2013 14:40:59 +0400 |
From: "Michael S. Tsirkin" <address@hidden>
For tap, we currently assume the vnet header size is 10
(the default value) but that might not be the case
if tap is persistent and has been used by qemu previously.
To fix, set host header size in tap device on open.
Signed-off-by: Michael S. Tsirkin <address@hidden>
Tested-by: Alexander Graf <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
(cherry picked from commit 58ddcd50f30cb5c020bd4f9f36b01ee160a27cac)
Signed-off-by: Michael Tokarev <address@hidden>
---
net/tap.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/net/tap.c b/net/tap.c
index f240028..08be84f 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -339,6 +339,13 @@ static TAPState *net_tap_fd_init(VLANState *vlan,
s->using_vnet_hdr = 0;
s->has_ufo = tap_probe_has_ufo(s->fd);
tap_set_offload(&s->nc, 0, 0, 0, 0, 0);
+ /*
+ * Make sure host header length is set correctly in tap:
+ * it might have been modified by another instance of qemu.
+ */
+ if (tap_probe_vnet_hdr_len(s->fd, s->host_vnet_hdr_len)) {
+ tap_fd_set_vnet_hdr_len(s->fd, s->host_vnet_hdr_len);
+ }
tap_read_poll(s, 1);
s->vhost_net = NULL;
return s;
--
1.7.10.4
- [Qemu-devel] [PATCH 38/60] xhci: fix usb name in caps, (continued)
- [Qemu-devel] [PATCH 38/60] xhci: fix usb name in caps, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 26/60] target-i386: Allow tsc-frequency to be larger then 2.147G, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 57/60] buffered_file: do not send more than s->bytes_xfer bytes per tick, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 42/60] target-mips: fix wrong microMIPS opcode encoding, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 11/60] net: add -netdev options to man page, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 30/60] MIPS: Correct FCR0 initialization, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 25/60] hw: Fix return value check for bdrv_read, bdrv_write, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 58/60] qxl: save qemu_create_displaysurface_from result, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 50/60] slirp: Don't crash on packets from 0.0.0.0/8., Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 27/60] x86: Fixed incorrect segment base address addition in 64-bits mode, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 49/60] tap: reset vnet header size on open,
Michael Tokarev <=
- [Qemu-devel] [PATCH 18/60] e1000: flush queue whenever can_receive can go from false to true, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 19/60] fix entry pointer for ELF kernels loaded with -kernel option, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 31/60] linux-user: fix emulation of getdents, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 12/60] intel_hda: do not call msi_reset when only device state needs resetting, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 44/60] qcow2: Fix refcount table size calculation, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 43/60] qcow2: Fix avail_sectors in cluster allocation code, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 13/60] usb-audio: fix usb version, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 14/60] fpu/softfloat.c: Return correctly signed values from uint64_to_float32, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 40/60] nbd: fixes to read-only handling, Michael Tokarev, 2013/02/04
- [Qemu-devel] [PATCH 60/60] migration: Fix madvise breakage if host and guest have different page sizes, Michael Tokarev, 2013/02/04