All of lore.kernel.org
 help / color / mirror / Atom feed
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: qemu-devel@nongnu.org
Cc: James Clarke <jrtc27@jrtc27.com>,
	stefanha@redhat.com, jan.kiszka@siemens.com,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [Qemu-devel] [PULL 6/9] slirp: Send window updates to guest after window was closed
Date: Thu, 31 May 2018 21:22:34 +0200	[thread overview]
Message-ID: <20180531192237.3994-7-samuel.thibault@ens-lyon.org> (raw)
In-Reply-To: <20180531192237.3994-1-samuel.thibault@ens-lyon.org>

From: James Clarke <jrtc27@jrtc27.com>

If the receive window presented to the guest closes, slirp should send a
window update once the window reopens sufficiently, rather than forcing
the guest to send a window probe, which can take several seconds.

Signed-off-by: James Clarke <jrtc27@jrtc27.com>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 slirp/slirp.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/slirp/slirp.c b/slirp/slirp.c
index 4f29753444..5c3bd6163f 100644
--- a/slirp/slirp.c
+++ b/slirp/slirp.c
@@ -678,13 +678,13 @@ void slirp_pollfds_poll(GArray *pollfds, int select_error)
                         /* continue; */
                     } else {
                         ret = sowrite(so);
+                        if (ret > 0) {
+                            /* Call tcp_output in case we need to send a window
+                             * update to the guest, otherwise it will be stuck
+                             * until it sends a window probe. */
+                            tcp_output(sototcpcb(so));
+                        }
                     }
-                    /*
-                     * XXXXX If we wrote something (a lot), there
-                     * could be a need for a window update.
-                     * In the worst case, the remote will send
-                     * a window probe to get things going again
-                     */
                 }
 
                 /*
-- 
2.17.0

  parent reply	other threads:[~2018-05-31 19:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-31 19:22 [Qemu-devel] [PULL 0/9] slirp updates Samuel Thibault
2018-05-31 19:22 ` [Qemu-devel] [PULL 1/9] slirp: Add domainname option to slirp's DHCP server Samuel Thibault
2018-05-31 19:42   ` Eric Blake
2018-05-31 19:22 ` [Qemu-devel] [PULL 2/9] slirp: disable Nagle in outgoing connections Samuel Thibault
2018-05-31 19:22 ` [Qemu-devel] [PULL 3/9] slirp: disable Nagle in ingoing connections Samuel Thibault
2018-05-31 19:22 ` [Qemu-devel] [PULL 4/9] slirp/debug: Print IP addresses in human readable form Samuel Thibault
2018-05-31 19:22 ` [Qemu-devel] [PULL 5/9] net/slirp: Convert atoi to qemu_strtoi to allow error checking Samuel Thibault
2018-05-31 19:22 ` Samuel Thibault [this message]
2018-05-31 19:22 ` [Qemu-devel] [PULL 7/9] slirp/ncsi: fix "Get Version ID" payload length Samuel Thibault
2018-05-31 19:22 ` [Qemu-devel] [PULL 8/9] slirp/ncsi: add a "Get Parameters" response Samuel Thibault
2018-05-31 19:22 ` [Qemu-devel] [PULL 9/9] slirp/ncsi: add checksum support Samuel Thibault
2018-05-31 19:40 ` [Qemu-devel] [PULL 0/9] slirp updates no-reply
2018-06-01 13:50 ` Peter Maydell
2018-06-01 13:57   ` 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=20180531192237.3994-7-samuel.thibault@ens-lyon.org \
    --to=samuel.thibault@ens-lyon.org \
    --cc=jan.kiszka@siemens.com \
    --cc=jrtc27@jrtc27.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.