selftests: mlxsw: Add target for router test on spectrum
authorYuval Mintz <yuvalm@mellanox.com>
Sat, 30 Jun 2018 00:50:28 +0000 (02:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 30 Jun 2018 13:06:15 +0000 (22:06 +0900)
IPv4 routes in Spectrum are based on the kvd single-hash, but as it's
a hash we need to assume we cannot reach 100% of its capacity.

Add a wrapper that provides us with good/bad target numbers for the
Spectrum ASIC.

Signed-off-by: Yuval Mintz <yuvalm@mellanox.com>
Reviewed-by: Petr Machata <petrm@mellanox.com>
[petrm@mellanox.com: Drop shebang.]
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/drivers/net/mlxsw/spectrum/router_scale.sh [new file with mode: 0644]

diff --git a/tools/testing/selftests/drivers/net/mlxsw/spectrum/router_scale.sh b/tools/testing/selftests/drivers/net/mlxsw/spectrum/router_scale.sh
new file mode 100644 (file)
index 0000000..21c4697
--- /dev/null
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0
+source ../router_scale.sh
+
+router_get_target()
+{
+       local should_fail=$1
+       local target
+
+       target=$(devlink_resource_size_get kvd hash_single)
+
+       if [[ $should_fail -eq 0 ]]; then
+               target=$((target * 85 / 100))
+       else
+               target=$((target + 1))
+       fi
+
+       echo $target
+}