STRUCT LIBETH_XSKFQ(9)
π NAME π
okay so <pink>struct libeth_xskfq</pink> β it's a struct, it's giving "structure representing an XSk buffer (fill) queue", literally that's the whole vibe, that's the whole point of it, bestie π
This is a page from the Kernel API Manual (section 9), so likeβ¦ kernel-internal lore, iykyk β¨
π¦ SYNOPSIS π¦
struct libeth_xskfq {
struct {
struct xsk_buff_pool *pool;
struct libeth_xdp_buff **fqes;
void *descs;
u32 ntu;
u32 count;
};
u32 pending;
u32 thresh;
u32 buf_len;
u32 truesize;
int nid;
};
no cap, that's the whole shape of it π
πΈ Members πΈ
{unnamed_struct}β anonymous. she has no name. she's mysterious. main character energy tbh πpoolβ thexsk_buff_poolthat handles buffer management for her πfqesβ an array of XSk buffer pointers, cute little collection β¨descsβ opaque pointer to the HW descriptor array (opaque = don't ask, she's not telling) π«Άntuβ index of the next buffer to poll. the next one. keep up, bestie βcountβ number of descriptors/buffers the queue has, like the headcount at a party πpendingβ current number of XSkFQEs to refill (the to-do list, lowkey) π¦threshβ threshold below which the queue is refilled. cross it and she restocks, periodt π₯buf_lenβ HW-writeable length per each buffer πtruesizeβ step between consecutive buffers, and it's0if none exists πnidβ ID of the closest NUMA node with memory. proximity is everything, ngl π
π SEE ALSO π
Kernel file ./include/net/libeth/xsk.h β and honestly the whole friend group, all of them, no one left out:
libeth_xsk_tx_queue_head(9)libeth_xsk_tx_queue_frag(9)libeth_xsk_tx_queue_bulk(9)libeth_xsk_tx_fill_buf(9)libeth_xsk_tx_flush_bulk(9)libeth_xsktmo_req_csum(9)__libeth_xsk_xmit_fill_buf_md(9)__libeth_xsk_xmit_fill_buf(9)libeth_xsk_xmit_fill_buf(9)libeth_xsk_xmit_do_bulk(9)libeth_xsk_tx_init_bulk(9)libeth_xsk_process_buff(9)__libeth_xsk_run_prog(9)libeth_xsk_run_prog(9)__libeth_xsk_run_pass(9)libeth_xsk_run_pass(9)libeth_xsk_finalize_rx(9)LIBETH_XSK_DEFINE_FLUSH_TX(9)LIBETH_XSK_DEFINE_RUN_PROG(9)LIBETH_XSK_DEFINE_RUN_PASS(9)LIBETH_XSK_DEFINE_RUN(9)LIBETH_XSK_DEFINE_FINALIZE(9)libeth_xsk_buff_xdp_get_dma(9)libeth_xskfqe_alloc(9)
that's the whole page, bestie, you ate that π β¨
sign-off szn: this iconic little number lives at ./include/net/libeth and it was dated October 2026 ποΈπ mwah, go read the source, ily π«ΆπΈ
π¦ 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