]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests: forwarding: extend ethtool_std_stats_get with pause statistics
authorIoana Ciornei <ioana.ciornei@nxp.com>
Mon, 30 Mar 2026 15:29:25 +0000 (18:29 +0300)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 2 Apr 2026 10:11:03 +0000 (12:11 +0200)
Even though pause frame statistics are not exported through the same
ethtool command, there is no point in adding another helper just for
them. Extent the ethtool_std_stats_get() function so that we are able to
interrogate using the same helper all the standard statistics.

And since we are touching the function, convert the initial ethtool call
as well to the jq --arg form in order to be easier to read.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/20260330152933.2195885-2-ioana.ciornei@nxp.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
tools/testing/selftests/net/forwarding/lib.sh

index a9034f0bb58b070255df6f14db39876bb79bb14b..3009ce00c5dc2217d7279a35dadc5457527856a1 100644 (file)
@@ -831,8 +831,14 @@ ethtool_std_stats_get()
        local name=$1; shift
        local src=$1; shift
 
-       ethtool --json -S $dev --groups $grp -- --src $src | \
-               jq '.[]."'"$grp"'"."'$name'"'
+       if [[ "$grp" == "pause" ]]; then
+               ethtool -I --json -a "$dev" --src "$src" | \
+                       jq --arg name "$name" '.[].statistics[$name]'
+               return
+       fi
+
+       ethtool --json -S "$dev" --groups "$grp" -- --src "$src" | \
+               jq --arg grp "$grp" --arg name "$name" '.[][$grp][$name]'
 }
 
 qdisc_stats_get()