[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220818130042.535762-1-jiri@resnulli.us>
Date: Thu, 18 Aug 2022 15:00:38 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, idosch@...dia.com,
pabeni@...hat.com, edumazet@...gle.com, saeedm@...dia.com,
jacob.e.keller@...el.com, vikas.gupta@...adcom.com,
gospo@...adcom.com
Subject: [patch net-next 0/4] net: devlink: sync flash and dev info commands
From: Jiri Pirko <jiri@...dia.com>
Purpose of this patchset is to introduce consistency between two devlink
commands:
devlink dev info
Shows versions of running default flash target and components.
devlink dev flash
Flashes default flash target or component name (if specified
on cmdline).
Currently it is up to the driver what versions to expose and what flash
update component names to accept. This is inconsistent. Thankfully, only
netdevsim is currently using components, so it is a good time
to sanitize this.
This patchset makes sure, that devlink.c calls into driver for
component flash update only in case the driver exposes the same version
name.
Also there are two flags exposed to the use over netlink for versions:
1) if driver considers the version represents flashable component,
DEVLINK_ATTR_INFO_VERSION_IS_COMPONENT is set.
This provides a list of component names for the user.
2) if driver considers the version represents default flash target (w/o
component name specified)
DEVLINK_ATTR_INFO_VERSION_IS_FLASH_UPDATE_DEFAULT is set.
This tells the user which version is going to be affected by flash
command when no component name is passed.
Example:
$ devlink dev info
netdevsim/netdevsim10:
driver netdevsim
versions:
running:
fw.mgmt 10.20.30
fw 11.22.33
flash_components:
fw.mgmt
flash_update_default fw
$ devlink dev flash netdevsim/netdevsim10 file somefile.bin
[fw.mgmt] Preparing to flash
[fw.mgmt] Flashing 100%
[fw.mgmt] Flash select
[fw.mgmt] Flashing done
$ devlink dev flash netdevsim/netdevsim10 file somefile.bin component fw.mgmt
[fw.mgmt] Preparing to flash
[fw.mgmt] Flashing 100%
[fw.mgmt] Flash select
[fw.mgmt] Flashing done
$ devlink dev flash netdevsim/netdevsim10 file somefile.bin component dummy
Error: selected component is not supported by this device.
Jiri Pirko (4):
net: devlink: extend info_get() version put to indicate a flash
component
net: devlink: expose the info about version representing a component
netdevsim: expose version of default flash target
net: devlink: expose default flash update target
drivers/net/netdevsim/dev.c | 17 +++-
include/net/devlink.h | 18 ++++-
include/uapi/linux/devlink.h | 3 +
net/core/devlink.c | 145 ++++++++++++++++++++++++++++++-----
4 files changed, 157 insertions(+), 26 deletions(-)
--
2.37.1
Powered by blists - more mailing lists