i40e_build_skb(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i40e_build_skb β€” a kernel API manual, but make it make sense πŸŽ€

okay bestie, welcome to the i40e_build_skb(9) page, straight out of the Kernel API Manual ✨. yes it's a driver function, no it's not scary, sit down and let's go πŸ’–


🌸 NAME 🌸

i40e_build_skb β€” literally builds an skb around a buffer that already exists. no cap, that's the whole vibe πŸ¦‹


✨ SYNOPSIS ✨

struct sk_buff * i40e_build_skb (struct i40e_ring *rx_ring , struct xdp_buff *xdp );

look at her. two args, one return, main character energy πŸ‘‘


🫢 ARGUMENTS 🫢

  • rx_ring β€” the Rx descriptor ring that's gonna transact packets on. it's the hangout spot for the packets, basically πŸ’…
  • xdp β€” an xdp_buff pointing at the data. it's giving "i know a guy who knows where the bytes live" πŸŽ€

πŸ’œ DESCRIPTION πŸ’œ

so what she does is: this function builds an sk_buff around an Rx buffer that's already there β€” like, no new buffer, we're working with what we have, we're resourceful like that πŸ’–

and the way she does it? taking care to set up the skb correctly and avoid any memcpy overhead. not me being obsessed with skipping the copy 😭 that's the whole point. zero copying, maximum slay. πŸ”₯


πŸ¦‹ SEE ALSO πŸ¦‹

the kernel file we're talking about lives at ./drivers/net/ethernet/intel/i40e/i40e_txrx.c β€” go say hi 🧚

and then the whole extended friend group, in the order the page lists them (yes i'm keeping all of them, every single one, don't @ me):

iykyk 🐝


fr fr bestie, that's the whole page. no missing options, no hidden extras, we keep it accurate around here 🫢

mwah πŸ’‹ that's a wrap! this page came from the ./drivers/net/ethernet/intel/i40e corner of the kernel, dated October 2026 β€” and it's still i40e_build_skb(9), periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from