ixgbe_get_mac_addr_generic(9)
π NAME π
ixgbe_get_mac_addr_generic β the generic "hey bestie, what's my MAC address" getter β¨
Oh and real quick, the manual this page lives in is the Kernel API Manual β that's the whole vibe. Kernel-land. Very demure, very low-level π
π SYNOPSIS π
int ixgbe_get_mac_addr_generic (struct ixgbe_hw *hw , u8 *mac_addr );
π¦ ARGUMENTS π¦
hwβ pointer to hardware structure. like, the actual hardware struct, she's the main character here πmac_addrβ Adapter MAC address. this is where the good stuff gets written π«Ά
πΈ DESCRIPTION πΈ
okay so what this function does is it reads the adapter's MAC address straight out of the first Receive Address Register β that's RAR0 bestie, remember the name π
Buuuut here's the important part, and I mean it, do not skip this: a reset of the adapter must be performed prior to calling this function in order for the MAC address to have been loaded from the EEPROM into RAR0. like, fr fr, no reset = nothing loaded = you're reading an empty register and that is not the slay you think it is π
the reset is the whole pipeline, bestie. EEPROM β RAR0 β your mac_addr. skip a step and it's giving nothing π
β SEE ALSO β
First up, the kernel file where the magic lives:
./drivers/net/ethernet/intel/ixgbe/ixgbe_common.c
and now the entire extended friend group, in order, no one left out π:
ixgbe_device_supports_autoneg_fc(9),ixgbe_setup_fc_generic(9)ixgbe_start_hw_generic(9),ixgbe_start_hw_gen2(9)ixgbe_init_hw_generic(9),ixgbe_clear_hw_cntrs_generic(9)ixgbe_read_pba_string_generic(9),ixgbe_get_bus_info_generic(9)ixgbe_set_lan_id_multi_port_pcie(9),ixgbe_stop_adapter_generic(9)ixgbe_init_led_link_act_generic(9),ixgbe_led_on_generic(9),ixgbe_led_off_generic(9)ixgbe_init_eeprom_params_generic(9)ixgbe_write_eeprom_buffer_bit_bang_generic(9),ixgbe_write_eeprom_buffer_bit_bang(9),ixgbe_write_eeprom_generic(9)ixgbe_read_eeprom_buffer_bit_bang_generic(9),ixgbe_read_eeprom_buffer_bit_bang(9),ixgbe_read_eeprom_bit_bang_generic(9)ixgbe_read_eerd_buffer_generic(9),ixgbe_detect_eeprom_page_size_generic(9),ixgbe_read_eerd_generic(9)ixgbe_write_eewr_buffer_generic(9),ixgbe_write_eewr_generic(9)ixgbe_poll_eerd_eewr_done(9)ixgbe_acquire_eeprom(9),ixgbe_get_eeprom_semaphore(9),ixgbe_release_eeprom_semaphore(9)ixgbe_ready_eeprom(9),ixgbe_standby_eeprom(9)ixgbe_shift_out_eeprom_bits(9),ixgbe_shift_in_eeprom_bits(9)ixgbe_raise_eeprom_clk(9),ixgbe_lower_eeprom_clk(9),ixgbe_release_eeprom(9)ixgbe_calc_eeprom_checksum_generic(9),ixgbe_validate_eeprom_checksum_generic(9),ixgbe_update_eeprom_checksum_generic(9)ixgbe_set_rar_generic(9),ixgbe_clear_rar_generic(9),ixgbe_init_rx_addrs_generic(9)ixgbe_mta_vector(9),ixgbe_set_mta(9)ixgbe_update_mc_addr_list_generic(9),ixgbe_enable_mc_generic(9),ixgbe_disable_mc_generic(9)ixgbe_fc_enable_generic(9),ixgbe_negotiate_fc(9)ixgbe_fc_autoneg_fiber(9),ixgbe_fc_autoneg_backplane(9),ixgbe_fc_autoneg_copper(9),ixgbe_fc_autoneg(9)ixgbe_pcie_timeout_poll(9),ixgbe_disable_pcie_primary(9)ixgbe_acquire_swfw_sync(9),ixgbe_release_swfw_sync(9)prot_autoc_read_generic(9),prot_autoc_write_generic(9)ixgbe_disable_rx_buff_generic(9),ixgbe_enable_rx_buff_generic(9),ixgbe_enable_rx_dma_generic(9)ixgbe_blink_led_start_generic(9),ixgbe_blink_led_stop_generic(9)ixgbe_get_san_mac_addr_offset(9),ixgbe_get_san_mac_addr_generic(9)ixgbe_get_pcie_msix_count_generic(9)ixgbe_clear_vmdq_generic(9),ixgbe_set_vmdq_generic(9),ixgbe_set_vmdq_san_mac_generic(9)ixgbe_init_uta_tables_generic(9),ixgbe_find_vlvf_slot(9)ixgbe_set_vfta_generic(9),ixgbe_clear_vfta_generic(9)ixgbe_need_crosstalk_fix(9),ixgbe_check_mac_link_generic(9)ixgbe_get_wwn_prefix_generic(9)ixgbe_set_mac_anti_spoofing(9),ixgbe_set_vlan_anti_spoofing(9)ixgbe_get_device_caps_generic(9),ixgbe_set_rxpba_generic(9)ixgbe_calculate_checksum(9),ixgbe_hic_unlocked(9),ixgbe_host_interface_command(9)ixgbe_set_fw_drv_ver_generic(9),ixgbe_clear_tx_pending(9),ixgbe_get_ets_data(9)ixgbe_get_thermal_sensor_data_generic(9),ixgbe_init_thermal_sensor_thresh_generic(9)ixgbe_get_orom_version(9),ixgbe_get_oem_prod_version(9),ixgbe_get_etk_id(9)ixgbe_setup_mac_link_multispeed_fiber(9),ixgbe_set_soft_rate_select_speed(9)
<div align="center">π that's the page bestie π</div>
source path got a lil truncated in the footer (./drivers/net/ethernet/intel/i...) and the date stamp says October 2026 β so yeah, this beauty's stamped October 2026, living in the Kernel API Manual, filed underixgbe_get_mac_addr_generic(9). go read RAR0 after a reset and stan π β¨π¦
π¦ 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