Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b6130df authored by Yuval Mintz's avatar Yuval Mintz Committed by David S. Miller
Browse files

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: default avatarYuval Mintz <yuvalm@mellanox.com>
Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9136074d
Loading
Loading
Loading
Loading
+55 −0
Original line number Diff line number Diff line
#!/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"