libeth_xdp_xmit_queue_head(9)
π libeth_xdp_xmit_queue_head(9) β like, the Kernel API Manual bestie π
okay so hi!! welcome to the glow-up of the internal helper for queueing one XDP xmit head β¨ this one lives in the Kernel API Manual and it's short but she's important, so pay attention π«Ά
β¨ NAME β¨
libeth_xdp_xmit_queue_head β the internal helper for queueing one XDP xmit head. lowkey a lil' workhorse, no cap πΈ
π SYNOPSIS π
u32 libeth_xdp_xmit_queue_head (struct libeth_xdp_tx_bulk *bq , struct xdp_frame *xdpf , struct device *dev );
that's literally the whole vibe up there β
π ARGUMENTS π
bqβ the XDP Tx bulk you're queueing the head frag to π like, this is where it goes.xdpfβ the XDP frame that's carrying the head you wanna queue π¦devβ the device that's gonna do the DMA mapping, bestie π she's the one doing the actual work.
π RETURN π
the function gives you back a u32, and the value tells you what happened:
LIBETH_XDP_DROPβ on a DMA mapping error π things went wrong, it's a drop.LIBETH_XDP_PASSβ if it's the only frag in the frame π one frag, that's it, pass.LIBETH_XDP_TXβ if it's an S/G frame π₯ scatter/gather, babes, we're transmitting.
not me giving you three whole outcomes β read the return value, bestie, it literally tells you which branch of destiny you're in π
π§ SEE ALSO π§
okay this list is long, periodt. she has main character energy and a whole friend group:
- Kernel file
./include/net/libeth/xdp.h
oh and also literally all of these icons π:
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_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_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!! π¦ it's from the source/version line <blue>./include/net/libeth</blue> dated October 2026, and it'll answer to <pink>libeth_xdp_xmit_queue_head(9)</pink> β mwah π slay, go queue some heads β¨π
π¦ 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