Hi everyone.
I'm new to this list and I have some questions regarding HTB class. I was trying to see how tc sets the parameters for HTB, but really couldnt understand them. So, I thought that I might ask the wizards. It's mainly from the source code.
1. What is the cell_log ? (its everywhere in the code)
2. Why does htb calculate its burst(buffer) with
tc_xmit_time() ? Is opt.rate.buffer supposed to have the time it takes to transmit the packet ?
(in q_htb.c around 223 lines)
3. What does rtab and ctab arrays do ? And what kind of value should be in there ? (its set in tc_core.c tc_calc_rtable())
I'd really appreciate your help. Thankyou very much in advance.
I can't say about HTB, but I've been playing with Ed Wildgooses patch for DSL users -
http://mailman.ds9a.nl/pipermail/lartc/2004q2/012752.html
cell_log is used to look up the delay for a packet to be transmitted at a certain rate. A rate table is made using cell_log to give granularity - for me using htb it gets calculated with MTU 1600 which means it's 3.
Three means the table has a dispatch time entry for every 8 bytes packet size, as a counter gets shifted left by cell_log to generate the table.
HTB / whatever looks up the transmit time for a packet by shifting its' length right by cell_log and using the result as an index for the table.
Andy.
_______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/