Re: Re: Question about htb class

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 23 Aug 2004 23:58:51 +0100
Andy Furniss <andy.furniss@xxxxxxxxxxxxx> wrote:

> Hideaki Nemoto wrote:
> > 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.

Thanks for the answer, Andy.
I think I'm starting to understand.

Does the "transmit time" here, mean "time the kernel should take in
order to send out the packet" ?

OK, so here's how I understood. Please correct me if I'm wrong.

1. When the kernel receives a packet, it gets the transmit time
corresponding to the packet length.

xmit_time = rtab[pkt_len>>cell_log];

2. Then, the kernel sends that packet using xmit_time ?
(If xmit_time was like 10 milli sec, it consumes 10 milli sec to
sends the packet ? Or does it wait for xmit_time to send it)

Is my understanding correct ?

> 
> Andy.
> 
> 
> 
> 
> 
> _______________________________________________
> LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

Eme
_______________________________________________
LARTC mailing list / LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux