__libeth_xdp_run_flush(9)
π
__libeth_xdp_run_flush (9) β from the Kernel API Manual, bestie π
okay so picture this: it's a kernel manual page, right, and it's about running an XDP program and handling what happens when the prog says XDP_TX. that's the whole vibe. it's giving "internal helper energy" and honestly? iconic. β¨
πΈ NAME πΈ
__libeth_xdp_run_flush β run the XDP program and handle the XDP_TX verdict, no cap π
π¦ SYNOPSIS π¦
u32 __libeth_xdp_run_flush (struct libeth_xdp_buff *xdp , struct
libeth_xdp_tx_bulk *bq , u32 (*run)(struct libeth_xdp_buff *xdp, const
struct libeth_xdp_tx_bulk *bq) , bool (*queue)(struct libeth_xdp_tx_bulk
*bq, struct libeth_xdp_buff *xdp, bool (*flush_bulk) (struct
libeth_xdp_tx_bulk *bq, u32 flags)) , bool (*flush_bulk)(struct
libeth_xdp_tx_bulk *bq, u32 flags) );
like, yes, that's a lot of function pointers. she's complex. she's worth it. π«Ά
π ARGUMENTS π
xdpβ the XDP buffer you're running the prog on. the main character of this whole operation πbqβ the buffer bulk used forXDP_TXqueueing. this is where the frames go to hang out π¦runβ an internal callback for running the XDP program. it does the actual prog-running thing β¨queueβ an internal callback for queueing anXDP_TXframe. lowkey the whole point of the flush situation πΈflush_bulkβ the driver callback for flushing a bulk. yes bestie, the driver brings this one π
π DESCRIPTION π
so this is an internal inline abstraction β and when i say internal, i mean it β that runs the XDP program and additionally handles the XDP_TX verdict. both things. at once. multitasking queen π
it's used by both XDP and XSk, which is exactly why you see both run and queue hanging out in the signature. iykyk π§
β οΈ Do not use directly. fr fr. this one is not for you, it's for the internals. respect the boundary π
β RETURN β
returns the libeth_xdp prog verdict, depending on the prog's verdict. yeah, it's verdict-ception π β whatever the prog decides is what comes back out.
π SEE ALSO π
okay this list is long and every single one of these deserves their flowers, so buckle up bestie π
Kernel file ./include/net/libeth/xdp.h, plus:
struct libeth_xdp_buff(9)__LIBETH_XDP_ONSTACK_BUFF(9)LIBETH_XDP_ONSTACK_BUFF(9)libeth_xdpsq_num(9)libeth_xdpsq_shared(9)libeth_xdpsq_id(9)libeth_xdpsq_get(9)libeth_xdpsq_put(9)libeth_xdpsq_lock(9)libeth_xdpsq_unlock(9)libeth_xdpsq_deinit_timer(9)libeth_xdpsq_queue_timer(9)libeth_xdpsq_run_timer(9)enum (anonymous)(9)enum (anonymous)(9)struct libeth_xdp_tx_frame(9)struct libeth_xdp_tx_bulk(9)LIBETH_XDP_ONSTACK_BULK(9)struct libeth_xdpsq(9)struct libeth_xdp_tx_desc(9)libeth_xdp_ptr_to_priv(9)libeth_xdp_priv_to_ptr(9)libeth_xdp_tx_xmit_bulk(9)libeth_xdp_tx_queue_head(9)libeth_xdp_tx_queue_frag(9)libeth_xdp_tx_queue_bulk(9)libeth_xdp_tx_fill_stats(9)libeth_xdp_tx_fill_buf(9)__libeth_xdp_tx_flush_bulk(9)libeth_xdp_tx_flush_bulk(9)libeth_xdp_xmit_init_bulk(9)libeth_xdp_xmit_frame_dma(9)libeth_xdp_xmit_queue_head(9)libeth_xdp_xmit_queue_frag(9)libeth_xdp_xmit_queue_bulk(9)libeth_xdp_xmit_fill_buf(9)libeth_xdp_xmit_flush_bulk(9)__libeth_xdp_xmit_do_bulk(9)libeth_xdp_xmit_do_bulk(9)libeth_xdp_tx_init_bulk(9)libeth_xdp_init_buff(9)libeth_xdp_save_buff(9)libeth_xdp_return_stash(9)libeth_xdp_return_buff(9)libeth_xdp_prepare_buff(9)libeth_xdp_process_buff(9)libeth_xdp_buff_stats_frags(9)__libeth_xdp_run_prog(9)libeth_xdp_run_prog(9)__libeth_xdp_run_pass(9)libeth_xdp_run_pass(9)libeth_xdp_finalize_rx(9)LIBETH_XDP_DEFINE_TIMER(9)LIBETH_XDP_DEFINE_FLUSH_TX(9)LIBETH_XDP_DEFINE_FLUSH_XMIT(9)LIBETH_XDP_DEFINE_RUN_PROG(9)LIBETH_XDP_DEFINE_RUN_PASS(9)LIBETH_XDP_DEFINE_RUN(9)LIBETH_XDP_DEFINE_FINALIZE(9)libeth_xdp_buff_to_rq(9)libeth_xdpmo_rx_hash(9)__libeth_xdp_complete_tx(9)libeth_xdp_set_features(9)libeth_xdp_set_features_noredir(9)
like, go read them. they're all eating, honestly π₯
and that's the whole page, bestie!! π«Ά this lil number lives in ./include/net/libeth, dated October 2026, and it's part of the Kernel API Manual β so next time you see __libeth_xdp_run_flush(9) out in the wild you'll know exactly what's tea. periodt. π
β¨
π¦ 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