Hi, I use HTB to shape incoming traffic from internet to my internal network. I want to split traffic into 2 flows: to my box (behind the linux box) and to all other users. The Linux box comes with kernel 2.4.18 and HTB v. 2. My setup looks like this: tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1: htb default 10 # Local traffic tc class add dev eth0 parent 1: classid 1:3 htb rate 30mbit ceil 60mbit burst 1000k # Internet (whole) tc class add dev eth0 parent 1: classid 1:2 htb rate 2000kbit ceil 2000kbit burst 15k # Internet (everyone except my IP) tc class add dev eth0 parent 1:2 classid 1:10 htb rate 300kbit ceil 1500kbit burst 5k tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10 quantum 1500 # Internet (my IP) tc class add dev eth0 parent 1:2 classid 1:11 htb rate 400kbit ceil 1500kbit burst 5k tc qdisc add dev eth0 parent 1:11 handle 20: sfq perturb 10 quantum 1500 So it should be sthg like this: 1: | | | | | | 1:2 1:3 | | | | | | 1:10 1:11 I omitted the filters because they work just fine, directing traffic to appropriate classes. The trouble is that the traffic distribution is strange: the rate and ceil parameters don't behave the way I think they should. The throughput of class 1:11 is smaller than the rate parameter, it only works when I decrease ceil parameter of class 1:10 to something like 300kbit - then class 1:11 get its rate or more. Plus, the ceil parameter in class 1:2 doesn't seen to work - when I set rate to 800kbit it can't go any faster, just as if rate was the limit This is my tc -s class show dev eth0 output: class htb 1:11 parent 1:2 leaf 20: prio 0 rate 400Kbit ceil 1500Kbit burst 5Kb cburst 3519b Sent 6723692 bytes 4557 pkts (dropped 0, overlimits 53) rate 30219bps 20pps lended: 4364 borrowed: 193 giants: 0 injects: 0 tokens: 3080 ctokens: 8568 class htb 1:10 parent 1:2 leaf 10: prio 0 rate 300Kbit ceil 1500Kbit burst 5Kb cburst 3519b Sent 20456108 bytes 17579 pkts (dropped 0, overlimits 4496) rate 82087bps 74pps lended: 7502 borrowed: 10077 giants: 0 injects: 0 tokens: 97280 ctokens: 12630 class htb 1:2 root prio 0 rate 2000Kbit ceil 2000Kbit burst 15Kb cburst 4159b Sent 27376137 bytes 22934 pkts (dropped 0, overlimits 0) rate 112478bps 97pps lended: 10466 borrowed: 0 giants: 0 injects: 0 tokens: 44314 ctokens: 8473 But when I set ceil of class 1:10 to 300kbit, it looks totally different - class 1:11 gets it fair share or even more: class htb 1:11 parent 1:2 leaf 20: prio 0 rate 400Kbit ceil 1500Kbit burst 5Kb cburst 3519b Sent 5324008 bytes 3604 pkts (dropped 0, overlimits 0) rate 68027bps 46pps lended: 2444 borrowed: 1160 giants: 0 injects: 0 tokens: -3042 ctokens: 8568 class htb 1:10 parent 1:2 leaf 10: prio 0 rate 300Kbit ceil 300Kbit burst 5Kb cburst 1983b Sent 3227721 bytes 3850 pkts (dropped 0, overlimits 8700) rate 37434bps 44pps backlog 53p lended: 3797 borrowed: 0 giants: 0 injects: 0 tokens: 35336 ctokens: -31566 class htb 1:2 root prio 0 rate 2000Kbit ceil 2000Kbit burst 15Kb cburst 4159b Sent 8525779 bytes 7593 pkts (dropped 0, overlimits 0) rate 104106bps 91pps lended: 1160 borrowed: 0 giants: 0 injects: 0 tokens: 42830 ctokens: 6989 What's is the problem? Have I overlooked something? Thanks in advance -- greetz Radek Majkut rahdeck@xxxxxxxxxx ---------------------------------------------------------------------- INTERIA.PL: Portal pelen informacji >>> http://link.interia.pl/f15b7