OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [linux/] [if_shaper.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1633 jcastillo
#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 dependant (read it shouldnt 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
 
17
struct shaper
18
{
19
        struct sk_buff_head sendq;
20
        __u32 bitspersec;
21
        __u32 bytespertick;
22
        __u32 shapelatency;
23
        __u32 shapeclock;
24
        __u32 recovery;         /* Time we can next clock a packet out on
25
                                   an empty queue */
26
        char locked;
27
        struct device *dev;
28
        int  (*hard_start_xmit) (struct sk_buff *skb,
29
                struct device *dev);
30
        int  (*hard_header) (struct sk_buff *skb,
31
                struct device *dev,
32
                unsigned short type,
33
                void *daddr,
34
                void *saddr,
35
                unsigned len);
36
        int  (*rebuild_header)(void *eth, struct device *dev,
37
                unsigned long raddr, struct sk_buff *skb);
38
        struct enet_statistics* (*get_stats)(struct device *dev);
39
        struct wait_queue *wait_queue;
40
        struct timer_list timer;
41
};
42
 
43
#endif
44
 
45
#define SHAPER_SET_DEV          0x0001
46
#define SHAPER_SET_SPEED        0x0002
47
#define SHAPER_GET_DEV          0x0003
48
#define SHAPER_GET_SPEED        0x0004
49
 
50
struct shaperconf
51
{
52
        __u16   ss_cmd;
53
        union
54
        {
55
                char    ssu_name[14];
56
                __u32   ssu_speed;
57
        } ss_u;
58
#define ss_speed ss_u.ssu_speed
59
#define ss_name ss_u.ssu_name
60
};
61
 
62
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.