idpf_send_create_vport_msg(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ idpf_send_create_vport_msg ✨

okay so bestie, we're in the Kernel API Manual today β€” section 9 ofc β€” and the function we're stanning is idpf_send_create_vport_msg. yes it's a whole mouthful, no I will not be shortening it, and yes it slaps πŸ’…


🌸 NAME 🌸

idpf_send_create_vport_msg β€” send virtchnl create vport message πŸ¦‹

like, that's the whole job. it sends the message. the vport gets created. main character behaviour fr.


πŸŽ€ SYNOPSIS πŸŽ€

int idpf_send_create_vport_msg (struct idpf_adapter *adapter , struct
idpf_vport_max_q *max_q );

yes the line break in the middle of the struct is real, that's just how the manual renders it, we don't gatekeep πŸ’–


πŸ’œ ARGUMENTS πŸ’œ

  • adapter β€” the driver's own private structure 🫢 like, this is your struct idpf_adapter * and it's yours, the driver's little secret stash of state.
  • max_q β€” the vport max queue info 🌈 literally what it says on the tin: the max queue deets for the vport.

πŸ”₯ DESCRIPTION πŸ”₯

so the vibe here is: send virtchnl creae vport message 😭 (yes, creae β€” that's the typo as written in the manual, and honestly? iconic. we're leaving it. it's canon now. πŸŽ€)

and then the returns, which is the part where you actually pay attention bestie:

Returns 0 on success, negative on failure ⭐

that's it. that's the contract. zero means slay, negative means something went sideways and you handle it. periodt. πŸ’…


πŸ‘‘ SEE ALSO πŸ‘‘

first up, the file that lives at this exact path β€” go read it, it's giving source of truth:

./drivers/net/ethernet/intel/idpf/idpf_virtchnl.c

and then, bestie, the entire friend group β€” every single one of these, no skipping, no scrolling past, we list them all 🫢:

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_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_map_unmap_queue_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)

and that's the whole page, bestie, you ate that πŸ“ go forth and send your virtchnl messages responsibly πŸ’–

sign-off szn: this lil page comes from the source tree at ./drivers/net/ethernet/intel/idpf, dated October 2026 🌸 and it's idpf_send_create_vport_msg(9) all the way down. mwah. πŸ’…βœ¨
πŸ“¦ where this page comes from