diff options
author | Petr Machata <petrm@mellanox.com> | 2020-01-24 16:23:15 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-01-25 12:56:31 +0300 |
commit | adc6c7ec11293117ec2763ccbe17d58349e011cf (patch) | |
tree | bf4af539ef122aa6662bfcb028367b0d4952c238 /tools/testing/selftests/net | |
parent | a44f58c41bfbb921c1c4586bed9ad26aa2c6208a (diff) | |
download | linux-adc6c7ec11293117ec2763ccbe17d58349e011cf.tar.xz |
selftests: Move two functions from mlxsw's qos_lib to lib
The function humanize() is used for converting value in bits/s to a
human-friendly approximate value in Kbps, Mbps or Gbps. There is nothing
hardware-specific in that, so move the function to lib.sh.
Similarly for the rate() function, which just does a bit of math to
calculate a rate, given two counter values and a time interval.
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/net')
-rw-r--r-- | tools/testing/selftests/net/forwarding/lib.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh index 8dc5fac98cbc..10cdfc0adca8 100644 --- a/tools/testing/selftests/net/forwarding/lib.sh +++ b/tools/testing/selftests/net/forwarding/lib.sh @@ -588,6 +588,30 @@ ethtool_stats_get() ethtool -S $dev | grep "^ *$stat:" | head -n 1 | cut -d: -f2 } +humanize() +{ + local speed=$1; shift + + for unit in bps Kbps Mbps Gbps; do + if (($(echo "$speed < 1024" | bc))); then + break + fi + + speed=$(echo "scale=1; $speed / 1024" | bc) + done + + echo "$speed${unit}" +} + +rate() +{ + local t0=$1; shift + local t1=$1; shift + local interval=$1; shift + + echo $((8 * (t1 - t0) / interval)) +} + mac_get() { local if_name=$1 |