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>
This commit is contained in:
David S. Miller 2008-07-15 00:08:33 -07:00
Родитель f66ac03d49
Коммит f1f28aa351
2 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -609,6 +609,7 @@ struct net_device
unsigned char addr_len; /* hardware address length */ unsigned char addr_len; /* hardware address length */
unsigned short dev_id; /* for shared network cards */ unsigned short dev_id; /* for shared network cards */
spinlock_t addr_list_lock;
struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */ struct dev_addr_list *uc_list; /* Secondary unicast mac addresses */
int uc_count; /* Number of installed ucasts */ int uc_count; /* Number of installed ucasts */
int uc_promisc; int uc_promisc;

Просмотреть файл

@ -3836,6 +3836,7 @@ int register_netdevice(struct net_device *dev)
BUG_ON(!dev_net(dev)); BUG_ON(!dev_net(dev));
net = dev_net(dev); net = dev_net(dev);
spin_lock_init(&dev->addr_list_lock);
netdev_init_queue_locks(dev); netdev_init_queue_locks(dev);
dev->iflink = -1; dev->iflink = -1;