diff options
author | Patrick McHardy <kaber@trash.net> | 2007-06-27 04:26:19 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-07-11 01:15:54 -0400 |
commit | bf742482d7a647c5c6f03f78eb35a862e159ecf5 (patch) | |
tree | 80a822df5fa5eb6b766489b1983c4dc83d4f7668 /include/linux/netdevice.h | |
parent | 75ebe8f73610636be8bbd8d73db883512850e6be (diff) |
[NET]: dev: introduce generic net_device address lists
Introduce struct dev_addr_list and list maintenance functions
based on dev_mc_list and the related functions. This will be
used by follow-up patches for both multicast and secondary
unicast addresses.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r-- | include/linux/netdevice.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 7a8f22fb4eee..aa389c77aa3e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -177,6 +177,14 @@ struct netif_rx_stats | |||
177 | 177 | ||
178 | DECLARE_PER_CPU(struct netif_rx_stats, netdev_rx_stat); | 178 | DECLARE_PER_CPU(struct netif_rx_stats, netdev_rx_stat); |
179 | 179 | ||
180 | struct dev_addr_list | ||
181 | { | ||
182 | struct dev_addr_list *next; | ||
183 | u8 da_addr[MAX_ADDR_LEN]; | ||
184 | u8 da_addrlen; | ||
185 | int da_users; | ||
186 | int da_gusers; | ||
187 | }; | ||
180 | 188 | ||
181 | /* | 189 | /* |
182 | * We tag multicasts with these structures. | 190 | * We tag multicasts with these structures. |
@@ -1008,6 +1016,9 @@ extern void dev_mc_upload(struct net_device *dev); | |||
1008 | extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all); | 1016 | extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all); |
1009 | extern int dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly); | 1017 | extern int dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly); |
1010 | extern void dev_mc_discard(struct net_device *dev); | 1018 | extern void dev_mc_discard(struct net_device *dev); |
1019 | extern int __dev_addr_delete(struct dev_addr_list **list, void *addr, int alen, int all); | ||
1020 | extern int __dev_addr_add(struct dev_addr_list **list, void *addr, int alen, int newonly); | ||
1021 | extern void __dev_addr_discard(struct dev_addr_list **list); | ||
1011 | extern void dev_set_promiscuity(struct net_device *dev, int inc); | 1022 | extern void dev_set_promiscuity(struct net_device *dev, int inc); |
1012 | extern void dev_set_allmulti(struct net_device *dev, int inc); | 1023 | extern void dev_set_allmulti(struct net_device *dev, int inc); |
1013 | extern void netdev_state_change(struct net_device *dev); | 1024 | extern void netdev_state_change(struct net_device *dev); |