Do receiver-side SWS avoidance for rcvbuf < MSS. Signed-off-by: John Heffner --- commit 38d33181c93a28cf7fb2f9f3377305a04636c054 tree 503f8a9de6e78694bae9fc2eb1c9dd5d26a0b5ed parent 562aa1d4c6a874373f9a48ac184f662fbbb06a04 author John Heffner Fri, 02 Mar 2007 13:47:44 -0500 committer John Heffner Fri, 02 Mar 2007 13:47:44 -0500 net/ipv4/tcp_output.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index dc15113..688b955 100644 --- 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;