Expose Software.MultipartUpdate on PLDM update object Expose the xyz.openbmc_project.Software.MultipartUpdate interface [1] alongside xyz.openbmc_project.Software.Update on the PLDM update object (/xyz/openbmc_project/software/pldm). This allows clients (e.g., bmcweb) to discover a single multipart-capable update entity when no targets are specified, while continuing to use StartUpdate for image transfer. PLDM continues to handle multi-component updates internally. [1] https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/78905 Tests: - FW Update using Multipart URI ``` curl -X POST -k https://{ip}/redfish/v1/UpdateService/update-multipart --form 'UpdateParameters={"Targets":[]};type=application/json' --form "UpdateFile=@vbios.fwpkg;type=application/octet-stream" { "@odata.id": "/redfish/v1/TaskService/Tasks/0", "@odata.type": "#Task.v1_4_3.Task" ... "PercentComplete": 0, "StartTime": "2025-08-05T13:33:23+00:00", "TaskMonitor": "/redfish/v1/TaskService/TaskMonitors/0", "TaskState": "Running", "TaskStatus": "OK" } ``` Signed-off-by: Rajeev Ranjan <ranjan.rajeev1609@gmail.com> Change-Id: I11b21ae1df1862166cce16e4d9804c80cef79ecc Signed-off-by: Rajeev Ranjan <ranjan.rajeev1609@gmail.com>
diff --git a/fw-update/update.hpp b/fw-update/update.hpp index c6cfccc..e01249f 100644 --- a/fw-update/update.hpp +++ b/fw-update/update.hpp
@@ -1,6 +1,7 @@ #pragma once #include <xyz/openbmc_project/Software/ApplyTime/server.hpp> +#include <xyz/openbmc_project/Software/MultipartUpdate/server.hpp> #include <xyz/openbmc_project/Software/Update/server.hpp> namespace pldm @@ -12,7 +13,8 @@ class UpdateManager; using UpdateIntf = sdbusplus::server::object_t< - sdbusplus::xyz::openbmc_project::Software::server::Update>; + sdbusplus::xyz::openbmc_project::Software::server::Update, + sdbusplus::xyz::openbmc_project::Software::server::MultipartUpdate>; using ApplyTimeIntf = sdbusplus::xyz::openbmc_project::Software::server::ApplyTime;