if_eql.h (1132B)
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 */ 18#ifndef _LINUX_IF_EQL_H 19#define _LINUX_IF_EQL_H 20 21 22#include <linux/timer.h> 23#include <linux/spinlock.h> 24#include <uapi/linux/if_eql.h> 25 26typedef struct slave { 27 struct list_head list; 28 struct net_device *dev; 29 netdevice_tracker dev_tracker; 30 long priority; 31 long priority_bps; 32 long priority_Bps; 33 long bytes_queued; 34} slave_t; 35 36typedef 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 43typedef struct equalizer { 44 slave_queue_t queue; 45 int min_slaves; 46 int max_slaves; 47 struct timer_list timer; 48} equalizer_t; 49 50#endif /* _LINUX_EQL_H */