]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
selftests: netdevsim: add a test checking ethtool features
authorSabrina Dubroca <sd@queasysnail.net>
Wed, 6 Nov 2024 23:13:28 +0000 (00:13 +0100)
committerJakub Kicinski <kuba@kernel.org>
Mon, 11 Nov 2024 22:12:21 +0000 (14:12 -0800)
Add a test checking that some features are active by default and
changeable.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/fff58fa70f8a300440958b5020f6a4eb2e9dad61.1730929545.git.sd@queasysnail.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/drivers/net/netdevsim/Makefile
tools/testing/selftests/drivers/net/netdevsim/ethtool-features.sh [new file with mode: 0644]

index cc08b220323f01c9fb0051f388353efcf4960a2e..df167c637af964b4ea99114f1648de071562fc6f 100644 (file)
@@ -4,6 +4,7 @@ TEST_PROGS = devlink.sh \
        devlink_in_netns.sh \
        devlink_trap.sh \
        ethtool-coalesce.sh \
+       ethtool-features.sh \
        ethtool-fec.sh \
        ethtool-pause.sh \
        ethtool-ring.sh \
diff --git a/tools/testing/selftests/drivers/net/netdevsim/ethtool-features.sh b/tools/testing/selftests/drivers/net/netdevsim/ethtool-features.sh
new file mode 100644 (file)
index 0000000..bc210dc
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0-only
+
+source ethtool-common.sh
+
+NSIM_NETDEV=$(make_netdev)
+
+set -o pipefail
+
+FEATS="
+  tx-checksum-ip-generic
+  tx-scatter-gather
+  tx-tcp-segmentation
+  generic-segmentation-offload
+  generic-receive-offload"
+
+for feat in $FEATS ; do
+    s=$(ethtool --json -k $NSIM_NETDEV | jq ".[].\"$feat\".active" 2>/dev/null)
+    check $? "$s" true
+
+    s=$(ethtool --json -k $NSIM_NETDEV | jq ".[].\"$feat\".fixed" 2>/dev/null)
+    check $? "$s" false
+done
+
+if [ $num_errors -eq 0 ]; then
+    echo "PASSED all $((num_passes)) checks"
+    exit 0
+else
+    echo "FAILED $num_errors/$((num_errors+num_passes)) checks"
+    exit 1
+fi