From: Jiri Pirko <jiri@resnulli.us>
To: Jacob Keller <jacob.e.keller@intel.com>
Cc: netdev@vger.kernel.org, Jakub Kicinski <kubakici@wp.pl>,
Tom Herbert <tom@herbertland.com>, Jiri Pirko <jiri@mellanox.com>,
Jakub Kicinski <kuba@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Michael Chan <michael.chan@broadcom.com>,
Bin Luo <luobin9@huawei.com>,
Saeed Mahameed <saeedm@mellanox.com>,
Leon Romanovsky <leon@kernel.org>,
Ido Schimmel <idosch@mellanox.com>,
Danielle Ratson <danieller@mellanox.com>
Subject: Re: [RFC PATCH net-next v2 6/6] devlink: add overwrite mode to flash update
Date: Mon, 20 Jul 2020 12:09:53 +0200 [thread overview]
Message-ID: <20200720100953.GB2235@nanopsycho> (raw)
In-Reply-To: <20200717183541.797878-7-jacob.e.keller@intel.com>
Fri, Jul 17, 2020 at 08:35:41PM CEST, jacob.e.keller@intel.com wrote:
>A flash image may contain settings or device identifying information.
>When performing a flash update, these settings and information may
>conflict with contents already in the flash. Devices may handle this
>conflict in multiple ways.
>
>Add a new attribute to the devlink command,
>DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MODE, which specifies how the device
>should handle these settings and fields.
>
>DEVLINK_FLASH_UPDATE_OVERWRITE_NOTHING, the default, requests that all
>settings and device identifiers within the current flash are kept. That
>is, no settings or fields will be overwritten. This is the expected
>behavior for most updates, and appears to be how all of the drivers are
>implemented today.
>
>DEVLINK_FLASH_UPDATE_OVERWRITE_SETTINGS, requests that the device
>overwrite any device settings in the flash section with the settings
>from the flash image, but to preserve identifiers such as the MAC
>address and serial identifier. This may be useful as a way to restore
>a device to known-good settings from a new flash image.
>
>DEVLINK_FLASH_UPDATE_OVERWRITE_EVERYTHING, requests that all content in
>the flash image be preserved over content of flash on the device. This
>mode requests the device to completely overwrite the flash section,
>possibly changing settings and device identifiers. The primary
>motivation is to support writing initial device identifiers during
>manufacturing. It is not expected to be necessary in normal end-user
>flash updates.
>
>For the ice driver, implement support for the overwrite mode by
>selecting the associated preservation level to request from firmware.
>
>For all other drivers that support flash update, require that the mode
>be DEVLINK_FLASH_UPDATE_OVERWRITE_NOTHING, which is the expected
>default.
>
>Update the documentation to explain the overwrite mode attribute.
This looks odd. You have a single image yet you somehow divide it
into "program" and "config" areas. We already have infra in place to
take care of this. See DEVLINK_ATTR_FLASH_UPDATE_COMPONENT.
You should have 2 components:
1) "program"
2) "config"
Then it is up to the user what he decides to flash.
next prev parent reply other threads:[~2020-07-20 10:09 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-17 18:35 [RFC PATCH net-next v2 0/6] introduce PLDM firmware update library Jacob Keller
2020-07-17 18:35 ` [RFC PATCH net-next v2 1/6] ice: Add support for unified NVM update flow capability Jacob Keller
2020-07-17 18:35 ` [RFC PATCH net-next v2 2/6] ice: Add AdminQ commands for FW update Jacob Keller
2020-07-17 18:35 ` [RFC PATCH net-next v2 3/6] ice: add flags indicating pending update of firmware module Jacob Keller
2020-07-17 18:35 ` [RFC PATCH net-next v2 4/6] Add pldmfw library for PLDM firmware update Jacob Keller
2020-07-17 18:35 ` [RFC PATCH net-next v2 5/6] ice: implement device flash update via devlink Jacob Keller
2020-07-20 5:26 ` kernel test robot
2020-07-23 23:33 ` Jacob Keller
2020-07-17 18:35 ` [RFC PATCH net-next v2 6/6] devlink: add overwrite mode to flash update Jacob Keller
2020-07-20 10:09 ` Jiri Pirko [this message]
2020-07-20 15:51 ` Jakub Kicinski
2020-07-20 18:52 ` Jacob Keller
2020-07-21 13:56 ` Jiri Pirko
2020-07-21 17:28 ` Jacob Keller
2020-07-21 13:53 ` Jiri Pirko
2020-07-21 17:04 ` Jakub Kicinski
2020-07-21 17:31 ` Jacob Keller
2020-07-22 10:51 ` Jiri Pirko
2020-07-22 15:30 ` Keller, Jacob E
2020-07-22 16:52 ` Jakub Kicinski
2020-07-22 18:21 ` Jacob Keller
2020-07-26 7:18 ` Jiri Pirko
2020-07-27 18:11 ` Jacob Keller
2020-07-29 22:49 ` Jacob Keller
2020-07-29 23:16 ` Jakub Kicinski
2020-07-29 23:59 ` Jacob Keller
2020-07-26 7:16 ` Jiri Pirko
2020-07-27 18:13 ` Jacob Keller
2020-07-28 11:19 ` Jiri Pirko
2020-07-28 16:58 ` Jacob Keller
2020-07-28 17:09 ` Jakub Kicinski
2020-07-28 17:43 ` Jacob Keller
2020-07-28 22:59 ` Jacob Keller
2020-07-17 19:58 ` [RFC PATCH net-next v2 0/6] introduce PLDM firmware update library Jakub Kicinski
2020-07-17 21:00 ` Keller, Jacob E
2020-07-17 21:08 ` Keller, Jacob E
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200720100953.GB2235@nanopsycho \
--to=jiri@resnulli.us \
--cc=corbet@lwn.net \
--cc=danieller@mellanox.com \
--cc=idosch@mellanox.com \
--cc=jacob.e.keller@intel.com \
--cc=jiri@mellanox.com \
--cc=kuba@kernel.org \
--cc=kubakici@wp.pl \
--cc=leon@kernel.org \
--cc=luobin9@huawei.com \
--cc=michael.chan@broadcom.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@mellanox.com \
--cc=tom@herbertland.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.