I have the following setup: tc qdisc del dev eth1 root tc qdisc add dev eth1 root handle 1: htb tc class add dev eth1 parent 1: classid 1:1 htb rate 80kbit ceil 80kbit tc qdisc add dev eth1 parent 1:1 handle 2: prio tc qdisc add dev eth1 parent 2:1 handle 3: sfq perturb 10 tc filter add dev eth1 protocol ip parent 1: prio 2 u32 match u8 0 0x0 at 0 flowid 3: (the filter line is not like the one suggested in the howto because my version of tc (the most recent with htb patch) barfs on not having any rules) After a while, looking at the stats: qdisc sfq 3: dev eth1 limit 128p quantum 1514b perturb 10sec Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc prio 2: dev eth1 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc htb 1: dev eth1 r2q 10 default 0 direct_packets_stat 476 Sent 112219 bytes 476 pkts (dropped 0, overlimits 0) All the traffic went through the top htb (which wasn't limited) and went straight out again. Why didn't the filter rule put everything in the 3: SFQ, forcing it to trickle through the limited HTB class 1:1? -- Frank v Waveren Fingerprint: 21A7 C7F3 fvw@[var.cx|stack.nl|chello.nl] ICQ#10074100 1FF3 47FF 545C CB53 Public key: hkp://wwwkeys.pgp.net/fvw@xxxxxx 7BD9 09C0 3AC1 6DF2