qemu/net
Andrew Baumann b73c184914 tap-win32: disable broken async write path
The code under the TUN_ASYNCHRONOUS_WRITES path makes two incorrect
assumptions about the behaviour of the WriteFile API for overlapped
file handles. First, WriteFile does not update the
lpNumberOfBytesWritten parameter when the write completes
asynchronously (the number of bytes written is known only when the
operation completes). Second, the buffer shouldn't be touched (or
freed) until the operation completes. This led to at least one bug
where tap_win32_write returned zero bytes written, which in turn
caused further writes ("receives") to be disabled for that device.

This change disables the asynchronous write path, while keeping most
of the code around in case someone sees value in resurrecting it. It
also adds some conditional debug output, similar to the read path.

Signed-off-by: Andrew Baumann <Andrew.Baumann@microsoft.com>
Acked-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Jason Wang <jasowang@redhat.com>
2015-11-27 10:39:55 +08:00
..
checksum.c
clients.h
dump.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
eth.c
filter-buffer.c netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
filter.c net: Convert net filter code to use object property iterators 2015-11-18 21:13:49 +01:00
hub.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
hub.h
l2tpv3.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
Makefile.objs netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
net.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
netmap.c net: netmap: use error_setg() helpers in place of error_report() 2015-11-12 15:31:52 +08:00
queue.c net/queue: export qemu_net_queue_append_iov 2015-10-12 13:31:18 +08:00
slirp.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
socket.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
tap_int.h
tap-aix.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-bsd.c tap-bsd: use user-specified tap device if it already exists 2015-11-06 15:42:38 +03:00
tap-haiku.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-linux.c trivial: remove trailing newline from error_report 2015-09-11 10:21:38 +03:00
tap-linux.h
tap-solaris.c tap: fix non-linux build 2015-06-19 12:17:25 +02:00
tap-win32.c tap-win32: disable broken async write path 2015-11-27 10:39:55 +08:00
tap.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
util.c
util.h
vde.c net: Convert to new qapi union layout 2015-11-02 08:30:27 +01:00
vhost-user.c vhost-user: set link down when the char device is closed 2015-11-25 13:42:38 +02:00