Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * Equalizer Load-balancer for serial network interfaces. | |
3 | * | |
4 | * (c) Copyright 1995 Simon "Guru Aleph-Null" Janes | |
5 | * NCM: Network and Communications Management, Inc. | |
6 | * | |
7 | * | |
8 | * This software may be used and distributed according to the terms | |
9 | * of the GNU General Public License, incorporated herein by reference. | |
10 | * | |
11 | * The author may be reached as simon@ncm.com, or C/O | |
12 | * NCM | |
13 | * Attn: Simon Janes | |
14 | * 6803 Whittier Ave | |
15 | * McLean VA 22101 | |
16 | * Phone: 1-703-847-0040 ext 103 | |
17 | */ | |
1da177e4 LT |
18 | #ifndef _LINUX_IF_EQL_H |
19 | #define _LINUX_IF_EQL_H | |
20 | ||
1da177e4 LT |
21 | |
22 | #include <linux/timer.h> | |
23 | #include <linux/spinlock.h> | |
607ca46e | 24 | #include <uapi/linux/if_eql.h> |
1da177e4 LT |
25 | |
26 | typedef struct slave { | |
27 | struct list_head list; | |
28 | struct net_device *dev; | |
08f0b22d | 29 | netdevice_tracker dev_tracker; |
1da177e4 LT |
30 | long priority; |
31 | long priority_bps; | |
32 | long priority_Bps; | |
33 | long bytes_queued; | |
34 | } slave_t; | |
35 | ||
36 | typedef struct slave_queue { | |
37 | spinlock_t lock; | |
38 | struct list_head all_slaves; | |
39 | int num_slaves; | |
40 | struct net_device *master_dev; | |
41 | } slave_queue_t; | |
42 | ||
43 | typedef struct equalizer { | |
44 | slave_queue_t queue; | |
45 | int min_slaves; | |
46 | int max_slaves; | |
1da177e4 LT |
47 | struct timer_list timer; |
48 | } equalizer_t; | |
49 | ||
1da177e4 | 50 | #endif /* _LINUX_EQL_H */ |