__libeth_xdp_tx_flush_bulk(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __libeth_xdp_tx_flush_bulk β€” NAME ✨

okay so bestie, this is __libeth_xdp_tx_flush_bulk β€” the internal helper to flush one XDP Tx bulk πŸ¦‹ (and yes, she's from the Kernel API Manual, we're in kernel-land now, respect it πŸ’œ)


🌸 SYNOPSIS 🌸

bool __libeth_xdp_tx_flush_bulk (struct libeth_xdp_tx_bulk *bq , u32
flags , u32 (*prep)(void *xdpsq, struct libeth_xdpsq *sq) , struct
libeth_xdp_tx_desc (*fill)(struct libeth_xdp_tx_frame frm, u32 i, const
struct libeth_xdpsq *sq, u64 priv) , void (*xmit)(struct
libeth_xdp_tx_desc desc, u32 i, const struct libeth_xdpsq *sq, u64 priv)
);

like, it returns a bool and takes five things, and three of them are function pointers 😭 she's highkey a whole vibe.


πŸŽ€ ARGUMENTS πŸŽ€

  • bq β€” the bulk to flush. this is the main character, the one getting flushed πŸ’…
  • flags β€” XDP TX flags (.ndo_xdp_xmit, XSk etc.). literally the flags, no cap.
  • prep β€” driver-specific callback to prepare the queue for sending. like getting ready before you go out, but for a queue πŸͺž
  • fill β€” libeth_xdp callback to fill libeth_sqe and libeth_xdp_tx_desc. she does the filling ✨
  • xmit β€” driver callback to fill a HW descriptor. the final send-off, periodt πŸ”₯

πŸ¦‹ DESCRIPTION πŸ¦‹

So what is she? __libeth_xdp_tx_flush_bulk is an internal abstraction to create bulk flush functions for drivers πŸ‘‘ β€” think of her as the blueprint bestie that drivers use to build their own flush functions.

She's used for everything except XSk xmit. that's the one party she doesn't go to πŸ™ˆ


⭐ RETURN ⭐

  • true β€” if anything was sent πŸ’–
  • false β€” otherwise 🫢

that's it. that's the whole vibe check.


🌈 SEE ALSO 🌈

okay bestie, buckle up, this list is long and she ate πŸ’€ everything here lives in the kernel file ./include/net/libeth/xdp.h, and here's the whole squad:

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

(and yeah, enum (anonymous)(9) shows up twice β€” that's not me being messy, that's literally the list πŸ’€πŸ”₯)


ngl bestie, this one's internal β€” it's a helper for drivers, not something you call from your cute little userspace program. iykyk πŸ’…

that's the whole page, bestie β€” mwah 🫢 this one's from ./include/net/libeth, dated October 2026, and she slayed the entire time πŸ‘‘βœ¨πŸ’–

πŸ“¦ where this page comes from