RE: [PATCH net-next v3 2/7] ethtool: Get link mode in use instead of speed and duplex parameters
From: Danielle Ratson <hidden>
Date: 2021-01-24 08:37:28
-----Original Message----- From: Edwin Peer <redacted> Sent: Thursday, January 21, 2021 1:39 AM To: Danielle Ratson <redacted> Cc: netdev <redacted>; David S . Miller <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>; Jiri Pirko [off-list ref]; Andrew Lunn [off-list ref]; f.fainelli@gmail.com; Michal Kubecek [off-list ref]; mlxsw [off-list ref]; Ido Schimmel [off-list ref] Subject: Re: [PATCH net-next v3 2/7] ethtool: Get link mode in use instead of speed and duplex parameters On Wed, Jan 20, 2021 at 3:21 AM Danielle Ratson [off-list ref] wrote:quoted
+ link_ksettings->link_mode = -1; + err = dev->ethtool_ops->get_link_ksettings(dev, link_ksettings); + if (err) + return err; + + if (link_ksettings->link_mode != -1) { + link_info = &link_mode_params[link_ksettings->link_mode]; + link_ksettings->base.speed = link_info->speed; + link_ksettings->lanes = link_info->lanes; + link_ksettings->base.duplex = link_info->duplex; + }Why isn't this also handled using a capability bit as is done for lanes? Is link_mode read-only? Should it / will it always be? If not, can drivers also derive the other fields if asked to set link_mode?
The link_mode param is only for deriving all the speed, lanes and duplex params in ethtool instead of deriving in driver and then passing each individual, as Michal asked.
That would be easy enough. Why don't we simply allow user space to set link mode directly too (in addition to being able to constrain lanes for autoneg or forced speeds)?
It is already possible to do using 'advertise' parameter.
Regards, Edwin Peer