Commit 569a5d63 authored by Donald Hunter's avatar Donald Hunter Committed by Jakub Kicinski
Browse files

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: default avatarDonald Hunter <donald.hunter@gmail.com>
Link: https://patch.msgid.link/20250211120127.84858-4-donald.hunter@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 678d8ddd
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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: