]> git.baikalelectronics.ru Git - kernel.git/commit
tcp: fix bogus RTT for CC when retransmissions are acked
authorKenneth Klette Jonassen <kennetkl@ifi.uio.no>
Sat, 11 Apr 2015 00:17:49 +0000 (02:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Apr 2015 17:54:25 +0000 (13:54 -0400)
commitddc2f0da7b1296bc0d818796af3695d397eed0e0
tree09b3b238bb8292ad5a2eacc770ea63b5ef457d74
parent681eda8187212c235f062efdc45693bbcd9bd759
tcp: fix bogus RTT for CC when retransmissions are acked

Since retransmitted segments are not used for RTT estimation, previously
SACKed segments present in the rtx queue are used. This estimation can be
several times larger than the actual RTT. When a cumulative ack covers both
previously SACKed and retransmitted segments, CC may thus get a bogus RTT.

Such segments previously had an RTT estimation in tcp_sacktag_one(), so it
seems reasonable to not reuse them in tcp_clean_rtx_queue() at all.

Afaik, this has had no effect on SRTT/RTO because of Karn's check.

Signed-off-by: Kenneth Klette Jonassen <kennetkl@ifi.uio.no>
Acked-by: Neal Cardwell <ncardwell@google.com>
Tested-by: Neal Cardwell <ncardwell@google.com>
Acked-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c