#!/bin/sh
RATE_TOT=139        # In KiloBytes/Sec
RATE1=75
RATE1=`expr $RATE_TOT \* $RATE1`
RATE1=`expr $RATE1 / 100`
RATE2=`expr $RATE_TOT - $RATE1`

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

echo rate_tot: $RATE_TOT
echo rate1: $RATE1
echo rate1: $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
 
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 -N acc_2
iptables -N acc_3
iptables -A OUTPUT -t mangle -p tcp --dport 2003 -j MARK --set-mark 1
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 2004 -j acc_1

#ipchains -F
#ipchains -X
 
#ipchains -N acc_0
#ipchains -N acc_1
#ipchains -A output -p tcp -d $IP :2001 -m 1 -j acc_0
#ipchains -A output -p tcp -d $IP 2002   -m 2 -j acc_1

