selftests: mlxsw: Add a resource scale test for Spectrum-2
authorDanielle Ratson <danieller@mellanox.com>
Thu, 17 Oct 2019 06:55:17 +0000 (09:55 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Oct 2019 17:05:37 +0000 (10:05 -0700)
Add resource_scale test suitable for Spectrum-2.

Invoke the mirror_gre test and check that the advertised scale numbers
are indeed supported.

Signed-off-by: Danielle Ratson <danieller@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh [new file with mode: 0755]

diff --git a/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh b/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/resource_scale.sh
new file mode 100755 (executable)
index 0000000..3bb9147
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+
+lib_dir=$(dirname $0)/../../../../net/forwarding
+
+NUM_NETIFS=6
+source $lib_dir/lib.sh
+source $lib_dir/tc_common.sh
+source $lib_dir/devlink_lib.sh
+
+current_test=""
+
+cleanup()
+{
+       pre_cleanup
+       if [ ! -z $current_test ]; then
+               ${current_test}_cleanup
+       fi
+}
+
+trap cleanup EXIT
+
+ALL_TESTS="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 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' $target"
+               else
+                       log_test "'$current_test' overflow $target"
+               fi
+       done
+done
+current_test=""
+
+exit "$RET"