idpf_vport_init_num_qs(9)
π idpf_vport_init_num_qs(9) β the Kernel API Manual moment π
okay so bestie, welcome to the Kernel API Manual β¨ today's main character is idpf_vport_init_num_qs, and yes she's a function from the kernel docs, and yes she's here to figure out how many queues a vport gets. it's giving "setup era" π lowkey crucial, ngl.
πΈ NAME πΈ
idpf_vport_init_num_qs β Initialize number of queues π¦
like, literally, that's her whole job. she initializes the number of queues. periodt. π
β¨ SYNOPSIS β¨
void idpf_vport_init_num_qs (struct idpf_vport *vport , struct
virtchnl2_create_vport *vport_msg , struct idpf_q_vec_rsrc *rsrc );
she returns nothing (void, no cap, she's not giving you a return value π) and she takes three things. let's meet them π«Ά
π ARGUMENTS π
vportβ the vport whose queues we're initializing π this is the one getting the glow-up.vport_msgβ data to be filled intovportβ¨ so this bad boy is the payload that gets poured into the vport. it's giving "fill me in" energy.rsrcβ pointer to queue and vector resources π your queue stash and your vector stash, all in one pointer. iconic container behaviour.
π¦ SEE ALSO π¦
first up, the source file she lives in (iykyk π):
- Kernel file
./drivers/net/ethernet/intel/idpf/idpf_txrx.c
and now the whole extended friend group β every single one, no skipping, we don't do that here π:
idpf_chk_linearize(9)idpf_tx_timeout(9)idpf_tx_buf_rel_all(9)idpf_tx_desc_rel(9)idpf_compl_desc_rel(9)idpf_tx_desc_rel_all(9)idpf_tx_buf_alloc_all(9)idpf_tx_desc_alloc(9)idpf_compl_desc_alloc(9)idpf_tx_desc_alloc_all(9)idpf_rx_page_rel(9)idpf_rx_hdr_buf_rel_all(9)idpf_rx_buf_rel_bufq(9)idpf_rx_buf_rel_all(9)idpf_rx_desc_rel(9)idpf_rx_desc_rel_bufq(9)idpf_rx_desc_rel_all(9)idpf_rx_buf_hw_update(9)idpf_rx_hdr_buf_alloc_all(9)idpf_post_buf_refill(9)idpf_rx_post_buf_desc(9)idpf_rx_post_init_bufs(9)idpf_rx_buf_alloc_singleq(9)idpf_rx_bufs_init_singleq(9)idpf_rx_buf_alloc_all(9)idpf_rx_bufs_init(9)idpf_rx_bufs_init_all(9)idpf_rx_desc_alloc(9)idpf_bufq_desc_alloc(9)idpf_rx_desc_alloc_all(9)idpf_vector_to_queue_set(9)idpf_qp_switch(9)idpf_txq_group_rel(9)idpf_rxq_sw_queue_rel(9)idpf_rxq_group_rel(9)idpf_vport_queue_grp_rel_all(9)idpf_vport_queues_rel(9)idpf_vport_init_fast_path_txqs(9)idpf_vport_calc_num_q_desc(9)idpf_vport_calc_total_qs(9)idpf_vport_calc_num_q_groups(9)idpf_vport_calc_numq_per_grp(9)idpf_rxq_set_descids(9)idpf_txq_group_alloc(9)idpf_rxq_group_alloc(9)idpf_vport_queue_grp_alloc_all(9)idpf_vport_queues_alloc(9)idpf_tx_read_tstamp(9)idpf_tx_splitq_clean(9)idpf_tx_clean_bufs(9)idpf_tx_handle_rs_completion(9)idpf_tx_clean_complq(9)idpf_wait_for_sw_marker_completion(9)idpf_tx_splitq_build_ctb(9)idpf_tx_splitq_build_flow_desc(9)idpf_txq_has_room(9)idpf_tx_maybe_stop_splitq(9)idpf_tx_buf_hw_update(9)idpf_tx_res_count_required(9)idpf_tx_splitq_bump_ntu(9)idpf_tx_get_free_buf_id(9)idpf_tx_splitq_pkt_err_unmap(9)idpf_tx_splitq_map(9)idpf_tso(9)idpf_tx_splitq_get_ctx_desc(9)idpf_tx_drop_skb(9)idpf_tx_tstamp(9)idpf_tx_set_tstamp_desc(9)idpf_tx_splitq_need_re(9)idpf_tx_splitq_frame(9)idpf_tx_start(9)idpf_rx_hash(9)idpf_rx_csum(9)idpf_rx_splitq_extract_csum_bits(9)idpf_rx_rsc(9)idpf_rx_hwtstamp(9)__idpf_rx_process_skb_fields(9)idpf_rx_hsplit_wa(9)idpf_rx_splitq_test_staterr(9)idpf_rx_splitq_is_eop(9)idpf_rx_splitq_clean(9)idpf_rx_update_bufq_desc(9)idpf_rx_clean_refillq(9)idpf_rx_clean_refillq_all(9)idpf_vport_intr_clean_queues(9)idpf_vport_intr_napi_del_all(9)idpf_vport_intr_napi_dis_all(9)idpf_vport_intr_rel(9)idpf_vport_intr_rel_irq(9)idpf_vport_intr_dis_irq_all(9)idpf_vport_intr_buildreg_itr(9)idpf_update_dim_sample(9)idpf_net_dim(9)idpf_vport_intr_update_itr_ena_irq(9)idpf_vport_intr_req_irq(9)idpf_vport_intr_write_itr(9)idpf_vport_intr_ena_irq_all(9)idpf_vport_intr_dis_dim_all(9)idpf_vport_intr_deinit(9)idpf_tx_dim_work(9)idpf_rx_dim_work(9)idpf_init_dim(9)idpf_vport_intr_napi_ena_all(9)idpf_tx_splitq_clean_all(9)idpf_rx_splitq_clean_all(9)idpf_vport_splitq_napi_poll(9)idpf_vport_intr_map_vector_to_qs(9)idpf_vport_intr_init_vec_idx(9)idpf_vport_intr_napi_add_all(9)idpf_vport_intr_alloc(9)idpf_vport_intr_init(9)idpf_config_rss(9)idpf_fill_dflt_rss_lut(9)idpf_init_rss_lut(9)idpf_deinit_rss_lut(9)
bestie that is a whole contact list and she knows every single one ππ₯ respect the networking.
no warnings, no gotchas, no "deprecated don't touch" drama in this one β she's a plain little setup function and she's thriving. π
and that's the page!! π§ this legendary little doc came out of ./drivers/net/ethernet/intel/idpf in October 2026, and the header up top is the Kernel API Manual one bestie, so you already know it's official β¨ mwah, go init some queues ππ
π¦ 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