Lines Matching refs:cfg
22 def _rss_key_check(cfg, data=None, context=0): argument
24 data = get_rss(cfg, context=context)
31 def get_rss(cfg, context=0): argument
35 def get_drop_err_sum(cfg): argument
36 stats = ip("-s -s link show dev " + cfg.ifname, json=True)[0]
45 def ethtool_create(cfg, act, opts): argument
52 def require_ntuple(cfg): argument
62 def _get_rx_cnts(cfg, prev=None): argument
63 cfg.wait_hw_stats_settle()
64 data = cfg.netdevnl.qstats_get({"ifindex": cfg.ifindex, "scope": ["queue"]}, dump=True)
75 def _send_traffic_check(cfg, port, name, params): argument
84 cnts = _get_rx_cnts(cfg)
85 GenerateTraffic(cfg, port=port).wait_pkts_and_stop(20000)
86 cnts = _get_rx_cnts(cfg, prev=cnts)
99 def test_rss_key_indir(cfg): argument
102 qcnt = len(_get_rx_cnts(cfg))
106 data = get_rss(cfg)
114 _rss_key_check(cfg, data=data)
121 data = get_rss(cfg)
129 data = get_rss(cfg)
130 _rss_key_check(cfg, data=data)
137 data = get_rss(cfg)
138 _rss_key_check(cfg, data=data)
144 data = get_rss(cfg)
149 cnts = _get_rx_cnts(cfg)
150 GenerateTraffic(cfg).wait_pkts_and_stop(20000)
151 cnts = _get_rx_cnts(cfg, prev=cnts)
161 cnts = _get_rx_cnts(cfg)
162 GenerateTraffic(cfg).wait_pkts_and_stop(20000)
163 cnts = _get_rx_cnts(cfg, prev=cnts)
168 def test_rss_queue_reconfigure(cfg, main_ctx=True): argument
178 require_ntuple(cfg)
182 qcnt = len(_get_rx_cnts(cfg))
192 ctx_id = ethtool_create(cfg, "-X", "context new")
197 data = get_rss(cfg, context=ctx_id)
205 data = get_rss(cfg)
219 ntuple = ethtool_create(cfg, "-N", flow)
222 _send_traffic_check(cfg, port, ctx_ref, { 'target': (0, 3),
227 data = get_rss(cfg, context=ctx_id)
230 _send_traffic_check(cfg, port, ctx_ref, { 'target': (0, 3),
242 def test_rss_resize(cfg): argument
251 channels = cfg.ethnl.channels_get({'header': {'dev-index': cfg.ifindex}})
265 data = get_rss(cfg)
275 def test_hitless_key_update(cfg): argument
285 data = get_rss(cfg)
290 tgen = GenerateTraffic(cfg)
292 errors0, carrier0 = get_drop_err_sum(cfg)
296 errors1, carrier1 = get_drop_err_sum(cfg)
305 def test_rss_context_dump(cfg): argument
311 data = get_rss(cfg)
321 ids.append(ethtool_create(cfg, "-X", f"context new"))
324 ids.append(ethtool_create(cfg, "-X", f"context new weight 1 1"))
327 ids.append(ethtool_create(cfg, "-X", f"context new hkey {key}"))
334 expect_tuples = set([(cfg.ifname, -1)] + [(cfg.ifname, ctx_id) for ctx_id in ids])
337 ctxs = cfg.ethnl.rss_get({}, dump=True)
340 ctx_tuples = set([ctx for ctx in tuples if ctx[0] == cfg.ifname])
356 ctxs = cfg.ethnl.rss_get({'header': {'dev-name': cfg.ifname}}, dump=True)
363 expect_tuples.remove((cfg.ifname, -1))
365 ctxs = cfg.ethnl.rss_get({'start-context': 1}, dump=True)
368 ctx_tuples = set([ctx for ctx in tuples if ctx[0] == cfg.ifname])
372 ctxs = cfg.ethnl.rss_get({'header': {'dev-name': cfg.ifname}, 'start-context': 1}, dump=True)
377 def test_rss_context(cfg, ctx_cnt=1, create_with_cfg=None): argument
385 require_ntuple(cfg)
390 qcnt = len(_get_rx_cnts(cfg))
410 ctx_id = ethtool_create(cfg, "-X", f"context new {create_cfg}")
420 _rss_key_check(cfg, context=ctx_id)
424 _rss_key_check(cfg, context=ctx_id)
427 data = get_rss(cfg, ctx_id)
433 ntuple = ethtool_create(cfg, "-N", flow)
437 _send_traffic_check(cfg, ports[i], f"context {i}",
446 def test_rss_context4(cfg): argument
447 test_rss_context(cfg, 4)
450 def test_rss_context32(cfg): argument
451 test_rss_context(cfg, 32)
454 def test_rss_context4_create_with_cfg(cfg): argument
455 test_rss_context(cfg, 4, create_with_cfg=True)
458 def test_rss_context_queue_reconfigure(cfg): argument
459 test_rss_queue_reconfigure(cfg, main_ctx=False)
462 def test_rss_context_out_of_order(cfg, ctx_cnt=4): argument
470 require_ntuple(cfg)
475 qcnt = len(_get_rx_cnts(cfg))
508 _send_traffic_check(cfg, ports[i], f"context {i}", expected)
515 ctx_id = ethtool_create(cfg, "-X", f"context new start {2 + i * 2} equal 2")
520 ntuple_id = ethtool_create(cfg, "-N", flow)
541 def test_rss_context_overlap(cfg, other_ctx=0): argument
547 require_ntuple(cfg)
549 queue_cnt = len(_get_rx_cnts(cfg))
562 other_ctx = ethtool_create(cfg, "-X", "context new")
566 ctx_id = ethtool_create(cfg, "-X", "context new")
573 ntuple_id = ethtool_create(cfg, "-N", flow)
577 cnts = _get_rx_cnts(cfg)
578 GenerateTraffic(cfg, port=port).wait_pkts_and_stop(20000)
579 cnts = _get_rx_cnts(cfg, prev=cnts)
591 ntuple_id = ethtool_create(cfg, "-N", flow)
594 cnts = _get_rx_cnts(cfg)
595 GenerateTraffic(cfg, port=port).wait_pkts_and_stop(20000)
596 cnts = _get_rx_cnts(cfg, prev=cnts)
605 def test_rss_context_overlap2(cfg): argument
606 test_rss_context_overlap(cfg, True)
610 with NetDrvEpEnv(__file__, nsim_test=False) as cfg:
611 cfg.ethnl = EthtoolFamily()
612 cfg.netdevnl = NetdevFamily()
620 args=(cfg, ))