1 #ifndef __LINUX_SHAPER_H
2 #define __LINUX_SHAPER_H
8 * This is a bit speed dependent (read it shouldn't be a constant!)
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.
13 #define SHAPER_LATENCY (5*HZ)
14 #define SHAPER_MAXSLIP 2
15 #define SHAPER_BURST (HZ/50) /* Good for >128K then */
19 struct sk_buff_head sendq
;
24 unsigned long recovery
; /* Time we can next clock a packet out on
27 struct net_device_stats stats
;
28 struct net_device
*dev
;
29 int (*hard_start_xmit
) (struct sk_buff
*skb
,
30 struct net_device
*dev
);
31 int (*hard_header
) (struct sk_buff
*skb
,
32 struct net_device
*dev
,
37 int (*rebuild_header
)(struct sk_buff
*skb
);
38 int (*hard_header_cache
)(struct neighbour
*neigh
, struct hh_cache
*hh
);
39 void (*header_cache_update
)(struct hh_cache
*hh
, struct net_device
*dev
, unsigned char * haddr
);
40 struct net_device_stats
* (*get_stats
)(struct net_device
*dev
);
41 wait_queue_head_t wait_queue
;
42 struct timer_list timer
;
47 #define SHAPER_SET_DEV 0x0001
48 #define SHAPER_SET_SPEED 0x0002
49 #define SHAPER_GET_DEV 0x0003
50 #define SHAPER_GET_SPEED 0x0004
60 #define ss_speed ss_u.ssu_speed
61 #define ss_name ss_u.ssu_name