[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <99f67dc2-0cbf-210a-e5ab-7574a4879d98@intel.com>
Date: Fri, 6 Jul 2018 10:19:12 -0700
From: Jesus Sanchez-Palencia <jesus.sanchez-palencia@...el.com>
To: Willem de Bruijn <willemdebruijn.kernel@...il.com>,
netdev@...r.kernel.org
Cc: davem@...emloft.net, Willem de Bruijn <willemb@...gle.com>
Subject: Re: [PATCH net-next 0/6] sock cookie initializers
On 07/06/2018 07:12 AM, Willem de Bruijn wrote:
> From: Willem de Bruijn <willemb@...gle.com>
>
> Recent UDP GSO and SO_TXTIME features added new fields to cookie
> structs.
>
> When adding a field, all sites where a struct is initialized have to
> be updated, which is a lot of boilerplate. Alternatively, a field can
> be initialized selectively, but this is fragile. I introduced a bug
> in udp gso where an uninitialized field was read. See also fix commit
> ("9887cba19978 ip: limit use of gso_size to udp").
>
> Introduce initializers for structs ipcm(6)_cookie and sockc_cookie.
>
> patch 1..3 do exactly this.
> patch 4..5 make ipv4 and ipv6 handle cookies the same way and
> remove some boilerplate in doing so.
> patch 6 removes the udp gso branch that needed the above fix
Acked-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@...el.com>
I've applied this series and tested SO_TXTIME + the etf qdisc and everything is
working just fine.
Thanks,
Jesus
>
> Willem de Bruijn (6):
> ipv4: ipcm_cookie initializers
> ipv6: ipcm6_cookie initializer
> sock: sockc cookie initializer
> ipv6: fold sockcm_cookie into ipcm6_cookie
> ip: remove tx_flags from ipcm_cookie and use same logic for v4 and v6
> ip: unconditionally set cork gso_size
>
> include/net/ip.h | 16 ++++++++++++++-
> include/net/ipv6.h | 26 ++++++++++++++++++++----
> include/net/sock.h | 6 ++++++
> include/net/transp_v6.h | 3 +--
> net/ipv4/icmp.c | 11 ++--------
> net/ipv4/ip_output.c | 12 ++++-------
> net/ipv4/ping.c | 11 +---------
> net/ipv4/raw.c | 11 +---------
> net/ipv4/tcp.c | 2 +-
> net/ipv4/udp.c | 12 +----------
> net/ipv6/datagram.c | 4 ++--
> net/ipv6/icmp.c | 14 ++++---------
> net/ipv6/ip6_flowlabel.c | 3 +--
> net/ipv6/ip6_output.c | 43 +++++++++++++++++-----------------------
> net/ipv6/ipv6_sockglue.c | 3 +--
> net/ipv6/ping.c | 7 ++-----
> net/ipv6/raw.c | 15 +++++---------
> net/ipv6/udp.c | 14 +++++--------
> net/l2tp/l2tp_ip6.c | 10 +++-------
> net/packet/af_packet.c | 9 +++------
> 20 files changed, 98 insertions(+), 134 deletions(-)
>
Powered by blists - more mailing lists