[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230119184147.161a8ff4@kernel.org>
Date: Thu, 19 Jan 2023 18:41:47 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Aurelien Aptel <aaptel@...dia.com>
Cc: linux-nvme@...ts.infradead.org, netdev@...r.kernel.org,
sagi@...mberg.me, hch@....de, kbusch@...nel.org, axboe@...com,
chaitanyak@...dia.com, davem@...emloft.net,
aurelien.aptel@...il.com, smalin@...dia.com, malin1024@...il.com,
ogerlitz@...dia.com, yorayz@...dia.com, borisp@...dia.com
Subject: Re: [PATCH v9 03/25] net/ethtool: add ULP_DDP_{GET,SET} operations
for caps and stats
On Tue, 17 Jan 2023 17:35:13 +0200 Aurelien Aptel wrote:
> This commit adds:
>
> - 2 new netlink messages:
> * ULP_DDP_GET: returns a bitset of supported and active capabilities
> * ULP_DDP_SET: tries to activate requested bitset and returns results
>
> - 2 new netdev ethtool_ops operations:
> * ethtool_ops->get_ulp_ddp_stats(): retrieve device statistics
> * ethtool_ops->set_ulp_ddp_capabilities(): try to apply
> capability changes
>
> ULP DDP capabilities handling is similar to netdev features
> handling.
>
> If a ULP_DDP_GET message has requested statistics via the
> ETHTOOL_FLAG_STATS header flag, then per-device statistics are
s/per-device// ?
> returned to userspace.
>
> Similar to netdev features, ULP_DDP_GET capabilities and statistics
> can be returned in a verbose (default) or compact form (if
> ETHTOOL_FLAG_COMPACT_BITSET is set in header flags).
>
> Verbose statistics are nested as follows:
>
> STATS (nest)
> COUNT (u32)
> MAP (nest)
> ITEM (nest)
> NAME (strz)
> VAL (u64)
> ...
> Compact statistics are nested as follows:
>
> STATS (nest)
> COUNT (u32)
> COMPACT_VALUES (array of u64)
That's not how other per-cmd stats work, why are you inventing
new ways..
> + int (*get_ulp_ddp_stats)(struct net_device *dev, struct ethtool_ulp_ddp_stats *stats);
> + int (*set_ulp_ddp_capabilities)(struct net_device *dev, unsigned long *bits);
Why are these two callbacks not in struct ulp_ddp_dev_ops?
Why does the ethtool API not expose limits?
Powered by blists - more mailing lists