[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1510239528.2849.126.camel@edumazet-glaptop3.roam.corp.google.com>
Date:   Thu, 09 Nov 2017 06:58:48 -0800
From:   Eric Dumazet <eric.dumazet@...il.com>
To:     Yafang Shao <laoar.shao@...il.com>
Cc:     davem@...emloft.net, kuznet@....inr.ac.ru, yoshfuji@...ux-ipv6.org,
        rostedt@...dmis.org, mingo@...hat.com, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 2/2] tcp: handle TCP_TIME_WAIT/TCP_NEW_SYN_RECV
 in tcp_set_state tracepoint
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.
Powered by blists - more mailing lists
 
