diff options
author | Jiri Pirko <jpirko@redhat.com> | 2010-04-01 17:22:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-03 17:22:15 -0400 |
commit | 22bedad3ce112d5ca1eaf043d4990fa2ed698c87 (patch) | |
tree | b6fba5688d48b1396f01d13ee53610dea7749c15 /drivers/net/niu.c | |
parent | a748ee2426817a95b1f03012d8f339c45c722ae1 (diff) |
net: convert multicast list to list_head
Converts the list and the core manipulating with it to be the same as uc_list.
+uses two functions for adding/removing mc address (normal and "global"
variant) instead of a function parameter.
+removes dev_mcast.c completely.
+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for
manipulation with lists on a sandbox (used in bonding and 80211 drivers)
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/niu.c')
-rw-r--r-- | drivers/net/niu.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/niu.c b/drivers/net/niu.c index 0678f3106cbc..7b52c466cf48 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c | |||
@@ -6313,7 +6313,6 @@ static void niu_set_rx_mode(struct net_device *dev) | |||
6313 | { | 6313 | { |
6314 | struct niu *np = netdev_priv(dev); | 6314 | struct niu *np = netdev_priv(dev); |
6315 | int i, alt_cnt, err; | 6315 | int i, alt_cnt, err; |
6316 | struct dev_addr_list *addr; | ||
6317 | struct netdev_hw_addr *ha; | 6316 | struct netdev_hw_addr *ha; |
6318 | unsigned long flags; | 6317 | unsigned long flags; |
6319 | u16 hash[16] = { 0, }; | 6318 | u16 hash[16] = { 0, }; |
@@ -6365,8 +6364,8 @@ static void niu_set_rx_mode(struct net_device *dev) | |||
6365 | for (i = 0; i < 16; i++) | 6364 | for (i = 0; i < 16; i++) |
6366 | hash[i] = 0xffff; | 6365 | hash[i] = 0xffff; |
6367 | } else if (!netdev_mc_empty(dev)) { | 6366 | } else if (!netdev_mc_empty(dev)) { |
6368 | netdev_for_each_mc_addr(addr, dev) { | 6367 | netdev_for_each_mc_addr(ha, dev) { |
6369 | u32 crc = ether_crc_le(ETH_ALEN, addr->da_addr); | 6368 | u32 crc = ether_crc_le(ETH_ALEN, ha->addr); |
6370 | 6369 | ||
6371 | crc >>= 24; | 6370 | crc >>= 24; |
6372 | hash[crc >> 4] |= (1 << (15 - (crc & 0xf))); | 6371 | hash[crc >> 4] |= (1 << (15 - (crc & 0xf))); |