ENUM IDPF_QUEUE_FLAGS_T(9)
π NAME π
Okay bestie, this is enum idpf_queue_flags_t(9) from the Kernel API Manual β yes, the kernel API one, we love a niche icon π
β¨
enum idpf_queue_flags_t -
Thatβs the whole NAME entry, short and iconic, no cap π«Ά
π¦ SYNOPSIS π¦
The enum lineup, exactly as the kernel serves it:
enum idpf_queue_flags_t {
__IDPF_Q_GEN_CHK ,
__IDPF_Q_RFL_GEN_CHK ,
__IDPF_Q_FLOW_SCH_EN ,
__IDPF_Q_SW_MARKER ,
__IDPF_Q_CRC_EN ,
__IDPF_Q_RSC_EN ,
__IDPF_Q_HSPLIT_EN ,
__IDPF_Q_PTP ,
__IDPF_Q_NOIRQ ,
__IDPF_Q_XDP ,
__IDPF_Q_XSK ,
__IDPF_Q_FLAGS_NBITS
};
β¨ Constants β¨
Hereβs the flag-by-flag tea, bestie βπ
__IDPF_Q_GEN_CHKβ so queues operating in splitq mode use a generation bit to identify new descriptor writebacks on the ring. HW sets the gen bit to1on the first writeback of any given descriptor. After the ring wraps, HW sets the gen bit of those descriptors to0, and keeps flipping0->1or1->0on each ring wrap. SW maintains its own gen bit to know what value will indicate writebacks on the next pass around the ring. E.g. it is initialized to1and knows that reading a gen bit of1in any descriptor on the initial pass of the ring indicates a writeback. It also flips on every ring wrap. Literally the ringβs little βnew mailβ indicator π__IDPF_Q_RFL_GEN_CHKβ refill queues are SW only, soQ_GENacts as the HW bit andQ_RFL_GENis the SW bit. Cute little division of labor πΈ__IDPF_Q_FLOW_SCH_ENβ Enable flow scheduling. Slay π«__IDPF_Q_SW_MARKERβ Used to indicate TX queue marker completions. Marker business, very main character π__IDPF_Q_CRC_ENβ enable CRC offload in singleq mode. Put that CRC work on offload duty π__IDPF_Q_RSC_ENβ enable Receive Side Coalescing on Rx (splitq). Coalescing era β¨__IDPF_Q_HSPLIT_ENβ enable header split on Rx (splitq). Header split, we love to see it π¦__IDPF_Q_PTPβ indicates whether the Rx timestamping is enabled for the queue. Timestamp vibes β°__IDPF_Q_NOIRQβ queue is polling-driven and has no interrupt. No IRQ, just polling energy π__IDPF_Q_XDPβ this is an XDP queue. XDP bestie detected π₯__IDPF_Q_XSKβ the queue has an XSk pool installed. Pool installed, periodt π__IDPF_Q_FLAGS_NBITSβ Must be last. Like, literally must be last, no cap π
π SEE ALSO π
Kernel file ./drivers/net/ethernet/intel/idpf/idpf_txrx.h has the whole friend group:
struct idpf_tx_offload_params(9)struct idpf_tx_splitq_params(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_rxq_group(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)
This cutie comes from ./drivers/net/ethernet/intel/idpf, dated October 2026 β mwah, slay, bye bestie π«Άππ
π¦ 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