Re: [PATCH v2] lib: Export the parsing functions and related data structures of the PLDM library

From: Jacob Keller
Date: Mon Sep 09 2024 - 16:37:06 EST




On 9/9/2024 12:17 AM, Shawn.Shao wrote:
> From: Shawn Shao <shawn.shao@xxxxxxxxxxxxxxx>
>
> v1 -> v2: Updated the commit message, added a description
> of the changes related to `DeviceUpdateOptionFlags`, etc.
>
> The PLDM library is used to implement firmware upgrades,
> but the current library functions only support the
> `pldmfw_flash_image` function to complete a fixed
> process of parsing, sending data to the backend,
> and flashing (allowing users to implement custom
> logic using `pldmfw_ops`). However, this poses
> significant challenges for device vendors using
> PLDM for firmware upgrades.
> The following scenarios are not supported:
> 1. Only using the PLDM parsing functions, as the
> current library does not support this operation.
> 2. The firmware upgrade process differs from this
> fixed flow (the firmware upgrade process may
> vary across different vendors).
> |-> pldmfw_flash_image
> |-> pldm_parse_image
> |-> pldm_parse_header
> |-> pldm_parse_records
> |-> pldm_parse_components
> -> pldm_verify_header_crc
> |-> pldm_find_matching_record (xxx_match_record)
> |-> pldm_send_package_data (xxx_send_package_data)
> |-> pldm_send_component_tables (xxx_send_package_data)
> |-> pldm_flash_components (xxx_flash_component)
> |-> pldm_finalize_update (xxx_finalize_update)
> 3. The current PLDM library does not support parsing the
> DeviceUpdateOptionFlags parameter, which is defined in the PLDM
> specification to facilitate the transfer of control information
> between the UA (Update Agent) and the firmware.Please refer to:
> https://www.dmtf.org/sites/default/files/standards/documents
> /DSP0267_1.3.0.pdf P37.
>

Thanks! I'd prefer the DeviceUpdateOptionFlags to be separate, but I
think the changes are good.

Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx>