aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bonding.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bonding/bonding.h')
-rw-r--r--drivers/net/bonding/bonding.h34
1 files changed, 32 insertions, 2 deletions
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index ffb668dd6d3b..0491c7c2645b 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -19,16 +19,19 @@
19#include <linux/proc_fs.h> 19#include <linux/proc_fs.h>
20#include <linux/if_bonding.h> 20#include <linux/if_bonding.h>
21#include <linux/kobject.h> 21#include <linux/kobject.h>
22#include <linux/in6.h>
22#include "bond_3ad.h" 23#include "bond_3ad.h"
23#include "bond_alb.h" 24#include "bond_alb.h"
24 25
25#define DRV_VERSION "3.3.0" 26#define DRV_VERSION "3.4.0"
26#define DRV_RELDATE "June 10, 2008" 27#define DRV_RELDATE "October 7, 2008"
27#define DRV_NAME "bonding" 28#define DRV_NAME "bonding"
28#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" 29#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
29 30
30#define BOND_MAX_ARP_TARGETS 16 31#define BOND_MAX_ARP_TARGETS 16
31 32
33extern struct list_head bond_dev_list;
34
32#ifdef BONDING_DEBUG 35#ifdef BONDING_DEBUG
33#define dprintk(fmt, args...) \ 36#define dprintk(fmt, args...) \
34 printk(KERN_DEBUG \ 37 printk(KERN_DEBUG \
@@ -126,6 +129,7 @@ struct bond_params {
126 int xmit_policy; 129 int xmit_policy;
127 int miimon; 130 int miimon;
128 int num_grat_arp; 131 int num_grat_arp;
132 int num_unsol_na;
129 int arp_interval; 133 int arp_interval;
130 int arp_validate; 134 int arp_validate;
131 int use_carrier; 135 int use_carrier;
@@ -148,6 +152,9 @@ struct vlan_entry {
148 struct list_head vlan_list; 152 struct list_head vlan_list;
149 __be32 vlan_ip; 153 __be32 vlan_ip;
150 unsigned short vlan_id; 154 unsigned short vlan_id;
155#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
156 struct in6_addr vlan_ipv6;
157#endif
151}; 158};
152 159
153struct slave { 160struct slave {
@@ -195,6 +202,7 @@ struct bonding {
195 rwlock_t curr_slave_lock; 202 rwlock_t curr_slave_lock;
196 s8 kill_timers; 203 s8 kill_timers;
197 s8 send_grat_arp; 204 s8 send_grat_arp;
205 s8 send_unsol_na;
198 s8 setup_by_slave; 206 s8 setup_by_slave;
199 struct net_device_stats stats; 207 struct net_device_stats stats;
200#ifdef CONFIG_PROC_FS 208#ifdef CONFIG_PROC_FS
@@ -218,6 +226,9 @@ struct bonding {
218 struct delayed_work arp_work; 226 struct delayed_work arp_work;
219 struct delayed_work alb_work; 227 struct delayed_work alb_work;
220 struct delayed_work ad_work; 228 struct delayed_work ad_work;
229#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
230 struct in6_addr master_ipv6;
231#endif
221}; 232};
222 233
223/** 234/**
@@ -341,5 +352,24 @@ extern struct bond_parm_tbl xmit_hashtype_tbl[];
341extern struct bond_parm_tbl arp_validate_tbl[]; 352extern struct bond_parm_tbl arp_validate_tbl[];
342extern struct bond_parm_tbl fail_over_mac_tbl[]; 353extern struct bond_parm_tbl fail_over_mac_tbl[];
343 354
355#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
356void bond_send_unsolicited_na(struct bonding *bond);
357void bond_register_ipv6_notifier(void);
358void bond_unregister_ipv6_notifier(void);
359#else
360static inline void bond_send_unsolicited_na(struct bonding *bond)
361{
362 return;
363}
364static inline void bond_register_ipv6_notifier(void)
365{
366 return;
367}
368static inline void bond_unregister_ipv6_notifier(void)
369{
370 return;
371}
372#endif
373
344#endif /* _LINUX_BONDING_H */ 374#endif /* _LINUX_BONDING_H */
345 375