]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: fix stretch ACK bugs in Reno
authorNeal Cardwell <ncardwell@google.com>
Thu, 29 Jan 2015 01:01:37 +0000 (20:01 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 29 Jan 2015 06:18:38 +0000 (22:18 -0800)
commitf5f34a16abff64f2157cbdc9d7a9316dd0ec04aa
treeb1314e9e5322836bd46740b40d59c34c9782ef31
parentf2d7e39567f6bd4156a50295eac73a1caa0c4c27
tcp: fix stretch ACK bugs in Reno

Change Reno to properly handle stretch ACKs in additive increase mode
by passing in the count of ACKed packets to tcp_cong_avoid_ai().

In addition, if snd_cwnd crosses snd_ssthresh during slow start
processing, and we then exit slow start mode, we need to carry over
any remaining "credit" for packets ACKed and apply that to additive
increase by passing this remaining "acked" count to
tcp_cong_avoid_ai().

Reported-by: Eyal Perry <eyalpe@mellanox.com>
Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_cong.c