STRUCT IDPF_Q_VECTOR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

okay bestie, welcome to the struct idpf_q_vector(9) page in the Kernel API Manual πŸ’– the NAME line is literally just the struct name with no extra description, and we are respecting that minimal queen energy. struct idpf_q_vector is the main character here, no cap.


✨ SYNOPSIS ✨

here's the whole struct, copied character for character, because we do not play games with literals:

       struct idpf_q_vector {
           __cacheline_group_begin_aligned(read_mostly);
           struct idpf_vport *vport;
           u16 num_rxq;
           u16 num_txq;
           u16 num_bufq;
           u16 num_complq;
           u16 num_xsksq;
           struct idpf_rx_queue **rx;
           struct idpf_tx_queue **tx;
           struct idpf_buf_queue **bufq;
           struct idpf_compl_queue **complq;
           struct idpf_tx_queue **xsksq;
           struct idpf_intr_reg intr_reg;
           __cacheline_group_end_aligned(read_mostly);
           __cacheline_group_begin_aligned(read_write);
           call_single_data_t csd;
           u16 total_events;
           bool wb_on_itr;
           struct napi_struct napi;
           struct dim tx_dim;
           u16 tx_itr_value;
           bool tx_intr_mode;
           u32 tx_itr_idx;
           struct dim rx_dim;
           u16 rx_itr_value;
           bool rx_intr_mode;
           u32 rx_itr_idx;
           __cacheline_group_end_aligned(read_write);
           __cacheline_group_begin_aligned(cold);
           u16 v_idx;
           __cacheline_group_end_aligned(cold);
       };

the way this struct is organized into read_mostly, read_write, and cold cacheline groups? iconic. all the fields are staying exactly as written 🫢


πŸ¦‹ Members πŸ¦‹

every single member is getting its moment, because skipping any of them would be not the vibe:

  • vport β€” Vport back pointer. literally the back pointer to the vport, slay.
  • num_rxq β€” Number of RX queues.
  • num_txq β€” Number of TX queues.
  • num_bufq β€” Number of buffer queues.
  • num_complq β€” number of completion queues (yes, lowercase "number" in the original; we keep the details πŸ’…).
  • num_xsksq β€” number of XSk send queues.
  • rx β€” Array of RX queues to service. an array, bestie.
  • tx β€” Array of TX queues to service.
  • bufq β€” Array of buffer queues to service.
  • complq β€” array of completion queues.
  • xsksq β€” array of XSk send queues.
  • intr_reg β€” See struct idpf_intr_reg. that's the whole description, and it's giving efficient.
  • csd β€” XSk wakeup CSD. wakeup business, periodt.
  • total_events β€” Number of interrupts processed.
  • wb_on_itr β€” whether WB on ITR is enabled. a bool checking that exact thing.
  • napi β€” napi handler. main character energy.
  • tx_dim β€” Data for TX net_dim algorithm.
  • tx_itr_value β€” TX interrupt throttling rate.
  • tx_intr_mode β€” Dynamic ITR or not. that's literally the description.
  • tx_itr_idx β€” TX ITR index.
  • rx_dim β€” Data for RX net_dim algorithm.
  • rx_itr_value β€” RX interrupt throttling rate.
  • rx_intr_mode β€” Dynamic ITR or not. same energy, RX edition.
  • rx_itr_idx β€” RX ITR index.
  • v_idx β€” Vector index. the final field in the cold group, cute.

πŸŽ€ SEE ALSO πŸŽ€

the kernel file is ./drivers/net/ethernet/intel/idpf/idpf_txrx.h β€” and here are all the references, exactly as the original lists them, because we are thorough besties:


mwah πŸ’‹ this page is the struct idpf_q_vector(9) manual, sourced from ./drivers/net/ethernet/intel/idpf, dated October 2026 β€” bye bestie, go read those structs 🫢✨

πŸ“¦ where this page comes from