__libeth_xs..._fill_buf_md(9)
π NAME π
okay so bestie, gather round β this is __libeth_xsk_xmit_fill_buf_md, and it's literally the internal helper to prepare XSk xmit w/meta. yes, "internal" β she's not for public consumption, she's backstage crew only, iykyk. β¨
(this whole page lives in the Kernel API Manual, in case the header at the top felt mysterious π)
π¦ SYNOPSIS π¦
struct libeth_xdp_tx_desc __libeth_xsk_xmit_fill_buf_md (const struct
xdp_desc *xdesc , const struct libeth_xdpsq *sq , u64 priv );
that's the whole signature, no cap β three args in, one struct libeth_xdp_tx_desc out. π
πΈ ARGUMENTS πΈ
xdescβ thexdp_descthat came straight out of the XSk buffer pool, bestie. that's where she's from. π«Άsqβ the XDPSQ abstraction for the queue. like, the queue's whole vibe wrapped up in one struct. βprivβ the XSk Tx metadata ops. that's youru64of metadata goodness. π
π₯ DESCRIPTION π₯
so basically β same as __libeth_xsk_xmit_fill_buf, but with a twist. π
this one requests a metadata pointer and fills in the extra fields inside libeth_xdp_tx_desc so it can actually ask for the metadata offload. it's giving "same girl, upgraded fit" β the base behaviour is the same, she just does more. π
π RETURN π
you get back an XDP Tx descriptor carrying the DMA, the metadata request bits, and all the other info you're supposed to hand off to the driver callback. she comes fully loaded, periodt. π₯
ngl, this is internal β it's a helper, not a public API, so treat it like 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(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)libeth_xskfqe_alloc(9)
like, the entire extended universe is right there β go read them, fr fr. ππ
that's the whole page, bestie!! π source: ./include/net/libeth, dated October 2026 β and yeah, she's filed under __libeth_xs..._fill_buf_md(9) in case you need to find her again. 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