File: if_bonding.h

package info (click to toggle)
kernel-source-2.2.19 2.2.19.1-4woody1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 92,100 kB
  • ctags: 276,892
  • sloc: ansic: 1,710,384; asm: 58,709; makefile: 10,198; sh: 2,398; perl: 907; tcl: 570; lisp: 218; cpp: 186; awk: 133; sed: 72
file content (59 lines) | stat: -rw-r--r-- 1,277 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
 * Bond several ethernet interfaces into a Cisco, running 'Etherchannel'.
 *
 * 
 * Portions are (c) Copyright 1995 Simon "Guru Aleph-Null" Janes
 * NCM: Network and Communications Management, Inc.
 *
 * BUT, I'm the one who modified it for ethernet, so:
 * (c) Copyright 1999, Thomas Davis, tadavis@lbl.gov
 *
 *	This software may be used and distributed according to the terms
 *	of the GNU Public License, incorporated herein by reference.
 * 
 */

#ifndef _LINUX_IF_BONDING_H
#define _LINUX_IF_BONDING_H

#include <linux/timer.h>

#define BOND_ENSLAVE     (SIOCDEVPRIVATE)
#define BOND_RELEASE     (SIOCDEVPRIVATE + 1)
#define BOND_SETHWADDR   (SIOCDEVPRIVATE + 2)

typedef struct slave {
	struct device *dev;
	struct slave *next;
	struct slave *prev;
} slave_t;

typedef struct slave_queue {
	slave_t *head;
	slave_t *tail;
	slave_t *current_slave;
	int num_slaves;
	struct device *master_dev;
	char lock;
} slave_queue_t;

typedef struct bonding {
	slave_queue_t *queue;
	int min_slaves;
	int max_slaves;
	struct net_device_stats *stats;
	struct timer_list timer;
	char timer_on;
} bonding_t;  

#endif /* _LINUX_BOND_H */

/*
 * Local variables:
 *  version-control: t
 *  kept-new-versions: 5
 *  c-indent-level: 8
 *  c-basic-offset: 8
 *  tab-width: 8
 * End:
 */