• Neal Cardwell's avatar
    tcp: TCP Fast Open Server - record retransmits after 3WHS · 30099b2e
    Neal Cardwell authored
    When recording the number of SYNACK retransmits for servers using TCP
    Fast Open, fix the code to ensure that we copy over the retransmit
    count from the request_sock after we receive the ACK that completes
    the 3-way handshake.
    
    The story here is similar to that of SYNACK RTT
    measurements. Previously we were always doing this 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 copy the final SYNACK retransmit
    count in tcp_rcv_state_process().
    
    Note that copying over the SYNACK retransmit count will give us the
    correct count since, as is mentioned in a comment in
    tcp_retransmit_timer(), before we receive an ACK for our SYN-ACK a TFO
    passive connection does not retransmit anything else (e.g., data or
    FIN segments).
    Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    30099b2e
tcp_input.c 174 KB