Re: [PATCH net-next 2/2] tcp: handle TCP_TIME_WAIT/TCP_NEW_SYN_RECV in tcp_set_state tracepoint

From: Eric Dumazet
Date: Thu Nov 09 2017 - 09:58:59 EST


On Thu, 2017-11-09 at 06:52 -0800, Eric Dumazet wrote:

> Wow.
>
>
> Since all three variants of sockets (full sockets, request sockets,
> timewait sockets) are all hashed into ehash table these days, they all
> have the fields at the same offset
>
> For IPv4, that would be :
>
> __sk_common.skc_daddr (or inet_daddr)
> __sk_common.skc_rcv_saddr (or inet_rcv_saddr )
> __sk_common.skc_dport (or inet_dport)
> __sk_common.skc_num (or inet_num)
>
> Look at __inet_lookup_established() and INET_MATCH() : They deal with
> the three variants, without having to look at sk_state.
>
> If you were using the fields that are common to all sockets, no need to
> add all this unnecessary complexity.
>

Not to mention that your patch took care of IPv4 only.

I can not say how sad I am that in 2017 IPv6 seems to be second class
citizen.