diff options
Diffstat (limited to 'drivers/net/bonding/bonding.h')
-rw-r--r-- | drivers/net/bonding/bonding.h | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h index 1433e91db0f7..d6d085480f21 100644 --- a/drivers/net/bonding/bonding.h +++ b/drivers/net/bonding/bonding.h | |||
@@ -29,6 +29,10 @@ | |||
29 | * 2005/05/05 - Jason Gabler <jygabler at lbl dot gov> | 29 | * 2005/05/05 - Jason Gabler <jygabler at lbl dot gov> |
30 | * - added "xmit_policy" kernel parameter for alternate hashing policy | 30 | * - added "xmit_policy" kernel parameter for alternate hashing policy |
31 | * support for mode 2 | 31 | * support for mode 2 |
32 | * | ||
33 | * 2005/09/27 - Mitch Williams <mitch.a.williams at intel dot com> | ||
34 | * Radheka Godse <radheka.godse at intel dot com> | ||
35 | * - Added bonding sysfs interface | ||
32 | */ | 36 | */ |
33 | 37 | ||
34 | #ifndef _LINUX_BONDING_H | 38 | #ifndef _LINUX_BONDING_H |
@@ -37,11 +41,12 @@ | |||
37 | #include <linux/timer.h> | 41 | #include <linux/timer.h> |
38 | #include <linux/proc_fs.h> | 42 | #include <linux/proc_fs.h> |
39 | #include <linux/if_bonding.h> | 43 | #include <linux/if_bonding.h> |
44 | #include <linux/kobject.h> | ||
40 | #include "bond_3ad.h" | 45 | #include "bond_3ad.h" |
41 | #include "bond_alb.h" | 46 | #include "bond_alb.h" |
42 | 47 | ||
43 | #define DRV_VERSION "2.6.5" | 48 | #define DRV_VERSION "3.0.0" |
44 | #define DRV_RELDATE "November 4, 2005" | 49 | #define DRV_RELDATE "November 8, 2005" |
45 | #define DRV_NAME "bonding" | 50 | #define DRV_NAME "bonding" |
46 | #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" | 51 | #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" |
47 | 52 | ||
@@ -152,6 +157,11 @@ struct bond_params { | |||
152 | u32 arp_targets[BOND_MAX_ARP_TARGETS]; | 157 | u32 arp_targets[BOND_MAX_ARP_TARGETS]; |
153 | }; | 158 | }; |
154 | 159 | ||
160 | struct bond_parm_tbl { | ||
161 | char *modename; | ||
162 | int mode; | ||
163 | }; | ||
164 | |||
155 | struct vlan_entry { | 165 | struct vlan_entry { |
156 | struct list_head vlan_list; | 166 | struct list_head vlan_list; |
157 | u32 vlan_ip; | 167 | u32 vlan_ip; |
@@ -159,7 +169,7 @@ struct vlan_entry { | |||
159 | }; | 169 | }; |
160 | 170 | ||
161 | struct slave { | 171 | struct slave { |
162 | struct net_device *dev; /* first - usefull for panic debug */ | 172 | struct net_device *dev; /* first - useful for panic debug */ |
163 | struct slave *next; | 173 | struct slave *next; |
164 | struct slave *prev; | 174 | struct slave *prev; |
165 | s16 delay; | 175 | s16 delay; |
@@ -185,7 +195,7 @@ struct slave { | |||
185 | * beforehand. | 195 | * beforehand. |
186 | */ | 196 | */ |
187 | struct bonding { | 197 | struct bonding { |
188 | struct net_device *dev; /* first - usefull for panic debug */ | 198 | struct net_device *dev; /* first - useful for panic debug */ |
189 | struct slave *first_slave; | 199 | struct slave *first_slave; |
190 | struct slave *curr_active_slave; | 200 | struct slave *curr_active_slave; |
191 | struct slave *current_arp_slave; | 201 | struct slave *current_arp_slave; |
@@ -255,6 +265,25 @@ extern inline void bond_set_slave_active_flags(struct slave *slave) | |||
255 | 265 | ||
256 | struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr); | 266 | 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); | 267 | int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev); |
268 | int bond_create(char *name, struct bond_params *params, struct bonding **newbond); | ||
269 | void bond_deinit(struct net_device *bond_dev); | ||
270 | int bond_create_sysfs(void); | ||
271 | void bond_destroy_sysfs(void); | ||
272 | void bond_destroy_sysfs_entry(struct bonding *bond); | ||
273 | int bond_create_sysfs_entry(struct bonding *bond); | ||
274 | int bond_create_slave_symlinks(struct net_device *master, struct net_device *slave); | ||
275 | void bond_destroy_slave_symlinks(struct net_device *master, struct net_device *slave); | ||
276 | int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev); | ||
277 | int bond_release(struct net_device *bond_dev, struct net_device *slave_dev); | ||
278 | int bond_sethwaddr(struct net_device *bond_dev, struct net_device *slave_dev); | ||
279 | void bond_mii_monitor(struct net_device *bond_dev); | ||
280 | void bond_loadbalance_arp_mon(struct net_device *bond_dev); | ||
281 | void bond_activebackup_arp_mon(struct net_device *bond_dev); | ||
282 | void bond_set_mode_ops(struct bonding *bond, int mode); | ||
283 | int bond_parse_parm(char *mode_arg, struct bond_parm_tbl *tbl); | ||
284 | const char *bond_mode_name(int mode); | ||
285 | void bond_select_active_slave(struct bonding *bond); | ||
286 | void bond_change_active_slave(struct bonding *bond, struct slave *new_active); | ||
258 | 287 | ||
259 | #endif /* _LINUX_BONDING_H */ | 288 | #endif /* _LINUX_BONDING_H */ |
260 | 289 | ||