diff options
author | Donald Hunter <donald.hunter@gmail.com> | 2025-02-11 12:01:20 +0000 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-02-12 19:32:07 -0800 |
commit | 569a5d63fd1b2b106a2134625f4ee7a7f9056996 (patch) | |
tree | 2850ac3ac6423ec75faa574130e1c36ce1e3c5d3 /tools/net/ynl/pyynl/lib/ynl.py | |
parent | 678d8ddd0087a533c8eb06eabd0e3d25c02fcead (diff) |
tools/net/ynl: support rendering C array members to strings
The nl80211 family encodes the list of supported ciphers as a C array of
u32 values. Add support for translating arrays of scalars into strings
for enum names and display hints.
Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://patch.msgid.link/20250211120127.84858-4-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/net/ynl/pyynl/lib/ynl.py')
-rw-r--r-- | tools/net/ynl/pyynl/lib/ynl.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/net/ynl/pyynl/lib/ynl.py b/tools/net/ynl/pyynl/lib/ynl.py index b73e07f1f60c..62ce3340796f 100644 --- a/tools/net/ynl/pyynl/lib/ynl.py +++ b/tools/net/ynl/pyynl/lib/ynl.py @@ -627,6 +627,11 @@ class YnlFamily(SpecFamily): decoded = self._decode_struct(attr.raw, attr_spec.struct_name) elif attr_spec.sub_type: decoded = attr.as_c_array(attr_spec.sub_type) + if 'enum' in attr_spec: + decoded = [ self._decode_enum(x, attr_spec) for x in decoded ] + elif attr_spec.display_hint: + decoded = [ self._formatted_string(x, attr_spec.display_hint) + for x in decoded ] else: decoded = attr.as_bin() if attr_spec.display_hint: |