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> | |
5f10376b | 24 | #include <net/net_trackers.h> |
607ca46e | 25 | #include <uapi/linux/if_eql.h> |
1da177e4 LT |
26 | |
27 | typedef struct slave { | |
28 | struct list_head list; | |
29 | struct net_device *dev; | |
08f0b22d | 30 | netdevice_tracker dev_tracker; |
1da177e4 LT |
31 | long priority; |
32 | long priority_bps; | |
33 | long priority_Bps; | |
34 | long bytes_queued; | |
35 | } slave_t; | |
36 | ||
37 | typedef struct slave_queue { | |
38 | spinlock_t lock; | |
39 | struct list_head all_slaves; | |
40 | int num_slaves; | |
41 | struct net_device *master_dev; | |
42 | } slave_queue_t; | |
43 | ||
44 | typedef struct equalizer { | |
45 | slave_queue_t queue; | |
46 | int min_slaves; | |
47 | int max_slaves; | |
1da177e4 LT |
48 | struct timer_list timer; |
49 | } equalizer_t; | |
50 | ||
1da177e4 | 51 | #endif /* _LINUX_EQL_H */ |