INT=eth1 # creating root and root class tc qdisc add dev $INT root handle 1: htb default 10 tc class add dev $INT parent 1: classid 1:1 htb rate 1000mbit prio 0 # class for not forwarded traffic (and sfq leaf) tc class add dev $INT parent 1:1 classid 1:10 htb \     rate 997mbit ceil 1000mbit prio 1 tc qdisc add dev $INT parent 1:10 handle 10: sfq perturb 10 # class for forwarded traffic tc class add dev $INT parent 1:1 classid 1:11 htb \     rate 2500kbit ceil 2500kbit prio 0 # class for highest prio VOIP (and sfq leaf) tc class add dev $INT parent 1:11 classid 1:110 htb \     rate 200kbit ceil 2500kbit prio 0 tc qdisc add dev $INT parent 1:110 handle 110: sfq perturb 10 # class for higher prio traffic (and sfq leaf) tc class add dev $INT parent 1:11 classid 1:111 \     htb rate 1200kbit ceil 1500kbit prio 1 tc qdisc add dev $INT parent 1:111 handle 111: sfq perturb 10 # class for low prio traffic (and sfq leaf) tc class add dev $INT parent 1:11 classid 1:112 htb \     rate 100kbit ceil 800kbit prio 2 tc qdisc add dev $INT parent 1:112 handle 112: sfq perturb 10 # filters for forwarded traffic tc filter add dev $INT parent 1: prio 0 protocol ip handle 110 fw flowid 1:110 tc filter add dev $INT parent 1: prio 1 protocol ip handle 111 fw flowid 1:111 tc filter add dev $INT parent 1: prio 2 protocol ip handle 112 fw flowid 1:112 # iptables ruels for marking forwarded traffic # put everything to lowest prio iptables -t mangle -A FORWARD -o $INT -j MARK --set-mark 112 # VOIP traffic -> 110 iptables -t mangle -A FORWARD -o $INT -p udp --sport sip \     -j MARK --set-mark 110 iptables -t mangle -A FORWARD -o $INT -p udp --dport sip \     -j MARK --set-mark 110 iptables -t mangle -A FORWARD -o $INT -p udp --dport 10000:10500 \     -j MARK --set-mark 110 # higher prio iptables -t mangle -A FORWARD -o $INT -p tcp -m multiport \     --sports 22,80,443,143 -j MARK --set-mark 111 iptables -t mangle -A FORWARD -o $INT -p icmp -j MARK --set-mark 111