• Song Liu's avatar
    tcp: add tracepoint trace_tcp_retransmit_synack() · cf34ce3d
    Song Liu authored
    This tracepoint can be used to trace synack retransmits. It maintains
    pointer to struct request_sock.
    
    We cannot simply reuse trace_tcp_retransmit_skb() here, because the
    sk here is the LISTEN socket. The IP addresses and ports should be
    extracted from struct request_sock.
    
    Note that, like many other tracepoints, this patch uses IS_ENABLED
    in TP_fast_assign macro, which triggers sparse warning like:
    
    ./include/trace/events/tcp.h:274:1: error: directive in argument list
    ./include/trace/events/tcp.h:281:1: error: directive in argument list
    
    However, there is no good solution to avoid these warnings. To the
    best of our knowledge, these warnings are harmless.
    Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
    Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Acked-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cf34ce3d
tcp_output.c 109 KB