libeth_xdp_xmit_queue_bulk(9)
π libeth_xdp_xmit_queue_bulk(9) π
okay so bestie, welcome to the Kernel API Manual. This page is lowkey about the internal helper for queueing one XDP xmit frame, and the way that it does exactly that is giving tiny-but-mighty energy. Not me getting obsessed with a helper, but fr fr β vibe check: passed β¨.
πΈ NAME πΈ
libeth_xdp_xmit_queue_bulk β internal helper for queueing one XDP xmit frame.
β¨ SYNOPSIS β¨
u32 libeth_xdp_xmit_queue_bulk (struct libeth_xdp_tx_bulk *bq , struct
xdp_frame *xdpf , bool (*flush_bulk)(struct libeth_xdp_tx_bulk *bq, u32
flags) );
π ARGUMENTS π
bqβ XDP Tx bulk to queue the frame to. Thatβs the bulk bestie receiving the frame. π«Άxdpfβ XDP frame to queue. The actual frame, front and center. πΈflush_bulkβ driver callback to flush the bulk to the HW queue. iykyk, this is the flush callback. π₯
π RETURN π
LIBETH_XDP_TX on success, LIBETH_XDP_DROP if the frame should be dropped by the stack, and LIBETH_XDP_ABORTED if the frame will be dropped by libeth_xdp. Periodt. π
π SEE ALSO π
the whole extended universe, no cap:
- 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_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_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)
xoxo, from ./include/net/libeth Β· October 2026 Β· libeth_xdp_xmit_queue_bulk(9) π
π¦ 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