839c8456fbe08fc2497857673805b84dffb45507 |
|
25-Jul-2008 |
Jussi Kivilinna <jussi.kivilinna@mbnet.fi> |
add generic size table for qdiscs Patch adds generic size table that is similiar to rate table, with difference that size table stores link layer packet size. Based on patch by Patrick McHardy http://marc.info/?l=linux-netdev&m=115201979221729&w=2 Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
/external/iproute2/tc/tc_core.c
|
292f29b42c3444375b5ae7086484c99da7129d94 |
|
09-Apr-2008 |
Jesper Dangaard Brouer <hawk@diku.dk> |
ATM cell alignment. Introducing the function that does the ATM cell alignment, and modifying tc_calc_rtable() to use this based upon a linklayer parameter. Modified from original to use constants from atm.h and fix all the usages of rtable in same patch. Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
/external/iproute2/tc/tc_core.c
|
eeee367d91c4004c9f75749b5b09e21fa9244b51 |
|
05-Sep-2007 |
Jesper Dangaard Brouer <hawk@comx.dk> |
Change the rate table calc of transmit cost to use upper bound value. Patrick McHardy, Cite: 'its better to overestimate than underestimate to stay in control of the queue'. Illustrating the rate table array: Legend description rtab[x] : Array index x of rtab[x] xmit_sz : Transmit size contained in rtab[x] (normally transmit time) maps[a-b] : Packet sizes from a to b, will map into rtab[x] Current/old rate table mapping (cell_log:3): rtab[0]:=xmit_sz:0 maps[0-7] rtab[1]:=xmit_sz:8 maps[8-15] rtab[2]:=xmit_sz:16 maps[16-23] rtab[3]:=xmit_sz:24 maps[24-31] rtab[4]:=xmit_sz:32 maps[32-39] rtab[5]:=xmit_sz:40 maps[40-47] rtab[6]:=xmit_sz:48 maps[48-55] New rate table mapping, with kernel cell_align support. rtab[0]:=xmit_sz:8 maps[0-8] rtab[1]:=xmit_sz:16 maps[9-16] rtab[2]:=xmit_sz:24 maps[17-24] rtab[3]:=xmit_sz:32 maps[25-32] rtab[4]:=xmit_sz:40 maps[33-40] rtab[5]:=xmit_sz:48 maps[41-48] rtab[6]:=xmit_sz:56 maps[49-56] New TC util on a kernel WITHOUT support for cell_align rtab[0]:=xmit_sz:8 maps[0-7] rtab[1]:=xmit_sz:16 maps[8-15] rtab[2]:=xmit_sz:24 maps[16-23] rtab[3]:=xmit_sz:32 maps[24-31] rtab[4]:=xmit_sz:40 maps[32-39] rtab[5]:=xmit_sz:48 maps[40-47] rtab[6]:=xmit_sz:56 maps[48-55] Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
/external/iproute2/tc/tc_core.c
|
d5f46f9cc3856af532e852ef29fd7ddfd141faf0 |
|
05-Sep-2007 |
Jesper Dangaard Brouer <hawk@comx.dk> |
Cleanup: tc_calc_rtable(). Change tc_calc_rtable() to take a tc_ratespec struct as an argument. (cell_log still needs to be passed on as a parameter, because -1 indicate that the cell_log needs to be computed by the function.). Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
/external/iproute2/tc/tc_core.c
|
bccd014b866daa21002f7ac682cee57a9fe003e3 |
|
11-Sep-2007 |
Jesper Dangaard Brouer <hawk@comx.dk> |
Overhead calculation is now done in the kernel. The only current user is HTB. HTB overhead argument is now passed on to the kernel (in the struct tc_ratespec). Also correct the data types. Signed-off-by: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
/external/iproute2/tc/tc_core.c
|
64e2ad593b7610d547741aa3d68b5f130c0560b0 |
|
12-Oct-2007 |
Andreas Henriksson <andreas@fatal.se> |
Also do tc_core_time2big argument (long->unsigned). tc_core_time2big only used in tc/q_netem.c where it gets passed an unsigned. Signed-off-by: Andreas Henriksson <andreas@fatal.se> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_core.c
|
57a800d45a5f8f46c9ce4950599f17545413c82d |
|
12-Oct-2007 |
Andreas Henriksson <andreas@fatal.se> |
Switch helpers tc_core_{time2ktime,ktime2time} from long to unsigned as well. Follow up patch to "Fix overflow in time2tick / tick2time." which switches the remaining two helper functions from long to unsigned as well. These functions are only used in "tc/q_hfsc.c" where both the passed argument and the place the return value is stored are unsigned/u32 variables, so this change should be safe to make but hasn't been tested as extensively as the time2tick patch. Signed-off-by: Andreas Henriksson <andreas@fatal.se> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_core.c
|
447598449817fcaea26016d9102d703c4d16bd9c |
|
12-Oct-2007 |
Andreas Henriksson <andreas@fatal.se> |
Fix overflow in time2tick / tick2time. The helper functions gets passed an unsigned int, which gets cast to long and overflows. See http://bugs.debian.org/175462 Signed-off-by: Andreas Henriksson <andreas@fatal.se> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_core.c
|
147e1d4b5abad8da3fc69fb23a4c9a4457e65d66 |
|
04-Mar-2007 |
Patrick McHardy <kaber@trash.net> |
Handle different kernel clock resolutions [IPROUTE]: Handle different kernel clock resolutions Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_core.c
|
8f34caafbdbc8f87d228d577872591e138caadb1 |
|
04-Mar-2007 |
Patrick McHardy <kaber@trash.net> |
Replace "usec" by "time" in function names [IPROUTE]: Replace "usec" by "time" in function names Rename functions containing "usec" since they don't necessarily return usec units anymore. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_core.c
|
f0bda7e5a52d880a85af698a041afa7dc379e76e |
|
04-Mar-2007 |
Patrick McHardy <kaber@trash.net> |
Introduce TIME_UNITS_PER_SEC to represent internal clock resolution [IPROUTE]: Introduce TIME_UNITS_PER_SEC to represent internal clock resolution Introduce TIME_UNITS_PER_SEC and conversion functions between internal resolution and resolution expected by the kernel (currently implemented as NOPs, only needed by HFSC, which currently always uses microseconds). Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_core.c
|
76dc0aa28fe6fa78e263bf0250c1e42c584dd544 |
|
04-Mar-2007 |
Patrick McHardy <kaber@trash.net> |
Introduce tc_calc_xmitsize and use where appropriate [IPROUTE]: Introduce tc_calc_xmitsize and use where appropriate Add tc_calc_xmitsize() as complement to tc_calc_xmittime(), which calculates the size that can be transmitted at a given rate during a given time. Replace all expressions of the form "size = rate*tc_core_tick2usec(time))/1000000" by tc_calc_xmitsize() calls. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
/external/iproute2/tc/tc_core.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_core.c
|
fa56513034c839e444ab7ca986ddb178dece86c7 |
|
19-Oct-2006 |
Stephen Hemminger <shemminger@osdl.org> |
Trap possible overflow in usec values to netem If user asks for large usec value it could overflow 32 bits. Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
/external/iproute2/tc/tc_core.c
|
934677a23e278f2991938061a9accea2627deccb |
|
30-Jul-2004 |
osdl.net!shemminger <osdl.net!shemminger> |
Adds mpu support to HTB (ATM) queueing discipline (Logical change 1.58)
/external/iproute2/tc/tc_core.c
|
aba5acdfdb347d2c21fc67d613d83d4430ca3937 |
|
15-Apr-2004 |
osdl.org!shemminger <osdl.org!shemminger> |
(Logical change 1.3)
/external/iproute2/tc/tc_core.c
|
86fdf0e47be697587efcf9602cd1f952a1d73170 |
|
15-Apr-2004 |
osdl.org!shemminger <osdl.org!shemminger> |
Initial revision
/external/iproute2/tc/tc_core.c
|