]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/blobdiff - tc/setcanfltr.sh
benchmark: Added benchmarking of SFQ qdisc.
[lisovros/iproute2_canprio.git] / tc / setcanfltr.sh
index 6fe99dcfba16fe775ad8fb67862039ec3ff3adce..60b6f365e0f3bca24a7f6ceec851fbce279485f5 100755 (executable)
@@ -63,6 +63,49 @@ elif [ "$1"  == "prio" ]; then  # create Prio qdiscs and configure can filter
 
        tc qdisc show dev ${DEV}
 
+elif [ "$1" == "htb" ]; then # Hierarchy Token Bucket
+
+       tc qdisc add dev ${DEV} root handle 1: htb
+
+       tc class add dev ${DEV} parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
+       tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps
+       tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps
+       tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps
+
+       tc filter add dev ${DEV} parent 1:0 prio 1 \
+               can sffid 0x123:0x7ff effid 0x123:0x7ff flowid 1:10
+       tc filter add dev ${DEV} parent 1:0 prio 2 \
+               can sffid 0x124:0x7ff effid 0x124:0x7ff flowid 1:11
+       tc filter add dev ${DEV} parent 1:0 prio 3 \
+               can sffid 0x125:0x7ff effid 0x125:0x7ff flowid 1:12
+
+       tc qdisc add dev ${DEV} parent 1:12 handle 40: sfq perturb 10
+
+elif [ "$1" == "sfq" ]; then
+
+       tc qdisc add dev ${DEV} root handle 1: prio
+
+       tc filter add dev ${DEV} parent 1:0 prio 1 \
+               can sffid 0x111 effid 0x111 flowid 1:1
+
+       tc filter add dev ${DEV} parent 1:0 prio 2 \
+               can \
+               sffid 0x123 effid 0x123 \
+               sffid 0x124 effid 0x124 \
+               sffid 0x125 effid 0x125 \
+               flowid 1:2
+
+       tc filter add dev ${DEV} parent 1:0 prio 3 \
+               can sffid 0x0:0x0 effid 0x0:0x0 flowid 1:3
+               # default class
+
+       # SFQ
+       tc qdisc add dev ${DEV} parent 1:2 handle 10: \
+               sfq perturb 10
+
+       tc qdisc add dev ${DEV} parent 1:3 handle 11: \
+               sfq perturb 10
+
 elif [ "$1"  == "prio2sff" ]; then  # create Prio qdiscs and configure can filter
 
        tc qdisc add dev ${DEV} root handle 1: prio bands 5
@@ -317,28 +360,10 @@ elif [ "$1"  == "prio2eff" ]; then  # create Prio qdiscs and configure can filte
 
        tc qdisc show dev ${DEV}
 
-
-elif [ "$1" == "htb" ]; then # Hierarchy Token Bucket
-
-       tc qdisc add dev ${DEV} root handle 1: htb
-
-       tc class add dev ${DEV} parent 1: classid 1:1 htb rate 100kbps ceil 100kbps
-       tc class add dev ${DEV} parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps
-       tc class add dev ${DEV} parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps
-       tc class add dev ${DEV} parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps
-
-       tc filter add dev ${DEV} parent 1:0 prio 1 \
-               can sffid 0x123:0x7ff effid 0x123:0x7ff flowid 1:10
-       tc filter add dev ${DEV} parent 1:0 prio 2 \
-               can sffid 0x124:0x7ff effid 0x124:0x7ff flowid 1:11
-       tc filter add dev ${DEV} parent 1:0 prio 3 \
-               can sffid 0x125:0x7ff effid 0x125:0x7ff flowid 1:12
-
-       tc qdisc add dev ${DEV} parent 1:12 handle 40: sfq perturb 10
 else
 
        echo -e "Usage: $0 [ del | stat | show | change | "
        echo -e "\t\t\t change2 | change3 | head_drop | tbf | prio | "
-       echo -e "\t\t\t prio2sff | prio2eff | htb ]"
+       echo -e "\t\t\t sfq | prio2sff | prio2eff | htb ]"
 fi