0001
0002
0003
0004 ALL_TESTS="
0005 ping_ipv4
0006 tbf_test
0007 tbf_root_test
0008 "
0009 source $lib_dir/sch_tbf_core.sh
0010
0011 QDISC_TYPE=${QDISC% *}
0012
0013 tbf_test_one()
0014 {
0015 local bs=$1; shift
0016
0017 tc qdisc replace dev $swp2 parent 10:3 handle 103: tbf \
0018 rate 400Mbit burst $bs limit 1M
0019 tc qdisc replace dev $swp2 parent 10:2 handle 102: tbf \
0020 rate 800Mbit burst $bs limit 1M
0021
0022 do_tbf_test 10 400 $bs
0023 do_tbf_test 11 800 $bs
0024 }
0025
0026 tbf_test()
0027 {
0028 log_info "Testing root-$QDISC_TYPE-tbf"
0029
0030
0031
0032 tc qdisc add dev $swp2 root handle 10: $QDISC 3 priomap 2 1 0
0033 tbf_test_one 128K
0034 tc qdisc del dev $swp2 root
0035 }
0036
0037 tbf_root_test()
0038 {
0039 local bs=128K
0040
0041 log_info "Testing root-tbf-$QDISC_TYPE"
0042
0043 tc qdisc replace dev $swp2 root handle 1: \
0044 tbf rate 400Mbit burst $bs limit 1M
0045 tc qdisc replace dev $swp2 parent 1:1 handle 10: \
0046 $QDISC 3 priomap 2 1 0
0047 tc qdisc replace dev $swp2 parent 10:3 handle 103: \
0048 bfifo limit 1M
0049 tc qdisc replace dev $swp2 parent 10:2 handle 102: \
0050 bfifo limit 1M
0051 tc qdisc replace dev $swp2 parent 10:1 handle 101: \
0052 bfifo limit 1M
0053
0054 do_tbf_test 10 400 $bs
0055 do_tbf_test 11 400 $bs
0056
0057 tc qdisc del dev $swp2 root
0058 }
0059
0060 trap cleanup EXIT
0061
0062 setup_prepare
0063 setup_wait
0064
0065 tests_run
0066
0067 exit $EXIT_STATUS