Files
linux/include/net
Neal Cardwell 016818d076 tcp: TCP Fast Open Server - take SYNACK RTT after completing 3WHS
When taking SYNACK RTT samples for servers using TCP Fast Open, fix
the code to ensure that we only call tcp_valid_rtt_meas() after we
receive the ACK that completes the 3-way handshake.

Previously we were always taking an RTT sample in
tcp_v4_syn_recv_sock(). However, for TCP Fast Open connections
tcp_v4_conn_req_fastopen() calls tcp_v4_syn_recv_sock() at the time we
receive the SYN. So for TFO we must wait until tcp_rcv_state_process()
to take the RTT sample.

To fix this, we wait until after TFO calls tcp_v4_syn_recv_sock()
before we set the snt_synack timestamp, since tcp_synack_rtt_meas()
already ensures that we only take a SYNACK RTT sample if snt_synack is
non-zero. To be careful, we only take a snt_synack timestamp when
a SYNACK transmit or retransmit succeeds.

Signed-off-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-09-22 15:47:10 -04:00
..
2011-03-31 11:26:23 -03:00
2012-08-15 03:43:43 -07:00
2012-06-08 14:27:23 -07:00
2012-08-09 16:18:06 -07:00
2012-04-15 12:44:40 -04:00
2012-04-15 12:44:40 -04:00
2012-04-15 12:44:40 -04:00
2012-07-19 10:43:03 -07:00
2011-03-31 11:26:23 -03:00
2012-04-15 12:44:40 -04:00
2012-08-06 13:33:21 -07:00
2012-07-18 08:59:58 -07:00
2012-08-14 14:28:32 -07:00
2012-04-14 14:47:05 -04:00
2011-03-31 11:26:23 -03:00
2012-05-17 18:45:20 -04:00
2012-08-09 16:18:06 -07:00
2012-08-07 16:24:55 -07:00
2011-05-17 14:16:58 -04:00
2012-07-26 15:50:39 -07:00
2012-05-19 01:08:16 -04:00
2012-08-06 13:40:47 -07:00
2012-04-15 12:44:40 -04:00
2012-05-16 15:17:08 -04:00
2012-04-15 12:44:40 -04:00