From: Donald Hunter Date: Tue, 11 Feb 2025 12:01:20 +0000 (+0000) Subject: tools/net/ynl: support rendering C array members to strings X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=569a5d63fd1b2b106a2134625f4ee7a7f9056996;p=users%2Fjedix%2Flinux-maple.git 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 Link: https://patch.msgid.link/20250211120127.84858-4-donald.hunter@gmail.com Signed-off-by: Jakub Kicinski --- diff --git a/tools/net/ynl/pyynl/lib/ynl.py b/tools/net/ynl/pyynl/lib/ynl.py index b73e07f1f60cd..62ce3340796ff 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: