Lines Matching +full:native +full:- +full:mode
2 # SPDX-License-Identifier: GPL-2.0
14 def _test_v4(cfg) -> None:
18 cmd("ping -c 1 -W0.5 " + cfg.remote_addr_v["4"])
19 cmd("ping -c 1 -W0.5 " + cfg.addr_v["4"], host=cfg.remote)
20 cmd("ping -s 65000 -c 1 -W0.5 " + cfg.remote_addr_v["4"])
21 cmd("ping -s 65000 -c 1 -W0.5 " + cfg.addr_v["4"], host=cfg.remote)
23 def _test_v6(cfg) -> None:
27 cmd("ping -c 1 -W5 " + cfg.remote_addr_v["6"])
28 cmd("ping -c 1 -W5 " + cfg.addr_v["6"], host=cfg.remote)
29 cmd("ping -s 65000 -c 1 -W0.5 " + cfg.remote_addr_v["6"])
30 cmd("ping -s 65000 -c 1 -W0.5 " + cfg.addr_v["6"], host=cfg.remote)
32 def _test_tcp(cfg) -> None:
36 listen_cmd = f"socat -{cfg.addr_ipver} -t 2 -u TCP-LISTEN:{port},reuseport STDOUT"
42 cmd(f"echo {test_string} | socat -t 2 -u STDIN TCP:{cfg.baddr}:{port}",
50 cmd(f"echo {test_string} | socat -t 2 -u STDIN TCP:{cfg.remote_baddr}:{port}", shell=True)
53 def _set_offload_checksum(cfg, netnl, on) -> None:
55 ethtool(f" -K {cfg.ifname} rx {on} tx {on} ")
59 def _set_xdp_generic_sb_on(cfg) -> None:
68 def _set_xdp_generic_mb_on(cfg) -> None:
78 def _set_xdp_native_sb_on(cfg) -> None:
81 cmd(f"ip -j link set dev {cfg.ifname} mtu 1500 xdp obj {prog} sec xdp", shell=True)
83 xdp_info = ip("-d link show %s" % (cfg.ifname), json=True)[0]
84 if xdp_info['xdp']['mode'] != 1:
86 If the interface doesn't support native-mode, it falls back to generic mode.
87 The mode value 1 is native and 2 is generic.
88 So it raises an exception if mode is not 1(native mode).
90 raise KsftSkipEx('device does not support native-XDP')
95 def _set_xdp_native_mb_on(cfg) -> None:
103 raise KsftSkipEx('device does not support native-multi-buffer XDP')
108 def _set_xdp_offload_on(cfg) -> None:
121 def get_interface_info(cfg) -> None:
126 local_info = ip("-d link show %s" % (cfg.ifname), json=True)[0]
132 def set_interface_init(cfg) -> None:
139 def test_default_v4(cfg, netnl) -> None:
149 def test_default_v6(cfg, netnl) -> None:
159 def test_xdp_generic_sb(cfg, netnl) -> None:
170 def test_xdp_generic_mb(cfg, netnl) -> None:
181 def test_xdp_native_sb(cfg, netnl) -> None:
192 def test_xdp_native_mb(cfg, netnl) -> None:
203 def test_xdp_offload(cfg, netnl) -> None:
209 def main() -> None: