Hello, After your explaining now I think I get the meaning of htb options and here is my config , which still sadly doesnt work. Downloads from srchost1 and srchost2 go at full speed, and are not shaped. Though counters for respective classes increase. tc -s -d show class dev eth0 ------------------------------------- class htb 1:101 parent 1:1 prio 0 rate 40Kbit ceil 100Kbit burst 1650b/8 mpu 0b cburst 1727b/8 mpu 0b quantum 512 level 0 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) lended: 0 borrowed: 0 giants: 0 injects: 0 tokens: 628545 ctokens: 263144 class htb 1:1 root prio 0 rate 100Kbit ceil 100Kbit burst 1599b/8 mpu 0b cburst 1599b/8 mpu 0b quantum 1280 level 3 Sent 3131025 bytes 23836 pkts (dropped 0, overlimits 0) rate 281bps 3pps lended: 751 borrowed: 0 giants: 0 injects: 0 tokens: -8719 ctokens: -8719 class htb 1:100 parent 1:1 prio 0 rate 60Kbit ceil 100Kbit burst 1675b/8 mpu 0b cburst 1727b/8 mpu 0b quantum 768 level 0 Sent 36068 bytes 504 pkts (dropped 0, overlimits 538) rate 281bps 3pps lended: 319 borrowed: 185 giants: 0 injects: 0 tokens: -12135 ctokens: 10773 ------------------------------------- tc qdisc show dev eth0 ------------------------------------- qdisc htb 1: r2q 10 default 400 dcache 0 deq_util 1/83333 deq_rate 4 trials_per_deq 0 dcache_hits 0 direct_packets 94066 ------------------------------------- tc filter show dev eth0 ------------------------------------- filter parent 1: protocol ip pref 3 fw filter parent 1: protocol ip pref 3 fw handle 0x1 classid 1:100 filter parent 1: protocol ip pref 3 fw handle 0x2 classid 1:101 ------------------------------------- iptables -t mangle -L ------------------------------------- Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination MARK all -- sourcehost1 anywhere MARK set 0x1 MARK all -- sourcehost2 anywhere MARK set 0x2 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination MARK all -- anywhere sourcehost1 MARK set 0x1 MARK all -- anywhere sourcehost2 MARK set 0x2 Chain POSTROUTING (policy ACCEPT) target prot opt source destination