Lines Matching refs:dst
97 const struct dst_entry *dst, in tcpm_suck_dst() argument
106 if (dst_metric_locked(dst, RTAX_RTT)) in tcpm_suck_dst()
108 if (dst_metric_locked(dst, RTAX_RTTVAR)) in tcpm_suck_dst()
110 if (dst_metric_locked(dst, RTAX_SSTHRESH)) in tcpm_suck_dst()
112 if (dst_metric_locked(dst, RTAX_CWND)) in tcpm_suck_dst()
114 if (dst_metric_locked(dst, RTAX_REORDERING)) in tcpm_suck_dst()
118 msval = dst_metric_raw(dst, RTAX_RTT); in tcpm_suck_dst()
121 msval = dst_metric_raw(dst, RTAX_RTTVAR); in tcpm_suck_dst()
123 tm->tcpm_vals[TCP_METRIC_SSTHRESH] = dst_metric_raw(dst, RTAX_SSTHRESH); in tcpm_suck_dst()
124 tm->tcpm_vals[TCP_METRIC_CWND] = dst_metric_raw(dst, RTAX_CWND); in tcpm_suck_dst()
125 tm->tcpm_vals[TCP_METRIC_REORDERING] = dst_metric_raw(dst, RTAX_REORDERING); in tcpm_suck_dst()
139 static void tcpm_check_stamp(struct tcp_metrics_block *tm, struct dst_entry *dst) in tcpm_check_stamp() argument
142 tcpm_suck_dst(tm, dst, false); in tcpm_check_stamp()
151 static struct tcp_metrics_block *tcpm_new(struct dst_entry *dst, in tcpm_new() argument
161 net = dev_net(dst->dev); in tcpm_new()
172 tcpm_check_stamp(tm, dst); in tcpm_new()
195 tcpm_suck_dst(tm, dst, true); in tcpm_new()
235 struct dst_entry *dst) in __tcp_get_metrics_req() argument
261 net = dev_net(dst->dev); in __tcp_get_metrics_req()
272 tcpm_check_stamp(tm, dst); in __tcp_get_metrics_req()
319 struct dst_entry *dst, in tcp_get_metrics() argument
348 net = dev_net(dst->dev); in tcp_get_metrics()
356 tm = tcpm_new(dst, &saddr, &daddr, hash); in tcp_get_metrics()
358 tcpm_check_stamp(tm, dst); in tcp_get_metrics()
370 struct dst_entry *dst = __sk_dst_get(sk); in tcp_update_metrics() local
378 if (sysctl_tcp_nometrics_save || !dst) in tcp_update_metrics()
381 if (dst->flags & DST_HOST) in tcp_update_metrics()
382 dst_confirm(dst); in tcp_update_metrics()
390 tm = tcp_get_metrics(sk, dst, false); in tcp_update_metrics()
395 tm = tcp_get_metrics(sk, dst, true); in tcp_update_metrics()
491 struct dst_entry *dst = __sk_dst_get(sk); in tcp_init_metrics() local
496 if (!dst) in tcp_init_metrics()
499 dst_confirm(dst); in tcp_init_metrics()
502 tm = tcp_get_metrics(sk, dst, true); in tcp_init_metrics()
576 tp->snd_cwnd = tcp_init_cwnd(tp, dst); in tcp_init_metrics()
580 bool tcp_peer_is_proven(struct request_sock *req, struct dst_entry *dst, in tcp_peer_is_proven() argument
586 if (!dst) in tcp_peer_is_proven()
590 tm = __tcp_get_metrics_req(req, dst); in tcp_peer_is_proven()
611 void tcp_fetch_timewait_stamp(struct sock *sk, struct dst_entry *dst) in tcp_fetch_timewait_stamp() argument
616 tm = tcp_get_metrics(sk, dst, true); in tcp_fetch_timewait_stamp()
636 struct dst_entry *dst = __sk_dst_get(sk); in tcp_remember_stamp() local
639 if (dst) { in tcp_remember_stamp()
643 tm = tcp_get_metrics(sk, dst, true); in tcp_remember_stamp()
717 struct dst_entry *dst = __sk_dst_get(sk); in tcp_fastopen_cache_set() local
720 if (!dst) in tcp_fastopen_cache_set()
723 tm = tcp_get_metrics(sk, dst, true); in tcp_fastopen_cache_set()