tools: ynl-gen: support weird sub-message formats
authorJakub Kicinski <kuba@kernel.org>
Tue, 20 May 2025 16:19:13 +0000 (09:19 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 21 May 2025 19:38:23 +0000 (12:38 -0700)
commit4e9806a8f49463074f9a5797c34e0740f4602910
treeb7a0b5434d0fafe3a4e5248c9274f5e6270985e7
parent092b34b937353eaa6164ceb1f520b1f640aee54f
tools: ynl-gen: support weird sub-message formats

TC uses all possible sub-message formats:
 - nested attrs
 - fixed headers + nested attrs
 - fixed headers
 - empty

Nested attrs are already supported for rt-link. Add support
for remaining 3. The empty and fixed headers ones are fairly
trivial, we can fake a Binary or Flags type instead of a Nest.

For fixed headers + nest we need to teach nest parsing and
nest put to handle fixed headers.

Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://patch.msgid.link/20250520161916.413298-10-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/net/ynl/lib/ynl-priv.h
tools/net/ynl/pyynl/ynl_gen_c.py