selftests: forwarding: generalize bail_on_lldpad from mlxsw
mlxsw selftests often invoke a bail_on_lldpad() helper to make sure LLDPAD is not running, to prevent conflicts between the QoS configuration applied through TC or DCB command line tool, and the DCB configuration that LLDPAD might apply. This helper might be useful to others. Move the function to lib.sh, and parameterize to make reusable in other contexts. 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>
This commit is contained in:
parent
54e906f163
commit
8fcac79270
@ -18,7 +18,6 @@ lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
NUM_NETIFS=0
|
||||
source $lib_dir/lib.sh
|
||||
source $lib_dir/devlink_lib.sh
|
||||
source qos_lib.sh
|
||||
|
||||
swp=$NETIF_NO_CABLE
|
||||
|
||||
@ -371,7 +370,7 @@ test_tc_int_buf()
|
||||
tc qdisc delete dev $swp root
|
||||
}
|
||||
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
|
||||
trap cleanup EXIT
|
||||
setup_wait
|
||||
|
@ -54,31 +54,3 @@ measure_rate()
|
||||
echo $ir $er
|
||||
return $ret
|
||||
}
|
||||
|
||||
bail_on_lldpad()
|
||||
{
|
||||
if systemctl is-active --quiet lldpad; then
|
||||
|
||||
cat >/dev/stderr <<-EOF
|
||||
WARNING: lldpad is running
|
||||
|
||||
lldpad will likely configure DCB, and this test will
|
||||
configure Qdiscs. mlxsw does not support both at the
|
||||
same time, one of them is arbitrarily going to overwrite
|
||||
the other. That will cause spurious failures (or,
|
||||
unlikely, passes) of this test.
|
||||
EOF
|
||||
|
||||
if [[ -z $ALLOW_LLDPAD ]]; then
|
||||
cat >/dev/stderr <<-EOF
|
||||
|
||||
If you want to run the test anyway, please set
|
||||
an environment variable ALLOW_LLDPAD to a
|
||||
non-empty string.
|
||||
EOF
|
||||
exit 1
|
||||
else
|
||||
return
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -79,7 +79,6 @@ lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
NUM_NETIFS=6
|
||||
source $lib_dir/lib.sh
|
||||
source $lib_dir/devlink_lib.sh
|
||||
source qos_lib.sh
|
||||
|
||||
_1KB=1000
|
||||
_100KB=$((100 * _1KB))
|
||||
@ -393,7 +392,7 @@ test_qos_pfc()
|
||||
log_test "PFC"
|
||||
}
|
||||
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
|
||||
trap cleanup EXIT
|
||||
setup_prepare
|
||||
|
@ -5,7 +5,6 @@
|
||||
lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
source $lib_dir/sch_ets_core.sh
|
||||
source $lib_dir/devlink_lib.sh
|
||||
source qos_lib.sh
|
||||
|
||||
ALL_TESTS="
|
||||
ping_ipv4
|
||||
@ -78,5 +77,5 @@ collect_stats()
|
||||
done
|
||||
}
|
||||
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
ets_run
|
||||
|
@ -74,7 +74,6 @@ lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
source $lib_dir/lib.sh
|
||||
source $lib_dir/devlink_lib.sh
|
||||
source mlxsw_lib.sh
|
||||
source qos_lib.sh
|
||||
|
||||
ipaddr()
|
||||
{
|
||||
|
@ -166,7 +166,7 @@ ecn_mirror_test()
|
||||
uninstall_qdisc
|
||||
}
|
||||
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
|
||||
trap cleanup EXIT
|
||||
setup_prepare
|
||||
|
@ -73,7 +73,7 @@ red_mirror_test()
|
||||
uninstall_qdisc
|
||||
}
|
||||
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
|
||||
trap cleanup EXIT
|
||||
setup_prepare
|
||||
|
@ -1,11 +1,9 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
source qos_lib.sh
|
||||
|
||||
sch_tbf_pre_hook()
|
||||
{
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
}
|
||||
|
||||
lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
|
@ -1,11 +1,9 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
source qos_lib.sh
|
||||
|
||||
sch_tbf_pre_hook()
|
||||
{
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
}
|
||||
|
||||
lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
|
@ -1,11 +1,9 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
source qos_lib.sh
|
||||
|
||||
sch_tbf_pre_hook()
|
||||
{
|
||||
bail_on_lldpad
|
||||
bail_on_lldpad "configure DCB" "configure Qdiscs"
|
||||
}
|
||||
|
||||
lib_dir=$(dirname $0)/../../../net/forwarding
|
||||
|
@ -1887,3 +1887,34 @@ mldv1_done_get()
|
||||
|
||||
payload_template_expand_checksum "$hbh$icmpv6" $checksum
|
||||
}
|
||||
|
||||
bail_on_lldpad()
|
||||
{
|
||||
local reason1="$1"; shift
|
||||
local reason2="$1"; shift
|
||||
|
||||
if systemctl is-active --quiet lldpad; then
|
||||
|
||||
cat >/dev/stderr <<-EOF
|
||||
WARNING: lldpad is running
|
||||
|
||||
lldpad will likely $reason1, and this test will
|
||||
$reason2. Both are not supported at the same time,
|
||||
one of them is arbitrarily going to overwrite the
|
||||
other. That will cause spurious failures (or, unlikely,
|
||||
passes) of this test.
|
||||
EOF
|
||||
|
||||
if [[ -z $ALLOW_LLDPAD ]]; then
|
||||
cat >/dev/stderr <<-EOF
|
||||
|
||||
If you want to run the test anyway, please set
|
||||
an environment variable ALLOW_LLDPAD to a
|
||||
non-empty string.
|
||||
EOF
|
||||
exit 1
|
||||
else
|
||||
return
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user