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