qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

             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).