[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241202162936.3778016-1-sdf@fomichev.me>
Date: Mon, 2 Dec 2024 08:29:28 -0800
From: Stanislav Fomichev <sdf@...ichev.me>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net,
edumazet@...gle.com,
kuba@...nel.org,
pabeni@...hat.com,
linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org,
horms@...nel.org,
donald.hunter@...il.com,
corbet@....net,
andrew+netdev@...n.ch,
kory.maincent@...tlin.com,
sdf@...ichev.me,
nicolas.dichtel@...nd.com
Subject: [PATCH net-next v3 0/8] ethtool: generate uapi header from the spec
We keep expanding ethtool netlink api surface and this leads to
constantly playing catchup on the ynl spec side. There are a couple
of things that prevent us from fully converting to generating
the header from the spec (stats and cable tests), but we can
generate 95% of the header which is still better than maintaining
c header and spec separately. The series adds a couple of missing
features on the ynl-gen-c side and separates the parts
that we can generate into new ethtool_netlink_generated.h.
v3:
- s/Unsupported enum-model/Unsupported message enum-model/ (Jakub)
- add placeholder doc for header-flags (Jakub)
v2:
- attr-cnt-name -> enum-cnt-name (Jakub)
- add enum-cnt-name documentation (Jakub)
- __ETHTOOL_XXX_CNT -> __ethtool-xxx-cnt + c_upper (Jakub)
- keep and refine enum model check (Jakub)
- use 'header' presence as a signal to omit rendering instead of new
'render' property (Jakub)
- new patch to reverse the order of header dependencies in xxx-user.h
Stanislav Fomichev (8):
ynl: support enum-cnt-name attribute in legacy definitions
ynl: skip rendering attributes with header property in uapi mode
ynl: support directional specs in ynl-gen-c.py
ynl: add missing pieces to ethtool spec to better match uapi header
ynl: include uapi header after all dependencies
ethtool: separate definitions that are gonna be generated
ethtool: remove the comments that are not gonna be generated
ethtool: regenerate uapi header from the spec
Documentation/netlink/genetlink-c.yaml | 3 +
Documentation/netlink/genetlink-legacy.yaml | 3 +
Documentation/netlink/specs/ethtool.yaml | 354 ++++++-
.../userspace-api/netlink/c-code-gen.rst | 4 +-
MAINTAINERS | 2 +-
include/uapi/linux/ethtool_netlink.h | 893 +-----------------
.../uapi/linux/ethtool_netlink_generated.h | 792 ++++++++++++++++
tools/net/ynl/ynl-gen-c.py | 139 ++-
8 files changed, 1250 insertions(+), 940 deletions(-)
create mode 100644 include/uapi/linux/ethtool_netlink_generated.h
--
2.47.0
Powered by blists - more mailing lists