libeth_xdp_tx_queue_bulk(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so this is a page straight out of the Kernel API Manual, and the little function it's stanning is libeth_xdp_tx_queue_bulk πŸŽ€ lowkey iconic, highkey internal.


🌸 NAME 🌸

libeth_xdp_tx_queue_bulk β€” the internal helper that queues up exactly one XDP_TX frame. that's it. that's the whole job. one frame, no cap πŸ’…


✨ SYNOPSIS ✨

bool libeth_xdp_tx_queue_bulk (struct libeth_xdp_tx_bulk *bq , struct
libeth_xdp_buff *xdp , bool (*flush_bulk)(struct libeth_xdp_tx_bulk *bq,
u32 flags) );

look at her go 🫢 she returns a bool, she takes three things, she's booked and busy.


πŸ¦‹ ARGUMENTS πŸ¦‹

  • bq β€” the XDP Tx bulk you're queueing the frame into. it's the group chat, basically, and the frame is the message πŸ“
  • xdp β€” the XDP buffer you're queueing. the actual message. main character energy fr.
  • flush_bulk β€” the driver callback that flushes the bulk out to the HW queue. she's the one who actually hits send 😭

⭐ RETURN ⭐

true on success, false on flush error. that's the whole vibe check β€” no in-between πŸ’€

ngl, false here means the flush went sideways, so like… handle it, bestie πŸ™ˆ

🌈 SEE ALSO 🌈

okay this list is long long, so buckle up β€” every single one of these is invited to the party πŸŽ‰ and we do not leave anyone off the list, periodt:

Kernel file ./include/net/libeth/xdp.h 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_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_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)

yes, the two enum (anonymous)(9) entries are both real and both staying, don't @ me πŸ’€

and that's the whole page, bestie πŸ’– huge slay, ten out of ten, no notes. this one came from ./include/net/libeth and it's dated October 2026 β€” so like, mark your calendars πŸ—“οΈβœ¨ mwah πŸ’‹

πŸ“¦ where this page comes from