selftests: mlxsw: Add scale test for resources
Add a scale test capable of validating that offloaded network functionality is indeed functional at scale when configured to the different KVD profiles available. Start by testing offloaded routes are functional at scale by passing traffic on each one of them in turn. Signed-off-by: Yuval Mintz <yuvalm@mellanox.com> Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9136074d56
commit
1b6130df62
55
tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh
Executable file
55
tools/testing/selftests/drivers/net/mlxsw/spectrum/resource_scale.sh
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
NUM_NETIFS=6
|
||||
source ../../../../net/forwarding/lib.sh
|
||||
source ../../../../net/forwarding/tc_common.sh
|
||||
source devlink_lib_spectrum.sh
|
||||
|
||||
current_test=""
|
||||
|
||||
cleanup()
|
||||
{
|
||||
pre_cleanup
|
||||
if [ ! -z $current_test ]; then
|
||||
${current_test}_cleanup
|
||||
fi
|
||||
devlink_sp_size_kvd_to_default
|
||||
}
|
||||
|
||||
devlink_sp_read_kvd_defaults
|
||||
trap cleanup EXIT
|
||||
|
||||
ALL_TESTS="router tc_flower mirror_gre"
|
||||
for current_test in ${TESTS:-$ALL_TESTS}; do
|
||||
source ${current_test}_scale.sh
|
||||
|
||||
num_netifs_var=${current_test^^}_NUM_NETIFS
|
||||
num_netifs=${!num_netifs_var:-$NUM_NETIFS}
|
||||
|
||||
for profile in $KVD_PROFILES; do
|
||||
RET=0
|
||||
devlink_sp_resource_kvd_profile_set $profile
|
||||
if [[ $RET -gt 0 ]]; then
|
||||
log_test "'$current_test' [$profile] setting"
|
||||
continue
|
||||
fi
|
||||
|
||||
for should_fail in 0 1; do
|
||||
RET=0
|
||||
target=$(${current_test}_get_target "$should_fail")
|
||||
${current_test}_setup_prepare
|
||||
setup_wait $num_netifs
|
||||
${current_test}_test "$target" "$should_fail"
|
||||
${current_test}_cleanup
|
||||
if [[ "$should_fail" -eq 0 ]]; then
|
||||
log_test "'$current_test' [$profile] $target"
|
||||
else
|
||||
log_test "'$current_test' [$profile] overflow $target"
|
||||
fi
|
||||
done
|
||||
done
|
||||
done
|
||||
current_test=""
|
||||
|
||||
exit "$RET"
|
Loading…
Reference in New Issue
Block a user