From: steven@steven676.net
To: qemu-devel@nongnu.org
Cc: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>,
Jan Kiszka <jan.kiszka@siemens.com>
Subject: [Qemu-devel] [PATCH 0/3] slirp: deliver received TCP RSTs to the guest
Date: Tue, 5 Apr 2016 17:13:58 -0700 [thread overview]
Message-ID: <cover.1459896208.git.steven@steven676.net> (raw)
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
next reply other threads:[~2016-04-06 0:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-06 0:13 steven [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1459896208.git.steven@steven676.net \
--to=steven@steven676.net \
--cc=edgar.iglesias@xilinx.com \
--cc=jan.kiszka@siemens.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).