tcp: remove per-destination timestamp cache
authorSoheil Hassas Yeganeh <[email protected]>
Wed, 15 Mar 2017 20:30:45 +0000 (16:30 -0400)
committerDavid S. Miller <[email protected]>
Fri, 17 Mar 2017 03:33:56 +0000 (20:33 -0700)
commitd82bae12dc38d79a2b77473f5eb0612a3d69c55b
tree677ef02fce0b832e01c02c21f37fa7d653663104
parent8b705f5241adb2d0b5d009abea5a865601666974
tcp: remove per-destination timestamp cache

Commit 8a5bd45f6616 (tcp: randomize tcp timestamp offsets for each connection)
randomizes TCP timestamps per connection. After this commit,
there is no guarantee that the timestamps received from the
same destination are monotonically increasing. As a result,
the per-destination timestamp cache in TCP metrics (i.e., tcpm_ts
in struct tcp_metrics_block) is broken and cannot be relied upon.

Remove the per-destination timestamp cache and all related code
paths.

Note that this cache was already broken for caching timestamps of
multiple machines behind a NAT sharing the same address.

Signed-off-by: Soheil Hassas Yeganeh <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: Neal Cardwell <[email protected]>
Signed-off-by: Yuchung Cheng <[email protected]>
Cc: Lutz Vieweg <[email protected]>
Cc: Florian Westphal <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
include/net/tcp.h
net/ipv4/tcp_input.c
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_metrics.c
net/ipv4/tcp_minisocks.c
net/ipv6/tcp_ipv6.c