mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-27 04:22:58 +00:00
The driver-specific wrappers of these selftests invoke bail_on_lldpad to make sure that LLDPAD doesn't trample the configuration. The function bail_on_lldpad is going to move to lib.sh in the next patch. With that, it won't be visible for the wrappers before sourcing the framework script. And after sourcing it, it is too late: the selftest will have run by then. One option might be to source NUM_NETIFS=0 lib.sh from the wrapper, but even if that worked (it might, it might not), that seems cumbersome. lib.sh is doing fair amount of stuff, and even if it works today, it does not look particularly solid as a solution. Instead, introduce a hook, sch_tbf_pre_hook(), that when available, gets invoked. Move the bail to the hook. Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Danielle Ratson <danieller@nvidia.com> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
72 lines
1.4 KiB
Bash
72 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
ALL_TESTS="
|
|
ping_ipv4
|
|
tbf_test
|
|
tbf_root_test
|
|
"
|
|
source $lib_dir/sch_tbf_core.sh
|
|
|
|
QDISC_TYPE=${QDISC% *}
|
|
|
|
tbf_test_one()
|
|
{
|
|
local bs=$1; shift
|
|
|
|
tc qdisc replace dev $swp2 parent 10:3 handle 103: tbf \
|
|
rate 400Mbit burst $bs limit 1M
|
|
tc qdisc replace dev $swp2 parent 10:2 handle 102: tbf \
|
|
rate 800Mbit burst $bs limit 1M
|
|
|
|
do_tbf_test 10 400 $bs
|
|
do_tbf_test 11 800 $bs
|
|
}
|
|
|
|
tbf_test()
|
|
{
|
|
log_info "Testing root-$QDISC_TYPE-tbf"
|
|
|
|
# This test is used for both ETS and PRIO. Even though we only need two
|
|
# bands, PRIO demands a minimum of three.
|
|
tc qdisc add dev $swp2 root handle 10: $QDISC 3 priomap 2 1 0
|
|
tbf_test_one 128K
|
|
tc qdisc del dev $swp2 root
|
|
}
|
|
|
|
tbf_root_test()
|
|
{
|
|
local bs=128K
|
|
|
|
log_info "Testing root-tbf-$QDISC_TYPE"
|
|
|
|
tc qdisc replace dev $swp2 root handle 1: \
|
|
tbf rate 400Mbit burst $bs limit 1M
|
|
tc qdisc replace dev $swp2 parent 1:1 handle 10: \
|
|
$QDISC 3 priomap 2 1 0
|
|
tc qdisc replace dev $swp2 parent 10:3 handle 103: \
|
|
bfifo limit 1M
|
|
tc qdisc replace dev $swp2 parent 10:2 handle 102: \
|
|
bfifo limit 1M
|
|
tc qdisc replace dev $swp2 parent 10:1 handle 101: \
|
|
bfifo limit 1M
|
|
|
|
do_tbf_test 10 400 $bs
|
|
do_tbf_test 11 400 $bs
|
|
|
|
tc qdisc del dev $swp2 root
|
|
}
|
|
|
|
if type -t sch_tbf_pre_hook >/dev/null; then
|
|
sch_tbf_pre_hook
|
|
fi
|
|
|
|
trap cleanup EXIT
|
|
|
|
setup_prepare
|
|
setup_wait
|
|
|
|
tests_run
|
|
|
|
exit $EXIT_STATUS
|