Commit 54e906f1 authored by Petr Machata's avatar Petr Machata Committed by Jakub Kicinski

selftests: forwarding: sch_tbf_*: Add a pre-run hook

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: default avatarPetr Machata <petrm@nvidia.com>
Reviewed-by: default avatarDanielle Ratson <danieller@nvidia.com>
Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 35b288d6
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
source qos_lib.sh source qos_lib.sh
bail_on_lldpad
sch_tbf_pre_hook()
{
bail_on_lldpad
}
lib_dir=$(dirname $0)/../../../net/forwarding lib_dir=$(dirname $0)/../../../net/forwarding
TCFLAGS=skip_sw TCFLAGS=skip_sw
......
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
source qos_lib.sh source qos_lib.sh
bail_on_lldpad
sch_tbf_pre_hook()
{
bail_on_lldpad
}
lib_dir=$(dirname $0)/../../../net/forwarding lib_dir=$(dirname $0)/../../../net/forwarding
TCFLAGS=skip_sw TCFLAGS=skip_sw
......
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
source qos_lib.sh source qos_lib.sh
bail_on_lldpad
sch_tbf_pre_hook()
{
bail_on_lldpad
}
lib_dir=$(dirname $0)/../../../net/forwarding lib_dir=$(dirname $0)/../../../net/forwarding
TCFLAGS=skip_sw TCFLAGS=skip_sw
......
...@@ -57,6 +57,10 @@ tbf_root_test() ...@@ -57,6 +57,10 @@ tbf_root_test()
tc qdisc del dev $swp2 root tc qdisc del dev $swp2 root
} }
if type -t sch_tbf_pre_hook >/dev/null; then
sch_tbf_pre_hook
fi
trap cleanup EXIT trap cleanup EXIT
setup_prepare setup_prepare
......
...@@ -23,6 +23,10 @@ tbf_test() ...@@ -23,6 +23,10 @@ tbf_test()
tc qdisc del dev $swp2 root tc qdisc del dev $swp2 root
} }
if type -t sch_tbf_pre_hook >/dev/null; then
sch_tbf_pre_hook
fi
trap cleanup EXIT trap cleanup EXIT
setup_prepare setup_prepare
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment