Re: [PATCH net-next v4 2/8] net: ethtool: netlink: Allow per-netdevice DUMP operations
From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2025-03-26 11:26:31
Also in:
linux-arm-kernel, lkml
On Wed, 26 Mar 2025 11:29:36 +0100 Kory Maincent [off-list ref] wrote:
On Wed, 26 Mar 2025 08:59:06 +0100 Maxime Chevallier [off-list ref] wrote:quoted
On Tue, 25 Mar 2025 14:22:02 -0700 Jakub Kicinski [off-list ref] wrote:quoted
On Tue, 25 Mar 2025 14:15:07 -0700 Jakub Kicinski wrote:[...]quoted
quoted
Let's try. We can probably make required_dev attr of ethnl_parse_header_dev_get() a three state one: require, allow, reject?Ah, don't think this is going to work. You're not converting all the dumps, just the PHY ones. It's fine either way, then.Yeah I noticed that when implementing, but I actually forgot to mention in in my cover, which I definitely should have :( What we can also do is properly support multi-phy dump but not filtered dump on all the existing phy commands (plca, pse-pd, etc.) so that be behaviour is unchanged for these. Only PHY_GET and any future per-phy commands would support it.Couldn't we remove the existence check of ctx->req_info->dev in ethnl_default_start and add the netdev_put() in the ethnl_default_dumpit()? Would this work?
It would work, but it seems unnecessary to hold a refcount on a specific netdev while we iterate on all netdevs in the namespace afterwards. But I'd say that's an implementation detail :)
Or we could keep your change and let the userspace adapt to the new support of filtered dump. In fact you are modifying all the ethtool commands that are already related to PHY, if you don't they surely will one day or another so it is good to keep it.
So the question is, is it OK to stop ignoring the ifindex/ifname header attribute for ethnl dump requests, and if so, should we do that for all dump commands or only the ones for which is makes sense to do so. Jakub says "t's fine either way, then.", but don't fully get if this is an answer to the above question :) This will only change the behaviour of filtered dumps, that aren't really used with ethnl (except for PHY_GET but we won't change its behaviour either way) Maxime