aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/netdevice.h
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2010-03-19 00:00:23 -0400
committerDavid S. Miller <davem@davemloft.net>2010-03-21 21:31:34 -0400
commit32a806c194ea112cfab00f558482dd97bee5e44e (patch)
tree196f572deccc966b3e2682f293cf775b51007658 /include/linux/netdevice.h
parent755d0e77ac9c8d125388922dc33434ed5b2ebe80 (diff)
bonding: flush unicast and multicast lists when changing type
After the type change, addresses in unicast and multicast lists wouldn't make sense, not to mention possible different lenghts. So flush both lists here. Note "dev_addr_discard" will be very soon replaced by "dev_mc_flush" (once mc_list conversion will be done). Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netdevice.h')
-rw-r--r--include/linux/netdevice.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9fc6ee8e7508..c96c41e08e37 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1994,10 +1994,12 @@ extern int dev_unicast_delete(struct net_device *dev, void *addr);
1994extern int dev_unicast_add(struct net_device *dev, void *addr); 1994extern int dev_unicast_add(struct net_device *dev, void *addr);
1995extern int dev_unicast_sync(struct net_device *to, struct net_device *from); 1995extern int dev_unicast_sync(struct net_device *to, struct net_device *from);
1996extern void dev_unicast_unsync(struct net_device *to, struct net_device *from); 1996extern void dev_unicast_unsync(struct net_device *to, struct net_device *from);
1997extern void dev_unicast_flush(struct net_device *dev);
1997extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all); 1998extern int dev_mc_delete(struct net_device *dev, void *addr, int alen, int all);
1998extern int dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly); 1999extern int dev_mc_add(struct net_device *dev, void *addr, int alen, int newonly);
1999extern int dev_mc_sync(struct net_device *to, struct net_device *from); 2000extern int dev_mc_sync(struct net_device *to, struct net_device *from);
2000extern void dev_mc_unsync(struct net_device *to, struct net_device *from); 2001extern void dev_mc_unsync(struct net_device *to, struct net_device *from);
2002extern void dev_addr_discard(struct net_device *dev);
2001extern int __dev_addr_delete(struct dev_addr_list **list, int *count, void *addr, int alen, int all); 2003extern int __dev_addr_delete(struct dev_addr_list **list, int *count, void *addr, int alen, int all);
2002extern int __dev_addr_add(struct dev_addr_list **list, int *count, void *addr, int alen, int newonly); 2004extern int __dev_addr_add(struct dev_addr_list **list, int *count, void *addr, int alen, int newonly);
2003extern int __dev_addr_sync(struct dev_addr_list **to, int *to_count, struct dev_addr_list **from, int *from_count); 2005extern int __dev_addr_sync(struct dev_addr_list **to, int *to_count, struct dev_addr_list **from, int *from_count);