iavf_close(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 iavf_close(9) β€” straight from the Kernel API Manual, bestie

Okay so this little icon is iavf_close(9), and it lives in the Kernel API Manual. It's a kernel function page, not a command you type, so put your shell away β€” we're reading C today. πŸ’…


✨ NAME ✨

iavf_close β€” literally just disables a network interface. That's the whole job. Slay.


πŸŽ€ SYNOPSIS πŸŽ€

int iavf_close (struct net_device *netdev );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • netdev β€” the network interface device structure. That's it, that's the whole parameter list, she's low maintenance.

πŸ’– DESCRIPTION πŸ’–

Bestie, read this carefully because it's the whole vibe of the function:

  • It returns 0. That's it. It is not allowed to fail. Not "probably won't fail," not "might fail on a bad day" β€” not allowed. Periodt. πŸ”₯
  • The close entry point gets called when an interface is de-activated by the OS.
  • At that moment, the hardware is still under the driver's control, but it needs to be disabled.
  • All IRQs except vector 0 get freed β€” and vector 0 is reserved for the admin queue, so don't come for her, she stays. 🫢
  • Along with those IRQs, all transmit and receive resources get freed too. Everything's getting cleaned up, it's giving spring cleaning, it's giving closure (literally). 🧹✨

🌈 SEE ALSO 🌈

The kernel file this lives in is right here, no cap:

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

And okay, the rest of the crew is long, but I'm not skipping a single one of them, because every name on this list is a whole main character πŸ’œ:

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_disable_vf(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_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)

Aww and that's the whole page! πŸ₯Ή Sourced straight out of ./drivers/net/ethernet/intel/iavf, stamped October 2026 β€” so go forth, disable that interface, free those IRQs (except vector 0, she's booked for the admin queue πŸ’…), and remember: iavf_close returns 0 and it is not allowed to fail. Love that for her. πŸ’œβœ¨πŸ¦‹
πŸ“¦ where this page comes from