Re: [PATCH v5 net-next] net/tcp: trace all TCP/IP state transition with tcp_set_state tracepoint

From: David Miller
Date: Fri Dec 08 2017 - 10:43:03 EST


From: Yafang Shao <laoar.shao@xxxxxxxxx>
Date: Fri, 8 Dec 2017 11:40:23 +0800

> It will looks like these,
>
> if (sk->sk_protocol == IPPROTO_TCP)
> __tcp_set_state(newsk, TCP_SYN_RECV);
> else
> newsk->sk_state = TCP_SYN_RECV;
>
>
> if (sk->sk_protocol == IPPROTO_TCP)
> __tcp_set_state(sk, TCP_CLOSE);
> else
> sk->sk_state = TCP_CLOSE;
>
> if (sk->sk_protocol == IPPROTO_TCP)
> tcp_state_store(sk, state);
> else
> sk_state_store(sk, state);
>
>
> Some redundant code.
>
> IMO, put these similar code into a wrapper is more nice.

I think this discussion and how ugly this is getting shows that
tracing the state transitions of a socket is perhaps not best as a TCP
specific feature.