]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: more accurately check DSACKs to grow RACK reordering window
authorNeal Cardwell <ncardwell@google.com>
Tue, 27 Jul 2021 14:42:58 +0000 (10:42 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Jul 2021 19:07:21 +0000 (20:07 +0100)
commit8bbbdfd859c40c7bdc242c1d725e567841ec95ca
tree40699aa991aa192060e472048665088a7029bfd1
parent1c97ce3a3bb98e55e7eda39260aa4387ea022dbf
tcp: more accurately check DSACKs to grow RACK reordering window

Previously, a DSACK could expand the RACK reordering window when no
reordering has been seen, and/or when the DSACK was due to an
unnecessary TLP retransmit (rather than a spurious fast recovery due
to reordering). This could result in unnecessarily growing the RACK
reordering window and thus unnecessarily delaying RACK-based fast
recovery episodes.

To avoid these issues, this commit tightens the conditions under which
a DSACK triggers the RACK reordering window to grow, so that a
connection only expands its RACK reordering window if:

(a) reordering has been seen in the connection
(b) a DSACKed range does not match the most recent TLP retransmit

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