Re: [PATCH net 4/4] selftests: drv-net: rss_ctx: test RSS contexts persist after ifdown/up
From: Jakub Kicinski <kuba@kernel.org>
Date: 2026-02-05 02:09:03
On Wed, 4 Feb 2026 21:45:12 +0530 Pavan Chebbi wrote:
quoted
quoted
+ + for ctx_id in ctx_ids: + try: + data = get_rss(cfg, context=ctx_id) + _rss_key_check(cfg, data=data, context=ctx_id) + persisted_contexts.append(ctx_id) + except CmdExitFailure: + missing_contexts.append(ctx_id) + ksft_pr(f"Context {ctx_id} is missing after ifup")You can use netlink to get them all ctxs = cfg.ethnl.rss_get({}, dump=True)Jakub, maybe it's a rookie question but I am having trouble getting the netlink call to work. Not sure if my analysis is right but it looks like I don't have the right schema.. It appears like the decode does not ignore unsupported ethnl options? I always get the error: # Error decoding 'input-xfrm' from 'rss' with the below call stack: # # Exception| Traceback (most recent call last): # # Exception| File "/tmp/ksft-net-drv/net/lib/py/ksft.py", line 319, in ksft_run # # Exception| func(*args) # # Exception| File "/tmp/ksft-net-drv/drivers/net/hw/./rss_ctx.py", line 395, in test_rss_context_dump # # Exception| ctxs = cfg.ethnl.rss_get({}, dump=True) # # Exception| File "/tmp/ksft-net-drv/net/lib/ynl/pyynl/lib/ynl.py", line 1159, in _op # # Exception| return self._ops(ops)[0] # # Exception| File "/tmp/ksft-net-drv/net/lib/ynl/pyynl/lib/ynl.py", line 1146, in _ops # # Exception| rsp_msg = self._decode(decoded.raw_attrs, op.attr_set.name) # # Exception| File "/tmp/ksft-net-drv/net/lib/ynl/pyynl/lib/ynl.py", line 814, in _decode # # Exception| decoded = self._decode_enum(decoded, attr_spec) # # Exception| File "/tmp/ksft-net-drv/net/lib/ynl/pyynl/lib/ynl.py", line 672, in _decode_enum # # Exception| value.add(self._get_enum_or_unknown(enum, i)) # # Exception| File "/tmp/ksft-net-drv/net/lib/ynl/pyynl/lib/ynl.py", line 662, in _get_enum_or_unknown # # Exception| raise error # # Exception| File "/tmp/ksft-net-drv/net/lib/ynl/pyynl/lib/ynl.py", line 657, in _get_enum_or_unknown # # Exception| name = enum.entries_by_val[raw].name # # Exception| KeyError: 2 Do you think I am missing some config?
Ah! I think you run into what I recently fixed in net. Could you try with 1c172febdf065375 cherry-picked to your tree? It's sitting in net, hasn't reached net-next yet. Sorry about that..