[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230725162205.27526-1-donald.hunter@gmail.com>
Date: Tue, 25 Jul 2023 17:22:02 +0100
From: Donald Hunter <donald.hunter@...il.com>
To: netdev@...r.kernel.org,
Jakub Kicinski <kuba@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Paolo Abeni <pabeni@...hat.com>
Cc: donald.hunter@...hat.com,
Donald Hunter <donald.hunter@...il.com>
Subject: [PATCH net-next v1 0/3] tools/net/ynl: Add support for netlink-raw families
This patchset adds support for netlink-raw families such as rtnetlink.
The first patch contains the schema definition.
The second patch extends ynl to support netlink-raw
The third patch adds rtnetlink addr and route message types
The second patch depends on "tools: ynl-gen: fix parse multi-attr enum
attribute":
https://patchwork.kernel.org/project/netdevbpf/list/?series=769229
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 require the schema author to specify the message ids directly. The
patch supports commands and it supports notifications, but it's
currently hard to support both simultaneously from the same netlink-raw
spec. I plan to work on this in a future patchset.
There is not yet support for notifications because ynl currently doesn't
support defining 'event' properties on a 'do' operation. I plan to work
on this in a future patch.
The link message types are a work in progress that I plan to submit in a
future patchset. Links contain different nested attributes dependent on
the type of link. Decoding these will need some kind of attr-space
selection based on the value of another attribute in the message.
Donald Hunter (3):
doc/netlink: Add a schema for netlink-raw families
tools/net/ynl: Add support for netlink-raw families
doc/netlink: Add specs for addr and route rtnetlink message types
Documentation/netlink/netlink-raw.yaml | 414 ++++++++++++++++++++++
Documentation/netlink/specs/rt_addr.yaml | 179 ++++++++++
Documentation/netlink/specs/rt_route.yaml | 192 ++++++++++
tools/net/ynl/lib/nlspec.py | 25 ++
tools/net/ynl/lib/ynl.py | 185 +++++++---
5 files changed, 941 insertions(+), 54 deletions(-)
create mode 100644 Documentation/netlink/netlink-raw.yaml
create mode 100644 Documentation/netlink/specs/rt_addr.yaml
create mode 100644 Documentation/netlink/specs/rt_route.yaml
--
2.41.0
Powered by blists - more mailing lists