diff mbox series

[net-next,v2,3/7] tools/net/ynl: support rendering C array members to strings

Message ID 20241210161448.76799-4-donald.hunter@gmail.com (mailing list archive)
State Not Applicable
Delegated to: Johannes Berg
Headers show
Series netlink: specs: add a spec for nl80211 wiphy | expand

Commit Message

Donald Hunter Dec. 10, 2024, 4:14 p.m. UTC
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>
Acked-by: Jakub Kicinski <kuba@kernel.org>
---
 tools/net/ynl/lib/ynl.py | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

diff --git a/tools/net/ynl/lib/ynl.py b/tools/net/ynl/lib/ynl.py
index 0d39a83574d5..08ad2d8a874e 100644
--- a/tools/net/ynl/lib/ynl.py
+++ b/tools/net/ynl/lib/ynl.py
@@ -627,6 +627,10 @@  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(decoded, attr_spec.display_hint)
         else:
             decoded = attr.as_bin()
             if attr_spec.display_hint: