History log of /external/iproute2/tc/tc_red.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0cf67ead7bdc95700958b9cfd341b75b4432bb88 01-Dec-2011 Eric Dumazet <eric.dumazet@gmail.com> red: give a hint about burst value

Check for burst values that are too small.

Reported-by: Dave Taht <dave.taht@gmail.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
/external/iproute2/tc/tc_red.c
bf808cbf84bd96974b5a7d11484e8b0d46a467e8 20-Jun-2011 Stephen Hemminger <shemminger@vyatta.com> tc: fix set never used warning in red
/external/iproute2/tc/tc_red.c
476daa7278aaf324f6cef27981f81187afce8836 04-Mar-2007 Patrick McHardy <kaber@trash.net> Use tc_calc_xmittime() where appropriate

[IPROUTE]: Use tc_calc_xmittime() where appropriate

Replace expressions of the form "tc_core_usec2tick(1000000 * size/rate)"
by tc_calc_xmittime().

The CBQ case deserves an extra comment: when called with bnwd=rate,
tc_cbq_calc_maxidle() behaves identical to tc_calc_xmittime():

unsigned tc_cbq_calc_maxidle(...)
{
double g = 1.0 - 1.0/(1<<ewma_log);
double xmt = (double)avpkt/bndw;

maxidle = xmt*(1-g);
if (bndw != rate && maxburst) {
...
}
return tc_core_usec2tick(maxidle*(1<<ewma_log)*1000000);
}

which comes down to:

maxidle = xmt * (1 - g)
= xmt * (1 - (1.0 - 1.0/(1 << ewma_log))
= xmt * (1.0/(1 << ewma_log))

so:

maxidle * (1 << ewma_log) * 1000000
= xmt * (1.0/(1 << ewma_log)) * (1 << ewma_log) * 1000000
= xmt * 1000000
= avpkt/bndw * 1000000

Which means tc_core_usec2tick(maxidle*(1<<ewma_log)*1000000) is identical
to tc_calc_xmittime(bndw, avpkt). Use it directly since its a lot easier
to understand its limits.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_red.c
aba5acdfdb347d2c21fc67d613d83d4430ca3937 15-Apr-2004 osdl.org!shemminger <osdl.org!shemminger> (Logical change 1.3)
/external/iproute2/tc/tc_red.c
86fdf0e47be697587efcf9602cd1f952a1d73170 15-Apr-2004 osdl.org!shemminger <osdl.org!shemminger> Initial revision
/external/iproute2/tc/tc_red.c