[ipxe-devel] Intel 82576 MAC swapping

Michael Brown mbrown at fensystems.co.uk
Tue Aug 7 01:27:37 UTC 2012


On Friday 27 Jul 2012 13:48:54 Kieran Evans wrote:
> I'm working on these servers via the remote management controllers,
> they're about 50 miles away from me at the moment, so to make it easier,
> I ran ethtool -e eth1/eth3 from Ubuntu to dump the EEPROM.
> 
> http://dbyz.co.uk/eth1.dmp
> http://dbyz.co.uk/eth3.dmp
> 
> It should be the same as iPXE would output (as it's being read directly
> from the HW).

Thanks.  The curious thing is that the MAC address as stored in the EEPROM is 
00:26:6c:fc:e4:0d, i.e. bit 0 is set.

The MAC addresses determined by iPXE are correct as far as I can tell:

  LAN 0 (02:00.0) uses the address as stored in the EEPROM: 00:26:6c:fc:e4:0d
  LAN 1 (02:00.1) uses this address XORed with 01: 00:26:6c:fc:e4:0c

This is as described by the documentation, as far as I can tell.

Usually, with a dual-port NIC, bit 0 of the address stored in the EEPROM will 
be clear.  I would expect to see 00:26:6c:fc:e4:0c stored in the EEPROM, which 
would give

  LAN 0 : 00:26:6c:fc:e4:0c
  LAN 1 : 00:26:6c:fc:e4:0d

I'm also puzzled why Linux ends up choosing different MAC addresses than iPXE.

Does iPXE's choice of MAC address agree with the choice made by the Intel PXE 
ROM?  If you boot from port 0, what MAC address is displayed by the Intel PXE 
base code, and what MAC address is then displayed for the same port by iPXE?

Michael



More information about the ipxe-devel mailing list