Viewing file: if_eql.h (1.79 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* * 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
#define EQL_DEFAULT_SLAVE_PRIORITY 28800 #define EQL_DEFAULT_MAX_SLAVES 4 #define EQL_DEFAULT_MTU 576 #define EQL_DEFAULT_RESCHED_IVAL 100
#define EQL_ENSLAVE (SIOCDEVPRIVATE) #define EQL_EMANCIPATE (SIOCDEVPRIVATE + 1)
#define EQL_GETSLAVECFG (SIOCDEVPRIVATE + 2) #define EQL_SETSLAVECFG (SIOCDEVPRIVATE + 3)
#define EQL_GETMASTRCFG (SIOCDEVPRIVATE + 4) #define EQL_SETMASTRCFG (SIOCDEVPRIVATE + 5)
#ifdef __KERNEL__
#include <linux/timer.h> #include <linux/spinlock.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 /* __KERNEL__ */
typedef struct master_config { char master_name[16]; int max_slaves; int min_slaves; } master_config_t;
typedef struct slave_config { char slave_name[16]; long priority; } slave_config_t;
typedef struct slaving_request { char slave_name[16]; long priority; } slaving_request_t;
#endif /* _LINUX_EQL_H */
|