diff options
author | Ido Schimmel <idosch@nvidia.com> | 2022-06-16 13:42:45 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-06-17 12:31:33 +0300 |
commit | ed62af45467a6786cbdeef42a7b4e7ced374f593 (patch) | |
tree | dd87036e2d2425e1dd78d367ca68953f8598945e /tools/testing/selftests/drivers | |
parent | be00853bfd2e704893916bc349e7ab1d50615cb4 (diff) | |
download | linux-ed62af45467a6786cbdeef42a7b4e7ced374f593.tar.xz |
selftests: spectrum-2: tc_flower_scale: Dynamically set scale target
Instead of hard coding the scale target in the test, dynamically set it
based on the maximum number of flow counters and their current
occupancy.
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/drivers')
-rw-r--r-- | tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_flower_scale.sh | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_flower_scale.sh b/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_flower_scale.sh index efd798a85931..4444bbace1a9 100644 --- a/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_flower_scale.sh +++ b/tools/testing/selftests/drivers/net/mlxsw/spectrum-2/tc_flower_scale.sh @@ -4,17 +4,22 @@ source ../tc_flower_scale.sh tc_flower_get_target() { local should_fail=$1; shift + local max_cnts # The driver associates a counter with each tc filter, which means the # number of supported filters is bounded by the number of available # counters. - # Currently, the driver supports 30K (30,720) flow counters and six of - # these are used for multicast routing. - local target=30714 + max_cnts=$(devlink_resource_size_get counters flow) + + # Remove already allocated counters. + ((max_cnts -= $(devlink_resource_occ_get counters flow))) + + # Each rule uses two counters, for packets and bytes. + ((max_cnts /= 2)) if ((! should_fail)); then - echo $target + echo $max_cnts else - echo $((target + 1)) + echo $((max_cnts + 1)) fi } |