Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 04 Nov 2012 01:39:47 +0100
From:      Andre Oppermann <andre@freebsd.org>
To:        Fabian Keil <fk@fabiankeil.de>
Cc:        freebsd-net@FreeBSD.org
Subject:   Re: kern/173309: [tcp] TCP connections often prematurely closed by the server side after r242262 [regression]
Message-ID:  <5095B953.9060301@freebsd.org>
In-Reply-To: <201211032251.qA3Mpnp6017076@freefall.freebsd.org>
References:  <201211032251.qA3Mpnp6017076@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello Fabian,

thank you for the bug report.  Please try the attached patch
which should fix the issue you observed.

-- 
Andre

Index: tcp_input.c
===================================================================
--- tcp_input.c (revision 242494)
+++ tcp_input.c (working copy)
@@ -2650,10 +2652,12 @@

                 SOCKBUF_LOCK(&so->so_snd);
                 if (acked > so->so_snd.sb_cc) {
+                       tp->snd_wnd -= so->so_snd.sb_cc;
                         sbdrop_locked(&so->so_snd, (int)so->so_snd.sb_cc);
                         ourfinisacked = 1;
                 } else {
                         sbdrop_locked(&so->so_snd, acked);
+                       tp->snd_wnd -= acked;
                         ourfinisacked = 0;
                 }
                 /* NB: sowwakeup_locked() does an implicit unlock. */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5095B953.9060301>