1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0 3 4 ALL_TESTS=" 5 ping_ipv4 6 tbf_test 7 tbf_root_test 8 " 9 source $lib_dir/sch_tbf_core.sh 10 11 QDISC_TYPE=${QDISC% *} 12 13 tbf_test_one() 14 { 15 local bs=$1; shift 16 17 tc qdisc replace dev $swp2 parent 10:3 handle 103: tbf \ 18 rate 400Mbit burst $bs limit 1M 19 tc qdisc replace dev $swp2 parent 10:2 handle 102: tbf \ 20 rate 800Mbit burst $bs limit 1M 21 22 do_tbf_test 10 400 $bs 23 do_tbf_test 11 800 $bs 24 } 25 26 tbf_test() 27 { 28 log_info "Testing root-$QDISC_TYPE-tbf" 29 30 # This test is used for both ETS and PRIO. Even though we only need two 31 # bands, PRIO demands a minimum of three. 32 tc qdisc add dev $swp2 root handle 10: $QDISC 3 priomap 2 1 0 33 tbf_test_one 128K 34 tc qdisc del dev $swp2 root 35 } 36 37 tbf_root_test() 38 { 39 local bs=128K 40 41 log_info "Testing root-tbf-$QDISC_TYPE" 42 43 tc qdisc replace dev $swp2 root handle 1: \ 44 tbf rate 400Mbit burst $bs limit 1M 45 tc qdisc replace dev $swp2 parent 1:1 handle 10: \ 46 $QDISC 3 priomap 2 1 0 47 tc qdisc replace dev $swp2 parent 10:3 handle 103: \ 48 bfifo limit 1M 49 tc qdisc replace dev $swp2 parent 10:2 handle 102: \ 50 bfifo limit 1M 51 tc qdisc replace dev $swp2 parent 10:1 handle 101: \ 52 bfifo limit 1M 53 54 do_tbf_test 10 400 $bs 55 do_tbf_test 11 400 $bs 56 57 tc qdisc del dev $swp2 root 58 } 59 60 if type -t sch_tbf_pre_hook >/dev/null; then 61 sch_tbf_pre_hook 62 fi 63 64 trap cleanup EXIT 65 66 setup_prepare 67 setup_wait 68 69 tests_run 70 71 exit $EXIT_STATUS
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.