From: Jacob Keller <jacob.e.keller@intel.com>
To: Jakub Kicinski <kubakici@wp.pl>
Cc: netdev@vger.kernel.org, Jiri Pirko <jiri@resnulli.us>,
Jesse Brandeburg <jesse.brandeburg@intel.com>,
Tom Herbert <tom@herbertland.com>
Subject: Re: [RFC PATCH net-next 6/6] ice: implement devlink parameters to control flash update
Date: Thu, 16 Jul 2020 14:29:40 -0700 [thread overview]
Message-ID: <58840317-e818-af52-352a-19008b89bee7@intel.com> (raw)
In-Reply-To: <d8f88c91-57fa-9ca4-1838-5f63b6613c59@intel.com>
On 7/15/2020 5:21 PM, Jacob Keller wrote:
>
>
> On 7/15/2020 4:23 PM, Jakub Kicinski wrote:
>> On Wed, 15 Jul 2020 14:41:04 -0700 Jacob Keller wrote:
>>> To summarize this discussion, the next spin will have the following changes:
>>>
>>> 1) remove all parameters except for the preservation_level. Both
>>> ignore_pending_flash_update and allow_downgrade_on_flash_update will be
>>> removed and change the default behavior to the most accepting case:
>>> updates will always be tried even if firmware says its a downgrade, and
>>> we will always cancel a pending update. We will now expect user space
>>> tools to be aware of this and handle the equivalent options themselves
>>> if they desire.
>>>
>>> 2) reset_after_flash_update will be removed, and we will replace it with
>>> a new interface, perhaps like the devlink reset command suggested in
>>> another thread.
>>>
>>> 3) preservation_level will remain, but I have updated the documentation
>>> slightly.
>>
>> Okay, then. But let's make it a parameter to the flash update operation
>> (extend the uAPI), rather than a devlink param, shall we?
>>
>
> Ok, that seems reasonable. Ofcourse we'll need to find something generic
> enough that it can be re-used and isn't driver specific.
>
Hi Jakub,
I think I have something that will be more clear and will be sending a
new RFC with the change this afternoon:
an extension to the DEVLINK_CMD_FLASH_UPDATE with a new parameter,
"overwrite" with these values:
a) "nothing" (or maybe, "firmware-only" or "binary-only"?, need a way to
clarify difference between settings/vital data and firmware program
binary) will request that we do not overwrite any settings or fields.
This is equivalent to the "PRESERVE_ALL" I had in the original proposal,
where we will maintain all settings and all vital data, but update the
firmware binary.
b) "settings" will request that the firmware overwrite all the settings
fields with the contents from the new image. However, vital data such as
the PCI Serial ID, VPD section, MAC Addresses, and similar "static" data
will be kept (not overwritten). This is the same as the
"PRESERVE_LIMITED" option I had in the original proposal
c) "all" or "everything" will request that firmware overwrite all
contents of the image. This means all settings and all vital data will
be overwritten by the contents in the new image.
d) if we need it, a "default" that would be the current behavior of
doing whatever the driver default is? (since it's not clear to me what
other implementations do but perhaps they all behavior as either
"nothing" or "all"?
I think I agree that "factory" settings doesn't really belong here, and
I will try to push for finding an alternative way to allow access to
that behavior. If we wanted it we could use "from_factory" to request
that we overwrite the settings and vital data "from" the factory
portion, but I think that is pushing the boundary here a bit...
I am aiming to have a new patch up with this proposal
Thanks,
Jake
next prev parent reply other threads:[~2020-07-16 21:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-09 21:26 [RFC PATCH net-next 0/6] introduce PLDM firmware update library Jacob Keller
2020-07-09 21:26 ` [RFC PATCH net-next 1/6] ice: Add support for unified NVM update flow capability Jacob Keller
2020-07-09 21:26 ` [RFC PATCH net-next 2/6] ice: Add AdminQ commands for FW update Jacob Keller
2020-07-09 21:26 ` [RFC PATCH net-next 3/6] ice: add flags indicating pending update of firmware module Jacob Keller
2020-07-09 21:26 ` [RFC PATCH net-next 4/6] Add pldmfw library for PLDM firmware update Jacob Keller
2020-07-09 21:26 ` [RFC PATCH net-next 5/6] ice: implement device flash update via devlink Jacob Keller
2020-07-09 21:26 ` [RFC PATCH net-next 6/6] ice: implement devlink parameters to control flash update Jacob Keller
2020-07-10 0:19 ` Jakub Kicinski
2020-07-10 6:25 ` Vasundhara Volam
2020-07-10 17:32 ` Jacob Keller
2020-07-10 20:25 ` Jakub Kicinski
2020-07-10 20:32 ` Jacob Keller
2020-07-15 21:41 ` Jacob Keller
2020-07-15 23:23 ` Jakub Kicinski
2020-07-16 0:21 ` Jacob Keller
2020-07-16 21:29 ` Jacob Keller [this message]
2020-07-16 21:42 ` Jakub Kicinski
2020-07-16 21:52 ` Jacob Keller
2020-07-16 22:18 ` Jakub Kicinski
2020-07-17 17:21 ` Jacob Keller
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=58840317-e818-af52-352a-19008b89bee7@intel.com \
--to=jacob.e.keller@intel.com \
--cc=jesse.brandeburg@intel.com \
--cc=jiri@resnulli.us \
--cc=kubakici@wp.pl \
--cc=netdev@vger.kernel.org \
--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.