Commit d74cd9a0 authored by Gal Pressman's avatar Gal Pressman Committed by Jakub Kicinski
Browse files

selftests: drv-net: Make command requirements explicit



Make require_cmd() calls explicit about whether commands are needed
locally, remotely, or both.
Since require_cmd() defaults to local=True, tests should explicitly set
local=False when commands are only needed remotely.

- socat: Set local=False since it's only needed on remote hosts.
- iperf3: Use single call with both local=True and remote=True since
  it's needed on both hosts.

This avoids unnecessary test failures when commands are missing locally
but available remotely where actually needed, and consolidates a
duplicate require_cmd() call into single call that checks both hosts.

Fixes: 0d0f4174 ("selftests: drv-net: add a simple TSO test")
Fixes: f1e68a1a ("selftests: drv-net: add require_XYZ() helpers for validating env")
Fixes: c76bab22 ("selftests: drv-net: rss_input_xfrm: Check test prerequisites before running")
Reviewed-by: default avatarNimrod Oren <noren@nvidia.com>
Signed-off-by: default avatarGal Pressman <gal@nvidia.com>
Link: https://patch.msgid.link/20250723135454.649342-3-gal@nvidia.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b4d52c69
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -451,8 +451,7 @@ def main() -> None:
        )
        if not cfg.pci:
            raise KsftSkipEx("Could not get PCI address of the interface")
        cfg.require_cmd("iperf3")
        cfg.require_cmd("iperf3", remote=True)
        cfg.require_cmd("iperf3", local=True, remote=True)

        cfg.bw_validator = BandwidthValidator()

+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ def test_rss_input_xfrm(cfg, ipver):
    if multiprocessing.cpu_count() < 2:
        raise KsftSkipEx("Need at least two CPUs to test symmetric RSS hash")

    cfg.require_cmd("socat", remote=True)
    cfg.require_cmd("socat", local=False, remote=True)

    if not hasattr(socket, "SO_INCOMING_CPU"):
        raise KsftSkipEx("socket.SO_INCOMING_CPU was added in Python 3.11")
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ def tcp_sock_get_retrans(sock):


def run_one_stream(cfg, ipver, remote_v4, remote_v6, should_lso):
    cfg.require_cmd("socat", remote=True)
    cfg.require_cmd("socat", local=False, remote=True)

    port = rand_port()
    listen_cmd = f"socat -{ipver} -t 2 -u TCP-LISTEN:{port},reuseport /dev/null,ignoreeof"
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ from lib.py import ksft_pr, cmd, ip, rand_port, wait_port_listen

class GenerateTraffic:
    def __init__(self, env, port=None):
        env.require_cmd("iperf3", remote=True)
        env.require_cmd("iperf3", local=True, remote=True)

        self.env = env

+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ def _test_v6(cfg) -> None:
    cmd("ping -s 65000 -c 1 -W0.5 " + cfg.addr_v["6"], host=cfg.remote)

def _test_tcp(cfg) -> None:
    cfg.require_cmd("socat", remote=True)
    cfg.require_cmd("socat", local=False, remote=True)

    port = rand_port()
    listen_cmd = f"socat -{cfg.addr_ipver} -t 2 -u TCP-LISTEN:{port},reuseport STDOUT"