Blame view

include/linux/if_eql.h 1.07 KB
81f7e3824   Eric Lee   Initial Release, ...
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
  /*
   * Equalizer Load-balancer for serial network interfaces.
   *
   * (c) Copyright 1995 Simon "Guru Aleph-Null" Janes
   * NCM: Network and Communications Management, Inc.
   *
   *
   *	This software may be used and distributed according to the terms
   *	of the GNU General Public License, incorporated herein by reference.
   * 
   * The author may be reached as simon@ncm.com, or C/O
   *    NCM
   *    Attn: Simon Janes
   *    6803 Whittier Ave
   *    McLean VA 22101
   *    Phone: 1-703-847-0040 ext 103
   */
  #ifndef _LINUX_IF_EQL_H
  #define _LINUX_IF_EQL_H
  
  
  #include <linux/timer.h>
  #include <linux/spinlock.h>
  #include <uapi/linux/if_eql.h>
  
  typedef struct slave {
  	struct list_head	list;
  	struct net_device	*dev;
  	long			priority;
  	long			priority_bps;
  	long			priority_Bps;
  	long			bytes_queued;
  } slave_t;
  
  typedef struct slave_queue {
  	spinlock_t		lock;
  	struct list_head	all_slaves;
  	int			num_slaves;
  	struct net_device	*master_dev;
  } slave_queue_t;
  
  typedef struct equalizer {
  	slave_queue_t		queue;
  	int			min_slaves;
  	int			max_slaves;
  	struct timer_list	timer;
  } equalizer_t;  
  
  #endif /* _LINUX_EQL_H */