libeth_xsk_tx_init_bulk(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… libeth_xsk_tx_init_bulk(9) πŸ’…

okay bestie, welcome to the Kernel API Manual β€” yes that's the manual name, we're fancy here ✨ this is the page for libeth_xsk_tx_init_bulk, and it's literally the glow-up your XDP Tx bulk needs before the party starts πŸŽ€


🌸 NAME 🌸

libeth_xsk_tx_init_bulk β€” get an XDP Tx bulk all set up and ready for an XSk Rx NAPI poll πŸ¦‹


✨ SYNOPSIS ✨

libeth_xsk_tx_init_bulk (bq , prog , dev , xdpsqs , num );

no cap, that's the whole call signature, use it exactly like that 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • bq β€” the bulk you're initializing, bestie. this is the main character.
  • prog β€” an RCU pointer to the XDP program. and heads up: it's never NULL πŸ‘‘
  • dev β€” the target net_device, aka where all this is headed.
  • xdpsqs β€” an array of driver XDPSQ structs πŸ’…
  • num β€” how many XDPSQs are actually active, i.e. the length of that array above.

πŸ”₯ DESCRIPTION πŸ”₯

call this on an onstack XDP Tx bulk, right before the XSk NAPI polling loop β€” that's the vibe check it's built for ⭐ it initializes all the fields you need so the libeth_xdp functions can actually run, and it does the whole setup for you πŸ™ˆ

one thing it will not do: it never checks if prog is NULL or if num == 0, because XDP must always be enabled when you're hitting this path. so don't come at it with a NULL prog, fr fr 😭 that's on you.


πŸ¦‹ SEE ALSO πŸ¦‹

kernel file ./include/net/libeth/xsk.h 🌈 and all these iconic siblings:


ngl that's a whole friend group of functions, but they're all worth knowing πŸ’–

and that's a wrap, bestie 🫢 this page lives in ./include/net/libeth, dated October 2026, and it's filed under libeth_xsk_tx_init_bulk(9). periodt πŸ’…βœ¨

πŸ“¦ where this page comes from