Message ID | 20230322154242.1739136-1-jiri@resnulli.us (mailing list archive) |
---|---|
State | Accepted |
Commit | 8da3a5598f75cd0361e11b6d74697084380eb4b0 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] ynl: allow to encode u8 attr | expand |
Hello: This patch was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Wed, 22 Mar 2023 16:42:42 +0100 you wrote: > From: Jiri Pirko <jiri@nvidia.com> > > Playing with dpll netlink, I came across following issue: > $ sudo ./tools/net/ynl/cli.py --spec Documentation/netlink/specs/dpll.yaml --do pin-set --json '{"id": 0, "pin-idx": 1, "pin-state": 1}' > Traceback (most recent call last): > File "tools/net/ynl/cli.py", line 52, in <module> > main() > File "tools/net/ynl/cli.py", line 40, in main > reply = ynl.do(args.do, attrs) > File "tools/net/ynl/lib/ynl.py", line 520, in do > return self._op(method, vals) > File "tools/net/ynl/lib/ynl.py", line 476, in _op > msg += self._add_attr(op.attr_set.name, name, value) > File "tools/net/ynl/lib/ynl.py", line 344, in _add_attr > raise Exception(f'Unknown type at {space} {name} {value} {attr["type"]}') > Exception: Unknown type at dpll pin-state 1 u8 > > [...] Here is the summary with links: - [net-next] ynl: allow to encode u8 attr https://git.kernel.org/netdev/net-next/c/8da3a5598f75 You are awesome, thank you!
diff --git a/tools/net/ynl/lib/ynl.py b/tools/net/ynl/lib/ynl.py index 90764a83c646..bcb798c7734d 100644 --- a/tools/net/ynl/lib/ynl.py +++ b/tools/net/ynl/lib/ynl.py @@ -334,6 +334,8 @@ class YnlFamily(SpecFamily): attr_payload += self._add_attr(attr['nested-attributes'], subname, subvalue) elif attr["type"] == 'flag': attr_payload = b'' + elif attr["type"] == 'u8': + attr_payload = struct.pack("B", int(value)) elif attr["type"] == 'u32': attr_payload = struct.pack("I", int(value)) elif attr["type"] == 'string':