diff options
| -rw-r--r-- | include/net/tcp.h | 9 | ||||
| -rw-r--r-- | net/ipv4/tcp_ipv4.c | 4 | ||||
| -rw-r--r-- | net/ipv6/tcp_ipv6.c | 4 | 
3 files changed, 11 insertions, 6 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index a8cb00c0c6d..a718d0e3d8e 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1137,6 +1137,15 @@ static inline void tcp_openreq_init(struct request_sock *req,  	ireq->loc_port = tcp_hdr(skb)->dest;  } +/* Compute time elapsed between SYNACK and the ACK completing 3WHS */ +static inline void tcp_synack_rtt_meas(struct sock *sk, +				       struct request_sock *req) +{ +	if (tcp_rsk(req)->snt_synack) +		tcp_valid_rtt_meas(sk, +		    tcp_time_stamp - tcp_rsk(req)->snt_synack); +} +  extern void tcp_enter_memory_pressure(struct sock *sk);  static inline int keepalive_intvl_when(const struct tcp_sock *tp) diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index e64abed249c..1e66f7fb4fe 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1733,9 +1733,7 @@ struct sock *tcp_v4_syn_recv_sock(struct sock *sk, struct sk_buff *skb,  		newtp->advmss = tcp_sk(sk)->rx_opt.user_mss;  	tcp_initialize_rcv_mss(newsk); -	if (tcp_rsk(req)->snt_synack) -		tcp_valid_rtt_meas(newsk, -		    tcp_time_stamp - tcp_rsk(req)->snt_synack); +	tcp_synack_rtt_meas(newsk, req);  	newtp->total_retrans = req->retrans;  #ifdef CONFIG_TCP_MD5SIG diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index f3bfb8bbfde..cfeeeb7fcf5 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1348,9 +1348,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb,  		newtp->advmss = tcp_sk(sk)->rx_opt.user_mss;  	tcp_initialize_rcv_mss(newsk); -	if (tcp_rsk(req)->snt_synack) -		tcp_valid_rtt_meas(newsk, -		    tcp_time_stamp - tcp_rsk(req)->snt_synack); +	tcp_synack_rtt_meas(newsk, req);  	newtp->total_retrans = req->retrans;  	newinet->inet_daddr = newinet->inet_saddr = LOOPBACK4_IPV6;  |