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.h52
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
137struct bond_parm_tbl {
138 char *modename;
139 int mode;
140};
141
155struct vlan_entry { 142struct 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
161struct slave { 148struct 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 */
187struct bonding { 174struct 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
256struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr); 243struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr);
257int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev); 244int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb, struct net_device *slave_dev);
245int bond_create(char *name, struct bond_params *params, struct bonding **newbond);
246void bond_deinit(struct net_device *bond_dev);
247int bond_create_sysfs(void);
248void bond_destroy_sysfs(void);
249void bond_destroy_sysfs_entry(struct bonding *bond);
250int bond_create_sysfs_entry(struct bonding *bond);
251int bond_create_slave_symlinks(struct net_device *master, struct net_device *slave);
252void bond_destroy_slave_symlinks(struct net_device *master, struct net_device *slave);
253int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev);
254int bond_release(struct net_device *bond_dev, struct net_device *slave_dev);
255int bond_sethwaddr(struct net_device *bond_dev, struct net_device *slave_dev);
256void bond_mii_monitor(struct net_device *bond_dev);
257void bond_loadbalance_arp_mon(struct net_device *bond_dev);
258void bond_activebackup_arp_mon(struct net_device *bond_dev);
259void bond_set_mode_ops(struct bonding *bond, int mode);
260int bond_parse_parm(char *mode_arg, struct bond_parm_tbl *tbl);
261const char *bond_mode_name(int mode);
262void bond_select_active_slave(struct bonding *bond);
263void 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