iavf_disable_vf(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

iavf_disable_vf β€” the one that disables a VF, bestie πŸ˜ŒπŸ’…

Oh also hiii, this is page iavf_disable_vf(9) from the Kernel API Manual β€” yes, section 9, kernel API vibes only 🫢


✨ SYNOPSIS ✨

void iavf_disable_vf (struct iavf_adapter *adapter );

That's it. That's the whole signature. No return value, because it returns nothing β€” it's giving void, it's giving "I don't owe you an answer" πŸ’€


πŸŽ€ ARGUMENTS πŸŽ€

  • adapter β€” the board private structure 🫢 like, the whole adapter's personal little diary of state. You hand it over and the function knows exactly whose VF it's shutting down.

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so real talk: this function sets the communication failed flag 🚩 and then frees all the resources. Like, all of them. Every last one. It's a full factory reset of the VF's little world 😭✨

So the vibe is: things went sideways with talking to the VF, so we're flagging it as communication failed and then yeeting everything it was holding onto. Cleanup era. No leftovers, no crumbs, no "oops I forgot to free that" β€” periodt πŸ’…πŸ”₯


🌈 SEE ALSO 🌈

The kernel file this lives in, first of all πŸ‘‘

./drivers/net/ethernet/intel/iavf/iavf_main.c

And now, the entire extended friend group β€” literally the whole iavf cast, no cap, everyone's invited to the group chat πŸ«ΆπŸ’–:

iavf_pdev_to_adapter(9), iavf_is_reset_in_progress(9),
iavf_allocate_dma_mem_d(9), iavf_free_dma_mem(9),
iavf_allocate_virt_mem(9), iavf_free_virt_mem(9),
iavf_schedule_reset(9), iavf_schedule_aq_request(9), iavf_tx_timeout(9),
iavf_misc_irq_disable(9), iavf_misc_irq_enable(9), iavf_irq_disable(9),
iavf_irq_enable_queues(9), iavf_irq_enable(9), iavf_msix_aq(9),
iavf_msix_clean_rings(9), iavf_map_vector_to_rxq(9),
iavf_map_vector_to_txq(9), iavf_map_rings_to_vectors(9),
iavf_request_traffic_irqs(9), iavf_request_misc_irq(9),
iavf_free_traffic_irqs(9), iavf_free_misc_irq(9), iavf_configure_tx(9),
iavf_select_rx_desc_format(9), iavf_configure_rx(9), iavf_find_vlan(9),
iavf_add_vlan(9), iavf_del_vlan(9), iavf_get_num_vlans_added(9),
iavf_get_max_vlans_allowed(9), iavf_max_vlans_added(9),
iavf_vlan_rx_add_vid(9), iavf_vlan_rx_kill_vid(9), iavf_find_filter(9),
iavf_add_filter(9), iavf_replace_primary_mac(9),
iavf_is_mac_set_handled(9), iavf_mac_change_done(9),
iavf_set_mac_sync(9), iavf_set_mac(9), iavf_addr_sync(9),
iavf_addr_unsync(9), iavf_promiscuous_mode_changed(9),
iavf_set_rx_mode(9), iavf_napi_enable_all(9), iavf_napi_disable_all(9),
iavf_configure(9), iavf_up_complete(9), iavf_clear_mac_filters(9),
iavf_clear_cloud_filters(9), iavf_clear_fdir_filters(9),
iavf_clear_adv_rss_conf(9), iavf_down(9), iavf_acquire_msix_vectors(9),
iavf_free_queues(9), iavf_set_queue_vlan_tag_loc(9),
iavf_alloc_queues(9), iavf_set_interrupt_capability(9),
iavf_config_rss_aq(9), iavf_config_rss_reg(9), iavf_config_rss(9),
iavf_fill_rss_lut(9), iavf_init_rss(9), iavf_alloc_q_vectors(9),
iavf_free_q_vectors(9), iavf_reset_interrupt_capability(9),
iavf_init_interrupt_scheme(9), iavf_free_interrupt_scheme(9),
iavf_free_rss(9), iavf_reinit_interrupt_scheme(9),
iavf_finish_config(9), iavf_schedule_finish_config(9),
iavf_process_aq_command(9), iavf_set_vlan_offload_features(9),
iavf_startup(9), iavf_init_version_check(9),
iavf_parse_vf_resource_msg(9), iavf_init_get_resources(9),
iavf_init_send_offload_vlan_v2_caps(9),
iavf_init_recv_offload_vlan_v2_caps(9),
iavf_init_send_supported_rxdids(9), iavf_init_recv_supported_rxdids(9),
iavf_init_send_ptp_caps(9), iavf_init_recv_ptp_caps(9),
iavf_init_process_extended_caps(9), iavf_init_config_adapter(9),
iavf_reconfig_qs_bw(9), iavf_reset_step(9), iavf_adminq_task(9),
iavf_free_all_tx_resources(9), iavf_setup_all_tx_resources(9),
iavf_setup_all_rx_resources(9), iavf_free_all_rx_resources(9),
iavf_validate_tx_bandwidth(9), iavf_validate_ch_config(9),
iavf_del_all_cloud_filters(9), iavf_is_tc_config_same(9),
__iavf_setup_tc(9), iavf_parse_cls_flower(9), iavf_handle_tclass(9),
iavf_find_cf(9), iavf_configure_clsflower(9), iavf_delete_clsflower(9),
iavf_setup_tc_cls_flower(9), iavf_add_cls_u32(9), iavf_del_cls_u32(9),
iavf_setup_tc_cls_u32(9), iavf_setup_tc_block_cb(9), iavf_setup_tc(9),
iavf_restore_fdir_filters(9), iavf_open(9), iavf_close(9),
iavf_change_mtu(9), iavf_disable_fdir(9), iavf_set_features(9),
iavf_features_check(9), iavf_get_netdev_vlan_hw_features(9),
iavf_get_netdev_vlan_features(9), iavf_fix_netdev_vlan_features(9),
iavf_fix_strip_features(9), iavf_fix_features(9),
iavf_check_reset_complete(9), iavf_process_config(9), iavf_probe(9),
iavf_suspend(9), iavf_resume(9), iavf_remove(9), iavf_shutdown(9),
iavf_init_module(9), iavf_exit_module(9)

Like I said. Everyone. πŸ˜­πŸ‘‘


ngl if you got here because you're hunting a leaked resource or a VF that went quiet on you β€” yeah, this is the function that hit the "communication failed" flag and started freeing things. That's the whole plot πŸ“

okay bye bestie, mwah πŸ’– this page came straight out of ./drivers/net/ethernet/intel/iavf, dating allll the way to October 2026, and it'll always answer to the name iavf_disable_vf(9) πŸŽ€βœ¨ slay, go read the source 🌸

πŸ“¦ where this page comes from