mbox series

[net-next,v3,0/3] net: devlink: sync flash and dev info commands

Message ID 20220824122011.1204330-1-jiri@resnulli.us (mailing list archive)
Headers show
Series net: devlink: sync flash and dev info commands | expand

Message

Jiri Pirko Aug. 24, 2022, 12:20 p.m. UTC
From: Jiri Pirko <jiri@nvidia.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 currently using components so it is still 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.

Example:
$ devlink dev info
netdevsim/netdevsim10:
  driver netdevsim
  versions:
      running:
        fw.mgmt 10.20.30
      stored:
        fw.mgmt 10.20.30
$ 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.

---
v2->v3:
- see changelog of individual patches
- dropped patch to expose if version represents a component over netlink
v1->v2:
- see changelog of individual patches, no code changes, just split patch
- removed patches that exposed "default flash target"

Jiri Pirko (3):
  net: devlink: extend info_get() version put to indicate a flash
    component
  netdevsim: add version fw.mgmt info info_get() and mark as a component
  net: devlink: limit flash component name to match version returned by
    info_get()

 drivers/net/netdevsim/dev.c |  15 +++-
 include/net/devlink.h       |  19 ++++-
 net/core/devlink.c          | 139 ++++++++++++++++++++++++++++++------
 3 files changed, 147 insertions(+), 26 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 25, 2022, 9 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Wed, 24 Aug 2022 14:20:08 +0200 you wrote:
> From: Jiri Pirko <jiri@nvidia.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).
> 
> [...]

Here is the summary with links:
  - [net-next,v3,1/3] net: devlink: extend info_get() version put to indicate a flash component
    https://git.kernel.org/netdev/net-next/c/bb67012331f7
  - [net-next,v3,2/3] netdevsim: add version fw.mgmt info info_get() and mark as a component
    https://git.kernel.org/netdev/net-next/c/0c1989754f76
  - [net-next,v3,3/3] net: devlink: limit flash component name to match version returned by info_get()
    https://git.kernel.org/netdev/net-next/c/f94b606325c1

You are awesome, thank you!