i40e_fetch_...onfiguration(9)
π NAME
okay so bestie, meet i40e_fetch_switch_configuration β literally just Get switch config from firmware. that's the whole assignment. it's from the Kernel API Manual, section 9, and yes she's iconic in the "nobody talks about her but the driver would fall over without her" way π«Ά
β¨ SYNOPSIS
int i40e_fetch_switch_configuration (struct i40e_pf *pf , bool
printconfig );
likeβ¦ that's it. two args. a struct i40e_pf * and a bool. returning an int. clean, minimal, ate π
π ARGUMENTS
pfβ the board private structure π like, the big per-device state blob. your main character. everything you need to know about this board lives in there.printconfigβ "should we print the contents". that's the vibe check right there: pass it and the config contents get printed, don't and they stay mysterious π no cap, it's literally a "do you wanna see it or not" toggle.
π₯ DESCRIPTION
so what she actually does: she goes and gets the current switch configuration from the device, and then extracts a few useful SEID values out of it β¨
that's the tea. fetch the config from the firmware, pull out the SEID bits you care about, move on with your life. lowkey doing god's work behind the scenes πΈ
ngl the description in the original is short and she is short β not me inventing extra behaviour, bestie. fetch config, grab SEIDs, done, periodt π
π SEE ALSO
first off, the kernel file where this whole situation lives:
./drivers/net/ethernet/intel/i40e/i40e_main.c
and nowβ¦ the guest list π genuinely the whole extended friend group showed up. every single one, no cuts, no "and friends" β here they are:
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_do_reset(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_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)
iykyk ππ that list is long long, but every single one is invited, we don't do plus-ones-only over here π
π¦ source/version: ./drivers/net/ethernet/intel/i40e Β· date: October 2026 β and that's the whole page bestie, go forth and fetch that switch config πβ¨ππΈ
π¦ 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