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

Re: Classifiable TBF (fwd)




Thanks for your help. I have found the answer now. I did use PFIFO as
PRIO's child, each PFIFO limit is 100 packet * 1.5kB = 150kB. But I set
C/TBF's limit to be also 150kB. Now I changed it to 450kB, and it works as
expected. I am still thinking why TBF's limit = Sum of all PFIFO's
limits. Shouldnt it be A's PFIFO limit only, any hint please?
rgds
yongxiang

> This is very weird. Can you describe me your testbed ?
> It does work in other way than you described:
> Each incoming packet goes thru TBF directly into its
> child. Then at iface EOI event or at TBF's timer wakeup
> event exactly one packet is dequeued from child. Child
> determines which packet is dequeued.
> In another words, TBF dequeues from its child at given
> rate. When the child is PRIO and its band1 is nonempty,
> then band1 backet will be dequeued.
> Your problem is probably tied to droping: see TBF's drop
> counter, is high ?
> If yes, consider this: TBF has 'limit' parameter which
> limits maximal queued size. I use it even if there is child
> qdisc (because it efectively limits maximal delay). Probably
> your A,B,C queues are full and thus TBF starts droping next 
> packets. Droping leads to TCP slowdown of A stream and B stream
> goes now ...

I am using UDP, which is not rate adaptive. This shouldnt be the reason.

> Try to increase limit value and use BFIFOs as PRIO's childs.
> Set these BFIFOs to have shorter limit than TBF. It should work
> then.
> 
> regards, devik
>