From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stef Coene Date: Sat, 22 Feb 2003 17:46:23 +0000 Subject: Re: [LARTC] Questions about HTB. Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: lartc@vger.kernel.org On Saturday 22 February 2003 11:18, Rokas Zakarevicius wrote: > Hello! > > Could you help me with these questions? > > My system is: > Internet ADSL(PPPoE) ---> ppp0 [LINUX server(router)] eth0 ---> LAN > Server(router) is running on LINUX Slackware 8.1. I have compiled a > new 2.4.20 kernel, enabled all QoS support in the kernel config, > including HTB. My ADSL download bandwidth is 192Kbit/s. > > I'd like to shape the download traffic from the internet to different > LAN users. I have done some experiments with HTB-init script, but it > didn't work as I wanted. My HTB configuration is: > -------------------------------------------- > tc qdisc del dev eth0 root > tc qdisc add dev eth0 root handle 1 htb default 20 > > tc class add dev eth0 parent 1: classid 1:2 htb rate 192Kbit > > tc class add dev eth0 parent 1:2 classid 1:10 htb rate 128Kbit ceil 192Kb= it > burst 2K prio 1 tc qdisc add dev eth0 parent 1:10 handle 10 sfq perturb 10 > tc filter add dev eth0 parent 1:0 protocol ip prio 100 u32 match ip sport > 80 0xffff classid 1:10 > > tc class add dev eth0 parent 1:2 classid 1:20 htb rate 24Kbit ceil 192Kbit > burst 2K prio 5 tc qdisc add dev eth0 parent 1:20 handle 20 sfq perturb 10 > -------------------------------------------- > All the download default traffic gets routed to the 1:20 class, which > is a low priority class. And all HTTP traffic gets routed to the 1:10 > class, which has high priority. I want Web traffic to have a big > bandwidth and high priority, but all other traffic such as FTP, KaZaA > to have lower bandwidth and lower priority. If I set rate=CEil$Kbit > for 1:20 class, it works, but I want 1:20 class to borrow the > bandwidth from 1:10 class (if 1:10 class is not busy with Web > traffic), so I set the above listed configuration. > The problem is that if my download bandwidth is busy with unprivileged > port download (default class 1:20 borrows all the bandwidth), my Web > surfing gets very slow. 1:10 class has a higher priority and bigger > rate, so why 1:20 class borrows big amount of traffic if 1:10 class is > busy with Web surfing??? Could you give me an advice how to solve my > problem??? If one of my LAN users begin downloading a very big file > using KaZaA or FTP, all other users can't browse the Web. Try to limit all bandwidth to less then 192kbit (185kbit or so) so YOU are = the=20 bottleneck on you are link. And give your http class a bigger burst (20k or so). Also, if you are=20 downloading a lot (non-http traffic), it uses all bandwidth. If you reques= t=20 a page, you don't have the available bandwidth to do it. So limit non-http= =20 class to 180kbit so you always have some bandwidth available for httb=20 traffic. > Another question: from what class does 1:20 borrow the traffic? > As I see from the statistics (htb-init stats), both leaf classes > borrow traffic from their parent class 1:2. And why do leaf classes > lend packets to other classes, if they need to borrow packets ??? I have some more info on the faq page on www.docum.org : - overlimits : Packet is not sent due to ceil or rate restrictions=20 So there was to much data in the class. But don't believe this too much. It= =20 depends on how often the qdisc looked for packets. This counter is=20 incremented per unsuccessful DRR loop and it's possible that this happens=20 more then once per packet.=20 Each dropped packet is overlimited.=20 - lended : # of packets donated by this class (from its rate)=20 A class can donate packets to itself.=20 - borrowed : # packets borrowed from the parent=20 So the rate was not high enough, but there was bandwidth available from the= =20 parent to fulfill the request.=20 Stef --=20 stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/