libeth_xdp_xmit_fill_buf(9)
π
libeth_xdp_xmit_fill_buf β NAME
okay so bestie, this is libeth_xdp_xmit_fill_buf from the Kernel API Manual and it's literally the internal helper to fill one XDP xmit &libeth_sqe π
internal means internal, babes β this is not the function you call from your driver, it's the one the library calls for you π
β¨ SYNOPSIS β¨
struct libeth_xdp_tx_desc libeth_xdp_xmit_fill_buf (struct libeth_xdp_tx_frame frm , u32 i , const struct libeth_xdpsq *sq , u64 priv );
like, she takes four things and gives you back a whole descriptor. main character energy fr fr π
π«Ά ARGUMENTS π«Ά
frmβ the XDP Tx frame, straight out of the bulk. that's her πΈiβ the index on the HW queue. yes, the actual hardware queue, not a vibe πsqβ the XDPSQ abstraction for the queue. it's the const one, she's just visiting πprivβ private data. mind your business bestie π
π RETURN π
she hands you back an XDP Tx descriptor β with the mapped DMA and other info all bundled up, ready to pass to the driver callback. like a little care package but for your NIC π¦β¨
π¦ SEE ALSO π¦
Kernel file: ./include/net/libeth/xdp.h β literally the whole lore lives there iykyk
and the full bestie roster, no cap, every single one:
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_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_flush(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)
and that's the whole page bestie, mwah π
this iconic little drop comes to you from ./include/net/libeth, dated October 2026, and it's still out here answering to the name libeth_xdp_xmit_fill_buf(9). slay πβ¨
π¦ 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