aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-15 03:08:33 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-15 03:08:33 -0400
commitf1f28aa3510ddb84c966bac65611bb866c77a092 (patch)
treedc8509a61667c52ee43df64bf69566569538b691
parentf66ac03d497c162c70cd0ccc802ce1777073cdf3 (diff)
netdev: Add addr_list_lock to struct net_device.
This will be used to protect the per-device unicast and multicast address lists, as well as the callbacks into the drivers which configure such state such as ->set_rx_mode() and ->set_multicast_list(). Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/netdevice.h1
-rw-r--r--net/core/dev.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index ba5c4639ea91..fd0365219181 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -609,6 +609,7 @@ struct net_device
609 unsigned char addr_len; /* hardware address length */ 609 unsigned char addr_len; /* hardware address length */
610 unsigned short dev_id; /* for shared network cards */ 610 unsigned short dev_id; /* for shared network cards */
611 611
612 spinlock_t addr_list_lock;
612 struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */ 613 struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */
613 int uc_count; /* Number of installed ucasts */ 614 int uc_count; /* Number of installed ucasts */
614 int uc_promisc; 615 int uc_promisc;
diff --git a/net/core/dev.c b/net/core/dev.c
index feaab4898a5b..d933d1bfa6fa 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3836,6 +3836,7 @@ int register_netdevice(struct net_device *dev)
3836 BUG_ON(!dev_net(dev)); 3836 BUG_ON(!dev_net(dev));
3837 net = dev_net(dev); 3837 net = dev_net(dev);
3838 3838
3839 spin_lock_init(&dev->addr_list_lock);
3839 netdev_init_queue_locks(dev); 3840 netdev_init_queue_locks(dev);
3840 3841
3841 dev->iflink = -1; 3842 dev->iflink = -1;