All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Machata <petrm@nvidia.com>
To: Ioana Ciornei <ioana.ciornei@nxp.com>
Cc: <netdev@vger.kernel.org>, Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org>,
	<linux-kernel@vger.kernel.org>, <petrm@nvidia.com>,
	<willemb@google.com>
Subject: Re: [PATCH net-next v3 4/9] selftests: net: update some helpers to use run_on
Date: Fri, 20 Mar 2026 12:22:02 +0100	[thread overview]
Message-ID: <87pl4y922n.fsf@nvidia.com> (raw)
In-Reply-To: <20260319160410.2515105-5-ioana.ciornei@nxp.com>


Ioana Ciornei <ioana.ciornei@nxp.com> writes:

> 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>

This looks good, but I'm unhappy with some overlong lines again :)

> ---
> 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')

Here.

>  		# 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"]}

And here.

>  	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]'

Oh, I see, you fold it here. Um, would be better in 1/9 though :)

>  	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]'

This needs to be folded as well.

>  	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()


  reply	other threads:[~2026-03-20 11:24 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-19 16:04 [PATCH net-next v3 0/9] selftests: drivers: bash support for remote traffic generators Ioana Ciornei
2026-03-19 16:04 ` [PATCH net-next v3 1/9] selftests: forwarding: extend ethtool_std_stats_get with pause statistics Ioana Ciornei
2026-03-20 11:15   ` Petr Machata
2026-03-20 11:20   ` Petr Machata
2026-03-20 11:25     ` Ioana Ciornei
2026-03-19 16:04 ` [PATCH net-next v3 2/9] selftests: net: add helpers for running a command on other targets Ioana Ciornei
2026-03-20 10:58   ` Petr Machata
2026-03-20 13:12     ` Ioana Ciornei
2026-03-20 16:05       ` Petr Machata
2026-03-19 16:04 ` [PATCH net-next v3 3/9] selftests: net: extend lib.sh to parse drivers/net/net.config Ioana Ciornei
2026-03-20 10:19   ` Petr Machata
2026-03-20 13:28     ` Ioana Ciornei
2026-03-20 15:35       ` Petr Machata
2026-03-19 16:04 ` [PATCH net-next v3 4/9] selftests: net: update some helpers to use run_on Ioana Ciornei
2026-03-20 11:22   ` Petr Machata [this message]
2026-03-20 12:55     ` Ioana Ciornei
2026-03-19 16:04 ` [PATCH net-next v3 5/9] selftests: drivers: hw: cleanup shellcheck warnings in the rmon test Ioana Ciornei
2026-03-20 11:29   ` Petr Machata
2026-03-19 16:04 ` [PATCH net-next v3 6/9] selftests: drivers: hw: test rmon counters only on first interface Ioana Ciornei
2026-03-20 11:31   ` Petr Machata
2026-03-19 16:04 ` [PATCH net-next v3 7/9] selftests: drivers: hw: replace counter upper limit with UINT32_MAX in rmon test Ioana Ciornei
2026-03-20 11:33   ` Petr Machata
2026-03-19 16:04 ` [PATCH net-next v3 8/9] selftests: drivers: hw: update ethtool_rmon to work with a single local interface Ioana Ciornei
2026-03-20 11:38   ` Petr Machata
2026-03-19 16:04 ` [PATCH net-next v3 9/9] selftests: drivers: hw: add test for the ethtool standard counters Ioana Ciornei
2026-03-20 11:41   ` Petr Machata
2026-03-21  3:17   ` Jakub Kicinski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pl4y922n.fsf@nvidia.com \
    --to=petrm@nvidia.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=ioana.ciornei@nxp.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=willemb@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.