i40e_aq_get_...ware_version(9)
π NAME π
i40e_aq_get_firmware_version β bestie's little spy mission into the NIC's firmware closet π΅οΈββοΈβ¨
okay so real quick, this page lives in the Kernel API Manual and it's all about one function, so likeβ¦ let's get into it π
β¨ SYNOPSIS β¨
int i40e_aq_get_firmware_version (struct i40e_hw *hw , u16
*fw_major_version , u16 *fw_minor_version , u32 *fw_build , u16
*api_major_version , u16 *api_minor_version , struct
i40e_asq_cmd_details *cmd_details );
she's giving "long signature, no notes" π every single one of those pointers matters, do not lose one, i'm literally begging π«Ά
π ARGUMENTS π
hwβ pointer to thehwstruct π this is the main character, the hardware herself.fw_major_versionβ firmware major version π the big number.fw_minor_versionβ firmware minor version πΈ the little number next to the big number.fw_buildβ firmware build number π’ the "when was this exact thing compiled" number.api_major_versionβ major queue version π¦ yes that's what the original says, major queue version, i'm just passing the info along bestie.api_minor_versionβ minor queue version β same deal, the minor one.cmd_detailsβ pointer to the command details structure, orNULLπ like, you can passNULL, she's chill like that.
π DESCRIPTION π
Get the firmware version from the admin queue commands π that's the whole plot. she asks the admin queue nicely and the admin queue is like "here's the version info bestie" and then it fills in all those pointers you handed her. no cap, that's it, that's the function π
π¦ SEE ALSO π¦
okay so this function runs with a massive friend group, like genuinely iconic main-character-with-130-besties energy π here's literally everyone, don't skip a single one because they will notice π«Ά
- the kernel file:
./drivers/net/ethernet/intel/i40e/i40e_common.cπ 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_aq_set_phy_config(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_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 the whole group chat, fr fr ππ
and that's the page bestie! πΈ this little gem comes to you from ./drivers/net/ethernet/intel/i40e, dated October 2026, and it's the i40e_aq_get_...ware_version(9) page from the Kernel API Manual β ily, go read your firmware versions responsibly ππβ¨
π¦ 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