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>