Re: [PATCH net-next v3 0/8] ethtool: generate uapi header from the spec

From: Jakub Kicinski
Date: Mon Dec 02 2024 - 22:52:38 EST


On Mon, 2 Dec 2024 08:29:28 -0800 Stanislav Fomichev wrote:
> 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

Looks like doc codegen is unhappy about the missing type definitions:

Documentation/networking/netlink_spec/ethtool.rst:1122: WARNING: Bullet list ends without a blank line; unexpected unindent.
Documentation/networking/netlink_spec/ethtool.rst:2126: ERROR: Unknown target name: Documentation/networking/netlink_spec/ethtool.rst:2131: ERROR: Unknown target name: "ethtool_a_cable_result_code".
Documentation/networking/netlink_spec/ethtool.rst:2136: ERROR: Unknown target name: "ethtool_a_cable_inf_src".

We need to teach it to not link to external types?
--
pw-bot: cr