On Mon, 25 Oct 2021 14:58:58 +0200 Andrew Lunn wrote: > > > struct ethtool_kringparam { > > > __u32 cmd; > > > __u32 mode; > > > __u32 rx_max_pending; > > > __u32 rx_mini_max_pending; > > > __u32 rx_jumbo_max_pending; > > > __u32 tx_max_pending; > > > __u32 rx_pending; > > > __u32 rx_mini_pending; > > > __u32 rx_jumbo_pending; > > > __u32 tx_pending; > > > }; Ah, yes, if we do full field-by-field translation the result is not as bad as embedding the "base" structure, at the cost of additional boilerplate code in the core. But frankly potato, potatoe. > > > and use this structure between the ethtool core and the drivers. This > > > has already been done at least once to allow extending the > > > API. Semantic patches are good for making the needed changes to all > > > the drivers. > > > > What about the proposed "two new parameters ringparam_ext and extack for > > .get_ringparam and .set_ringparam to extend more ring params through > > netlink." by Hao Chen/Guangbin Huang in: > > > > https://lore.kernel.org/all/20211014113943.16231-5-huangguangbin2@xxxxxxxxxx/ > > > > I personally like the conversion of the in in-kernel API to struct > > ethtool_kringparam better than adding ringparam_ext. > > Ah, i missed that development. I think it's the fifth version and people are starting to have feedback. Something is not working :( > I don't like it. > > You should probably jump into that discussion and explain your > requirements. Make sure it is heading in a direction you can extend > for your needs.