libeth_xskfqe_alloc(9)
πΈ NAME πΈ
okay bestie, this is libeth_xskfqe_alloc(9) from the Kernel API Manual, and its whole personality is: allocate @n XSk Rx buffers. slay. That's the name section, short and iconic.
β¨ SYNOPSIS β¨
The signature at a glance, no cap:
u32 libeth_xskfqe_alloc (struct libeth_xskfq_fp *fq , u32 n , void
(*fill)(const struct libeth_xskfq_fp *fq, u32 i) );
π ARGUMENTS π
fqβ hotpath part of the XSkFQ, usuallyonstack.nβ number of buffers to allocate.fillβ driver callback to write DMA addresses to HW descriptors.
π DESCRIPTION π
Heads up, bestie: note that fq->ntu gets updated, but ::pending must be recalculated by the caller. The way that matters: the function updates fq->ntu, but it does not recalc ::pending for you β the caller has to do that. periodt.
π₯ RETURN π₯
Returns the number of buffers refilled. That's the return value, and it's giving exactly that.
π SEE ALSO π
Kernel file ./include/net/libeth/xsk.h, plus the whole friend group:
libeth_xsk_tx_queue_head(9)libeth_xsk_tx_queue_frag(9)libeth_xsk_tx_queue_bulk(9)libeth_xsk_tx_fill_buf(9)libeth_xsk_tx_flush_bulk(9)libeth_xsktmo_req_csum(9)__libeth_xsk_xmit_fill_buf_md(9)__libeth_xsk_xmit_fill_buf(9)libeth_xsk_xmit_fill_buf(9)libeth_xsk_xmit_do_bulk(9)libeth_xsk_tx_init_bulk(9)libeth_xsk_process_buff(9)__libeth_xsk_run_prog(9)libeth_xsk_run_prog(9)__libeth_xsk_run_pass(9)libeth_xsk_run_pass(9)libeth_xsk_finalize_rx(9)LIBETH_XSK_DEFINE_FLUSH_TX(9)LIBETH_XSK_DEFINE_RUN_PROG(9)LIBETH_XSK_DEFINE_RUN_PASS(9)LIBETH_XSK_DEFINE_RUN(9)LIBETH_XSK_DEFINE_FINALIZE(9)struct libeth_xskfq(9)libeth_xsk_buff_xdp_get_dma(9)
cute sign-off: source is ./include/net/libeth, date is October 2026, and the page/version is libeth_xskfqe_alloc(9). mwah π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms