STRUCT IDPF_RXQ_GROUP(9)
π struct idpf_rxq_group(9) β the kernel API manual, but make it make sense π
okay so bestie, we're in the Kernel API Manual today and the vibe is extremely "Intel idpf driver internals." no cap, this one's a struct, and she's got a union in her. let's go π
β¨ NAME β¨
struct idpf_rxq_group β literally the struct that holds your RX queue group together π«Ά
πΈ SYNOPSIS πΈ
struct idpf_rxq_group {
struct idpf_vport *vport;
union {
struct {
u16 num_rxq;
struct idpf_rx_queue *rxqs[IDPF_LARGE_MAX_Q];
} singleq;
struct {
u16 num_rxq_sets;
u16 num_bufq_sets;
struct idpf_rxq_set *rxq_sets[IDPF_LARGE_MAX_Q];
struct idpf_bufq_set *bufq_sets;
} splitq;
};
};
like, look at her. two whole personalities in one union. main character energy fr fr π
π¦ Members π¦
okay so member by member, group chat style:
vportβ the vport back pointer. she knows where she came from π{unnamed_union}β anonymous. no name, all mystery, we respect it πsingleqβ the struct with all the single queue related members β¨singleq.num_rxqβ the number of RX queues associated πsingleq.rxqsβ array of RX queue pointers, iconic β
splitqβ the struct with all the split queue related members πsplitq.num_rxq_setsβ the number of Buffer queue sets (that's what the page says bestie, I'm just the messenger π)splitq.rxq_setsβ array of RX queue sets πsplitq.bufq_setsβ Buffer queue set pointer π₯
ngl, splitq.num_bufq_sets is sitting right there in the struct up top but the members list doesn't give her a blurb. not me noticing π β I'm just not gonna make up lore that isn't in the source.
π Description π
so here's the tea π:
in singleq mode, an rxq_group is simply an array of rxqs. that's it. that's the whole personality. lowkey refreshing.
in splitq mode, an rxq_group contains all the rxqs, bufqs and refillqs needed to manage buffers in splitq mode. she's doing the absolute most and honestly? ate. π
π₯ SEE ALSO π₯
go read these next, bestie, they're all in the kernel file ./drivers/net/ethernet/intel/idpf/idpf_txrx.h:
struct idpf_tx_offload_params(9)struct idpf_tx_splitq_params(9)enum idpf_queue_flags_t(9)struct idpf_vec_regs(9)struct idpf_intr_reg(9)struct idpf_q_vector(9)struct idpf_rx_queue(9)struct idpf_tx_queue(9)struct idpf_buf_queue(9)struct idpf_compl_queue(9)struct idpf_sw_queue(9)struct idpf_rxq_set(9)struct idpf_bufq_set(9)struct idpf_txq_group(9)idpf_size_to_txd_count(9)idpf_tx_singleq_build_ctob(9)idpf_tx_splitq_build_desc(9)idpf_vport_intr_set_wb_on_itr(9)idpf_tx_splitq_get_free_bufs(9)
and that's the whole page, bestie π§ no crumbs left behind. this one lives in ./drivers/net/ethernet/intel/idpf, dated October 2026, and it's struct idpf_rxq_group(9) β periodt. πβ¨
π¦ 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