i40e_aq_set_phy_config(9)
π i40e_aq_set_phy_config β Kernel API Manual β¨
okay so bestie, welcome to the i40e_aq_set_phy_config(9) page from the Kernel API Manual β yes it's a real manual, yes the title is a whole function signature, and yes we're gonna get through it together π«Ά
πΈ NAME πΈ
i40e_aq_set_phy_config β
and that's genuinely it π the one-line description after the dash is blank in the original. Not me hyping up a page with an empty subtitle. It's giving mysterious. Main character energy with zero backstory, honestly π
β¨ SYNOPSIS β¨
int i40e_aq_set_phy_config (struct i40e_hw *hw , struct
i40e_aq_set_phy_config *config , struct i40e_asq_cmd_details
*cmd_details );
it returns an int, it takes three things, that's the whole vibe π
π ARGUMENTS π
hwβ pointer to the hw struct. you know, the hardware one. the struct that knows things π₯configβ structure with PHY configuration to be set. this is the actual payload, the little bundle of settings you're handing over π¦cmd_detailsβ pointer to command details structure orNULL.NULLis a totally valid choice here, ngl, it's giving "optional and unbothered" π
π§ DESCRIPTION π§
so what does it do? it sets the various PHY configuration parameters supported on the Port. that's the whole sentence. short, sweet, ate π
now here's the part where you gotta pay attention, bestie, because this is the caveat that matters π β one or more of the Set PHY config parameters may be ignored in an MFP mode, because the PF may not have the privilege to set some of the PHY Config parameters. so like, you can ask, but the hardware might be like "not today" π and how do you find out? this status will be indicated by the command response. so read your response, fr fr, don't assume it worked just because you called it π
lowkey important: in MFP mode some of your parameters can just get silently ignored. the command response is the only one who's gonna tell you the truth. vibe check your return status, always β¨
π SEE ALSO π
the social circle is massive β this function knows literally everyone in ./drivers/net/ethernet/intel/i40e/i40e_common.c π here's the full guest list, nobody left out, periodt:
i40e_set_mac_type(9)i40e_debug_aq(9)i40e_check_asq_alive(9)i40e_aq_queue_shutdown(9)i40e_aq_get_set_rss_lut(9)i40e_aq_get_rss_lut(9)i40e_aq_set_rss_lut(9)i40e_aq_get_set_rss_key(9)i40e_aq_get_rss_key(9)i40e_aq_set_rss_key(9)i40e_init_shared_code(9)i40e_aq_mac_address_read(9)i40e_aq_mac_address_write(9)i40e_get_mac_addr(9)i40e_get_port_mac_addr(9)i40e_pre_tx_queue_cfg(9)i40e_get_pba_string(9)i40e_get_media_type(9)i40e_poll_globr(9)i40e_pf_reset(9)i40e_clear_hw(9)i40e_clear_pxe_mode(9)i40e_led_is_mine(9)i40e_led_get(9)i40e_led_set(9)i40e_aq_get_phy_capabilities(9)i40e_set_fc(9)i40e_aq_set_mac_config(9)i40e_aq_clear_pxe_mode(9)i40e_aq_set_link_restart_an(9)i40e_aq_get_link_info(9)i40e_aq_set_phy_int_mask(9)i40e_aq_set_mac_loopback(9)i40e_aq_set_phy_debug(9)i40e_aq_add_vsi(9)i40e_aq_set_default_vsi(9)i40e_aq_clear_default_vsi(9)i40e_aq_set_vsi_unicast_promiscuous(9)i40e_aq_set_vsi_multicast_promiscuous(9)i40e_aq_set_vsi_mc_promisc_on_vlan(9)i40e_aq_set_vsi_uc_promisc_on_vlan(9)i40e_aq_set_vsi_bc_promisc_on_vlan(9)i40e_aq_set_vsi_broadcast(9)i40e_aq_get_vsi_params(9)i40e_aq_update_vsi_params(9)i40e_aq_get_switch_config(9)i40e_aq_set_switch_config(9)i40e_aq_get_firmware_version(9)i40e_aq_send_driver_version(9)i40e_get_link_status(9)i40e_update_link_info(9)i40e_aq_add_veb(9)i40e_aq_get_veb_parameters(9)i40e_prepare_add_macvlan(9)i40e_aq_add_macvlan(9)i40e_aq_add_macvlan_v2(9)i40e_aq_remove_macvlan(9)i40e_aq_remove_macvlan_v2(9)i40e_aq_send_msg_to_vf(9)i40e_aq_debug_read_register(9)i40e_aq_debug_write_register(9)i40e_aq_request_resource(9)i40e_aq_release_resource(9)i40e_aq_read_nvm(9)i40e_aq_erase_nvm(9)i40e_parse_discover_capabilities(9)i40e_aq_discover_capabilities(9)i40e_aq_update_nvm(9)i40e_aq_get_lldp_mib(9)i40e_aq_set_lldp_mib(9)i40e_aq_cfg_lldp_mib_change_event(9)i40e_aq_stop_lldp(9)i40e_aq_start_lldp(9)i40e_aq_set_dcb_parameters(9)i40e_aq_get_cee_dcb_config(9)i40e_aq_add_udp_tunnel(9)i40e_aq_del_udp_tunnel(9)i40e_aq_delete_element(9)i40e_aq_dcb_updated(9)i40e_aq_tx_sched_cmd(9)i40e_aq_config_vsi_bw_limit(9)i40e_aq_config_vsi_tc_bw(9)i40e_aq_config_switch_comp_ets(9)i40e_aq_config_switch_comp_bw_config(9)i40e_aq_query_vsi_bw_config(9)i40e_aq_query_vsi_ets_sla_config(9)i40e_aq_query_switch_comp_ets_config(9)i40e_aq_query_port_ets_config(9)i40e_aq_query_switch_comp_bw_config(9)i40e_validate_filter_settings(9)i40e_set_filter_control(9)i40e_aq_add_rem_control_packet_filter(9)i40e_add_filter_to_drop_tx_flow_control_frames(9)i40e_aq_alternate_read(9)i40e_aq_suspend_port_tx(9)i40e_aq_resume_port_tx(9)i40e_set_pci_config_data(9)i40e_aq_debug_dump(9)i40e_read_bw_from_alt_ram(9)i40e_aq_configure_partition_bw(9)i40e_read_phy_register_clause22(9)i40e_write_phy_register_clause22(9)i40e_read_phy_register_clause45(9)i40e_write_phy_register_clause45(9)i40e_get_phy_address(9)i40e_led_get_reg(9)i40e_led_set_reg(9)i40e_led_get_phy(9)i40e_led_set_phy(9)i40e_aq_rx_ctl_read_register(9)i40e_read_rx_ctl(9)i40e_aq_rx_ctl_write_register(9)i40e_write_rx_ctl(9)i40e_mdio_if_number_selection(9)i40e_aq_set_phy_register_ext(9)i40e_aq_get_phy_register_ext(9)i40e_aq_write_ddp(9)i40e_aq_get_ddp_list(9)i40e_find_segment_in_package(9)i40e_ddp_exec_aq_section(9)i40e_validate_profile(9)i40e_write_profile(9)i40e_rollback_profile(9)i40e_aq_add_cloud_filters(9)i40e_aq_add_cloud_filters_bb(9)i40e_aq_rem_cloud_filters(9)i40e_aq_rem_cloud_filters_bb(9)
like, that's a lot of friends π obsessed with the range honestly π¦
π one more time for the people in the back: this page's kernel file is ./drivers/net/ethernet/intel/i40e/i40e_common.c. that's where the lore lives.
and that's the page, bestie π signed, sealed, and sourced from ./drivers/net/ethernet/intel/i40e, dated October 2026 β go set some PHY config params, check your command response, and 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