Hi, I'm trying to use prio qdisc with htb, however not the "usual" way (like for example FairNAT). Here is my idea: Root has HTB shaping traffic to link speed -> then goes PRIO queues -> each prio queue has HTB with sublasses for each user, should look like this: 1: htb qdisc | 1:1 htb class /|\ / | \ 10:1 10:2 10:3 prio queues | | | 20: 30: 40: htb qdiscs / | \ 20:1.... 30:1... 40:1... htb classes Then, if I'm right, when there is traffic in prio qdisc 1 to fully load link, users would get it distributed evenly but any low priority connections in qdiscs 2,3... would starve. Which is exactly what I want. Problem is, when I add filters to enqueue in HTB "below" prio qdisc, they aren't working. I'm tried to make simplified version first: tc qdisc add dev eth0 root handle 1: htb tc class add dev eth0 parent 1: classid 1:1 htb rate 3000kbit tc qdisc add dev eth0 parent 1:1 handle 10: prio tc qdisc add dev eth0 parent 10:1 handle 20: htb tc class add dev eth0 parent 20:0 classid 20:1 htb rate 3000kbit tc qdisc add dev eth0 parent 10:2 handle 30: htb tc qdisc add dev eth0 parent 10:3 handle 40: htb tc class add dev eth0 parent 30:0 classid 30:1 htb rate 3000kbit tc class add dev eth0 parent 40:0 classid 40:1 htb rate 3000kbit tc filter add dev eth0 protocol ip parent 1: prio 0 handle 4 fw flowid 40:1 all packets are marked with 4, but none gets to 40:1 --------------------------------------------------------------- class htb 40:1 root prio 0 rate 3000Kbit ceil 3000Kbit burst 5439b cburst 5439b Sent 0 bytes 0 pkts (dropped 0, overlimits 0) lended: 0 borrowed: 0 giants: 0 tokens: 14505 ctokens: 14505 class htb 30:1 root prio 0 rate 3000Kbit ceil 3000Kbit burst 5439b cburst 5439b Sent 0 bytes 0 pkts (dropped 0, overlimits 0) lended: 0 borrowed: 0 giants: 0 tokens: 14505 ctokens: 14505 class htb 20:1 root prio 0 rate 3000Kbit ceil 3000Kbit burst 5439b cburst 5439b Sent 0 bytes 0 pkts (dropped 0, overlimits 0) lended: 0 borrowed: 0 giants: 0 tokens: 14505 ctokens: 14505 class prio 10:1 parent 10: leaf 20: [UNKNOWN] class prio 10:2 parent 10: leaf 30: [UNKNOWN] class prio 10:3 parent 10: leaf 40: [UNKNOWN] class htb 1:1 root leaf 10: prio 0 rate 3000Kbit ceil 3000Kbit burst 5439b cburst 5439b Sent 0 bytes 0 pkts (dropped 0, overlimits 0) lended: 0 borrowed: 0 giants: 0 tokens: 14505 ctokens: 14505 --------------------------------------------------------------- qdisc htb 40: r2q 10 default 0 direct_packets_stat 0 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc htb 30: r2q 10 default 0 direct_packets_stat 0 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc htb 20: r2q 10 default 0 direct_packets_stat 0 Sent 0 bytes 0 pkts (dropped 0, overlimits 0) qdisc prio 10: 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: r2q 10 default 0 direct_packets_stat 7347 Sent 827649 bytes 7347 pkts (dropped 0, overlimits 0) --------------------------------------------------------------- {setting flowid to 1:1 works as expected} I can't find where my mistake lies, any suggestions or pointers would be helpfull. _______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/