i40e_ndo_set_vf_link_state(9)
π¦ i40e_ndo_set_vf_link_state(9) π¦
okay so bestie, this is a page from the Kernel API Manual β section 9, kernel API, iykyk β all about the function i40e_ndo_set_vf_link_state. She's a little one. One job. We love a focused queen. π
β¨ NAME β¨
i40e_ndo_set_vf_link_state β
so the manual is honestly kind of mysterious here. The dash is there, the description is not. That's the whole NAME section, no cap. Just the name and a lonely little dash. She said "figure it out." π
πΈ SYNOPSIS πΈ
int i40e_ndo_set_vf_link_state (struct net_device *netdev , int vf_id ,
int link );
that's the whole signature, cutie. returns an int, takes three lil arguments. copy it exactly if you're typing it out, mwah. π
π ARGUMENTS π
netdevβ the network interface device structure. it's the device. she's the main character, everyone else is a guest. π«Άvf_idβ the VF identifier. which VF we're talking about, literally just the ID. βlinkβ the required link state. the state you want. the desired vibe check, but for a link. β¨
π DESCRIPTION π
okay so here's the entire tea: this function sets the link state of a specified VF, regardless of physical link state. π¦
that's it. that's the bar. you pick a VF, you pick the link state, and it goes and sets it β and it does NOT care what the physical link state is doing at the time. no consultation, no vibes check with the hardware, it just does the thing. periodt. π₯
bestie, read that "regardless of physical link state" part again. it's doing this regardless β that's the whole point of the function, so don't come for me if you wanted it to politely ask the physical link first. it does not. π
π SEE ALSO π
alright. deep breath. she has a LOT of friends. this is the group chat and everyone is invited, so let me name every single one of them, exactly, no skipping: π
- Kernel file:
./drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
and now, the entire crew:
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_spoofchk(9)i40e_setup_vf_trust(9)i40e_ndo_set_vf_trust(9)i40e_get_vf_stats(9)
like I said. HUGE group chat. every one of them is there, don't @ me, go read them if you want the lore. πβ¨
ok that's the whole page bestie, you ate that π
and the cute sign-off, because the footer deserves love too: this page lives with the i40e driver under ./drivers/net/ethernet/intel/i40e, and it's dated October 2026. so she's future-dated, she's iconic, she's got main character energy. go forth and set that link state. π§ββοΈππΈ
π¦ 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