Lines Matching full:cfg
18 def _require_2qs(cfg): argument
19 qcnt = len(glob.glob(f"/sys/class/net/{cfg.ifname}/queues/rx-*"))
25 def _ethtool_create(cfg, act, opts): argument
26 output = ethtool(f"{act} {cfg.ifname} {opts}").stdout
32 def _ethtool_get_cfg(cfg, fl_type, to_nl=False): argument
33 descr = ethtool(f"-n {cfg.ifname} rx-flow-hash {fl_type}").stdout
64 def test_rxfh_nl_set_fail(cfg): argument
68 _require_2qs(cfg)
78 ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
84 def test_rxfh_nl_set_indir(cfg): argument
88 qcnt = _require_2qs(cfg)
91 reset = defer(cfg.ethnl.rss_set,
92 {"header": {"dev-index": cfg.ifindex}, "indir": None})
93 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
95 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
98 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
100 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
105 ethtool(f"-L {cfg.ifname} combined 0 rx 1")
107 ethtool(f"-L {cfg.ifname} combined 1 rx 0")
111 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
115 def test_rxfh_nl_set_indir_ctx(cfg): argument
119 _require_2qs(cfg)
122 dflt = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
125 ctx_id = _ethtool_create(cfg, "-X", "context new")
126 defer(ethtool, f"-X {cfg.ifname} context {ctx_id} delete")
128 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
130 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex},
134 ctx0 = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
137 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
139 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex},
143 ctx0 = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
148 ethtool(f"-L {cfg.ifname} combined 0 rx 1")
150 ethtool(f"-L {cfg.ifname} combined 1 rx 0")
153 def test_rxfh_indir_ntf(cfg): argument
158 _require_2qs(cfg)
163 ethtool(f"--disable-netlink -X {cfg.ifname} weight 0 1")
164 reset = defer(ethtool, f"-X {cfg.ifname} default")
181 def test_rxfh_indir_ctx_ntf(cfg): argument
186 _require_2qs(cfg)
188 ctx_id = _ethtool_create(cfg, "-X", "context new")
189 defer(ethtool, f"-X {cfg.ifname} context {ctx_id} delete")
194 ethtool(f"--disable-netlink -X {cfg.ifname} context {ctx_id} weight 0 1")
204 def test_rxfh_nl_set_key(cfg): argument
209 dflt = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
210 defer(cfg.ethnl.rss_set,
211 {"header": {"dev-index": cfg.ifindex},
216 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
222 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
224 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
229 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
231 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
236 def test_rxfh_fields(cfg): argument
244 cfg_nl = ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
246 one = _ethtool_get_cfg(cfg, fl_type, to_nl=True)
251 def test_rxfh_fields_set(cfg): argument
257 cfg_old = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
265 defer(cfg.ethnl.rss_set, {"header": {"dev-index": cfg.ifindex},} | old)
269 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
273 cur = _ethtool_get_cfg(cfg, fl_type)
281 cfg.ethnl.rss_set({
282 "header": {"dev-index": cfg.ifindex},
285 reset = defer(ethtool, f"--disable-netlink -N {cfg.ifname} "
288 cfg_nl = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
291 cfg_ic = _ethtool_get_cfg(cfg, fl_type)
296 cfg_nl = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
299 cfg_ic = _ethtool_get_cfg(cfg, fl_type)
306 cfg.ethnl.rss_set({
307 "header": {"dev-index": cfg.ifindex},
311 cfg_nl = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
317 def test_rxfh_fields_set_xfrm(cfg): argument
320 def set_rss(cfg, xfrm, fh): argument
321 cfg.ethnl.rss_set({"header": {"dev-index": cfg.ifindex},
325 cfg_old = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
333 defer(cfg.ethnl.rss_set, {"header": {"dev-index": cfg.ifindex},} | old)
336 set_rss(cfg, {}, {})
337 set_rss(cfg, {}, {"tcp4": {"ip-src"}})
341 set_rss(cfg, {"sym-xor"}, {"tcp4": {"ip-src", "ip-dst"}})
343 set_rss(cfg, 0, {"tcp4": {"ip-src", "ip-dst"}})
346 set_rss(cfg, {"sym-xor"}, {})
349 set_rss(cfg, {"sym-or-xor"}, {})
356 set_rss(cfg, {}, {"tcp4": {"ip-src"}})
359 def test_rxfh_fields_ntf(cfg): argument
362 cur = _ethtool_get_cfg(cfg, "tcp4")
372 "header": {"dev-index": cfg.ifindex},
376 f"--disable-netlink -N {cfg.ifname} rx-flow-hash tcp4 {cur}")
394 def test_rss_ctx_add(cfg): argument
397 _require_2qs(cfg)
400 ctx = cfg.ethnl.rss_create_act({"header": {"dev-index": cfg.ifindex}})
401 d = defer(ethtool, f"-X {cfg.ifname} context {ctx.get('context')} delete")
408 ctx = cfg.ethnl.rss_create_act({
409 "header": {"dev-index": cfg.ifindex},
412 ethtool(f"-X {cfg.ifname} context {ctx.get('context')} delete")
418 ctx = cfg.ethnl.rss_create_act({
419 "header": {"dev-index": cfg.ifindex},
423 ethtool(f"-X {cfg.ifname} context {ctx.get('context')} delete")
428 def test_rss_ctx_ntf(cfg): argument
435 ctx = cfg.ethnl.rss_create_act({"header": {"dev-index": cfg.ifindex}})
436 cfg.ethnl.rss_delete_act({
437 "header": {"dev-index": cfg.ifindex},
453 ctx_id = _ethtool_create(cfg, "--disable-netlink -X", "context new")
454 ethtool(f"--disable-netlink -X {cfg.ifname} context {ctx_id} delete")
469 with NetDrvEnv(__file__, nsim_test=False) as cfg:
470 cfg.ethnl = EthtoolFamily()
471 ksft_run(globs=globals(), case_pfx={"test_"}, args=(cfg, ))