i40e_pci_err...eset_prepare(9)
π NAME π
Okay bestie, so this one's from the Kernel API Manual and it's called i40e_pci_error_reset_prepare β she's the function whose whole job is to get the device driver ready for a PCI reset. That's it. That's the gig. Lowkey important, highkey unglamorous. π
β¨ SYNOPSIS β¨
void i40e_pci_error_reset_prepare (struct pci_dev *pdev );
No return value, no funny business β she's void, she does her thing and leaves. π«Ά
π¦ ARGUMENTS π¦
pdevβ the PCI device information struct, aka the little ID card for the PCI device you're about to prep for the reset. That's the whole guest list.
πΈ SEE ALSO πΈ
Alright so this is the part where the manpage goes absolutely feral β and honestly? iconic. The kernel file this lives in is ./drivers/net/ethernet/intel/i40e/i40e_main.c, and then she justβ¦ lists the entire i40e universe. Sit down, hydrate, we're going through all of them because every single one is here for a reason. π
π§ Hardware, memory & housekeeping
i40e_hw_to_dev(9)i40e_allocate_dma_mem(9),i40e_free_dma_mem(9)i40e_allocate_virt_mem(9),i40e_free_virt_mem(9)i40e_get_lump(9),i40e_put_lump(9)i40e_find_vsi_from_id(9)i40e_service_event_schedule(9),i40e_tx_timeout(9)
π Stats β the whole stats cinematic universe
i40e_get_vsi_stats_struct(9),i40e_get_netdev_stats_struct_tx(9),i40e_get_netdev_stats_struct(9)i40e_vsi_reset_stats(9),i40e_pf_reset_stats(9)i40e_compute_pci_to_hw_id(9)i40e_stat_update64(9),i40e_stat_update48(9),i40e_stat_update32(9)i40e_stat_update_and_clear32(9)i40e_stats_update_rx_discards(9)i40e_update_eth_stats(9),i40e_update_veb_stats(9)i40e_update_vsi_stats(9),i40e_update_pf_stats(9),i40e_update_stats(9)
π Filters, MACs & VLAN membership checks
i40e_count_all_filters(9),i40e_count_active_filters(9)i40e_find_filter(9),i40e_find_mac(9),i40e_is_vsi_in_vlan(9)i40e_correct_mac_vlan_filters(9),i40e_get_vf_new_vlan(9)i40e_correct_vf_mac_vlan_filters(9)i40e_rm_default_mac_filter(9)i40e_add_filter(9),__i40e_del_filter(9)i40e_add_mac_filter(9),i40e_del_mac_filter(9),i40e_set_mac(9)
π₯ Address sync, promiscuous mode & filter syncing
i40e_addr_sync(9),i40e_addr_unsync(9),i40e_set_rx_mode(9)i40e_undo_del_filter_entries(9),i40e_undo_add_filter_entries(9)i40e_next_filter(9),i40e_update_filter_state(9)i40e_aqc_del_filters(9),i40e_aqc_add_filters(9),i40e_aqc_broadcast_filter(9)i40e_set_promiscuous(9)i40e_sync_vsi_filters(9),i40e_sync_filters_subtask(9)
π RX buffer sizing & MTU
π VLANs β add 'em, kill 'em, restore 'em
i40e_vlan_stripping_enable(9),i40e_vlan_stripping_disable(9)i40e_add_vlan_all_mac(9),i40e_vsi_add_vlan(9)i40e_rm_vlan_all_mac(9),i40e_vsi_kill_vlan(9)i40e_vlan_rx_add_vid(9),i40e_vlan_rx_add_vid_up(9),i40e_vlan_rx_kill_vid(9)i40e_restore_vlan(9)i40e_vsi_add_pvid(9),i40e_vsi_remove_pvid(9)
π«Ά TX/RX resources & ring configuration
i40e_vsi_setup_tx_resources(9),i40e_vsi_free_tx_resources(9)i40e_vsi_setup_rx_resources(9),i40e_vsi_free_rx_resources(9)i40e_config_xps_tx_ring(9),i40e_xsk_pool(9)i40e_configure_tx_ring(9),i40e_rx_offset(9),i40e_configure_rx_ring(9)i40e_vsi_configure_tx(9),i40e_vsi_configure_rx(9)i40e_vsi_config_dcb_rings(9),i40e_set_vsi_rx_mode(9)i40e_reset_fdir_filter_cnt(9),i40e_fdir_filter_restore(9)i40e_vsi_configure(9)
π Interrupts, irq vectors & NAPI-adjacent chaos
i40e_vsi_configure_msix(9),i40e_enable_misc_int_causes(9)i40e_configure_msi_and_legacy(9)i40e_irq_dynamic_disable_icr0(9),i40e_irq_dynamic_enable_icr0(9)i40e_msix_clean_rings(9)i40e_irq_affinity_notify(9),i40e_irq_affinity_release(9)i40e_vsi_request_irq_msix(9)i40e_vsi_disable_irq(9),i40e_vsi_enable_irq(9)i40e_free_misc_vector(9),i40e_intr(9)i40e_clean_fdir_tx_irq(9),i40e_fdir_clean_ring(9)i40e_map_vector_to_qp(9),i40e_vsi_map_rings_to_vectors(9)i40e_vsi_request_irq(9),i40e_netpoll(9)
β Queue start/stop energy
i40e_pf_txq_wait(9),i40e_control_tx_q(9),i40e_control_wait_tx_q(9),i40e_vsi_enable_tx(9)i40e_pf_rxq_wait(9),i40e_control_rx_q(9),i40e_control_wait_rx_q(9),i40e_vsi_enable_rx(9)i40e_vsi_start_rings(9),i40e_vsi_stop_rings(9),i40e_vsi_stop_rings_no_wait(9)
π Freeing irqs, q-vectors & quiescing
i40e_vsi_free_irq(9),i40e_free_q_vector(9),i40e_vsi_free_q_vectors(9)i40e_reset_interrupt_capability(9),i40e_clear_interrupt_scheme(9)i40e_napi_enable_all(9),i40e_napi_disable_all(9),i40e_vsi_close(9)i40e_quiesce_vsi(9),i40e_unquiesce_vsi(9)i40e_pf_quiesce_all_vsi(9),i40e_pf_unquiesce_all_vsi(9)i40e_vsi_wait_queues_disabled(9),i40e_pf_wait_queues_disabled(9)
πΈ Queue maps, TC & bandwidth (DCB girlies rise)
i40e_vsi_setup_queue_map_mqprio(9),i40e_vsi_setup_queue_map(9)i40e_get_iscsi_tc_map(9)i40e_dcb_get_num_tc(9),i40e_dcb_get_enabled_tc(9)i40e_mqprio_get_enabled_tc(9)i40e_pf_get_num_tc(9),i40e_pf_get_tc_map(9)i40e_vsi_get_bw_info(9),i40e_vsi_configure_bw_alloc(9)i40e_vsi_config_netdev_tc(9),i40e_vsi_update_queue_map(9)i40e_update_adq_vsi_queues(9)i40e_vsi_config_tc(9),i40e_vsi_reconfig_tc(9)i40e_get_link_speed(9)i40e_bw_bytes_to_mbits(9),i40e_set_bw_limit(9)
π§ Channels β the queue-channel saga
i40e_remove_queue_channels(9),i40e_get_max_queues_for_channel(9)i40e_validate_num_queues(9),i40e_vsi_reconfig_rss(9)i40e_channel_setup_queue_map(9),i40e_add_channel(9)i40e_channel_config_tx_ring(9)i40e_setup_hw_channel(9),i40e_setup_channel(9)i40e_validate_and_set_switch_mode(9)i40e_create_queue_channel(9),i40e_configure_queue_channels(9)
π VEB, DCB reconfig & link state
i40e_veb_config_tc(9),i40e_dcb_reconfigure(9)i40e_resume_port_tx(9),i40e_suspend_port_tx(9)i40e_hw_set_dcb_config(9),i40e_hw_dcb_config(9),i40e_dcb_sw_default_config(9)i40e_init_pf_dcb(9)i40e_print_link_message(9),i40e_up_complete(9)i40e_vsi_reinit_locked(9),i40e_force_link_state(9)i40e_up(9),i40e_down(9)i40e_validate_mqprio_qopt(9),i40e_vsi_set_default_tc_config(9)
π¦ MACVLAN, cloud filters & tc flower
i40e_del_macvlan_filter(9),i40e_add_macvlan_filter(9)i40e_reset_ch_rings(9),i40e_free_macvlan_channels(9)i40e_fwd_ring_up(9),i40e_setup_macvlans(9)i40e_fwd_add(9),i40e_del_all_macvlans(9),i40e_fwd_del(9)i40e_setup_tc(9),i40e_set_cld_element(9)i40e_add_del_cloud_filter(9),i40e_add_del_cloud_filter_big_buf(9)i40e_parse_cls_flower(9),i40e_handle_tclass(9)i40e_configure_clsflower(9),i40e_find_cloud_filter(9)i40e_delete_clsflower(9),i40e_setup_tc_cls_flower(9)
π Open/close the netdev
i40e_open(9),i40e_netif_set_realnum_tx_rx_queues(9),i40e_vsi_open(9)i40e_fdir_filter_exit(9),i40e_cloud_filter_exit(9),i40e_close(9)
π₯ Reset pathways & LLDP/overflow events
i40e_do_reset(9)i40e_dcb_need_reconfig(9),i40e_handle_lldp_event(9)i40e_do_reset_safe(9),i40e_handle_lan_overflow_event(9)
π FD/ATR counters β the fdir corner
i40e_get_current_fd_count(9),i40e_get_global_fd_count(9)i40e_reenable_fdir_sb(9),i40e_reenable_fdir_atr(9)i40e_delete_invalid_filter(9),i40e_fdir_check_and_reenable(9)i40e_fdir_flush_and_replay(9),i40e_get_current_atr_cnt(9)i40e_fdir_reinit_subtask(9)
π Link events, subtasks & the service task
i40e_vsi_link_event(9),i40e_veb_link_event(9),i40e_link_event(9)i40e_watchdog_subtask(9),i40e_reset_subtask(9)i40e_handle_link_event(9),i40e_clean_adminq_subtask(9)i40e_verify_eeprom(9)i40e_service_task(9),i40e_service_timer(9)
π Switch rebuild & reset plumbing
i40e_enable_pf_switch_lb(9),i40e_disable_pf_switch_lb(9)i40e_config_bridge_mode(9),i40e_reconstitute_veb(9)i40e_get_capabilities(9)i40e_fdir_sb_setup(9),i40e_fdir_teardown(9)i40e_rebuild_cloud_filters(9),i40e_rebuild_channels(9)i40e_clean_xps_state(9),i40e_prep_for_reset(9)i40e_send_version(9),i40e_get_oem_version(9)i40e_reset(9),i40e_rebuild(9),i40e_reset_and_rebuild(9)i40e_handle_reset_warning(9)
π MDD events
π§ VSI allocation & array management
i40e_set_num_rings_in_vsi(9)i40e_vsi_alloc_arrays(9),i40e_vsi_mem_alloc(9),i40e_vsi_free_arrays(9)i40e_clear_rss_config_user(9)i40e_vsi_clear(9),i40e_vsi_clear_rings(9),i40e_alloc_rings(9)
β Interrupt scheme setup
i40e_reserve_msix_vectors(9),i40e_init_msix(9)i40e_vsi_alloc_q_vector(9),i40e_vsi_alloc_q_vectors(9)i40e_init_interrupt_scheme(9),i40e_restore_interrupt_scheme(9)i40e_setup_misc_vector_for_recovery_mode(9),i40e_setup_misc_vector(9)
π«Ά RSS β configure it, get it, fill the LUT
i40e_config_rss_aq(9),i40e_vsi_config_rss(9)i40e_get_rss_aq(9),i40e_config_rss_reg(9),i40e_get_rss_reg(9)i40e_config_rss(9),i40e_get_rss(9)i40e_fill_rss_lut(9),i40e_pf_config_rss(9)i40e_reconfig_rss_queues(9)
π Partition bandwidth & software init
i40e_get_partition_bw_setting(9),i40e_set_partition_bw_setting(9)i40e_is_total_port_shutdown_enabled(9)i40e_sw_init(9)
πΈ Netdev features, ndo hooks & XDP
i40e_set_ntuple(9),i40e_clear_rss_lut(9),i40e_set_loopback(9)i40e_set_features(9)i40e_ndo_fdb_add(9),i40e_ndo_bridge_setlink(9),i40e_ndo_bridge_getlink(9)i40e_features_check(9),i40e_xdp_setup(9)
π¦ Queue pairs & busy-conf mode
i40e_enter_busy_conf(9),i40e_exit_busy_conf(9)i40e_queue_pair_reset_stats(9),i40e_queue_pair_clean_rings(9)i40e_queue_pair_toggle_napi(9),i40e_queue_pair_toggle_rings(9)i40e_queue_pair_enable_irq(9),i40e_queue_pair_disable_irq(9)i40e_queue_pair_disable(9),i40e_queue_pair_enable(9),i40e_xdp(9)
π Netdev & VSI setup / teardown
i40e_config_netdev(9),i40e_vsi_delete(9)i40e_is_vsi_uplink_mode_veb(9),i40e_add_vsi(9),i40e_vsi_release(9)i40e_vsi_setup_vectors(9),i40e_vsi_reinit_setup(9),i40e_vsi_setup(9)
π VEB setup & switch configuration
i40e_veb_get_bw_info(9),i40e_veb_mem_alloc(9)i40e_switch_branch_release(9),i40e_veb_clear(9),i40e_veb_release(9)i40e_add_veb(9),i40e_veb_setup(9)i40e_setup_pf_switch_element(9),i40e_fetch_switch_configuration(9)i40e_setup_pf_switch(9),i40e_determine_queue_usage(9)i40e_setup_pf_filter_control(9)i40e_get_platform_mac_addr(9),i40e_set_fec_in_flags(9)
π Recovery mode, probe/remove & PCI error callbacks
i40e_check_recovery_mode(9),i40e_pf_loop_reset(9)i40e_check_fw_empr(9),i40e_handle_resets(9)i40e_init_recovery_mode(9),i40e_set_subsystem_device_id(9)i40e_probe(9),i40e_remove(9),i40e_enable_mc_magic_wake(9)i40e_io_suspend(9),i40e_io_resume(9)i40e_pci_error_detected(9),i40e_pci_error_slot_reset(9),i40e_pci_error_reset_done(9),i40e_pci_error_resume(9)i40e_shutdown(9),i40e_suspend(9),i40e_resume(9)i40e_init_module(9),i40e_exit_module(9)
And that's the whole friend group, no cap. π«Ά Every single one of them linked back to this tiny little reset-prep function β it's giving main character with a massive supporting cast.
Ngl, if you actually made it to the bottom of that SEE ALSO list, you deserve a snack. π
Anyway bestie, that's the page! Courtesy of the ./drivers/net/ethernet/intel/i40e crew, dated October 2026, and yes β i40e_pci_error_reset_prepare(9) is still serving looks in section 9. Mwah. ππβ¨
π¦ 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