netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/8] ethtool: generate uapi header from the spec
@ 2024-11-15 19:36 Stanislav Fomichev
  2024-11-15 19:36 ` [PATCH net-next v2 1/8] ynl: support enum-cnt-name attribute in legacy definitions Stanislav Fomichev
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Stanislav Fomichev @ 2024-11-15 19:36 UTC (permalink / raw)
  To: netdev
  Cc: davem, edumazet, kuba, pabeni, linux-kernel, linux-doc,
	donald.hunter, horms, corbet, andrew+netdev, kory.maincent, sdf

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.

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      | 353 ++++++-
 .../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, 1249 insertions(+), 940 deletions(-)
 create mode 100644 include/uapi/linux/ethtool_netlink_generated.h

-- 
2.47.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-11-15 23:28 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-15 19:36 [PATCH net-next v2 0/8] ethtool: generate uapi header from the spec Stanislav Fomichev
2024-11-15 19:36 ` [PATCH net-next v2 1/8] ynl: support enum-cnt-name attribute in legacy definitions Stanislav Fomichev
2024-11-15 19:36 ` [PATCH net-next v2 2/8] ynl: skip rendering attributes with header property in uapi mode Stanislav Fomichev
2024-11-15 19:36 ` [PATCH net-next v2 3/8] ynl: support directional specs in ynl-gen-c.py Stanislav Fomichev
2024-11-15 21:32   ` Jakub Kicinski
2024-11-15 21:55     ` Stanislav Fomichev
2024-11-15 22:38       ` Jakub Kicinski
2024-11-15 19:36 ` [PATCH net-next v2 4/8] ynl: add missing pieces to ethtool spec to better match uapi header Stanislav Fomichev
2024-11-15 19:36 ` [PATCH net-next v2 5/8] ynl: include uapi header after all dependencies Stanislav Fomichev
2024-11-15 19:36 ` [PATCH net-next v2 6/8] ethtool: separate definitions that are gonna be generated Stanislav Fomichev
2024-11-15 19:36 ` [PATCH net-next v2 7/8] ethtool: remove the comments that are not " Stanislav Fomichev
2024-11-15 21:40   ` Jakub Kicinski
2024-11-15 21:54     ` Stanislav Fomichev
2024-11-15 22:37       ` Jakub Kicinski
2024-11-15 23:03         ` Stanislav Fomichev
2024-11-15 23:28           ` Jakub Kicinski
2024-11-15 19:36 ` [PATCH net-next v2 8/8] ethtool: regenerate uapi header from the spec Stanislav Fomichev
2024-11-15 21:28   ` Jakub Kicinski
2024-11-15 21:56     ` Stanislav Fomichev
2024-11-15 23:01       ` Jakub Kicinski
2024-11-15 23:06         ` Stanislav Fomichev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).