tcp: fix cwnd reduction for non-sack recovery
authorYuchung Cheng <ycheng@google.com>
Thu, 23 Aug 2012 07:05:17 +0000 (07:05 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 2 Oct 2012 17:29:38 +0000 (10:29 -0700)
commitfbc350126994de9682e0400b969ab84437768894
treef9cc4d4fc4e9f96f1bfa2e746901511feb0403b7
parent912af4d4433a29aa51bcbc33c4275541d8ccc4b1
tcp: fix cwnd reduction for non-sack recovery

[ Upstream commit 7c4a56fec379ac0d7754e0d4da6a7361f1a4fe64 ]

The cwnd reduction in fast recovery is based on the number of packets
newly delivered per ACK. For non-sack connections every DUPACK
signifies a packet has been delivered, but the sender mistakenly
skips counting them for cwnd reduction.

The fix is to compute newly_acked_sacked after DUPACKs are accounted
in sacked_out for non-sack connections.

Signed-off-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Nandita Dukkipati <nanditad@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c