Re: [PATCH net-next v5 13/22] ethtool: provide driver/device information in GET_INFO request

From: Jakub Kicinski
Date: Fri Mar 29 2019 - 14:48:26 EST


On Thu, 28 Mar 2019 23:46:18 +0100, Michal Kubecek wrote:
> On Thu, Mar 28, 2019 at 01:09:04PM -0700, Jakub Kicinski wrote:
> > On Thu, 28 Mar 2019 17:34:39 +0100, Jiri Pirko wrote:
> > > Thu, Mar 28, 2019 at 10:53:47AM CET, mkubecek@xxxxxxx wrote:
> > > >On Thu, Mar 28, 2019 at 10:21:26AM +0100, Jiri Pirko wrote:
> > > >> Wed, Mar 27, 2019 at 11:25:54PM CET, mkubecek@xxxxxxx wrote:
> > > >> >
> > > >> >I'm all for implementing new features which are are related to physical
> > > >> >device (ASIC) rather than network interface only in devlink (at the
> > > >> >level of kernel-userspace interface). But for features already provided
> > > >> >by ethtool (userspace utility) I can't help seeing the state of devlink
> > > >> >support in NIC drivers as a serious blocker.
> > > >>
> > > >> What I'm thinking about at for some time now would be en explicit
> > > >> default devlink and devlink_port registration for every netdev for
> > > >> drivers that does not support devlink themselves. I need to think about
> > > >> it more, but it seems doable. Then we can hang appropriate things there
> > > >> and make the ethtoolnl/devlink separation clear. I believe we need to do
> > > >> it.
> > > >
> > > >That sounds great, such "generic devlink" implementation would be a way
> > > >around. Kernel could then emulate features which are not implemented by
> > > >an actual devlink handler (i.e. "generic devlink" is used or particular
> > > >handler is missing) by falling back to ethtool_ops handler so that
> > > >userspace could rely on devlink API for things like device information,
> > > >various dumps, flashing etc. without losing anything.
> > >
> > > Yep. Plan to do that next week.
> >
> > The problem with the main part of dev info - fw_version - is that it is
> > often overloaded in drivers and becomes impossible to parse for users.
> > I'd rather we didn't dump that nasty chaos in devlink info and let it
> > die with ethtool IOCTL.
>
> If I understand you correctly, what you are suggesting would result in
> "ethtool -i" through netlink not showing firmware version for NICs
> without actual devlink implementation (which is vast majority of NICs at
> the moment). I'm afraid doing that would make sure ioctl ethtool
> wouldn't die any time soon.

I was trying to say that'd be opposed to showing the conglomerate
fw_version from ethtool in devlink. I'm not opposed to showing it
in ethnl or having ethnl call into devlink to produce the conglomerate,
but I'd rather not see the legacy of ethtool creeping back into devlink.

> > Flashing can also be handled at user space tool level.
>
> I'm not sure how to understand this.

If we want ethnl user space command to provide flashing, it can just
send a devlink CMD behind the scenes.