diff options
Diffstat (limited to 'src/drivers/net')
-rw-r--r-- | src/drivers/net/3c90x.c | 2 | ||||
-rw-r--r-- | src/drivers/net/b44.c | 12 | ||||
-rw-r--r-- | src/drivers/net/e1000/e1000.c | 2 | ||||
-rw-r--r-- | src/drivers/net/etherfabric.c | 2 | ||||
-rw-r--r-- | src/drivers/net/ipoib.c | 66 | ||||
-rw-r--r-- | src/drivers/net/legacy.c | 2 | ||||
-rw-r--r-- | src/drivers/net/mtnic.c | 2 | ||||
-rw-r--r-- | src/drivers/net/natsemi.c | 2 | ||||
-rw-r--r-- | src/drivers/net/phantom/phantom.c | 10 | ||||
-rw-r--r-- | src/drivers/net/pnic.c | 2 | ||||
-rw-r--r-- | src/drivers/net/r8169.c | 4 | ||||
-rw-r--r-- | src/drivers/net/rtl8139.c | 2 | ||||
-rw-r--r-- | src/drivers/net/rtl818x/rtl818x.c | 2 | ||||
-rw-r--r-- | src/drivers/net/sky2.c | 4 |
14 files changed, 48 insertions, 66 deletions
diff --git a/src/drivers/net/3c90x.c b/src/drivers/net/3c90x.c index 83b70832..aeed6332 100644 --- a/src/drivers/net/3c90x.c +++ b/src/drivers/net/3c90x.c @@ -928,7 +928,7 @@ static int a3c90x_probe(struct pci_device *pci, /* load eeprom contents to inf_3c90x->eeprom */ a3c90x_internal_ReadEepromContents(inf_3c90x); - HWAddr = netdev->ll_addr; + HWAddr = netdev->hw_addr; /* Retrieve the Hardware address */ HWAddr[0] = inf_3c90x->eeprom[eepromHwAddrOffset + 0] >> 8; diff --git a/src/drivers/net/b44.c b/src/drivers/net/b44.c index 38c4746d..c48b3144 100644 --- a/src/drivers/net/b44.c +++ b/src/drivers/net/b44.c @@ -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; diff --git a/src/drivers/net/e1000/e1000.c b/src/drivers/net/e1000/e1000.c index faca1e07..af8e0936 100644 --- a/src/drivers/net/e1000/e1000.c +++ b/src/drivers/net/e1000/e1000.c @@ -853,7 +853,7 @@ e1000_probe ( struct pci_device *pdev, if ( e1000_read_mac_addr ( &adapter->hw ) ) DBG ( "EEPROM Read Error\n" ); - memcpy ( netdev->ll_addr, adapter->hw.mac_addr, ETH_ALEN ); + memcpy ( netdev->hw_addr, adapter->hw.mac_addr, ETH_ALEN ); /* print bus type/speed/width info */ { diff --git a/src/drivers/net/etherfabric.c b/src/drivers/net/etherfabric.c index ca4af502..c4296b9c 100644 --- a/src/drivers/net/etherfabric.c +++ b/src/drivers/net/etherfabric.c @@ -4181,7 +4181,7 @@ efab_probe ( struct pci_device *pci, if ( rc ) goto fail3; - memcpy ( netdev->ll_addr, efab->mac_addr, ETH_ALEN ); + memcpy ( netdev->hw_addr, efab->mac_addr, ETH_ALEN ); netdev_link_up ( netdev ); rc = register_netdev ( netdev ); diff --git a/src/drivers/net/ipoib.c b/src/drivers/net/ipoib.c index 3f149247..c2a6d349 100644 --- a/src/drivers/net/ipoib.c +++ b/src/drivers/net/ipoib.c @@ -608,38 +608,6 @@ static struct net_device_operations ipoib_operations = { }; /** - * Update IPoIB dynamic Infiniband parameters - * - * @v ipoib IPoIB device - * - * The Infiniband port GID and partition key will change at runtime, - * when the link is established (or lost). The MAC address is based - * on the port GID, and the broadcast GID is based on the partition - * key. This function recalculates these IPoIB device parameters. - */ -static void ipoib_set_ib_params ( struct ipoib_device *ipoib ) { - struct ib_device *ibdev = ipoib->ibdev; - struct net_device *netdev = ipoib->netdev; - struct ipoib_mac *mac; - - /* Calculate GID portion of MAC address based on port GID */ - mac = ( ( struct ipoib_mac * ) netdev->ll_addr ); - memcpy ( &mac->gid, &ibdev->gid, sizeof ( mac->gid ) ); - - /* Calculate broadcast GID based on partition key */ - memcpy ( &ipoib->broadcast, &ipoib_broadcast, - sizeof ( ipoib->broadcast ) ); - ipoib->broadcast.gid.u.words[2] = htons ( ibdev->pkey ); - - /* Set net device link state to reflect Infiniband link state */ - if ( ib_link_ok ( ibdev ) ) { - netdev_link_up ( netdev ); - } else { - netdev_link_down ( netdev ); - } -} - -/** * Handle link status change * * @v ibdev Infiniband device @@ -647,15 +615,25 @@ static void ipoib_set_ib_params ( struct ipoib_device *ipoib ) { void ipoib_link_state_changed ( struct ib_device *ibdev ) { struct net_device *netdev = ib_get_ownerdata ( ibdev ); struct ipoib_device *ipoib = netdev->priv; + struct ipoib_mac *mac = ( ( struct ipoib_mac * ) netdev->ll_addr ); int rc; /* Leave existing broadcast group */ ipoib_leave_broadcast_group ( ipoib ); - /* Update MAC address and broadcast GID based on new port GID - * and partition key. - */ - ipoib_set_ib_params ( ipoib ); + /* Update MAC address based on potentially-new GID prefix */ + memcpy ( &mac->gid.u.half[0], &ibdev->gid.u.half[0], + sizeof ( mac->gid.u.half[0] ) ); + + /* Update broadcast GID based on potentially-new partition key */ + ipoib->broadcast.gid.u.words[2] = htons ( ibdev->pkey ); + + /* Set net device link state to reflect Infiniband link state */ + if ( ib_link_ok ( ibdev ) ) { + netdev_link_up ( netdev ); + } else { + netdev_link_down ( netdev ); + } /* Join new broadcast group */ if ( ib_link_ok ( ibdev ) && @@ -675,6 +653,7 @@ void ipoib_link_state_changed ( struct ib_device *ibdev ) { int ipoib_probe ( struct ib_device *ibdev ) { struct net_device *netdev; struct ipoib_device *ipoib; + struct ipoib_mac *mac; int rc; /* Allocate network device */ @@ -685,16 +664,19 @@ int ipoib_probe ( struct ib_device *ibdev ) { ipoib = netdev->priv; ib_set_ownerdata ( ibdev, netdev ); netdev->dev = ibdev->dev; - netdev->ll_broadcast = ( ( uint8_t * ) &ipoib->broadcast ); memset ( ipoib, 0, sizeof ( *ipoib ) ); ipoib->netdev = netdev; ipoib->ibdev = ibdev; - /* Calculate as much of the broadcast GID and the MAC address - * as we can. We won't know either of these in full until we - * have link-up. - */ - ipoib_set_ib_params ( ipoib ); + /* Extract hardware address */ + mac = ( ( struct ipoib_mac * ) netdev->hw_addr ); + memcpy ( &mac->gid.u.half[1], &ibdev->gid.u.half[1], + sizeof ( mac->gid.u.half[1] ) ); + + /* Set default broadcast address */ + memcpy ( &ipoib->broadcast, &ipoib_broadcast, + sizeof ( ipoib->broadcast ) ); + netdev->ll_broadcast = ( ( uint8_t * ) &ipoib->broadcast ); /* Register network device */ if ( ( rc = register_netdev ( netdev ) ) != 0 ) diff --git a/src/drivers/net/legacy.c b/src/drivers/net/legacy.c index c4bfc96a..79b3580a 100644 --- a/src/drivers/net/legacy.c +++ b/src/drivers/net/legacy.c @@ -99,7 +99,7 @@ int legacy_probe ( void *hwdev, set_drvdata ( hwdev, netdev ); netdev->dev = dev; - nic.node_addr = netdev->ll_addr; + nic.node_addr = netdev->hw_addr; nic.irqno = dev->desc.irq; if ( ! probe ( &nic, hwdev ) ) { diff --git a/src/drivers/net/mtnic.c b/src/drivers/net/mtnic.c index 7fe4b96f..d7ee8d2b 100644 --- a/src/drivers/net/mtnic.c +++ b/src/drivers/net/mtnic.c @@ -1814,7 +1814,7 @@ mtnic_probe(struct pci_device *pci, /* Program the MAC address */ mac = priv->mtnic->fw.mac[port_index]; for (mac_idx = 0; mac_idx < MAC_ADDRESS_SIZE; ++mac_idx) { - mtnic->netdev[port_index]->ll_addr[MAC_ADDRESS_SIZE - mac_idx - 1] = mac & 0xFF; + mtnic->netdev[port_index]->hw_addr[MAC_ADDRESS_SIZE - mac_idx - 1] = mac & 0xFF; mac = mac >> 8; } diff --git a/src/drivers/net/natsemi.c b/src/drivers/net/natsemi.c index 13adf2a7..8ca6271c 100644 --- a/src/drivers/net/natsemi.c +++ b/src/drivers/net/natsemi.c @@ -204,7 +204,7 @@ static int natsemi_probe (struct pci_device *pci, last = prev_bytes[1] >> 7; for ( i = 0 ; i < ETH_ALEN ; i++ ) { last1 = ll_addr_encoded[i] >> 7; - netdev->ll_addr[i] = ll_addr_encoded[i] << 1 | last; + netdev->hw_addr[i] = ll_addr_encoded[i] << 1 | last; last = last1; } diff --git a/src/drivers/net/phantom/phantom.c b/src/drivers/net/phantom/phantom.c index 85949c29..4c3f22f6 100644 --- a/src/drivers/net/phantom/phantom.c +++ b/src/drivers/net/phantom/phantom.c @@ -1897,10 +1897,10 @@ static int phantom_init_cmdpeg ( struct phantom_nic *phantom ) { * Read Phantom MAC address * * @v phanton_port Phantom NIC - * @v ll_addr Buffer to fill with MAC address + * @v hw_addr Buffer to fill with MAC address */ static void phantom_get_macaddr ( struct phantom_nic *phantom, - uint8_t *ll_addr ) { + uint8_t *hw_addr ) { union { uint8_t mac_addr[2][ETH_ALEN]; uint32_t dwords[3]; @@ -1917,11 +1917,11 @@ static void phantom_get_macaddr ( struct phantom_nic *phantom, /* Copy out the relevant MAC address */ for ( i = 0 ; i < ETH_ALEN ; i++ ) { - ll_addr[ ETH_ALEN - i - 1 ] = + hw_addr[ ETH_ALEN - i - 1 ] = u.mac_addr[ phantom->port & 1 ][i]; } DBGC ( phantom, "Phantom %p MAC address is %s\n", - phantom, eth_ntoa ( ll_addr ) ); + phantom, eth_ntoa ( hw_addr ) ); } /** @@ -2045,7 +2045,7 @@ static int phantom_probe ( struct pci_device *pci, goto err_init_rcvpeg; /* Read MAC addresses */ - phantom_get_macaddr ( phantom, netdev->ll_addr ); + phantom_get_macaddr ( phantom, netdev->hw_addr ); /* Skip if boot disabled on NIC */ if ( ( rc = phantom_check_boot_enable ( phantom ) ) != 0 ) diff --git a/src/drivers/net/pnic.c b/src/drivers/net/pnic.c index 4b728f4e..cbc67906 100644 --- a/src/drivers/net/pnic.c +++ b/src/drivers/net/pnic.c @@ -250,7 +250,7 @@ static int pnic_probe ( struct pci_device *pci, /* Get MAC address */ status = pnic_command ( pnic, PNIC_CMD_READ_MAC, NULL, 0, - netdev->ll_addr, ETH_ALEN, NULL ); + netdev->hw_addr, ETH_ALEN, NULL ); /* Mark as link up; PNIC has no concept of link state */ netdev_link_up ( netdev ); diff --git a/src/drivers/net/r8169.c b/src/drivers/net/r8169.c index 08c44a28..b4687820 100644 --- a/src/drivers/net/r8169.c +++ b/src/drivers/net/r8169.c @@ -2209,9 +2209,9 @@ rtl8169_probe ( struct pci_device *pdev, const struct pci_device_id *ent ) /* Get MAC address */ for ( i = 0; i < MAC_ADDR_LEN; i++ ) - netdev->ll_addr[i] = RTL_R8 ( MAC0 + i ); + netdev->hw_addr[i] = RTL_R8 ( MAC0 + i ); - DBG ( "%s\n", eth_ntoa ( netdev->ll_addr ) ); + DBG ( "%s\n", eth_ntoa ( netdev->hw_addr ) ); rtl8169_init_phy ( netdev, tp ); diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c index a4ee9692..754ce60b 100644 --- a/src/drivers/net/rtl8139.c +++ b/src/drivers/net/rtl8139.c @@ -525,7 +525,7 @@ static int rtl_probe ( struct pci_device *pci, /* Reset the NIC, set up EEPROM access and read MAC address */ rtl_reset ( netdev ); rtl_init_eeprom ( netdev ); - nvs_read ( &rtl->eeprom.nvs, EE_MAC, netdev->ll_addr, ETH_ALEN ); + nvs_read ( &rtl->eeprom.nvs, EE_MAC, netdev->hw_addr, ETH_ALEN ); /* Mark as link up; we don't yet handle link state */ netdev_link_up ( netdev ); diff --git a/src/drivers/net/rtl818x/rtl818x.c b/src/drivers/net/rtl818x/rtl818x.c index 672ff9c2..167409d8 100644 --- a/src/drivers/net/rtl818x/rtl818x.c +++ b/src/drivers/net/rtl818x/rtl818x.c @@ -813,7 +813,7 @@ static int rtl818x_probe(struct pci_device *pdev, free(hwinfo); DBG("rtl818x: Realtek RTL818%s (RF chip %s) with address %s\n", - chip_name, priv->rf->name, netdev_hwaddr(dev->netdev)); + chip_name, priv->rf->name, netdev_addr(dev->netdev)); return 0; diff --git a/src/drivers/net/sky2.c b/src/drivers/net/sky2.c index 59b0fafb..00940afe 100644 --- a/src/drivers/net/sky2.c +++ b/src/drivers/net/sky2.c @@ -2210,14 +2210,14 @@ static struct net_device *sky2_init_netdev(struct sky2_hw *hw, sky2->port = port; /* read the mac address */ - memcpy(dev->ll_addr, (void *)(hw->regs + B2_MAC_1 + port * 8), ETH_ALEN); + memcpy(dev->hw_addr, (void *)(hw->regs + B2_MAC_1 + port * 8), ETH_ALEN); return dev; } static void sky2_show_addr(struct net_device *dev) { - DBG2(PFX "%s: addr %s\n", dev->name, netdev_hwaddr(dev)); + DBG2(PFX "%s: addr %s\n", dev->name, netdev_addr(dev)); } #if DBGLVL_MAX |