1 #ifndef __QMGT_RED__ //added by ARGAY
\r
2 #define __QMGT_RED__ //added by ARGAY
\r
5 typedef struct t_qmgt_RED
\r
8 /* RED parameters: unit= 1/1000000 */
\r
9 u_int32_t wq; /* weighted average */
\r
10 u_int32_t minthp; /* the proportion of minimum threshold to buf_len */
\r
11 u_int32_t maxthp; /* the proportion of maximum threshold to buf_len */
\r
12 u_int32_t maxp; /* maximum value of dropping probability */
\r
14 /* average queue size */
\r
15 u_int64_t avg_qlen; /* average queue length */
\r
16 u_int32_t minth; /* minimum threshold for queue */
\r
17 u_int32_t maxth; /* maximum threshold for queue */
\r
23 /******************************************************************************/
\r
24 //set all members pf Qmgt_RED to 0
\r
25 void RED_init(Qmgt_RED* x);
\r
29 //set RED parameters
\r
30 //return value: 0 -- valid value -1 -- invalid value
\r
31 int RED_modparam(Qmgt_RED* x,int buf_len,int wq,int minthp,int maxthp,int maxp);
\r
35 //modify RED's minth and maxth according to the buf_len
\r
36 //return value: 1 -- valid value -1 -- invalid value
\r
37 int RED_modbuflen(Qmgt_RED* x,int buf_len);
\r
41 //return value: 0 -- pass the arriving packet -1 -- drop the arriving packet
\r
42 int RED(Qmgt_RED* x,int curr_qlen);
\r
43 /******************************************************************************/
\r
46 #endif //added by ARGAY
\r