i40e_fetch_...onfiguration(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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