mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
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 <soheil@google.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: Yuchung Cheng <ycheng@google.com> Cc: Lutz Vieweg <lvml@5t9.de> Cc: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8b705f5241
commit
d82bae12dc
6 changed files with 11 additions and 179 deletions
|
@ -198,10 +198,6 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
|
|||
tp->write_seq = 0;
|
||||
}
|
||||
|
||||
if (tcp_death_row->sysctl_tw_recycle &&
|
||||
!tp->rx_opt.ts_recent_stamp && fl4->daddr == daddr)
|
||||
tcp_fetch_timewait_stamp(sk, &rt->dst);
|
||||
|
||||
inet->inet_dport = usin->sin_port;
|
||||
sk_daddr_set(sk, daddr);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue