Merge branch 'tools-net-ynl-add-support-for-netlink-raw-families'
authorJakub Kicinski <kuba@kernel.org>
Mon, 28 Aug 2023 00:17:19 +0000 (17:17 -0700)
committerJakub Kicinski <kuba@kernel.org>
Mon, 28 Aug 2023 00:17:19 +0000 (17:17 -0700)
commit5447b0805041a418d40e5bd05f3cd42700629c52
treeb6689bb2b0b21b08909c53d8763e70989578d83a
parent75d6d8b5c1781697a1f020b0215f80c57e0df9f2
parent023289b4f582820f3124fa7ff42a61959fe7dea6
Merge branch 'tools-net-ynl-add-support-for-netlink-raw-families'

Donald Hunter says:

====================
tools/net/ynl: Add support for netlink-raw families

This patchset adds support for netlink-raw families such as rtnetlink.

Patch 1 fixes a typo in existing schemas
Patch 2 contains the schema definition
Patches 3 & 4 update the schema documentation
Patches 5 - 9 extends ynl
Patches 10 - 12 add several netlink-raw specs

The netlink-raw schema is very similar to genetlink-legacy and I thought
about making the changes there and symlinking to it. On balance I
thought that might be problematic for accurate schema validation.

rtnetlink doesn't seem to fit into unified or directional message
enumeration models. It seems like an 'explicit' model would be useful,
to force the schema author to specify the message ids directly.

There is not yet support for notifications because ynl currently doesn't
support defining 'event' properties on a 'do' operation. The message ids
are shared so ops need to be both sync and async. I plan to look at this
in a future patch.

The link and route messages contain different nested attributes
dependent on the type of link or route. Decoding these will need some
kind of attr-space selection that uses the value of another attribute as
the selector key. These nested attributes have been left with type
'binary' for now.
====================

Link: https://lore.kernel.org/r/20230825122756.7603-1-donald.hunter@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>