diff options
author | Michael Brown <mcb30@etherboot.org> | 2009-08-11 20:19:53 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2009-08-12 00:19:14 +0100 |
commit | 37a0aab4ff2c86f4d109d4cd479535be97d07a94 (patch) | |
tree | 5a2f06a22cf2c647b36d254fc1699072c3c88392 /src/interface/efi/efi_snp.c | |
parent | b3db99a38d8822f29eae6f67ee6034c57284d06f (diff) | |
download | ipxe-37a0aab4ff2c86f4d109d4cd479535be97d07a94.tar.gz |
[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().
Diffstat (limited to 'src/interface/efi/efi_snp.c')
-rw-r--r-- | src/interface/efi/efi_snp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/interface/efi/efi_snp.c b/src/interface/efi/efi_snp.c index f96984fa3..008303431 100644 --- a/src/interface/efi/efi_snp.c +++ b/src/interface/efi/efi_snp.c @@ -130,7 +130,7 @@ static void efi_snp_set_mode ( struct efi_snp_device *snpdev ) { assert ( ll_addr_len <= sizeof ( mode->CurrentAddress ) ); memcpy ( &mode->CurrentAddress, netdev->ll_addr, ll_addr_len ); memcpy ( &mode->BroadcastAddress, netdev->ll_broadcast, ll_addr_len ); - memcpy ( &mode->PermanentAddress, netdev->ll_addr, ll_addr_len ); + memcpy ( &mode->PermanentAddress, netdev->hw_addr, ll_addr_len ); mode->IfType = ntohs ( netdev->ll_protocol->ll_proto ); mode->MacAddressChangeable = TRUE; mode->MediaPresentSupported = TRUE; |