linux/include/linux/if_eql.h
<<
>>
Prefs
   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        long                    priority;
  30        long                    priority_bps;
  31        long                    priority_Bps;
  32        long                    bytes_queued;
  33} slave_t;
  34
  35typedef struct slave_queue {
  36        spinlock_t              lock;
  37        struct list_head        all_slaves;
  38        int                     num_slaves;
  39        struct net_device       *master_dev;
  40} slave_queue_t;
  41
  42typedef struct equalizer {
  43        slave_queue_t           queue;
  44        int                     min_slaves;
  45        int                     max_slaves;
  46        struct timer_list       timer;
  47} equalizer_t;  
  48
  49#endif /* _LINUX_EQL_H */
  50