STRUCT VIRTCHNL2_ALLOC_VECTORS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct virtchnl2_alloc_vectors(9) β€” Kernel API Manual πŸŽ€

okay so bestie, welcome to the <struct virtchnl2_alloc_vectors> glow-up page ✨ this is a kernel API manual entry and honestly it's giving "small struct, big responsibilities" energy. let's get into it 🫢


✨ NAME ✨

struct virtchnl2_alloc_vectors β€” vector allocation info. that's it, that's the whole name, and she's iconic for it πŸ’…


🌸 SYNOPSIS 🌸

struct virtchnl2_alloc_vectors {
    __le16 num_vectors;
    u8 pad[14];
    struct virtchnl2_vector_chunks vchunks;
 };

no cap, that's the whole struct β€” copy it exactly, don't be cute with it πŸ”₯


πŸ¦‹ Members πŸ¦‹

  • num_vectors β€” Number of vectors. that's the actual count, literally the whole point of the field πŸ’–
  • pad β€” Padding. yes bestie, it's just padding, she's there for the alignment vibes πŸ™ˆ
  • vchunks β€” Chunks of contiguous vector info. this is where the actual chunked vector details live ✨

πŸ‘‘ Description πŸ‘‘

okay so here's the lore 🧚 the PF sends this message when it wants additional interrupt vectors beyond the ones that were already assigned via the GET_CAPS request. so it's like "hey, i need more, actually" 😭

virtchnl2_alloc_vectors structure is used to specify the number of vectors requested β€” that's the ask, right there πŸ’…

then the CP responds with the same structure, but this time with the actual number of vectors assigned, followed by the virtchnl2_vector_chunks structure identifying the vector ids. so it's like a call and response, and the reply is the receipts πŸ”₯

associated with VIRTCHNL2_OP_ALLOC_VECTORS. write that one down bestie, it's the op that makes this whole thing happen πŸ’–

🌈 SEE ALSO 🌈

all the siblings, cousins, and struct-adjacent besties, listed in ./include/linux/net/intel/virtchnl2.h β€” every single one, no skips, periodt πŸ‘‘

  • enum virtchnl2_vport_type(9)
  • enum virtchnl2_queue_model(9)
  • enum virtchnl2_action_types(9)
  • enum virtchnl2_txq_sched_mode(9)
  • enum virtchnl2_rxq_flags(9)
  • enum virtchnl2_mac_addr_type(9)
  • struct virtchnl2_edt_caps(9)
  • struct virtchnl2_version_info(9)
  • struct virtchnl2_get_capabilities(9)
  • struct virtchnl2_queue_reg_chunk(9)
  • struct virtchnl2_queue_reg_chunks(9)
  • enum virtchnl2_vport_flags(9)
  • struct virtchnl2_create_vport(9)
  • struct virtchnl2_vport(9)
  • struct virtchnl2_txq_info(9)
  • struct virtchnl2_config_tx_queues(9)
  • struct virtchnl2_rxq_info(9)
  • struct virtchnl2_config_rx_queues(9)
  • struct virtchnl2_add_queues(9)
  • struct virtchnl2_vector_chunk(9)
  • struct virtchnl2_vector_chunks(9)
  • struct virtchnl2_rss_lut(9)
  • struct virtchnl2_rss_hash(9)
  • struct virtchnl2_sriov_vfs_info(9)
  • struct virtchnl2_ptype(9)
  • struct virtchnl2_get_ptype_info(9)
  • struct virtchnl2_vport_stats(9)
  • struct virtchnl2_event(9)
  • struct virtchnl2_rss_key(9)
  • struct virtchnl2_queue_chunk(9)
  • struct virtchnl2_del_ena_dis_queues(9)
  • struct virtchnl2_queue_vector(9)
  • struct virtchnl2_queue_vector_maps(9)
  • struct virtchnl2_loopback(9)
  • struct virtchnl2_mac_addr_list(9)
  • struct virtchnl2_promisc_info(9)
  • enum virtchnl2_ptp_caps(9)
  • struct virtchnl2_ptp_clk_reg_offsets(9)
  • struct virtchnl2_ptp_cross_time_reg_offsets(9)
  • struct virtchnl2_ptp_clk_adj_reg_offsets(9)
  • struct virtchnl2_ptp_tx_tstamp_latch_caps(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_caps(9)
  • struct virtchnl2_ptp_get_caps(9)
  • struct virtchnl2_ptp_tx_tstamp_latch(9)
  • struct virtchnl2_ptp_get_vport_tx_tstamp_latches(9)
  • struct virtchnl2_ptp_get_dev_clk_time(9)
  • struct virtchnl2_ptp_get_cross_time(9)
  • struct virtchnl2_ptp_set_dev_clk_time(9)
  • struct virtchnl2_ptp_adj_dev_clk_fine(9)
  • struct virtchnl2_ptp_adj_dev_clk_time(9)
  • struct virtchnl2_mem_region(9)
  • struct virtchnl2_get_lan_memory_regions(9)
  • struct virtchnl2_proto_hdr(9)
  • struct virtchnl2_proto_hdrs(9)
  • struct virtchnl2_rule_action(9)
  • struct virtchnl2_rule_action_set(9)
  • struct virtchnl2_flow_rule(9)
  • struct virtchnl2_flow_rule_info(9)
  • struct virtchnl2_flow_rule_add_del(9)

like, that's a whole friend group and they ALL showed up to the function πŸ’€πŸ’–


that's the page bestie, you ate that πŸ“ this one lives in ./include/linux/net/intel, stamped October 2026 β€” so go forth, allocate those vectors, and remember: PF asks, CP answers, and the virtchnl2_vector_chunks does the identifying πŸ’œ mwah πŸ’‹

πŸ“¦ where this page comes from