libeth_xdp_xmit_queue_frag(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… libeth_xdp_xmit_queue_frag(9) β€” from the Kernel API Manual, bestie πŸŽ€

okay so this one is a kernel API manual page, and it's short and sweet β€” literally the internals girlie that queues up one XDP xmit frag. ngl she's a helper, not the main character, but the whole xmit pipeline would fall apart without her. periodt. πŸ”₯


✨ NAME ✨

libeth_xdp_xmit_queue_frag β€” internal helper for queueing one XDP xmit frag πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

bool libeth_xdp_xmit_queue_frag (struct libeth_xdp_tx_bulk *bq , const
skb_frag_t *frag , struct device *dev );

🌸 ARGUMENTS 🌸

  • bq β€” the XDP Tx bulk you're queueing the frag to. this is the little container that's about to get one (1) more frag 🫢
  • frag β€” the frag itself. the thing being queued. she's the moment πŸ’…
  • dev β€” the device that's gonna perform the DMA mapping. someone's gotta do the actual hardware paperwork 🧚

⭐ RETURN ⭐

true on success, false on DMA mapping error. no cap, that's it 😭

heads up bestie: if you get false back, that's a DMA mapping error, not a vibe β€” don't just keep going like nothing happened πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

fr fr there is so much family here, go read the whole squad. also shoutout to the kernel file ./include/net/libeth/xdp.h for keeping everyone together πŸ’–

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)

and continuing the group chat ✨:

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_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)

and the rest of the icons πŸ§šπŸ’œ:

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)


iykyk πŸ’«

okay that's the whole page, bestie, you ate that. this one lives in the source dir ./include/net/libeth, and it's dated October 2026 β€” so yeah, mark your calendar πŸ—“οΈβœ¨ mwah, go queue some frags responsibly πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from