tcp: fix cwnd reduction for non-sack recovery
authorYuchung Cheng <ycheng@google.com>
Thu, 23 Aug 2012 07:05:17 +0000 (07:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Aug 2012 17:48:58 +0000 (13:48 -0400)
commit7c4a56fec379ac0d7754e0d4da6a7361f1a4fe64
tree9d60ba52c78f83a2fe6d22950e2217e3a898755f
parent20e1db19db5d6b9e4e83021595eab0dc8f107bef
tcp: fix cwnd reduction for non-sack recovery

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