[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADxym3Yis_0oxunLGsiYhoTNG-9RATq7Ggj9ZfZ5WR9C=hi2_g@mail.gmail.com>
Date: Sun, 1 Sep 2024 20:36:17 +0800
From: Menglong Dong <menglong8.dong@...il.com>
To: Alexander Lobakin <aleksander.lobakin@...el.com>
Cc: idosch@...dia.com, kuba@...nel.org, davem@...emloft.net,
edumazet@...gle.com, pabeni@...hat.com, dsahern@...nel.org,
dongml2@...natelecom.cn, amcohen@...dia.com, gnault@...hat.com,
bpoirier@...dia.com, b.galvani@...il.com, razor@...ckwall.org,
petrm@...dia.com, linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH net-next v2 04/12] net: tunnel: add skb_vlan_inet_prepare_reason()
helper
On Fri, Aug 30, 2024 at 10:47 PM Alexander Lobakin
<aleksander.lobakin@...el.com> wrote:
>
> From: Menglong Dong <menglong8.dong@...il.com>
> Date: Fri, 30 Aug 2024 09:59:53 +0800
>
> > Introduce the function skb_vlan_inet_prepare_reason() and make
> > skb_vlan_inet_prepare an inline call to it. The drop reasons of it just
> > come from pskb_may_pull_reason.
> >
> > Signed-off-by: Menglong Dong <dongml2@...natelecom.cn>
> > ---
> > include/net/ip_tunnels.h | 21 +++++++++++++++------
> > 1 file changed, 15 insertions(+), 6 deletions(-)
> >
> > diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h
> > index 7fc2f7bf837a..90f8d1510a76 100644
> > --- a/include/net/ip_tunnels.h
> > +++ b/include/net/ip_tunnels.h
> > @@ -465,13 +465,14 @@ static inline bool pskb_inet_may_pull(struct sk_buff *skb)
> > return pskb_inet_may_pull_reason(skb) == SKB_NOT_DROPPED_YET;
> > }
> >
> > -/* Variant of pskb_inet_may_pull().
> > +/* Variant of pskb_inet_may_pull_reason().
> > */
> > -static inline bool skb_vlan_inet_prepare(struct sk_buff *skb,
> > - bool inner_proto_inherit)
> > +static inline enum skb_drop_reason
> > +skb_vlan_inet_prepare_reason(struct sk_buff *skb, bool inner_proto_inherit)
> > {
> > int nhlen = 0, maclen = inner_proto_inherit ? 0 : ETH_HLEN;
> > __be16 type = skb->protocol;
> > + enum skb_drop_reason reason;
> >
> > /* Essentially this is skb_protocol(skb, true)
> > * And we get MAC len.
> > @@ -492,11 +493,19 @@ static inline bool skb_vlan_inet_prepare(struct sk_buff *skb,
> > /* For ETH_P_IPV6/ETH_P_IP we make sure to pull
> > * a base network header in skb->head.
> > */
> > - if (!pskb_may_pull(skb, maclen + nhlen))
> > - return false;
> > + reason = pskb_may_pull_reason(skb, maclen + nhlen);
> > + if (reason)
> > + return reason;
> >
> > skb_set_network_header(skb, maclen);
> > - return true;
> > + return SKB_NOT_DROPPED_YET;
>
> An empty newline before the return as we usually do?
>
> > +}
> > +
> > +static inline bool skb_vlan_inet_prepare(struct sk_buff *skb,
> > + bool inner_proto_inherit)
> > +{
> > + return skb_vlan_inet_prepare_reason(skb, inner_proto_inherit) ==
> > + SKB_NOT_DROPPED_YET;
>
> This line must be aligned to skb_vlan_blah, IOW you need 7 spaces, not 1
> tab here.
>
Okay! I'll follow your advice of the format in this series.
Thanks!
Menglong Dong
> > }
> >
> > static inline int ip_encap_hlen(struct ip_tunnel_encap *e)
>
> Thanks,
> Olek
Powered by blists - more mailing lists