#!/bin/sh
RATE_TOT=400        # In KiloBytes/Sec
RATE1=300
RATE2=`expr $RATE_TOT - $RATE1`

RATE_TOT=$RATE_TOT`echo kbps`
RATE1=$RATE1`echo kbps`
RATE2=$RATE2`echo kbps`

echo $RATE1
echo $RATE2

PRIO1="prio 3"
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:2 cbq bandwidth 10mbit rate $RATE_TOT $OPTION prio 3 bounded isolated
 
tc qdisc add $DEV parent 10:2 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
#tc qdisc add $DEV parent 20:10 handle 30: sfq
tc class add $DEV parent 20: classid 20:20 cbq bandwidth $RATE_TOT rate $RATE2 $OPTION $PRIO2
#tc qdisc add $DEV parent 20:20 handle 40: sfq
 
tc filter add $DEV parent 10: protocol ip prio 3 handle 1 fw classid 10:2
tc filter add $DEV parent 10: protocol ip prio 3 handle 2 fw classid 10:2
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 2003 -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -p tcp --dport 80   -j MARK --set-mark 2
iptables -A OUTPUT -t mangle -p tcp --dport 2004 -j MARK --set-mark 2
iptables -A OUTPUT -p tcp --dport 2003 -j acc_0
iptables -A OUTPUT -p tcp --dport 80   -j acc_1
iptables -A OUTPUT -p tcp --dport 2004 -j acc_1
