Re: [PATCH net-next v3 8/9] selftests: drivers: hw: update ethtool_rmon to work with a single local interface

From: Petr Machata

Date: Fri Mar 20 2026 - 07:42:02 EST



Ioana Ciornei <ioana.ciornei@xxxxxxx> writes:

> This patch finalizes the transition to work with a single local
> interface for the ethtool_rmon.sh test. Each 'ip link' and 'ethtool'
> command used by the test is annotated with the necessary run_on in
> order to be executed on the necessary target system, be it local, in
> another network namespace or through ssh.
>
> Since we need NETIF up and running also for control traffic, we now
> expect that the interfaces are up and running and do not touch bring
> them up or down at the end of the test. This is also documented in the
> drivers/net/README.rst.
>
> The ethtool_rmon.sh script can still be used in the older fashion by
> passing two interfaces as command line arguments, the only restriction
> is that those interfaces need to be already up.
>
> As part of the kselftest infrastructure, this test can be run in the
> following manner:
>
> $ make -C tools/testing/selftests/ TARGETS="drivers/net drivers/net/hw" \
> install INSTALL_PATH=/tmp/ksft-net-drv
> $ cd /tmp/ksft-net-drv/
> $ cat > ./drivers/net/net.config <<EOF
> NETIF=endpmac17
> LOCAL_V4=17.0.0.1
> REMOTE_V4=17.0.0.2
> REMOTE_TYPE=ssh
> REMOTE_ARGS=root@192.168.5.200
> EOF
>
> $ ./run_kselftest.sh -t drivers/net/hw:ethtool_rmon.sh
> TAP version 13
> 1..1
> # timeout set to 0
> # selftests: drivers/net/hw: ethtool_rmon.sh
> # TEST: rx-pkts64to64 on endpmac17 [ OK ]
> # TEST: rx-pkts65to127 on endpmac17 [ OK ]
> # TEST: rx-pkts128to255 on endpmac17 [ OK ]
> # TEST: rx-pkts256to511 on endpmac17 [ OK ]
> # TEST: rx-pkts512to1023 on endpmac17 [ OK ]
> # TEST: rx-pkts1024to1518 on endpmac17 [ OK ]
> # TEST: rx-pkts1519to10240 on endpmac17 [ OK ]
> # TEST: tx-pkts64to64 on endpmac17 [ OK ]
> # TEST: tx-pkts65to127 on endpmac17 [ OK ]
> # TEST: tx-pkts128to255 on endpmac17 [ OK ]
> # TEST: tx-pkts256to511 on endpmac17 [ OK ]
> # TEST: tx-pkts512to1023 on endpmac17 [ OK ]
> # TEST: tx-pkts1024to1518 on endpmac17 [ OK ]
> # TEST: tx-pkts1519to10240 on endpmac17 [ OK ]
> ok 1 selftests: drivers/net/hw: ethtool_rmon.sh
>
> Signed-off-by: Ioana Ciornei <ioana.ciornei@xxxxxxx>

Reviewed-by: Petr Machata <petrm@xxxxxxxxxx>

> @@ -119,8 +119,8 @@ setup_prepare()
> h2=${NETIFS[p2]}
>
> for iface in "$h1" "$h2"; do
> - netif_mtu["$iface"]=$(ip -j link show dev "$iface" | jq -r '.[0].mtu')
> - ip link set dev "$iface" up
> + netif_mtu["$iface"]=$(run_on "$iface" ip -j link show dev "$iface" | \
> + jq -r '.[0].mtu')

BTW we have mtu_set() / mtu_restore() in forwarding/lib.sh

> done
> }
>
> @@ -128,10 +128,10 @@ cleanup()
> {
> pre_cleanup
>
> + # Do not bring down the interfaces, just configure the initial MTU
> for iface in "$h2" "$h1"; do
> - ip link set dev "$iface" \
> - mtu "${netif_mtu[$iface]}" \
> - down
> + run_on "$iface" ip link set dev "$iface" \
> + mtu "${netif_mtu[$iface]}"
> done
> }