libeth_rx_p...ol_params_zc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… libeth_rx_p...ol_params_zc(9) β€” like, the Kernel API Manual era πŸŽ€

okay so bestie, buckle up, because this one is from the Kernel API Manual and it's genuinely kind of a baddie. it's all about calculating your params without that stack overhead dragging you down. no cap. ✨


✨ NAME ✨

libeth_rx_page_pool_params_zc β€” calculate params without the stack overhead πŸ¦‹

like, it does the math so the stack doesn't have to. main character energy fr.


🌸 SYNOPSIS 🌸

bool libeth_rx_page_pool_params_zc (struct libeth_fq *fq , struct page_pool_params *pp );

she takes two things and returns a bool. that's it. that's the vibe. πŸ’…


πŸ’– ARGUMENTS πŸ’–

  • fq β€” the buffer queue we're calculating the size for πŸŽ€ (yes, that queue)
  • pp β€” the page_pool_params of the netdev, aka the netdev's page pool situation ✨

πŸ”₯ DESCRIPTION πŸ”₯

so what she actually does: she sets the PP params so they exclude the stack overhead, plus both the buffer length and the truesize β€” which, fun fact, are equal for the data buffers. iykyk. 🫢

⚠️ but listen β€” this requires separate header buffers to be always active and to account the overhead. not optional, babe. it's giving "non-negotiable".

and here's the slay: with MTU == PAGE_SIZE, this allows the kernel to enable the zerocopy mode. periodt. πŸ‘‘


🌈 RETURN 🌈

  • true on success πŸ’š
  • false on invalid input params πŸ’€ (vibe check failed, try again)

⭐ SEE ALSO ⭐

the whole friend group, honestly. go say hi. 🧚


and that's the page, bestie!! πŸ“ this little masterpiece lives at ./drivers/net/ethernet/intel/l..., dated October 2026, and it's filed under libeth_rx_p...ol_params_zc(9). mwah πŸ’œβœ¨

πŸ“¦ where this page comes from