Re: QoS weirdness : HTB accuracy

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

 



Quoting "Jesper Dangaard Brouer" <hawk@xxxxxxx>:


On Sun, 4 Jul 2010, Andrew Beverley wrote:

I was, in fact, an error in my ruleset. I had put the 'linklayer atm' at
both the branch and leaf levels, so the overhead was computed twice,
creating those holes in the bandwidth.

I am seeing similar behaviour with my setup. Am I making the same
mistake? A subset of my rules is as follows:

tc qdisc add dev ppp0 root handle 1: htb r2q 1

tc class add dev ppp0 parent 1: classid 1:1 htb \
   rate ${DOWNLINK}kbit ceil ${DOWNLINK}kbit \
   overhead $overhead linklayer atm                   <------- Here

tc class add dev ppp0 parent 1:1 classid 1:10 htb \
   rate 612kbit ceil 612kbit prio 0 \
   overhead $overhead linklayer atm                   <------- And here

tc qdisc add dev ppp0 parent 1:10 handle 4210: \
   sfq perturb 10 limit 50

tc filter add dev ppp0 parent 1:0 protocol ip \
   prio 10 handle 10 fw flowid 1:10

I removed the overhead option on the first leaf, and the speeds change
to what I expect. However, the rules above are taken straight from the
ADSL Optimizer project, which was the source of the original overhead
patch for tc. So is the ADSL Optimizer project wrong?

After looking at the HTB kernel code I believe that the ADSL Optimizer project is NOT wrong. You should/must set the linklayer option on both the root class and leaf (else you would be charging the root/parent node too little).


It's been while I looked at the linklayer/size-table code, but if I remember right overhead is calculated with first linklayer packet sees in qdisc. So when packet goes to leaf with 'linklayer atm', packet get packet size with overhead for ATM and root linklayer is not used for that packet. Because of this you can have leafs with different overheads (pppoe, ipv6-tunnel, etc, with ) and all get right overhead... ..

..

...Uh oh...

HTB still has linklayer/overhead of its own, I was talking about the generic linklayer code that can be used with all qdiscs. Never mind, sorry.

-Jussi


--
To unsubscribe from this list: send the line "unsubscribe netfilter" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux