#!/bin/sh
RATE_TOT=140kbps        # In KiloBytes/Sec
IP=kriek
 
RATE1=130kbps
PRIO1="prio 3"
 
RATE2=10kbps
PRIO2="prio 3"
 
IP=kriek
DEV="dev eth0"
OPTION="allot 1514 maxburst 20 avpkt 1000"
 
tc qdisc del $DEV root
tc qdisc add $DEV root handle 10: cbq bandwidth 10mbit avpkt 1000
tc class add $DEV parent 10:0 classid 10:1 cbq bandwidth 10mbit rate $RATE_TOT $OPTION prio 3 bounded
 
tc qdisc add $DEV parent 10:1 handle 20: cbq bandwidth $RATE_TOT allot 1514 avpkt 1000
tc class add $DEV parent 20: classid 20:10 cbq bandwidth $RATE_TOT rate $RATE1 $OPTION $PRIO1 isolated
tc class add $DEV parent 20: classid 20:20 cbq bandwidth $RATE_TOT rate $RATE2 $OPTION $PRIO2 isolated
 
tc filter add $DEV parent 10: protocol ip prio 3 handle 1 fw classid 10:1
tc filter add $DEV parent 10: protocol ip prio 3 handle 2 fw classid 10:1
tc filter add $DEV parent 20: protocol ip prio 3 handle 1 fw classid 20:10
tc filter add $DEV parent 20: protocol ip prio 3 handle 2 fw classid 20:20

iptables -F
iptables -X
iptables -N acc_0
iptables -N acc_1
iptables -A OUTPUT -t mangle -p tcp --dport 2000 -d $IP -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -p tcp --dport 2001 -d $IP -j MARK --set-mark 2
iptables -A OUTPUT -p tcp --dport 2000 -d $IP -j acc_0
iptables -A OUTPUT -p tcp --dport 2001 -d $IP -j acc_1
