[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e942f689-1c59-4ddb-af98-5390ceb6ff7c@broadcom.com>
Date: Thu, 14 Aug 2025 13:45:24 -0700
From: Florian Fainelli <florian.fainelli@...adcom.com>
To: Richard Gobert <richardbgobert@...il.com>, netdev@...r.kernel.org
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, horms@...nel.org, corbet@....net, shenjian15@...wei.com,
salil.mehta@...wei.com, shaojijie@...wei.com, andrew+netdev@...n.ch,
saeedm@...dia.com, tariqt@...dia.com, mbloch@...dia.com, leon@...nel.org,
ecree.xilinx@...il.com, dsahern@...nel.org, ncardwell@...gle.com,
kuniyu@...gle.com, shuah@...nel.org, sdf@...ichev.me, ahmed.zaki@...el.com,
aleksander.lobakin@...el.com, linux-kernel@...r.kernel.org,
linux-net-drivers@....com
Subject: Re: [PATCH net-next 1/5] net: gro: remove is_ipv6 from napi_gro_cb
On 8/14/25 04:40, Richard Gobert wrote:
> Remove is_ipv6 from napi_gro_cb and use sk->sk_family instead.
> This frees up space for another ip_fixedid bit that will be added
> in the next commit.
>
> udp_sock_create always creates either a AP_INET or a AF_INET6 socket,
> so using sk->sk_family is reliable.
>
> Signed-off-by: Richard Gobert <richardbgobert@...il.com>
Complete drive by review here.
> ---
> include/net/gro.h | 3 ---
> net/ipv4/fou_core.c | 8 ++++----
> net/ipv4/udp_offload.c | 2 --
> net/ipv6/udp_offload.c | 2 --
> 4 files changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/include/net/gro.h b/include/net/gro.h
> index a0fca7ac6e7e..87c68007f949 100644
> --- a/include/net/gro.h
> +++ b/include/net/gro.h
> @@ -71,9 +71,6 @@ struct napi_gro_cb {
> /* Free the skb? */
> u8 free:2;
>
> - /* Used in foo-over-udp, set in udp[46]_gro_receive */
> - u8 is_ipv6:1;
> -
> /* Used in GRE, set in fou/gue_gro_receive */
> u8 is_fou:1;
>
> diff --git a/net/ipv4/fou_core.c b/net/ipv4/fou_core.c
> index 3e30745e2c09..efd3bf6ec3ae 100644
> --- a/net/ipv4/fou_core.c
> +++ b/net/ipv4/fou_core.c
> @@ -254,7 +254,7 @@ static struct sk_buff *fou_gro_receive(struct sock *sk,
> /* Flag this frame as already having an outer encap header */
> NAPI_GRO_CB(skb)->is_fou = 1;
>
> - offloads = NAPI_GRO_CB(skb)->is_ipv6 ? inet6_offloads : inet_offloads;
> + offloads = sk->sk_family == AF_INET6 ? inet6_offloads : inet_offloads;
Since this pattern repeats, you could create a static inline helper that
returns the adequate offloads reference depending upon being passed a
socket reference?
--
Florian
Powered by blists - more mailing lists