[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260204180902.00918071@kernel.org>
Date: Wed, 4 Feb 2026 18:09:02 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Pavan Chebbi <pavan.chebbi@...adcom.com>
Cc: Michael Chan <michael.chan@...adcom.com>, davem@...emloft.net,
netdev@...r.kernel.org, edumazet@...gle.com, pabeni@...hat.com,
andrew+netdev@...n.ch, andrew.gospodarek@...adcom.com
Subject: Re: [PATCH net 4/4] selftests: drv-net: rss_ctx: test RSS contexts
persist after ifdown/up
On Wed, 4 Feb 2026 21:45:12 +0530 Pavan Chebbi wrote:
> > > +
> > > + 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..
Powered by blists - more mailing lists