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:
@@ -421,15 +421,11 @@ PXENV_EXIT_t pxenv_undi_get_information ( struct s_PXENV_UNDI_GET_INFORMATION
|
||||
undi_get_information->MaxTranUnit = ETH_MAX_MTU;
|
||||
undi_get_information->HwType = ntohs ( ll_protocol->ll_proto );
|
||||
undi_get_information->HwAddrLen = ll_protocol->ll_addr_len;
|
||||
/* Cheat: assume card is always configured with its permanent
|
||||
* node address. This is a valid assumption within Etherboot
|
||||
* at the time of writing.
|
||||
*/
|
||||
memcpy ( &undi_get_information->CurrentNodeAddress,
|
||||
pxe_netdev->ll_addr,
|
||||
sizeof ( undi_get_information->CurrentNodeAddress ) );
|
||||
memcpy ( &undi_get_information->PermNodeAddress,
|
||||
pxe_netdev->ll_addr,
|
||||
pxe_netdev->hw_addr,
|
||||
sizeof ( undi_get_information->PermNodeAddress ) );
|
||||
undi_get_information->ROMAddress = 0;
|
||||
/* nic.rom_info->rom_segment; */
|
||||
|
||||
Reference in New Issue
Block a user