libeth_xsk_run_pass(9)
π libeth_xsk_run_pass
okay bestie, so like β welcome to the Kernel API Manual page for libeth_xsk_run_pass(9), and trust me when i say this one is a whole helper situation. it's giving "middle management but make it iconic." β¨
πΈ NAME πΈ
libeth_xsk_run_pass β a helper that runs your XDP program and then deals with whatever chaotic result comes back. no cap, that's literally the job. π
π¦ SYNOPSIS π¦
libeth_xsk_run_pass (xdp , bq , napi , rs , desc , run , populate );
π ARGUMENTS π
xdpβ the XSk buffer we're processing. this is the main character of the function, bestie. πbqβ the XDP Tx bulk, aka the queue where all theXDP_TXframes get sent. think of it as the outbox. π€napiβ the NAPI that builds an skb and hands it up the stack. it's the one doing the β¨upward mobilityβ¨ thing.rsβ the onstack libeth RQ stats. yes, that's stats that live on the stack. cozy. π«Άdescβ pointer to the HW descriptor for that frame. just a pointer, doing pointer things. πrunβ your driver wrapper that actually runs the XDP program. the designated runner, the one sent to do the errand. πββοΈpopulateβ driver callback that fills an skb with the HW descriptor data. it's the "put the data in the thing" callback, and honestly? slay. π
π DESCRIPTION π
okay so here's the tea: this is a wrapper around the underscored version β and it exists for when "fill the descriptor metadata" just means writing the pointer to the HW descriptor as xdp->desc.
that's it. that's the whole vibe. lowkey elegant, highkey useful. β¨
π SEE ALSO π
like, go read these too bestie, they're all in the kernel file ./include/net/libeth/xsk.h:
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_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)
ngl bestie, that's a long list of friends. but like, iykyk β the kernel header family is huge and they all hang out together. π¦
and that's the page! mwah π this little number comes to you from ./include/net/libeth, dated October 2026 β periodt, that's the vibe check done. stay slay, read your headers, and remember: <rainbow>every pointer deserves a bestie</rainbow> ππ
π¦ 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