i40e_sync_vfr_reset(9)
π i40e_sync_vfr_reset(9) π
okay so real talk, this is a page straight out of the Kernel API Manual (that's the manual name bestie, i'm not making it up) and it's about one very specific little function. it's short, it's sweet, and the NAME section is out here fighting for its life with zero description, which honestly? iconic of it. let's get into it π«Ά
πΈ NAME πΈ
i40e_sync_vfr_resetβ and that's it. the description after the dash is literally empty. blank. nothing. a whole void. the manpage really said "i40e_sync_vfr_reset -" and then dipped π so like, the name isi40e_sync_vfr_resetand the one-liner is a mystery we simply must live with.
β¨ SYNOPSIS β¨
here's the whole signature, exactly as written, no notes:
int i40e_sync_vfr_reset (struct i40e_hw *hw , int vf_id );
it returns an int, it takes a pointer to a struct i40e_hw and an int vf_id, and it's giving very "small function, big responsibilities" energy π
π ARGUMENTS π
two args, both main characters, both doing their job:
hwβ pointer to thehwstruct. that's the whole description. it's a pointer, it points at the hw struct, slay.vf_idβ the VF identifier. that's your VF's id number, iykyk.
π¦ DESCRIPTION π¦
okay so picture this: you're about to trigger a hardware reset. but first π you π gotta π check π β we need to know that no other process has reserved the hardware for any reset operations. like, nobody else called dibs on resetting this thing, no cap.
and how does it check that? it does the check by examining the status of the RSTAT1 register β the register that's used to signal the reset. that's it, that's the whole vibe check. it looks at RSTAT1, sees what the reset status is saying, and goes from there. lowkey elegant honestly π§
not me hyping up a status register. but also. it's RSTAT1's world and we're all just reading it π
π SEE ALSO π
so the kernel file this lives in is:
./drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
and then there's a staggering list of friends, and bestie i am not skipping a single one of them, because every last one is on this page for a reason. here they all are, in order, no crumbs left behind π
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_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)
that's the whole squad and honestly? ate. no crumbs. π₯
and that's the page!! π little sign-off for the girlies keeping receipts: this one comes from the source tree ./drivers/net/ethernet/intel/i40e, dated October 2026, and the page is i40e_sync_vfr_reset(9) β go read RSTAT1 responsibly, ily, bye πβ¨π
π¦ 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