diff options
Diffstat (limited to 'drivers/net/bonding/bonding.h')
-rw-r--r-- | drivers/net/bonding/bonding.h | 52 |
1 files changed, 29 insertions, 23 deletions
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h index 1433e91db0f7..015c7f1d1bc0 100644 --- a/drivers/net/bonding/bonding.h +++ b/drivers/net/bonding/bonding.h | |||
@@ -10,25 +10,6 @@ | |||
10 | * This software may be used and distributed according to the terms | 10 | * This software may be used and distributed according to the terms |
11 | * of the GNU Public License, incorporated herein by reference. | 11 | * of the GNU Public License, incorporated herein by reference. |
12 | * | 12 | * |
13 | * | ||
14 | * 2003/03/18 - Amir Noam <amir.noam at intel dot com>, | ||
15 | * Tsippy Mendelson <tsippy.mendelson at intel dot com> and | ||
16 | * Shmulik Hen <shmulik.hen at intel dot com> | ||
17 | * - Added support for IEEE 802.3ad Dynamic link aggregation mode. | ||
18 | * | ||
19 | * 2003/05/01 - Tsippy Mendelson <tsippy.mendelson at intel dot com> and | ||
20 | * Amir Noam <amir.noam at intel dot com> | ||
21 | * - Code beautification and style changes (mainly in comments). | ||
22 | * | ||
23 | * 2003/05/01 - Shmulik Hen <shmulik.hen at intel dot com> | ||
24 | * - Added support for Transmit load balancing mode. | ||
25 | * | ||
26 | * 2003/12/01 - Shmulik Hen <shmulik.hen at intel dot com> | ||
27 | * - Code cleanup and style changes | ||
28 | * | ||
29 | * 2005/05/05 - Jason Gabler <jygabler at lbl dot gov> | ||
30 | * - added "xmit_policy" kernel parameter for alternate hashing policy | ||
31 | * support for mode 2 | ||
32 | */ | 13 | */ |
33 | 14 | ||
34 | #ifndef _LINUX_BONDING_H | 15 | #ifndef _LINUX_BONDING_H |
@@ -37,11 +18,12 @@ | |||
37 | #include <linux/timer.h> | 18 | #include <linux/timer.h> |
38 | #include <linux/proc_fs.h> | 19 | #include <linux/proc_fs.h> |
39 | #include <linux/if_bonding.h> | 20 | #include <linux/if_bonding.h> |
21 | #include <linux/kobject.h> | ||
40 | #include "bond_3ad.h" | 22 | #include "bond_3ad.h" |
41 | #include "bond_alb.h" | 23 | #include "bond_alb.h" |
42 | 24 | ||
43 | #define DRV_VERSION "2.6.5" | 25 | #define DRV_VERSION "3.0.0" |
44 | #define DRV_RELDATE "November 4, 2005" | 26 | #define DRV_RELDATE "November 8, 2005" |
45 | #define DRV_NAME "bonding" | 27 | #define DRV_NAME "bonding" |
46 | #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" | 28 | #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" |
47 | 29 | ||
@@ -152,6 +134,11 @@ struct bond_params { | |||
152 | u32 arp_targets[BOND_MAX_ARP_TARGETS]; | 134 | u32 arp_targets[BOND_MAX_ARP_TARGETS]; |
153 | }; | 135 | }; |
154 | 136 | ||
137 | struct bond_parm_tbl { | ||
138 | char *modename; | ||
139 | int mode; | ||
140 | }; | ||
141 | |||
155 | struct vlan_entry { | 142 | struct vlan_entry { |
156 | struct list_head vlan_list; | 143 | struct list_head vlan_list; |
157 | u32 vlan_ip; | 144 | u32 vlan_ip; |
@@ -159,7 +146,7 @@ struct vlan_entry { | |||
159 | }; | 146 | }; |
160 | 147 | ||
161 | struct slave { | 148 | struct slave { |
162 | struct net_device *dev; /* first - usefull for panic debug */ | 149 | struct net_device *dev; /* first - useful for panic debug */ |
163 | struct slave *next; | 150 | struct slave *next; |
164 | struct slave *prev; | 151 | struct slave *prev; |
165 | s16 delay; | 152 | s16 delay; |
@@ -185,7 +172,7 @@ struct slave { | |||
185 | * beforehand. | 172 | * beforehand. |
186 | */ | 173 | */ |
187 | struct bonding { | 174 | struct bonding { |
188 | struct net_device *dev; /* first - usefull for panic debug */ | 175 | struct net_device *dev; /* first - useful for panic debug */ |
189 | struct slave *first_slave; | 176 | struct slave *first_slave; |
190 | struct slave *curr_active_slave; | 177 | struct slave *curr_active_slave; |
191 | struct slave *current_arp_slave; | 178 | struct slave *current_arp_slave; |
@@ -255,6 +242,25 @@ extern inline void bond_set_slave_active_flags(struct slave *slave) | |||
255 | 242 | ||
256 | struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr); | 243 | struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr); |
257 | int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev); | 244 | int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev); |
245 | int bond_create(char *name, struct bond_params *params, struct bonding **newbond); | ||
246 | void bond_deinit(struct net_device *bond_dev); | ||
247 | int bond_create_sysfs(void); | ||
248 | void bond_destroy_sysfs(void); | ||
249 | void bond_destroy_sysfs_entry(struct bonding *bond); | ||
250 | int bond_create_sysfs_entry(struct bonding *bond); | ||
251 | int bond_create_slave_symlinks(struct net_device *master, struct net_device *slave); | ||
252 | void bond_destroy_slave_symlinks(struct net_device *master, struct net_device *slave); | ||
253 | int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev); | ||
254 | int bond_release(struct net_device *bond_dev, struct net_device *slave_dev); | ||
255 | int bond_sethwaddr(struct net_device *bond_dev, struct net_device *slave_dev); | ||
256 | void bond_mii_monitor(struct net_device *bond_dev); | ||
257 | void bond_loadbalance_arp_mon(struct net_device *bond_dev); | ||
258 | void bond_activebackup_arp_mon(struct net_device *bond_dev); | ||
259 | void bond_set_mode_ops(struct bonding *bond, int mode); | ||
260 | int bond_parse_parm(char *mode_arg, struct bond_parm_tbl *tbl); | ||
261 | const char *bond_mode_name(int mode); | ||
262 | void bond_select_active_slave(struct bonding *bond); | ||
263 | void bond_change_active_slave(struct bonding *bond, struct slave *new_active); | ||
258 | 264 | ||
259 | #endif /* _LINUX_BONDING_H */ | 265 | #endif /* _LINUX_BONDING_H */ |
260 | 266 | ||