[PATCH net-next v3 4/9] selftests: net: update some helpers to use run_on
From: Ioana Ciornei <ioana.ciornei@nxp.com>
Date: 2026-03-19 16:04:30
Also in:
lkml
Subsystem:
kernel selftest framework, networking [general], networking [ipv4/ipv6], the rest · Maintainers:
Shuah Khan, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, David Ahern, Ido Schimmel, Linus Torvalds
Update some helpers so that they are capable to run commands on different targets than the local one. This patch makes the necesasy modification for those helpers / sections of code which are needed for the ethtool_rmon.sh test that will be converted in the next patches. For example, mac_addr_prepare() and mac_addr_restore() used when STABLE_MAC_ADDRS=yes need to ensure stable MAC addresses on interfaces located even in other namespaces. In order to do that, append the 'ip link' commands with a 'run_on $dev' tag. The same run_on is necessary also when verifying if all the interfaces listed in NETIFS are indeed available. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> --- Changes in v3: - added some more double quotes Changes in v2: - patch is new tools/testing/selftests/net/forwarding/lib.sh | 17 ++++++++++------- tools/testing/selftests/net/lib.sh | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
index fb5aa56343e1..f76de37d0caf 100644
--- a/tools/testing/selftests/net/forwarding/lib.sh
+++ b/tools/testing/selftests/net/forwarding/lib.sh@@ -530,10 +530,10 @@ mac_addr_prepare() dev=${NETIFS[p$i]} new_addr=$(printf "00:01:02:03:04:%02x" $i) - MAC_ADDR_ORIG["$dev"]=$(ip -j link show dev $dev | jq -e '.[].address') + MAC_ADDR_ORIG["$dev"]=$(run_on "$dev" ip -j link show dev "$dev" | jq -e '.[].address') # Strip quotes MAC_ADDR_ORIG["$dev"]=${MAC_ADDR_ORIG["$dev"]//\"/} - ip link set dev $dev address $new_addr + run_on "$dev" ip link set dev "$dev" address $new_addr done }
@@ -543,7 +543,7 @@ mac_addr_restore() for ((i = 1; i <= NUM_NETIFS; ++i)); do dev=${NETIFS[p$i]} - ip link set dev $dev address ${MAC_ADDR_ORIG["$dev"]} + run_on "$dev" ip link set dev "$dev" address ${MAC_ADDR_ORIG["$dev"]} done }
@@ -556,7 +556,9 @@ if [[ "$STABLE_MAC_ADDRS" = "yes" ]]; then fi for ((i = 1; i <= NUM_NETIFS; ++i)); do - ip link show dev ${NETIFS[p$i]} &> /dev/null + int="${NETIFS[p$i]}" + + run_on "$int" ip link show dev "$int" &> /dev/null if [[ $? -ne 0 ]]; then echo "SKIP: could not find all required interfaces" exit $ksft_skip
@@ -639,7 +641,7 @@ setup_wait_dev_with_timeout() local i for ((i = 1; i <= $max_iterations; ++i)); do - ip link show dev $dev up \ + run_on "$dev" ip link show dev "$dev" up \ | grep 'state UP' &> /dev/null if [[ $? -ne 0 ]]; then sleep 1
@@ -944,9 +946,10 @@ ethtool_std_stats_get() local src=$1; shift if [[ "$grp" == "pause" ]]; then - ethtool -I --json -a "$dev" | jq --arg name "$name" '.[].statistics[$name]' + run_on "$dev" ethtool -I --json -a "$dev" | \ + jq --arg name "$name" '.[].statistics[$name]' else - ethtool --json -S "$dev" --groups "$grp" -- --src "$src" | \ + run_on "$dev" ethtool --json -S "$dev" --groups "$grp" -- --src "$src" | \ jq --arg grp "$grp" --arg name "$name" '.[][$grp][$name]' fi }
diff --git a/tools/testing/selftests/net/lib.sh b/tools/testing/selftests/net/lib.sh
index f7c54d05758e..14f262a593c9 100644
--- a/tools/testing/selftests/net/lib.sh
+++ b/tools/testing/selftests/net/lib.sh@@ -518,7 +518,7 @@ mac_get() { local if_name=$1 - ip -j link show dev $if_name | jq -r '.[]["address"]' + run_on "$if_name" ip -j link show dev "$if_name" | jq -r '.[]["address"]' } kill_process()
--
2.25.1