[<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