Skip to content

Commit

Permalink
selftests: forwarding: sch_tbf_*: Add a pre-run hook
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Petr Machata authored and Jakub Kicinski committed Apr 21, 2023
1 parent 35b288d commit 54e906f
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 3 deletions.
6 changes: 5 additions & 1 deletion tools/testing/selftests/drivers/net/mlxsw/sch_tbf_ets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
# SPDX-License-Identifier: GPL-2.0

source qos_lib.sh
bail_on_lldpad

sch_tbf_pre_hook()
{
bail_on_lldpad
}

lib_dir=$(dirname $0)/../../../net/forwarding
TCFLAGS=skip_sw
Expand Down
6 changes: 5 additions & 1 deletion tools/testing/selftests/drivers/net/mlxsw/sch_tbf_prio.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
# SPDX-License-Identifier: GPL-2.0

source qos_lib.sh
bail_on_lldpad

sch_tbf_pre_hook()
{
bail_on_lldpad
}

lib_dir=$(dirname $0)/../../../net/forwarding
TCFLAGS=skip_sw
Expand Down
6 changes: 5 additions & 1 deletion tools/testing/selftests/drivers/net/mlxsw/sch_tbf_root.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@
# SPDX-License-Identifier: GPL-2.0

source qos_lib.sh
bail_on_lldpad

sch_tbf_pre_hook()
{
bail_on_lldpad
}

lib_dir=$(dirname $0)/../../../net/forwarding
TCFLAGS=skip_sw
Expand Down
4 changes: 4 additions & 0 deletions tools/testing/selftests/net/forwarding/sch_tbf_etsprio.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@ tbf_root_test()
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
Expand Down
4 changes: 4 additions & 0 deletions tools/testing/selftests/net/forwarding/sch_tbf_root.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ tbf_test()
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
Expand Down

0 comments on commit 54e906f

Please sign in to comment.