mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 11:21:26 -04:00
selftests: drv-net: iou-zcrx: rework large chunks test to use common setup
Commita32bb32d01("selftests: iou-zcrx: test large chunk sizes") and commitde7c600e2d("selftests/net: parametrise iou-zcrx.py with ksft_variants") landed at similar time. The large chunks test was actually not included in the list of tests, so it never run. We haven't noticed that it uses the old-style helpers (_get_combined_channels, _get_current_settings, _set_flow_rule) that were removed by the other commit. Rework test_zcrx_large_chunks to reuse the single() setup function and add it to the ksft_run cases list so it actually gets executed. Link: https://patch.msgid.link/20260227171305.2848240-3-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -135,36 +135,16 @@ def test_zcrx_large_chunks(cfg) -> None:
|
||||
|
||||
cfg.require_ipver('6')
|
||||
|
||||
combined_chans = _get_combined_channels(cfg)
|
||||
if combined_chans < 2:
|
||||
raise KsftSkipEx('at least 2 combined channels required')
|
||||
(rx_ring, hds_thresh) = _get_current_settings(cfg)
|
||||
port = rand_port()
|
||||
|
||||
ethtool(f"-G {cfg.ifname} tcp-data-split on")
|
||||
defer(ethtool, f"-G {cfg.ifname} tcp-data-split auto")
|
||||
|
||||
ethtool(f"-G {cfg.ifname} hds-thresh 0")
|
||||
defer(ethtool, f"-G {cfg.ifname} hds-thresh {hds_thresh}")
|
||||
|
||||
ethtool(f"-G {cfg.ifname} rx 64")
|
||||
defer(ethtool, f"-G {cfg.ifname} rx {rx_ring}")
|
||||
|
||||
ethtool(f"-X {cfg.ifname} equal {combined_chans - 1}")
|
||||
defer(ethtool, f"-X {cfg.ifname} default")
|
||||
|
||||
flow_rule_id = _set_flow_rule(cfg, port, combined_chans - 1)
|
||||
defer(ethtool, f"-N {cfg.ifname} delete {flow_rule_id}")
|
||||
|
||||
rx_cmd = f"{cfg.bin_local} -s -p {port} -i {cfg.ifname} -q {combined_chans - 1} -x 2"
|
||||
tx_cmd = f"{cfg.bin_remote} -c -h {cfg.addr_v['6']} -p {port} -l 12840"
|
||||
single(cfg)
|
||||
rx_cmd = f"{cfg.bin_local} -s -p {cfg.port} -i {cfg.ifname} -q {cfg.target} -x 2"
|
||||
tx_cmd = f"{cfg.bin_remote} -c -h {cfg.addr_v['6']} -p {cfg.port} -l 12840"
|
||||
|
||||
probe = cmd(rx_cmd + " -d", fail=False)
|
||||
if probe.ret == SKIP_CODE:
|
||||
raise KsftSkipEx(probe.stdout)
|
||||
|
||||
with bkg(rx_cmd, exit_wait=True):
|
||||
wait_port_listen(port, proto="tcp")
|
||||
wait_port_listen(cfg.port, proto="tcp")
|
||||
cmd(tx_cmd, host=cfg.remote)
|
||||
|
||||
|
||||
@@ -176,7 +156,8 @@ def main() -> None:
|
||||
cfg.ethnl = EthtoolFamily()
|
||||
cfg.netnl = NetdevFamily()
|
||||
cfg.port = rand_port()
|
||||
ksft_run(globs=globals(), cases=[test_zcrx, test_zcrx_oneshot], args=(cfg, ))
|
||||
ksft_run(globs=globals(), cases=[test_zcrx, test_zcrx_oneshot,
|
||||
test_zcrx_large_chunks], args=(cfg, ))
|
||||
ksft_exit()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user