RE: [Intel-wired-lan] [PATCH net-next 01/10] net: Document skb_metadata_set contract with the drivers
From: Loktionov, Aleksandr <hidden>
Date: 2026-01-12 11:29:00
Also in:
bpf, intel-wired-lan
quoted hunk ↗ jump to hunk
-----Original Message----- From: Intel-wired-lan <redacted> On Behalf Of Jakub Sitnicki via Intel-wired-lan Sent: Saturday, January 10, 2026 10:05 PM To: netdev@vger.kernel.org Cc: David S. Miller <davem@davemloft.net>; Eric Dumazet [off-list ref]; Jakub Kicinski [off-list ref]; Paolo Abeni [off-list ref]; Simon Horman [off-list ref]; Michael Chan [off-list ref]; Pavan Chebbi [off-list ref]; Andrew Lunn [off-list ref]; Nguyen, Anthony L [off-list ref]; Kitszel, Przemyslaw [off-list ref]; Saeed Mahameed [off-list ref]; Leon Romanovsky [off-list ref]; Tariq Toukan [off-list ref]; Mark Bloch [off-list ref]; Alexei Starovoitov [off-list ref]; Daniel Borkmann [off-list ref]; Jesper Dangaard Brouer [off-list ref]; John Fastabend [off-list ref]; Stanislav Fomichev [off-list ref]; intel-wired- lan@lists.osuosl.org; bpf@vger.kernel.org; kernel-team@cloudflare.com Subject: [Intel-wired-lan] [PATCH net-next 01/10] net: Document skb_metadata_set contract with the drivers Prepare to copy XDP metadata into an skb extension chunk. To access the metadata contents, we need to know where it is located. Document the expectation - skb->data must point right past the metadata when skb_metadata_set gets called. Signed-off-by: Jakub Sitnicki <jakub@cloudflare.com> --- include/linux/skbuff.h | 7 +++++++ 1 file changed, 7 insertions(+)diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index86737076101d..df001283076f 100644--- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h@@ -4554,6 +4554,13 @@ static inline bool skb_metadata_differs(conststruct sk_buff *skb_a, true : __skb_metadata_differs(skb_a, skb_b, len_a); } +/** + * skb_metadata_set - Record packet metadata length. + * @skb: packet carrying the metadata + * @meta_len: number of bytes of metadata preceding skb->data + * + * Must be called when skb->data already points past the metadata area. + */ static inline void skb_metadata_set(struct sk_buff *skb, u8 meta_len) { skb_shinfo(skb)->meta_len = meta_len; -- 2.43.0
Reviewed-by: Aleksandr Loktionov <redacted>