24.3.4. HTB

#!/bin/sh -x

tc qdisc add dev eth0 root handle 1: htb default 20

tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 99mbit ceil 100mbit
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 1mbit ceil 100mbit
tc class add dev eth0 parent 1:11 classid 1:20 htb rate 20kbps ceil 30kbps high prio internet trafic
tc class add dev eth0 parent 1:11 classid 1:21 htb rate 5kbps ceil 30kbps #high prio class
tc class add dev eth0 parent 1:11 classid 1:22 htb rate 5kbps ceil 30kbps #mldonkey's class

iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m length --length :64 -j MARK --set-mark 21

tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 21 fw flowid 1:21
tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 22 fw flowid 1:22
tc filter add dev eth0 parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10