i40e_get_vf_stats(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– i40e_get_vf_stats β€” a tiny little kernel-API page, bestie edition πŸ’–

okay so this is a page from the Kernel API Manual, and the star of the show is i40e_get_vf_stats. yes that's a function name, no we're not scared of it. let's get into it 🫢


✨ NAME ✨

i40e_get_vf_stats β€” no cap, all this one does is populate some stats for the VF. that's it. that's the whole vibe check. πŸ’…


🌸 SYNOPSIS 🌸

int i40e_get_vf_stats (struct net_device *netdev , int vf_id , struct
ifla_vf_stats *vf_stats );

like, look at her. three args, one int coming back atcha. iconic. πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • netdev β€” this is the netdev of the PF. the PF is the parent function, the main character in this whole SR-IOV situation, and this is her net_device. πŸ’–
  • vf_id β€” the host OS identifier, and the range is 0-127. so valid IDs are literally zero through one hundred twenty-seven, not one more, not one less. don't be weird about it. πŸŽ€
  • vf_stats β€” pointer to the OS memory to be initialized. so yeah, you hand it a pointer, it fills that memory in. this is where the stats actually land. ✨
ngl, that's the whole arguments section. short, sweet, slays, moves on. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

the kernel file in question is ./drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c β€” that's home base, that's where the lore lives. πŸ πŸ’œ

and okay bestie, brace yourself, because the friend group here is enormous. every single one of these is a (9) section page, and yes i'm listing all of them because i love you and i'm not skipping a single one πŸ™ˆ:

i40e_vc_vf_broadcast(9), 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).

that's the whole squad. ninety-five besties and honestly every one of them ate. πŸ”₯🌈


fr fr, that's the entire page β€” nothing hidden, nothing cut. the way this manpage is so short and still has a friend group bigger than the function itself πŸ˜­πŸ’€

and that's a wrap, babe πŸ’… the source of all this is ./drivers/net/ethernet/intel/i40e, dated October 2026, page name i40e_get_vf_stats(9) β€” go forth and populate those stats, main character. πŸ¦‹πŸŽ€β­

πŸ“¦ where this page comes from