The current syntax of X=${X:=X} first evaluates the ${X:=Y} expression, which either uses the existing value of $X if there is one, or uses the value of "Y" as a fallback, and assigns it to X. The expression is then replaced with the now-current value of $X. Assigning that value to X once more is meaningless. So avoid the outer X=... bit, and instead express the same idea though the do-nothing ":" built-in as : "${X:=Y}". This also cleans up the block nicely and makes it more readable. Signed-off-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Benjamin Poirier <bpoirier@nvidia.com> Link: https://lore.kernel.org/r/1890ddc58420c2c0d5ba3154c87ecc6d9faf6947.1711464583.git.petrm@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
36 lines
710 B
Bash
36 lines
710 B
Bash
#!/bin/bash
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
CHECK_TC="yes"
|
|
|
|
# Can be overridden by the configuration file. See lib.sh
|
|
: "${TC_HIT_TIMEOUT:=1000}" # ms
|
|
|
|
tc_check_packets()
|
|
{
|
|
local id=$1
|
|
local handle=$2
|
|
local count=$3
|
|
|
|
busywait "$TC_HIT_TIMEOUT" until_counter_is "== $count" \
|
|
tc_rule_handle_stats_get "$id" "$handle" > /dev/null
|
|
}
|
|
|
|
tc_check_at_least_x_packets()
|
|
{
|
|
local id=$1
|
|
local handle=$2
|
|
local count=$3
|
|
|
|
busywait "$TC_HIT_TIMEOUT" until_counter_is ">= $count" \
|
|
tc_rule_handle_stats_get "$id" "$handle" > /dev/null
|
|
}
|
|
|
|
tc_check_packets_hitting()
|
|
{
|
|
local id=$1
|
|
local handle=$2
|
|
|
|
busywait "$TC_HIT_TIMEOUT" until_counter_is "> 0" \
|
|
tc_rule_handle_stats_get "$id" "$handle" > /dev/null
|
|
}
|