libeth_xdp_tx_init_bulk(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… libeth_xdp_tx_init_bulk(9) β€” Kernel API Manual edition ✨

okay so this is libeth_xdp_tx_init_bulk(9) from the Kernel API Manual, and she’s here to set up your XDP Tx bulk before the Rx NAPI poll loop does its thing. no cap, it’s giving β€œtiny setup step, big main-character energy.” πŸ¦‹

✨ NAME ✨

libeth_xdp_tx_init_bulk β€” initializes an XDP Tx bulk for Rx NAPI poll. πŸ’–

🌸 SYNOPSIS 🌸

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

πŸŽ€ ARGUMENTS πŸŽ€

  • bq β€” the bulk you’re initializing, bestie. ✨
  • prog β€” an RCU pointer to the XDP program; it can be NULL, fr fr. 🫢
  • dev β€” the target net_device.
  • xdpsqs β€” an array of driver XDPSQ structs.
  • num β€” the number of active XDPSQs, aka the length of that array above. πŸ’…

πŸ”₯ DESCRIPTION πŸ”₯

okay so you call this on an onstack XDP Tx bulk before the NAPI polling loop kicks off. It initializes all the needed fields so the libeth_xdp functions can run. 🧚

If num == 0, it assumes XDP is not enabled β€” noted. πŸ‘‘

🚨 Do not use this for XSk, okay? XSk has its own optimized helper, and this one is not it. periodt.

πŸ‘‘ SEE ALSO πŸ‘‘

the SEE ALSO crew is huge and iconic, starting with this kernel file: ./include/net/libeth/xdp.h β€” plus all these besties:


and that’s the whole page, bestie: source ./include/net/libeth, date stamp October 2026, manual libeth_xdp_tx_init_bulk(9). mwah, go init that bulk πŸ’…πŸ’–

πŸ“¦ where this page comes from