diff options
Diffstat (limited to 'drivers/net/bonding/bonding.h')
-rw-r--r-- | drivers/net/bonding/bonding.h | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h index ffb668dd6d3b..b5eb8e65b309 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.5.0" |
26 | #define DRV_RELDATE "June 10, 2008" | 27 | #define DRV_RELDATE "November 4, 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 | ||
33 | extern 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; |
@@ -133,6 +137,7 @@ struct bond_params { | |||
133 | int updelay; | 137 | int updelay; |
134 | int downdelay; | 138 | int downdelay; |
135 | int lacp_fast; | 139 | int lacp_fast; |
140 | int ad_select; | ||
136 | char primary[IFNAMSIZ]; | 141 | char primary[IFNAMSIZ]; |
137 | __be32 arp_targets[BOND_MAX_ARP_TARGETS]; | 142 | __be32 arp_targets[BOND_MAX_ARP_TARGETS]; |
138 | }; | 143 | }; |
@@ -148,6 +153,9 @@ struct vlan_entry { | |||
148 | struct list_head vlan_list; | 153 | struct list_head vlan_list; |
149 | __be32 vlan_ip; | 154 | __be32 vlan_ip; |
150 | unsigned short vlan_id; | 155 | unsigned short vlan_id; |
156 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | ||
157 | struct in6_addr vlan_ipv6; | ||
158 | #endif | ||
151 | }; | 159 | }; |
152 | 160 | ||
153 | struct slave { | 161 | struct slave { |
@@ -195,6 +203,7 @@ struct bonding { | |||
195 | rwlock_t curr_slave_lock; | 203 | rwlock_t curr_slave_lock; |
196 | s8 kill_timers; | 204 | s8 kill_timers; |
197 | s8 send_grat_arp; | 205 | s8 send_grat_arp; |
206 | s8 send_unsol_na; | ||
198 | s8 setup_by_slave; | 207 | s8 setup_by_slave; |
199 | struct net_device_stats stats; | 208 | struct net_device_stats stats; |
200 | #ifdef CONFIG_PROC_FS | 209 | #ifdef CONFIG_PROC_FS |
@@ -218,6 +227,9 @@ struct bonding { | |||
218 | struct delayed_work arp_work; | 227 | struct delayed_work arp_work; |
219 | struct delayed_work alb_work; | 228 | struct delayed_work alb_work; |
220 | struct delayed_work ad_work; | 229 | struct delayed_work ad_work; |
230 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | ||
231 | struct in6_addr master_ipv6; | ||
232 | #endif | ||
221 | }; | 233 | }; |
222 | 234 | ||
223 | /** | 235 | /** |
@@ -341,5 +353,24 @@ extern struct bond_parm_tbl xmit_hashtype_tbl[]; | |||
341 | extern struct bond_parm_tbl arp_validate_tbl[]; | 353 | extern struct bond_parm_tbl arp_validate_tbl[]; |
342 | extern struct bond_parm_tbl fail_over_mac_tbl[]; | 354 | extern struct bond_parm_tbl fail_over_mac_tbl[]; |
343 | 355 | ||
356 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | ||
357 | void bond_send_unsolicited_na(struct bonding *bond); | ||
358 | void bond_register_ipv6_notifier(void); | ||
359 | void bond_unregister_ipv6_notifier(void); | ||
360 | #else | ||
361 | static inline void bond_send_unsolicited_na(struct bonding *bond) | ||
362 | { | ||
363 | return; | ||
364 | } | ||
365 | static inline void bond_register_ipv6_notifier(void) | ||
366 | { | ||
367 | return; | ||
368 | } | ||
369 | static inline void bond_unregister_ipv6_notifier(void) | ||
370 | { | ||
371 | return; | ||
372 | } | ||
373 | #endif | ||
374 | |||
344 | #endif /* _LINUX_BONDING_H */ | 375 | #endif /* _LINUX_BONDING_H */ |
345 | 376 | ||