idpf_send_ma...e_vector_msg(9)
π idpf_send_map_unmap_queue_vector_msg β the Kernel API Manual entry you didn't know you needed β¨
okay so bestie, welcome to the Kernel API Manual (that's the manual name, we're folding it in here like a little name tag π). Today's main character is idpf_send_map_unmap_queue_vector_msg, and yes the header truncates it to idpf_send_ma...e_vector_msg(9) because apparently even manpage headers have a character limit π β but we know her full name and we're gonna say it with our whole chest.
Her job? send virtchnl map or unmap queue vector message. That's the whole vibe. She writes the message, she sends the message, she does not do drama. Periodt. π
β¨ SYNOPSIS β¨
int idpf_send_map_unmap_queue_vector_msg (struct idpf_adapter *adapter ,
struct idpf_q_vec_rsrc *rsrc , u32 vport_id , bool map );
Four arguments, one return type, zero notes. Gorgeous. Iconic. No notes. π«Ά
πΈ ARGUMENTS πΈ
adapterβ the adapter pointer, aka the thing she uses to actually send the virtchnl message. She's the messenger,adapteris the phone. π±rsrcβ pointer to the queue and vector resources. This is where the queues and vectors live, lowkey the whole point of the message. π¦vport_idβ the vport identifier, used while preparing the virtchnl message. Gotta know which vport we're talking about before we say anything, obviously. πmapβtruefor map,falsefor unmap. That's it. That's the toggle. Binary queen behavior. π
β RETURN β
0 on success, -errno on failure.
ngl that's the most straightforward return section ever and I respect it fr fr. Zero means slay, negative errno means something went sideways and you get the classic Linux negative-number treatment. π
π SEE ALSO π
Bestie. Sit down. There are a lot of friends in this extended universe and every single one of them deserves their shoutout. Here's the whole group chat π«Ά:
Where she actually lives:
- Kernel file
./drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
The full squad, in the exact order the manpage listed them (no reshuffling, I'm not that kind of girl):
idpf_vid_to_vport(9),idpf_handle_event_link(9),idpf_recv_event_msg(9),idpf_mb_clean(9),idpf_ptp_is_mb_msg(9),idpf_prepare_ptp_mb_msg(9),idpf_send_mb_msg(9),idpf_send_mb_msg_kfree(9),idpf_send_vf_reset_msg(9),idpf_send_chunked_msg(9),idpf_wait_for_marker_event_set(9),idpf_wait_for_marker_event(9),idpf_send_ver_msg(9),idpf_send_get_caps_msg(9),idpf_mmio_region_non_static(9),idpf_decfg_lan_memory_regions(9),idpf_cfg_lan_memory_regions(9),idpf_map_remaining_mmio_regs(9),idpf_add_del_fsteer_filters(9),idpf_vport_alloc_max_qs(9),idpf_vport_dealloc_max_qs(9),idpf_init_avail_queues(9),idpf_vport_init_queue_reg_chunks(9),idpf_get_reg_intr_vecs(9),idpf_vport_get_q_reg(9),__idpf_queue_reg_init(9),idpf_queue_reg_init(9),idpf_send_create_vport_msg(9),idpf_check_supported_desc_ids(9),idpf_send_destroy_vport_msg(9),idpf_send_enable_vport_msg(9),idpf_send_disable_vport_msg(9),idpf_fill_txq_config_chunk(9),idpf_fill_complq_config_chunk(9),idpf_prepare_cfg_txqs_msg(9),idpf_send_config_tx_queue_set_msg(9),idpf_send_config_tx_queues_msg(9),idpf_fill_rxq_config_chunk(9),idpf_fill_bufq_config_chunk(9),idpf_prepare_cfg_rxqs_msg(9),idpf_send_config_rx_queue_set_msg(9),idpf_send_config_rx_queues_msg(9),idpf_prepare_ena_dis_qs_msg(9),idpf_send_ena_dis_queue_set_msg(9),idpf_send_ena_dis_queues_msg(9),idpf_prep_map_unmap_queue_set_vector_msg(9),idpf_send_map_unmap_queue_set_vector_msg(9),idpf_send_enable_queue_set_msg(9),idpf_send_disable_queue_set_msg(9),idpf_send_config_queue_set_msg(9),idpf_send_enable_queues_msg(9),idpf_send_disable_queues_msg(9),idpf_convert_reg_to_queue_chunks(9),idpf_send_delete_queues_msg(9),idpf_send_config_queues_msg(9),idpf_send_add_queues_msg(9),idpf_send_alloc_vectors_msg(9),idpf_send_dealloc_vectors_msg(9),idpf_get_max_vfs(9),idpf_send_set_sriov_vfs_msg(9),idpf_send_get_stats_msg(9),idpf_send_set_rss_lut_msg(9),idpf_send_set_rss_key_msg(9),idpf_fill_ptype_lookup(9),idpf_parse_protocol_ids(9),idpf_send_get_rx_ptype_msg(9),idpf_rel_rx_pt_lkup(9),idpf_send_ena_dis_loopback_msg(9),idpf_init_dflt_mbx(9),idpf_deinit_dflt_mbx(9),idpf_vport_params_buf_rel(9),idpf_vport_params_buf_alloc(9),idpf_vc_core_init(9),idpf_vc_core_deinit(9),idpf_vport_alloc_vec_indexes(9),idpf_vport_init(9),idpf_get_vec_ids(9),idpf_vport_get_queue_ids(9),__idpf_vport_queue_ids_init(9),idpf_vport_queue_ids_init(9),idpf_vport_adjust_qs(9),idpf_is_capability_ena(9),idpf_vport_is_cap_ena(9),idpf_sideband_flow_type_ena(9),idpf_sideband_action_ena(9),idpf_get_vport_id(9),idpf_mac_filter_async_handler(9),idpf_add_del_mac_filters(9),idpf_promiscuous_async_handler(9),idpf_set_promiscuous(9),idpf_idc_rdma_vc_send_sync(9)
π«Ά friendly reminder: that entire list is verbatim from the original, because we do not drop functions in this house. Every (9) stays. Every underscore stays. Every single one. iykyk.
Okay that's the whole page bestie, go forth and map those queue vectors (or unmap them, depending on your map bool, we don't judge π).
This little love letter to the kernel came from the source ./drivers/net/ethernet/intel/idpf, dated October 2026, and it answers to the manual name idpf_send_ma...e_vector_msg(9) β yes, still truncated, yes, still iconic. πβπ
π¦ 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