diff options
author | Yuchung Cheng <ycheng@google.com> | 2019-01-16 15:05:29 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-01-17 15:12:26 -0800 |
commit | 7f12422c4873e9b274bc151ea59cb0cdf9415cf1 (patch) | |
tree | 4fcc9a7b9a4c31aa9c470fc8fc5a4a8c59b01177 /net/8021q | |
parent | 88f8598d0a302a08380eadefd09b9f5cb1c4c428 (diff) |
tcp: always timestamp on every skb transmission
Previously TCP skbs are not always timestamped if the transmission
failed due to memory or other local issues. This makes deciding
when to abort a socket tricky and complicated because the first
unacknowledged skb's timestamp may be 0 on TCP timeout.
The straight-forward fix is to always timestamp skb on every
transmission attempt. Also every skb retransmission needs to be
flagged properly to avoid RTT under-estimation. This can happen
upon receiving an ACK for the original packet and the a previous
(spurious) retransmission has failed.
It's worth noting that this reverts to the old time-stamping
style before commit 8c72c65b426b ("tcp: update skb->skb_mstamp more
carefully") which addresses a problem in computing the elapsed time
of a stalled window-probing socket. The problem will be addressed
differently in the next patches with a simpler approach.
Signed-off-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Neal Cardwell <ncardwell@google.com>
Reviewed-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q')
0 files changed, 0 insertions, 0 deletions