[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:
Michael Brown
2009-08-11 20:19:53 +01:00
parent b3db99a38d
commit 37a0aab4ff
22 changed files with 71 additions and 82 deletions

View File

@@ -48,7 +48,7 @@ int dhcp ( struct net_device *netdev ) {
return rc;
/* Perform DHCP */
printf ( "DHCP (%s %s)", netdev->name, netdev_hwaddr ( netdev ) );
printf ( "DHCP (%s %s)", netdev->name, netdev_addr ( netdev ) );
if ( ( rc = start_dhcp ( &monojob, netdev ) ) == 0 )
rc = monojob_wait ( "" );

View File

@@ -89,7 +89,7 @@ static void ifstat_errors ( struct net_device_stats *stats,
void ifstat ( struct net_device *netdev ) {
printf ( "%s: %s on %s (%s)\n"
" [Link:%s, TX:%d TXE:%d RX:%d RXE:%d]\n",
netdev->name, netdev_hwaddr ( netdev ), netdev->dev->name,
netdev->name, netdev_addr ( netdev ), netdev->dev->name,
( ( netdev->state & NETDEV_OPEN ) ? "open" : "closed" ),
( netdev_link_ok ( netdev ) ? "up" : "down" ),
netdev->tx_stats.good, netdev->tx_stats.bad,