i40e_vc_vf_broadcast(9)
π i40e_vc_vf_broadcast β Kernel API Manual π
okay so bestie, welcome to the Kernel API Manual page for i40e_vc_vf_broadcast. Yes that's a mouthful, yes it's an Intel i40e networking function, and yes we're gonna get through it together. π«Ά It's a (9) page, which is kernel-internals territory β very "I have root and I'm not afraid to use it" energy. π
β¨ NAME β¨
i40e_vc_vf_broadcast β and bestie, the description field on this one is literally empty. Not a typo, not me being lazy, the original manpage just has the name, a dash, and the void. It's giving minimalism. It's giving "the code speaks for itself." π (Don't worry, the DESCRIPTION section down there actually tells you what it does β stay with me.)
πΈ SYNOPSIS πΈ
void i40e_vc_vf_broadcast (struct i40e_pf *pf , enum virtchnl_ops
v_opcode , int v_retval , u8 *msg , u16 msglen );
Returns void, so likeβ¦ no return value, no stress, she just does the thing and leaves. π
π ARGUMENTS π
Five arguments, all main characters in their own way:
pfβ pointer to the PF structure. That's the Physical Function, the mothership. πv_opcodeβ the operation code, typeenum virtchnl_ops. This is the "what are we even doing here" label.v_retvalβ the return value, anint. You're passing the result in, not getting it back.msgβ pointer to the msg buffer,u8 *. The actual payload lives here. π¦msglenβ the msg length,u16. Because a buffer without a length is just chaos.
π¦ DESCRIPTION π¦
send a message to all VFs on a given PF. That's it, that's the whole vibe. one message, every VF, no cap. π£β¨ The way that this function just fans a single message out across the whole crew at once β group chat behaviour, honestly. iykyk.
π SEE ALSO π
First up, the source file herself, the place where all of this is actually written down:
- Kernel file
./drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
and then the iconic extended friend group, in the exact order they were introduced, no shuffling:
i40e_vc_link_speed2mbps(9)i40e_set_vf_link_state(9)i40e_vc_notify_vf_link_state(9)i40e_vc_notify_link_state(9)i40e_vc_notify_reset(9)i40e_vc_notify_vf_reset(9)i40e_vc_reset_vf(9)i40e_vc_isvalid_vsi_id(9)i40e_vc_isvalid_queue_id(9)i40e_vc_isvalid_vector_id(9)i40e_vc_get_pf_queue_id(9)i40e_get_real_pf_qid(9)i40e_config_irq_link_list(9)i40e_release_rdma_qvlist(9)i40e_config_rdma_qvlist(9)i40e_config_vsi_tx_queue(9)i40e_config_vsi_rx_queue(9)i40e_alloc_vsi_res(9)i40e_map_pf_queues_to_vsi(9)i40e_map_pf_to_vf_queues(9)i40e_enable_vf_mappings(9)i40e_disable_vf_mappings(9)i40e_free_vf_res(9)i40e_alloc_vf_res(9)i40e_quiesce_vf_pci(9)__i40e_getnum_vf_vsi_vlan_filters(9)i40e_getnum_vf_vsi_vlan_filters(9)i40e_get_vlan_list_sync(9)i40e_set_vsi_promisc(9)i40e_config_vf_promiscuous_mode(9)i40e_sync_vfr_reset(9)i40e_trigger_vf_reset(9)i40e_cleanup_reset_vf(9)i40e_reset_vf(9)i40e_reset_all_vfs(9)i40e_free_vfs(9)i40e_alloc_vfs(9)i40e_pci_sriov_enable(9)i40e_pci_sriov_configure(9)i40e_vc_send_msg_to_vf(9)i40e_vc_send_resp_to_vf(9)i40e_sync_vf_state(9)i40e_vc_get_version_msg(9)i40e_del_qch(9)i40e_vc_get_max_frame_size(9)i40e_vc_get_vf_resources_msg(9)i40e_vc_config_promiscuous_mode_msg(9)i40e_vc_config_queues_msg(9)i40e_validate_queue_map(9)i40e_vc_config_irq_map_msg(9)i40e_ctrl_vf_tx_rings(9)i40e_ctrl_vf_rx_rings(9)i40e_vc_validate_vqs_bitmaps(9)i40e_vc_enable_queues_msg(9)i40e_vc_disable_queues_msg(9)i40e_check_enough_queue(9)i40e_vc_request_queues_msg(9)i40e_vc_get_stats_msg(9)i40e_check_vf_permission(9)i40e_vc_ether_addr_type(9)i40e_is_vc_addr_legacy(9)i40e_is_vc_addr_primary(9)i40e_update_vf_mac_addr(9)i40e_vc_add_mac_addr_msg(9)i40e_vc_del_mac_addr_msg(9)i40e_vc_add_vlan_msg(9)i40e_vc_remove_vlan_msg(9)i40e_vc_rdma_msg(9)i40e_vc_rdma_qvmap_msg(9)i40e_vc_config_rss_key(9)i40e_vc_config_rss_lut(9)i40e_vc_get_rss_hashcfg(9)i40e_vc_set_rss_hashcfg(9)i40e_vc_enable_vlan_stripping(9)i40e_vc_disable_vlan_stripping(9)i40e_validate_cloud_filter(9)i40e_find_vsi_from_seid(9)i40e_del_all_cloud_filters(9)i40e_vc_del_cloud_filter(9)i40e_vc_add_cloud_filter(9)i40e_vc_add_qch_msg(9)i40e_vc_del_qch_msg(9)i40e_vc_process_vf_msg(9)i40e_vc_process_vflr_event(9)i40e_validate_vf(9)i40e_check_vf_init_timeout(9)i40e_ndo_set_vf_mac(9)i40e_ndo_set_vf_port_vlan(9)i40e_ndo_set_vf_bw(9)i40e_ndo_get_vf_config(9)i40e_ndo_set_vf_link_state(9)i40e_ndo_set_vf_spoofchk(9)i40e_setup_vf_trust(9)i40e_ndo_set_vf_trust(9)i40e_get_vf_stats(9)
heads up bestie: that__i40e_getnum_vf_vsi_vlan_filters(9)up there has two leading underscores, and her non-underscored sisteri40e_getnum_vf_vsi_vlan_filters(9)is right below her. They are different functions. Do not mix them up, I'm begging. π
and that's the page! π§ββοΈ Signing off with the deets: this one lives under the source/version tree ./drivers/net/ethernet/intel/i40e, and the date on the tin says October 2026. go forth and broadcast, my love ππ¦π
π¦ 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