#!/bin/bash

#set -x

WANIF="wan"
#PRIOIP="10.185.10.254"
FULLBW="1500kbit"
TOTALBW="1000kbit"
BULKBW="1200kbit"
BTBW="800kbit"
MINBW="40kbit"

# clean up
tc qdisc del dev $WANIF root > /dev/null 2>&1

# root handle
tc qdisc add dev $WANIF root handle 1: htb default 10

# root class
tc class add dev $WANIF parent 1: classid 1:1 htb rate $FULLBW burst 250k

# default class + prio class
tc class add dev $WANIF parent 1:1 classid 1:10 htb rate $TOTALBW ceil $FULLBW burst 15k
tc class add dev $WANIF parent 1:1 classid 1:20 htb rate $MINBW ceil $BULKBW burst 15k
tc class add dev $WANIF parent 1:20 classid 1:25 htb rate $MINBW ceil $BTBW burst 15k

# SFQ for queue handling.
tc qdisc add dev $WANIF parent 1:10 handle 10: sfq perturb 10
#tc qdisc add dev $WANIF parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev $WANIF parent 1:25 handle 25: sfq perturb 10

# filters to direct tagged traffic to their class.
TCFILTER="tc filter add dev $WANIF protocol ip parent 1:0 prio 1"
#$TCFILTER u32 match ip src 10.185.10.206/32 flowid 1:20
$TCFILTER handle 10 fw flowid 1:10
$TCFILTER handle 20 fw flowid 1:20
$TCFILTER handle 25 fw flowid 1:25


exit 0
