mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
selftests: drv-net: ping: make sure the ping test restores checksum offload
The ping test flips checksum offload on and off. Make sure the original value is restored if test fails. Reviewed-by: David Wei <dw@davidwei.uk> Link: https://patch.msgid.link/20250508214005.1518013-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
2451d3fb38
commit
ef5224ed25
|
|
@ -50,6 +50,16 @@ def _test_tcp(cfg) -> None:
|
|||
cmd(f"echo {test_string} | socat -t 2 -u STDIN TCP:{cfg.remote_baddr}:{port}", shell=True)
|
||||
ksft_eq(nc.stdout.strip(), test_string)
|
||||
|
||||
def _schedule_checksum_reset(cfg, netnl) -> None:
|
||||
features = ethtool(f"-k {cfg.ifname}", json=True)
|
||||
setting = ""
|
||||
for side in ["tx", "rx"]:
|
||||
f = features[0][side + "-checksumming"]
|
||||
if not f["fixed"]:
|
||||
setting += " " + side
|
||||
setting += " " + ("on" if f["requested"] or f["active"] else "off")
|
||||
defer(ethtool, f" -K {cfg.ifname} " + setting)
|
||||
|
||||
def _set_offload_checksum(cfg, netnl, on) -> None:
|
||||
try:
|
||||
ethtool(f" -K {cfg.ifname} rx {on} tx {on} ")
|
||||
|
|
@ -139,6 +149,7 @@ def set_interface_init(cfg) -> None:
|
|||
def test_default_v4(cfg, netnl) -> None:
|
||||
cfg.require_ipver("4")
|
||||
|
||||
_schedule_checksum_reset(cfg, netnl)
|
||||
_set_offload_checksum(cfg, netnl, "off")
|
||||
_test_v4(cfg)
|
||||
_test_tcp(cfg)
|
||||
|
|
@ -149,6 +160,7 @@ def test_default_v4(cfg, netnl) -> None:
|
|||
def test_default_v6(cfg, netnl) -> None:
|
||||
cfg.require_ipver("6")
|
||||
|
||||
_schedule_checksum_reset(cfg, netnl)
|
||||
_set_offload_checksum(cfg, netnl, "off")
|
||||
_test_v6(cfg)
|
||||
_test_tcp(cfg)
|
||||
|
|
@ -157,6 +169,7 @@ def test_default_v6(cfg, netnl) -> None:
|
|||
_test_tcp(cfg)
|
||||
|
||||
def test_xdp_generic_sb(cfg, netnl) -> None:
|
||||
_schedule_checksum_reset(cfg, netnl)
|
||||
_set_xdp_generic_sb_on(cfg)
|
||||
_set_offload_checksum(cfg, netnl, "off")
|
||||
_test_v4(cfg)
|
||||
|
|
@ -168,6 +181,7 @@ def test_xdp_generic_sb(cfg, netnl) -> None:
|
|||
_test_tcp(cfg)
|
||||
|
||||
def test_xdp_generic_mb(cfg, netnl) -> None:
|
||||
_schedule_checksum_reset(cfg, netnl)
|
||||
_set_xdp_generic_mb_on(cfg)
|
||||
_set_offload_checksum(cfg, netnl, "off")
|
||||
_test_v4(cfg)
|
||||
|
|
@ -179,6 +193,7 @@ def test_xdp_generic_mb(cfg, netnl) -> None:
|
|||
_test_tcp(cfg)
|
||||
|
||||
def test_xdp_native_sb(cfg, netnl) -> None:
|
||||
_schedule_checksum_reset(cfg, netnl)
|
||||
_set_xdp_native_sb_on(cfg)
|
||||
_set_offload_checksum(cfg, netnl, "off")
|
||||
_test_v4(cfg)
|
||||
|
|
@ -190,6 +205,7 @@ def test_xdp_native_sb(cfg, netnl) -> None:
|
|||
_test_tcp(cfg)
|
||||
|
||||
def test_xdp_native_mb(cfg, netnl) -> None:
|
||||
_schedule_checksum_reset(cfg, netnl)
|
||||
_set_xdp_native_mb_on(cfg)
|
||||
_set_offload_checksum(cfg, netnl, "off")
|
||||
_test_v4(cfg)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user