at v2.6.24 51 lines 1.1 kB view raw
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 */ 26 spinlock_t lock; 27 struct net_device *dev; 28 struct net_device_stats* (*get_stats)(struct net_device *dev); 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