i40e_do_reset(9)
π i40e_do_reset(9) β the Kernel API Manual, bestie edition β¨
okay so real talk, we're in the Kernel API Manual today and the star of the show is i40e_do_reset β like, the function that kicks off a whole PF or Core Reset sequence π₯
πΈ NAME πΈ
i40e_do_reset β literally just Start a PF or Core Reset sequence. that's it. that's the vibe. periodt π
π SYNOPSIS π
void i40e_do_reset (struct i40e_pf *pf , u32 reset_flags , bool
lock_acquired );
no cap, that's the whole shape of it right there π¦
β¨ ARGUMENTS β¨
pfβ your board private structure π like, the board's whole personal diary of a struct.reset_flagsβ which reset is requested π this is where u tell it what kind of reset u want.lock_acquiredβ indicates whether or not the lock has been acquired before this function was called π importantly, it's abool, so it's giving simple yes/no energy.
π DESCRIPTION π
so here's the tea β β the essential difference between the resets is that the PF Reset doesn't clear the packet buffers, doesn't reset the PE firmware, and doesn't bother the other PFs on the chip. iconic behaviour, honestly π§ like it minds its own business.
π SEE ALSO π
the kernel file we're living in: ./drivers/net/ethernet/intel/i40e/i40e_main.c π
and now the friend group β literally everyone π«Ά:
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),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),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),i40e_config_rss_aq(9),i40e_vsi_config_rss(9),i40e_vsi_setup_queue_map_mqprio(9),i40e_vsi_setup_queue_map(9),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),i40e_calculate_vsi_rx_buf_len(9),i40e_max_vsi_frame_size(9),i40e_change_mtu(9),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),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),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),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),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),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),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),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),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),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),i40e_dcb_need_reconfig(9),i40e_handle_lldp_event(9),i40e_do_reset_safe(9),i40e_handle_lan_overflow_event(9),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),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_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),i40e_print_vf_mdd_event(9),i40e_print_vfs_mdd_events(9),i40e_handle_mdd_event(9),i40e_service_task(9),i40e_service_timer(9),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),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),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),i40e_get_partition_bw_setting(9),i40e_set_partition_bw_setting(9),i40e_is_total_port_shutdown_enabled(9),i40e_sw_init(9),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),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),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),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),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_prepare(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 page, bestie π«Ά this one lives at ./drivers/net/ethernet/intel/i40e and it's dated October 2026 β so yeah, mark ur calendar, i40e_do_reset(9) said see u then πβ¨ 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