This series introduces support for the new attribute to devlink flash update, DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK.
This attribute is a bitfield which allows userspace to specify what set of subfields to overwrite when performing a flash update for a device. The intention is to support the ability to control the behavior of overwriting the configuration and identifying fields in the Intel ice device flash update process. This is necessary as the firmware layout for the ice device includes some settings and configuration within the same flash section as the main firmware binary. This series, and the accompanying kernel series, introduce support for the attribute. Once applied, the overwrite support can be be invoked via devlink: # overwrite settings devlink dev flash pci/0000:af:00.0 file firmware.bin overwrite settings # overwrite identifiers and settings devlink dev flash pci/0000:af:00.0 file firmware.bin overwrite settings overwrite identifiers The overwrite mask is determined by combining all of the "overwrite <section>" arguments into a bitmask by doing bitwise OR. The "selector" for the nla_bitfield32 will always be specified as the DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS provided in our copy of the uapi header. Changes since v2: * remove the use of GENMASK from the userspace API header. * separate iproute2 and net-next patches to avoid confusion. * convert to using an nla_bitfield32 using the mnl_attr_push(). Jacob Keller (2): Update devlink header for overwrite mask attribute devlink: support setting the overwrite mask devlink/devlink.c | 48 ++++++++++++++++++++++++++++++++++-- include/uapi/linux/devlink.h | 24 ++++++++++++++++++ 2 files changed, 70 insertions(+), 2 deletions(-) base-commit: e8e8f16ed155dfbe026ad3c22458d1277e17794e -- 2.28.0.218.ge27853923b9d.dirty