ixgbe_aci_send_cmd_execute(9)
π ixgbe_aci_send_cmd_execute β¨
okay bestie, so the page header says ixgbe_aci_send_cmd_execute(9) and it lives in the Kernel API Manual β consider that the intro, we're moving on π«Ά
πΈ NAME πΈ
ixgbe_aci_send_cmd_execute β this one's whole job is literally executing the sending of an FW Admin Command to the FW Admin Command Interface. that's it, that's the vibe π«
π SYNOPSIS π
int ixgbe_aci_send_cmd_execute (struct ixgbe_hw *hw , struct
libie_aq_desc *desc , void *buf , u16 buf_size );
π¦ ARGUMENTS π¦
hwβ pointer to the HW struct. the hardware main character πdescβ the descriptor describing the command. it's giving instruction manual energy πbufβ buffer to use for indirect commands (NULLfor direct commands)buf_sizeβ size of buffer for indirect commands (0for direct commands)
okay so lowkey important:bufisNULLandbuf_sizeis0for direct commands. indirect commands are the ones that get a real buffer. don't mix that up bestie π
β¨ DESCRIPTION β¨
so the Admin Command gets sent using CSR by setting the descriptor and the buffer into specific registers. that's the whole move. no cap π₯
π RETURN π
this returns the exit code of the operation, and honestly the codes are all kind of iconic in their own way:
0β success. we ate π-EIOβ CSR mechanism is not enabled-EBUSYβ CSR mechanism is busy-EINVALβbuf_sizeis too big, or an invalid argumentbuforbuf_size-ETIMEβ Admin Command X command timeout π-EIOβ Admin Command X invalid state of HICR register, or Admin Command failed because of bad opcode was returned, or Admin Command failed with error Y
yeah -EIO shows up twice, that's not a typo on my end, that's just how it is fr fr π
π SEE ALSO π
the kernel file lives at ./drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c β go look at it, it's right there π
and here's the full friend group, everybody in the group chat, no one left out:
ixgbe_should_retry_aci_send_cmd_execute(9)ixgbe_aci_send_cmd(9)ixgbe_aci_check_event_pending(9)ixgbe_aci_get_event(9)ixgbe_fill_dflt_direct_cmd_desc(9)ixgbe_aci_get_fw_ver(9)ixgbe_aci_req_res(9)ixgbe_aci_release_res(9)ixgbe_acquire_res(9)ixgbe_release_res(9)ixgbe_parse_e610_caps(9)ixgbe_parse_valid_functions_cap(9)ixgbe_parse_vf_dev_caps(9)ixgbe_parse_vsi_dev_caps(9)ixgbe_parse_fdir_dev_caps(9)ixgbe_parse_dev_caps(9)ixgbe_parse_vf_func_caps(9)ixgbe_get_num_per_func(9)ixgbe_parse_vsi_func_caps(9)ixgbe_parse_func_caps(9)ixgbe_aci_list_caps(9)ixgbe_discover_dev_caps(9)ixgbe_discover_func_caps(9)ixgbe_get_caps(9)ixgbe_aci_disable_rxen(9)ixgbe_aci_get_phy_caps(9)ixgbe_copy_phy_caps_to_cfg(9)ixgbe_aci_set_phy_cfg(9)ixgbe_aci_set_link_restart_an(9)ixgbe_is_media_cage_present(9)ixgbe_get_media_type_from_phy_type(9)ixgbe_update_link_info(9)ixgbe_get_link_status(9)ixgbe_aci_get_link_info(9)ixgbe_aci_set_event_mask(9)ixgbe_configure_lse(9)ixgbe_start_hw_e610(9)ixgbe_aci_set_port_id_led(9)ixgbe_get_media_type_e610(9)ixgbe_setup_link_e610(9)ixgbe_check_link_e610(9)ixgbe_get_link_capabilities_e610(9)ixgbe_cfg_phy_fc(9)ixgbe_setup_fc_e610(9)ixgbe_fc_autoneg_e610(9)ixgbe_disable_rx_e610(9)ixgbe_fw_recovery_mode_e610(9)ixgbe_fw_rollback_mode_e610(9)ixgbe_init_phy_ops_e610(9)ixgbe_identify_phy_e610(9)ixgbe_setup_eee_e610(9)ixgbe_identify_module_e610(9)ixgbe_setup_phy_link_e610(9)ixgbe_set_phy_power_e610(9)ixgbe_enter_lplu_e610(9)ixgbe_init_eeprom_params_e610(9)ixgbe_aci_get_netlist_node(9)ixgbe_acquire_nvm(9)ixgbe_release_nvm(9)ixgbe_aci_read_nvm(9)ixgbe_aci_erase_nvm(9)ixgbe_aci_update_nvm(9)ixgbe_nvm_write_activate(9)ixgbe_nvm_validate_checksum(9)ixgbe_discover_flash_size(9)ixgbe_read_sr_base_address(9)ixgbe_read_sr_area_size(9)ixgbe_determine_active_flash_banks(9)ixgbe_get_flash_bank_offset(9)ixgbe_read_flash_module(9)ixgbe_read_nvm_module(9)ixgbe_read_netlist_module(9)ixgbe_read_orom_module(9)ixgbe_get_nvm_css_hdr_len(9)ixgbe_read_nvm_sr_copy(9)ixgbe_get_nvm_srev(9)ixgbe_get_orom_civd_data(9)ixgbe_get_orom_srev(9)ixgbe_get_orom_ver_info(9)ixgbe_get_inactive_orom_ver(9)ixgbe_get_nvm_ver_info(9)ixgbe_get_inactive_nvm_ver(9)ixgbe_get_active_nvm_ver(9)ixgbe_get_netlist_info(9)ixgbe_get_inactive_netlist_ver(9)ixgbe_get_flash_data(9)ixgbe_aci_nvm_update_empr(9)ixgbe_read_sr_word_aci(9)ixgbe_read_flat_nvm(9)ixgbe_read_sr_buf_aci(9)ixgbe_read_ee_aci_e610(9)ixgbe_read_ee_aci_buffer_e610(9)ixgbe_validate_eeprom_checksum_e610(9)ixgbe_reset_hw_e610(9)ixgbe_get_pfa_module_tlv(9)ixgbe_read_pba_string_e610(9)
and that's the whole page bestie, ily, go send some admin commands responsibly π§π
sign-off era: this little gem comes from ./drivers/net/ethernet/intel/i... (the source/version bit), dated October 2026, and it's filed under ixgbe_aci_send_cmd_execute(9) β periodt π
β¨
π¦ 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