[LARTC] Questions about HTB.

Linux Advanced Routing and Traffic Control

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

 



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 192Kbit 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=24Kbit
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.

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 ???
--------------------------------------------------------------
class htb 1:10 parent 1:2 leaf 10: prio 1 rate 128Kbit ceil 192Kbit burst 2Kb cburst 1844b
 Sent 172759492 bytes 151332 pkts (dropped 0, overlimits 0) 
 rate 796bps 1pps 
 lended: 132897 borrowed: 18435 giants: 0
 tokens: 97601 ctokens: 58300

class htb 1:2 root rate 192Kbit ceil 192Kbit burst 1844b cburst 1844b 
 Sent 307163200 bytes 288106 pkts (dropped 0, overlimits 0) 
 rate 4303bps 4pps 
 lended: 61122 borrowed: 0 giants: 0
 tokens: 58300 ctokens: 58300

class htb 1:20 parent 1:2 leaf 20: prio 5 rate 24Kbit ceil 192Kbit burst 2Kb cburst 1844b 
 Sent 134403708 bytes 136774 pkts (dropped 0, overlimits 0) 
 rate 3516bps 2pps 
 lended: 94087 borrowed: 42687 giants: 0
 tokens: -141737 ctokens: 12700
-------------------------------------------------------------

Thank you for your patience... :)

    Rokas Zakarevicius

Kaunas, Lithuania




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