blob: 425235079a4d4fe2a93ec4417320855c69c6acbf [file] [log] [blame]
From stable-bounces@linux.kernel.org Tue Apr 10 13:38:09 2007
From: John Heffner <jheffner@psc.edu>
Date: Tue, 10 Apr 2007 13:36:40 -0700 (PDT)
Subject: Fix TCP receiver side SWS handling.
To: stable@kernel.org
Cc: bunk@stusta.de
Message-ID: <20070410.133640.10297825.davem@davemloft.net>
From: John Heffner <jheffner@psc.edu>
[TCP]: Do receiver-side SWS avoidance for rcvbuf < MSS.
Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
net/ipv4/tcp_output.c | 3 +++
1 file changed, 3 insertions(+)
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -1607,6 +1607,9 @@ u32 __tcp_select_window(struct sock *sk)
*/
if (window <= free_space - mss || window > free_space)
window = (free_space/mss)*mss;
+ else if (mss == full_space &&
+ free_space > window + full_space/2)
+ window = free_space;
}
return window;