mirror of
https://github.com/ipxe/ipxe
synced 2025-12-27 10:02:42 +03:00
[netdevice] Separate out the concept of hardware and link-layer addresses
The hardware address is an intrinsic property of the hardware, while the link-layer address can be changed at runtime. This separation is exposed via APIs such as PXE and EFI, but is currently elided by gPXE. Expose the hardware and link-layer addresses as separate properties within a net device. Drivers should now fill in hw_addr, which will be used to initialise ll_addr at the time of calling register_netdev().
This commit is contained in:
@@ -594,12 +594,12 @@ static void b44_load_mac_and_phy_addr(struct b44_private *bp)
|
||||
|
||||
/* Load MAC address, note byteswapping */
|
||||
b44_read_eeprom(bp, &eeprom[0]);
|
||||
bp->netdev->ll_addr[0] = eeprom[79];
|
||||
bp->netdev->ll_addr[1] = eeprom[78];
|
||||
bp->netdev->ll_addr[2] = eeprom[81];
|
||||
bp->netdev->ll_addr[3] = eeprom[80];
|
||||
bp->netdev->ll_addr[4] = eeprom[83];
|
||||
bp->netdev->ll_addr[5] = eeprom[82];
|
||||
bp->netdev->hw_addr[0] = eeprom[79];
|
||||
bp->netdev->hw_addr[1] = eeprom[78];
|
||||
bp->netdev->hw_addr[2] = eeprom[81];
|
||||
bp->netdev->hw_addr[3] = eeprom[80];
|
||||
bp->netdev->hw_addr[4] = eeprom[83];
|
||||
bp->netdev->hw_addr[5] = eeprom[82];
|
||||
|
||||
/* Load PHY address */
|
||||
bp->phy_addr = eeprom[90] & 0x1f;
|
||||
|
||||
Reference in New Issue
Block a user