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>
--- /dev/null
+# 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
+}