diff options
author | Eric Dumazet <edumazet@google.com> | 2012-07-20 07:02:33 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-20 19:59:41 +0200 |
commit | 9dc274151a548ffd215caecec5a8872db8799447 (patch) | |
tree | 13b7199958243d28c43ea3ecdeca254edc2d7245 /net/ipv4/tcp_output.c | |
parent | tcp: use hash_32() in tcp_metrics (diff) | |
download | linux-9dc274151a548ffd215caecec5a8872db8799447.tar.xz linux-9dc274151a548ffd215caecec5a8872db8799447.zip |
tcp: fix ABC in tcp_slow_start()
When/if sysctl_tcp_abc > 1, we expect to increase cwnd by 2 if the
received ACK acknowledges more than 2*MSS bytes, in tcp_slow_start()
Problem is this RFC 3465 statement is not correctly coded, as
the while () loop increases snd_cwnd one by one.
Add a new variable to avoid this off-by one error.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Nandita Dukkipati <nanditad@google.com>
Cc: John Heffner <johnwheffner@gmail.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_output.c')
0 files changed, 0 insertions, 0 deletions