]> git.proxmox.com Git - qemu.git/blobdiff - net/tap.c
janitor: do not include qemu-char everywhere
[qemu.git] / net / tap.c
index df89caaac6b8817e110a1bfcde58aa0db5f39e4f..5ff78934dc59d16b19006645fb74b16a5d986aff 100644 (file)
--- a/net/tap.c
+++ b/net/tap.c
@@ -37,7 +37,6 @@
 #include "clients.h"
 #include "monitor.h"
 #include "sysemu.h"
-#include "qemu-char.h"
 #include "qemu-common.h"
 #include "qemu-error.h"
 
@@ -341,6 +340,13 @@ static TAPState *net_tap_fd_init(NetClientState *peer,
     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;