]> git.proxmox.com Git - mirror_iproute2.git/blob - testsuite/tests/cls-testbed.t
New files in testsuite update (damn CVS)
[mirror_iproute2.git] / testsuite / tests / cls-testbed.t
1 #!/bin/bash
2 # vim: ft=sh
3
4 source lib/generic.sh
5
6 QDISCS="cbq htb dsmark"
7
8 for q in ${QDISCS}; do
9 ts_log "Preparing classifier testbed with qdisc $q"
10
11 for c in tests/cls/*.t; do
12
13 case "$q" in
14 cbq)
15 ts_tc "cls-testbed" "cbq root qdisc creation" \
16 qdisc add dev $DEV root handle 10:0 \
17 cbq bandwidth 100Mbit avpkt 1400 mpu 64
18 ts_tc "cls-testbed" "cbq root class creation" \
19 class add dev $DEV parent 10:0 classid 10:12 \
20 cbq bandwidth 100mbit rate 100mbit allot 1514 prio 3 \
21 maxburst 1 avpkt 500 bounded
22 ;;
23 htb)
24 ts_qdisc_available "htb"
25 if [ $? -eq 0 ]; then
26 ts_log "cls-testbed: HTB is unsupported by $TC, skipping"
27 continue;
28 fi
29 ts_tc "cls-testbed" "htb root qdisc creation" \
30 qdisc add dev $DEV root handle 10:0 htb
31 ts_tc "cls-testbed" "htb root class creation" \
32 class add dev $DEV parent 10:0 classid 10:12 \
33 htb rate 100Mbit quantum 1514
34 ;;
35 dsmark)
36 ts_qdisc_available "dsmark"
37 if [ $? -eq 0 ]; then
38 ts_log "cls-testbed: dsmark is unsupported by $TC, skipping"
39 continue;
40 fi
41 ts_tc "cls-testbed" "dsmark root qdisc creation" \
42 qdisc add dev $DEV root handle 20:0 \
43 dsmark indices 64 default_index 1 set_tc_index
44 ts_tc "cls-testbed" "dsmark class creation" \
45 class change dev $DEV parent 20:0 classid 20:12 \
46 dsmark mask 0xff value 2
47 ts_tc "cls-testbed" "prio inner qdisc creation" \
48 qdisc add dev $DEV parent 20:0 handle 10:0 prio
49 ;;
50 *)
51 ts_err "cls-testbed: no testbed configuration found for qdisc $q"
52 continue
53 ;;
54 esac
55
56 ts_tc "cls-testbed" "tree listing" qdisc list dev eth0
57 ts_tc "cls-testbed" "tree class listing" class list dev eth0
58 ts_log "cls-testbed: starting classifier test $c"
59 $c
60
61 case "$q" in
62 *)
63 ts_tc "cls-testbed" "generic qdisc tree deletion" \
64 qdisc del dev $DEV root
65 ;;
66 esac
67 done
68 done