]> bbs.cooldavid.org Git - net-next-2.6.git/blame - include/linux/if_shaper.h
[NET]: Move hardware header operations out of netdevice.
[net-next-2.6.git] / include / linux / if_shaper.h
CommitLineData
1da177e4
LT
1#ifndef __LINUX_SHAPER_H
2#define __LINUX_SHAPER_H
3
4#ifdef __KERNEL__
5
6#define SHAPER_QLEN 10
7/*
8 * This is a bit speed dependent (read it shouldn't be a constant!)
9 *
10 * 5 is about right for 28.8 upwards. Below that double for every
11 * halving of speed or so. - ie about 20 for 9600 baud.
12 */
13#define SHAPER_LATENCY (5*HZ)
14#define SHAPER_MAXSLIP 2
15#define SHAPER_BURST (HZ/50) /* Good for >128K then */
16
17struct shaper
18{
19 struct sk_buff_head sendq;
20 __u32 bytespertick;
21 __u32 bitspersec;
22 __u32 shapelatency;
23 __u32 shapeclock;
24 unsigned long recovery; /* Time we can next clock a packet out on
25 an empty queue */
bc971dee 26 spinlock_t lock;
1da177e4 27 struct net_device *dev;
1da177e4 28 struct net_device_stats* (*get_stats)(struct net_device *dev);
1da177e4
LT
29 struct timer_list timer;
30};
31
32#endif
33
34#define SHAPER_SET_DEV 0x0001
35#define SHAPER_SET_SPEED 0x0002
36#define SHAPER_GET_DEV 0x0003
37#define SHAPER_GET_SPEED 0x0004
38
39struct shaperconf
40{
41 __u16 ss_cmd;
42 union
43 {
44 char ssu_name[14];
45 __u32 ssu_speed;
46 } ss_u;
47#define ss_speed ss_u.ssu_speed
48#define ss_name ss_u.ssu_name
49};
50
51#endif