tools/net/ynl: support decoding indexed arrays as enums

When decoding an indexed-array with a scalar subtype, it is currently
only possible to add a display-hint. Add support for decoding each value
as an enum.

Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://patch.msgid.link/20250211120127.84858-3-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Donald Hunter 2025-02-11 12:01:19 +00:00 committed by Jakub Kicinski
parent 2151003e77
commit 678d8ddd00

View File

@ -650,7 +650,9 @@ class YnlFamily(SpecFamily):
decoded.append(subattr)
elif attr_spec["sub-type"] in NlAttr.type_formats:
subattr = item.as_scalar(attr_spec['sub-type'], attr_spec.byte_order)
if attr_spec.display_hint:
if 'enum' in attr_spec:
subattr = self._decode_enum(subattr, attr_spec)
elif attr_spec.display_hint:
subattr = self._formatted_string(subattr, attr_spec.display_hint)
decoded.append(subattr)
else: