#!/bin/bash
# vim: ft=sh

source lib/generic.sh

QDISCS="cbq htb dsmark"

for q in ${QDISCS}; do
	ts_log "Preparing classifier testbed with qdisc $q"

	for c in tests/cls/*.t; do

		case "$q" in
		cbq)
			ts_tc "cls-testbed" "cbq root qdisc creation" \
				qdisc add dev $DEV root handle 10:0 \
				cbq bandwidth 100Mbit avpkt 1400 mpu 64
			ts_tc "cls-testbed" "cbq root class creation" \
				class add dev $DEV parent 10:0  classid 10:12 \
				cbq bandwidth 100mbit rate 100mbit allot 1514 prio 3 \
				maxburst 1 avpkt  500 bounded
			;;
		htb)
			ts_qdisc_available "htb"
			if [ $? -eq 0 ]; then
				ts_log "cls-testbed: HTB is unsupported by $TC, skipping"
				continue;
			fi
			ts_tc "cls-testbed" "htb root qdisc creation" \
				qdisc add dev $DEV root handle 10:0 htb
			ts_tc "cls-testbed" "htb root class creation" \
				class add dev $DEV parent 10:0 classid 10:12 \
				htb rate 100Mbit quantum 1514
			;;
		dsmark)
			ts_qdisc_available "dsmark"
			if [ $? -eq 0 ]; then
				ts_log "cls-testbed: dsmark is unsupported by $TC, skipping"
				continue;
			fi
			ts_tc "cls-testbed" "dsmark root qdisc creation" \
				qdisc add dev $DEV root handle 20:0 \
				dsmark indices 64 default_index 1 set_tc_index
			ts_tc "cls-testbed" "dsmark class creation" \
				class change dev $DEV parent 20:0 classid 20:12 \
				dsmark mask 0xff value 2
			ts_tc "cls-testbed" "prio inner qdisc creation" \
				qdisc add dev $DEV parent 20:0 handle 10:0 prio
			;;
		*)
			ts_err "cls-testbed: no testbed configuration found for qdisc $q"
			continue
			;;
		esac

		ts_tc "cls-testbed" "tree listing" qdisc list dev eth0
		ts_tc "cls-testbed" "tree class listing" class list dev eth0
		ts_log "cls-testbed: starting classifier test $c"
		$c 

		case "$q" in
		*)
			ts_tc "cls-testbed" "generic qdisc tree deletion" \
				qdisc del dev $DEV root
			;;
		esac
	done
done
