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

From: Yafang Shao
Date: Thu Nov 09 2017 - 10:11:26 EST


2017-11-09 22:58 GMT+08:00 Eric Dumazet <eric.dumazet@xxxxxxxxx>:
> 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.
>

I'm also very sad that I'm still using IPv4 in 2017 : (

Okay then another issue,
shoule we reduce the complexity in the function tcp4_seq_show() ?

Thanks
Yafang