i40e_setup_p...itch_element(9)
π i40e_setup_pf_switch_element β like, the one that sets PF vars based on switch type π
okay so real talk, this is a page straight out of the Kernel API Manual, and it's honestly kind of a vibe. it's a tiny little helper, no cap, but she's important. let's get into it π«Ά
β¨ NAME β¨
i40e_setup_pf_switch_element β sets PF vars based on switch type. that's it, that's the whole job, and she does it flawlessly π
πΈ SYNOPSIS πΈ
void i40e_setup_pf_switch_element(struct i40e_pf *pf, struct i40e_aqc_switch_config_element_resp *ele, u16 num_reported, bool printconfig);
bestie it returns void, meaning you get nothing back, and that's the point β it's doing side-quest work on pf and dipping π
π ARGUMENTS π
pfβ the board private structure. this is the main character, the one getting all her vars set πeleβ the element we are building info from, like the source material, the inspo, the reference pic π¦num_reported(typeu16) β the total number of elements. that's the count, the whole squad size πprintconfig(typebool) β should we print the contents? girl's asking if you want the receipts printed or not π
π§ DESCRIPTION π§
okay so picture this: she's a helper function. a little assistant. her whole lore is that she assists in extracting a few useful SEID values. that's the entire description β a few useful SEID values, extracted, with help. lowkey iconic that the manpage says "a few" and refuses to elaborate further. mystery is her brand π₯
not me reading this and going "so she's the girl who pulls the SEID values out of the element" β yes. exactly that. no more, no less β¨
π SEE ALSO π
the kernel file she lives in, first of all:
./drivers/net/ethernet/intel/i40e/i40e_main.c
and then... bestie. sit down. drink some water. it's a list. every single one of these is her neighbor and you're gonna meet all of them π
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_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)
that's all of them, fr fr. i counted (i did not count, but i did not skip a single one π). if you're reading this list on a terminal, may god bless your scroll wheel π
and that's the tea!! π
β¨ this page lives in the kernel source at ./drivers/net/ethernet/intel/i40e, and the whole thing is dated October 2026. mwah, go extract those SEID values bestie, you're gonna slay ππ¦π
π¦ 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