]> git.proxmox.com Git - mirror_iproute2.git/commit
devlink: support setting the overwrite mask attribute
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 30 Sep 2020 21:05:47 +0000 (14:05 -0700)
committerDavid Ahern <dsahern@gmail.com>
Wed, 7 Oct 2020 06:02:16 +0000 (00:02 -0600)
commit012164718b1f2db99820fb74256f14d3018e885a
tree2c85f805d553c49fc836997289e15061a2bdc902
parent34be2d2619e29836605a7d1669d642f892fc725e
devlink: support setting the overwrite mask attribute

The recently added DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK allows
userspace to indicate how a device should handle subsections of a flash
component when updating. For example, a flash component might contain
vital data such as PCIe serial number or configuration fields such as
settings that control device bootup.

The overwrite mask allows specifying whether the device should overwrite
these subsections when updating from the provided image. If nothing is
specified, then the update is expected to preserve all vital fields and
configuration.

Add support for specifying the overwrite mask using the new "overwrite"
option to the flash command line.

By specifying "overwrite identifiers", the user request that the flash
update should overwrite any settings in the updated flash component with
settings from the provided flash image

  $devlink dev flash pci/0000:af:00.0 file flash_image.bin overwrite identifiers

By specifying "overwrite settings" the user requests that the flash update
should overwrite any settings in the updated flash component with setting
values from the provided flash image.

  $devlink dev flash pci/0000:af:00.0 file flash_image.bin overwrite settings

These options may be combined, in which case both subsections will be sent
in the overwrite mask, resulting in a request to overwrite all settings and
identifiers stored in the updated flash components.

  $devlink dev flash pci/0000:af:00.0 file flash_image.bin overwrite settings overwrite identifiers

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
devlink/devlink.c