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