From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
To: Daniel Machon <daniel.machon@microchip.com>
Cc: netdev@vger.kernel.org, "(JC),
Jayachandran" <j-rameshbabu@ti.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Chintan Vankar <c-vankar@ti.com>,
Danish Anwar <danishanwar@ti.com>, Daolin Qiu <d-qiu@ti.com>,
"David S. Miller" <davem@davemloft.net>,
Felix Maurer <fmaurer@redhat.com>,
Jakub Kicinski <kuba@kernel.org>,
Neelima Muralidharan <neelima@ti.com>,
Paolo Abeni <pabeni@redhat.com>,
Praneeth Bajjuri <praneeth@ti.com>,
Pratheesh Gangadhar TK <pratheesh@ti.com>,
Richard Cochran <richardcochran@gmail.com>,
Simon Horman <horms@kernel.org>,
Vignesh Raghavendra <vigneshr@ti.com>,
Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
Eric Dumazet <edumazet@kernel.org>
Subject: Re: [PATCH net-next v9 2/8] hsr: Use skb_clone() while adding the HSR header
Date: Fri, 16 Oct 2026 11:41:18 +0200 [thread overview]
Message-ID: <20261016094118.Mq6pgtly@linutronix.de> (raw)
In-Reply-To: <20261016090940.a2ztkv6p3wtysk57@DEN-DL-M70577.microsemi.net>
On 2026-10-16 11:09:40 [+0200], Daniel Machon wrote:
> > diff --git a/net/hsr/hsr_forward.c b/net/hsr/hsr_forward.c
> > index 7734a521a96c2..5862c05f52110 100644
> > --- a/net/hsr/hsr_forward.c
> > +++ b/net/hsr/hsr_forward.c
> > @@ -342,33 +341,40 @@ struct sk_buff *hsr_create_tagged_frame(struct hsr_frame_info *frame,
> > /* set the lane id properly */
> > hsr_set_path_id(frame, hsr_ethhdr, port);
> > return skb_clone(frame->skb_hsr, GFP_ATOMIC);
> > - } else if (port->dev->features & NETIF_F_HW_HSR_TAG_INS) {
> > - return skb_clone(frame->skb_std, GFP_ATOMIC);
> > }
> >
> > - /* Create the new skb with enough headroom to fit the HSR tag */
> > - skb = __pskb_copy(frame->skb_std,
> > - skb_headroom(frame->skb_std) + HSR_HLEN, GFP_ATOMIC);
> > + skb = skb_clone(frame->skb_std, GFP_ATOMIC);
> > if (!skb)
> > return NULL;
> > - skb_reset_mac_header(skb);
> >
> > - if (skb->ip_summed == CHECKSUM_PARTIAL)
> > - skb->csum_start += HSR_HLEN;
> > + if (port->dev->features & NETIF_F_HW_HSR_TAG_INS)
> > + return skb;
> > +
> > + /* Ensure the cloned skb has enough headroom to fit the HSR tag */
> > + if (skb_cow_head(skb, HSR_HLEN))
> > + goto err;
> >
> > movelen = ETH_HLEN;
> > if (frame->is_vlan)
> > movelen += VLAN_HLEN;
> >
> > - src = skb_mac_header(skb);
> > - dst = skb_push(skb, HSR_HLEN);
> > - memmove(dst, src, movelen);
> > + /* The entire header area needs to be linear */
> > + if (!pskb_may_pull(skb, movelen))
> > + goto err;
> > +
> > + skb_push(skb, HSR_HLEN);
> > + skb_postpush_data_move(skb, HSR_HLEN, movelen);
> > + skb_set_network_header(skb, HSR_HLEN + movelen);
> > skb_reset_mac_header(skb);
> > + skb_reset_mac_len(skb);
>
> It took me some time to realize why skb_reset_mac_header() and the
> csum_start adjustment were removed, and why skb_cow_head(),
> skb_set_network_header() and skb_reset_mac_len() were added. Could the
> commit message say why? Or maybe a comment.
If this is important, I could add to the patch description. The removed
skb_reset_mac_header() should be obvious.
The csum_start() removal and so on was mostly sashiko complaining about
one thing at at time and memove() got replaced with
skb_postpush_data_move() in the last iteration which I just learned
about myself ;) That looks like a nice clean up.
> /Daniel
Sebastian
next prev parent reply other threads:[~2026-10-16 9:41 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-14 14:43 [PATCH net-next v9 0/8] hsr: Add additional info to send/ receive skbs Sebastian Andrzej Siewior
2026-10-14 14:43 ` [PATCH net-next v9 1/8] hsr: Add header_ops::parse_protocol Sebastian Andrzej Siewior
2026-10-14 14:43 ` [PATCH net-next v9 2/8] hsr: Use skb_clone() while adding the HSR header Sebastian Andrzej Siewior
2026-10-16 9:09 ` Daniel Machon
2026-10-16 9:41 ` Sebastian Andrzej Siewior [this message]
2026-10-14 14:43 ` [PATCH net-next v9 3/8] hsr: Add a magic header for sending PTP packets Sebastian Andrzej Siewior
2026-10-16 9:15 ` Daniel Machon
2026-10-16 9:48 ` Sebastian Andrzej Siewior
2026-10-14 14:43 ` [PATCH net-next v9 4/8] hsr: Drop received " Sebastian Andrzej Siewior
2026-10-14 14:43 ` [PATCH net-next v9 5/8] hsr: Use the port and header information in hsr_forward_skb() Sebastian Andrzej Siewior
2026-10-16 9:24 ` Daniel Machon
2026-10-16 9:56 ` Sebastian Andrzej Siewior
2026-10-14 14:44 ` [PATCH net-next v9 6/8] hsr: Assign a socket for cloned skbs Sebastian Andrzej Siewior
2026-10-16 9:34 ` Daniel Machon
2026-10-16 9:56 ` Sebastian Andrzej Siewior
2026-10-14 14:44 ` [PATCH net-next v9 7/8] hsr: Move struct hsr_ethhdr to a global header Sebastian Andrzej Siewior
2026-10-16 9:38 ` Daniel Machon
2026-10-16 10:07 ` Sebastian Andrzej Siewior
2026-10-14 14:44 ` [PATCH net-next v9 8/8] selftests: hsr: Add test for the inline PTP header on HSR Sebastian Andrzej Siewior
2026-10-16 9:01 ` [PATCH net-next v9 0/8] hsr: Add additional info to send/ receive skbs Daniel Machon
2026-10-16 9:36 ` Sebastian Andrzej Siewior
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261016094118.Mq6pgtly@linutronix.de \
--to=bigeasy@linutronix.de \
--cc=andrew+netdev@lunn.ch \
--cc=c-vankar@ti.com \
--cc=d-qiu@ti.com \
--cc=daniel.machon@microchip.com \
--cc=danishanwar@ti.com \
--cc=davem@davemloft.net \
--cc=edumazet@kernel.org \
--cc=fmaurer@redhat.com \
--cc=horms@kernel.org \
--cc=j-rameshbabu@ti.com \
--cc=kuba@kernel.org \
--cc=neelima@ti.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=praneeth@ti.com \
--cc=pratheesh@ti.com \
--cc=richardcochran@gmail.com \
--cc=vigneshr@ti.com \
--cc=willemdebruijn.kernel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox