qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] slirp: deliver received TCP RSTs to the guest
@ 2016-04-06  0:13 steven
  2016-04-06  0:14 ` [Qemu-devel] [PATCH 1/3] slirp: don't crash when tcp_sockclosed() is called with a NULL tp steven
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: steven @ 2016-04-06  0:13 UTC (permalink / raw)
  To: qemu-devel; +Cc: Edgar E. Iglesias, Jan Kiszka

QEMU's user-mode networking does not currently pass received TCP RSTs to
guests, meaning that applications in guests hang if the remote server
rejects their network connections.  This is particularly noticeable when
IPv6 is enabled, the guest is configured to prefer IPv6 and the remote
server rejects IPv6 connections (segment-data.zqtk.net is one example),
but the bug appears to be longstanding and affects TCP over IPv4 as
well.

There are three short patches in this series.  The first fixes a crash
which would be exposed by the last patch in the series.  The second,
which fixes delivery of an RST interrupting an already-established TCP
connection, was submitted by Edgar Iglesias in 2008 and appears to have
been missed then.  The last patch fixes the case where the remote end
sends RST in reply to our SYN (rejects our incoming connection attempt).

Lightly tested on a Linux host with Linux and Windows 7 guests.

Edgar E. Iglesias (1):
  slirp: Propagate host TCP RST to the guest.

Steven Luo (2):
  slirp: don't crash when tcp_sockclosed() is called with a NULL tp
  slirp: handle deferred ECONNREFUSED on non-blocking TCP sockets

 slirp/socket.c    | 17 ++++++++++++++++-
 slirp/tcp_input.c |  6 ++++++
 slirp/tcp_subr.c  |  7 +++++--
 3 files changed, 27 insertions(+), 3 deletions(-)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-04-07  0:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-06  0:13 [Qemu-devel] [PATCH 0/3] slirp: deliver received TCP RSTs to the guest steven
2016-04-06  0:14 ` [Qemu-devel] [PATCH 1/3] slirp: don't crash when tcp_sockclosed() is called with a NULL tp steven
2016-04-06  0:14 ` [Qemu-devel] [PATCH 2/3] slirp: Propagate host TCP RST to the guest steven
2016-04-06  8:28   ` Paolo Bonzini
2016-04-06  8:36   ` Edgar E. Iglesias
2016-04-06 14:59     ` Steven Luo
2016-04-06  0:14 ` [Qemu-devel] [PATCH 3/3] slirp: handle deferred ECONNREFUSED on non-blocking TCP sockets steven
2016-04-06  7:26 ` [Qemu-devel] [PATCH 0/3] slirp: deliver received TCP RSTs to the guest Thomas Huth
2016-04-06  8:40 ` Edgar E. Iglesias
2016-04-06 12:57 ` Samuel Thibault
2016-04-07  0:00   ` Steven Luo
2016-04-07  0:17     ` Samuel Thibault

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).