From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 83E81740032 for ; Thu, 29 Feb 2024 08:54:43 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=jhDRqf2CFogiq2AGjqISobZKpV0yYN+Txgge22qeOoo=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1709196882; v=1; b=wEwswtwK9EqJgeSYiLLkx0ykeQQKYcFxCEkP7yv+qJO+G5GdeUJWkzkJVSwB7BxWgBS2WUte rt5MtOoBgBkX++vJorgJkGm8vo+5G3CXtDVs+A9f/QPPtcRCY2fjxTTGokFkWL4LqCU0zJuDCRJ 83IaYfooA/ap4zPo7FM/n/FU= X-Received: by 127.0.0.2 with SMTP id zgN2YY7687511xK8TPK00X8d; Thu, 29 Feb 2024 00:54:42 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.72]) by mx.groups.io with SMTP id smtpd.web10.20238.1709196881503697494 for ; Thu, 29 Feb 2024 00:54:41 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CL2VSG/Nd51hXQ1n7MEXAgRXfFfuzjLYDtAGA7xBinYD/RcFDpk9gYdoaWWRxNIgNRPk5J4T+RqYMk2EOiGvD2/bZnl4z8lUUcHl8rx5gANjNY5XAf+eiKks0wcKhgH0IWf+eEZfh+ou7A97FUiIb2XzvEMIM7az9U+2+ffROu0hO91gmrelyNnk3/MnUGJw36xhh81iET65O3wT5ERO7mo8XCiyiPjybkeB9pTLsxzYGWld54rgzKgKKEitIhSIjXAc9Ht3oIwfAOz9dhyZht8wnXaTZ3GS49guxhCogD5TqR4m0lqmwW3yqgNez0QwnYoMrVa5YvVh9bDx06BWYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+TONZPOB4BxpcxHblcuiqDSGhNleAdPtXrLxEchsMZU=; b=RuGe12Fr4HOcXlwLbA6UOEYmz7Qfu/MKemEqh5FZcx8urAO4LHr+NSOhVGFHJElh0RYfbG+qcCcB0SQJcHWbNOFrZjfUrIMIkQsvQf5ZRu9dHHKfaz5MWM4IfpedH+wy9QF06UrMqRAcWowX3EOOMOvLxmoNrobSU5by6N4xe/ISstJOeRWOiUGbBRBcwRugBURX7ShmrGAoL63T8z9LxSbnQQNiFqXDlzY6m5hVPdlZA8c6tzmlp08U+es+CfWr0uQaYfQeuXUGCTSt5PhVAgeDphFrPzdMIC7JkYTndEukC4kZWaaNKUKcHCAeewBHc7VLXEKMk/NmkcvkAC4ZoQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) X-Received: from BN9PR03CA0700.namprd03.prod.outlook.com (2603:10b6:408:ef::15) by SJ0PR12MB6880.namprd12.prod.outlook.com (2603:10b6:a03:485::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.34; Thu, 29 Feb 2024 08:54:35 +0000 X-Received: from SA2PEPF00001508.namprd04.prod.outlook.com (2603:10b6:408:ef:cafe::12) by BN9PR03CA0700.outlook.office365.com (2603:10b6:408:ef::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.28 via Frontend Transport; Thu, 29 Feb 2024 08:54:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C X-Received: from mail.nvidia.com (216.228.117.161) by SA2PEPF00001508.mail.protection.outlook.com (10.167.242.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.25 via Frontend Transport; Thu, 29 Feb 2024 08:54:34 +0000 X-Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Thu, 29 Feb 2024 00:54:19 -0800 X-Received: from rnnvmail201.nvidia.com (10.129.68.8) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Thu, 29 Feb 2024 00:54:18 -0800 X-Received: from NV-CL38DL3.nvidia.com (10.127.8.13) by mail.nvidia.com (10.129.68.8) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Thu, 29 Feb 2024 00:54:17 -0800 From: "Nickle Wang via groups.io" To: CC: Abner Chang , Igor Kulchytskyy Subject: [edk2-devel] [edk2-redfish-client][PATCH 05/13] RedfishClientPkg/RedfishFeatureUtilityLib: ues RedfishHttpLib Date: Thu, 29 Feb 2024 16:54:17 +0800 Message-ID: <20240229085417.112290-1-nicklew@nvidia.com> MIME-Version: 1.0 X-NVConfidentiality: public X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PEPF00001508:EE_|SJ0PR12MB6880:EE_ X-MS-Office365-Filtering-Correlation-Id: d1c97a46-a5e8-456e-9185-08dc39040d7c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: X5Oa0oR+0PzVrIwWT1XhEnqcvmjFydJhU1ZUZAlBCTLdHse9R2z5iusjy8pri7fBIkvK4y5vAuLdNSlxwzt4toMQViEgc86pOrHCiv0lRnfGLqdCIcppISjEjilxQWxIp+VpPp17FccHf8I9qDXzI2GxpVsA7T/dhvMV/3Fa2vEOi55fZ0JCZklho7SXbvQ9oEzOnazFXbkG63PpbE1fU5CBAKpfNR8Vz3snvXZnceqCRos9TWRuxMpckT+cdH1YQ4lp+MGi7eTYbGQstZtzRnrbhuDkWofBiSy1Fbc/z7hw6s3//BbZkzF4BHywjmCXvQo0602vUR4yDkErACU+yBkAnYi2K/nYWrMvdxwkCxtgTj0zqKeqycDxTXUePW3WCdP9LzrSz+2TgkcbuWFheho4oBJEgOQf8AEnhci5tWzKMFyxVzTEhRC4a1PaoR2HHF5fE+D57j9FcDEDdl+vAFumdrDCADwlb338wTAo5zeislfWMpl6ZVQTvXKq1zEFSPw6vIal4dmQODWAfUNQnkxuwW7PG8p45Iau7lkVNb1Y7soZUouglMsa7pVyuXjJJ6xk4Csnlx2pU5noQcQad/eSgwagAJ+ypF09JzSRX/K0X/ljvvN3SM0DizVDQA7iRMU+SrkgCWwbzPQMUzS+IJiGb9yOsfxdk0FoQ+ojoFS9cdyjeAtZvuPd6Q7TM1ttWTBDsuYPfqKbUTikcIvGuEEIgxwNnIrgFHVduKciFeDDuLIf7t8vtVfYZuVVlbCt X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Feb 2024 08:54:34.6031 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d1c97a46-a5e8-456e-9185-08dc39040d7c X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SA2PEPF00001508.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6880 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nicklew@nvidia.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: BlZajEiHNLgwAllM8YC6nmUQx7686176AA= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=wEwswtwK; dmarc=pass (policy=none) header.from=groups.io; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") - Remove RedfishHttpCacheLib and use EDK2 RedfishHttpLib. - Remove RedfishLib. - Remove CreatePayloadToPostResource and CreatePayloadToPatchResource because we no longer need them. Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy --- .../RedfishFeatureUtilityLib.inf | 3 +- .../Library/RedfishFeatureUtilityLib.h | 46 +---- .../RedfishFeatureUtilityInternal.h | 3 +- .../RedfishFeatureUtilityLib.c | 182 +----------------- 4 files changed, 6 insertions(+), 228 deletions(-) diff --git a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatu= reUtilityLib.inf b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/Redfis= hFeatureUtilityLib.inf index d8f3da373..1cb2d5595 100644 --- a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.inf +++ b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.inf @@ -40,7 +40,7 @@ ConverterCommonLib DebugLib MemoryAllocationLib - RedfishLib + RedfishHttpLib RedfishPlatformConfigLib UefiLib UefiBootServicesTableLib @@ -48,7 +48,6 @@ PrintLib HttpLib RedfishDebugLib - RedfishHttpCacheLib =20 [Protocols] gEdkIIRedfishETagProtocolGuid ## CONSUMED ## diff --git a/RedfishClientPkg/Include/Library/RedfishFeatureUtilityLib.h b/= RedfishClientPkg/Include/Library/RedfishFeatureUtilityLib.h index 1b6d3f4cf..ba9ea0150 100644 --- a/RedfishClientPkg/Include/Library/RedfishFeatureUtilityLib.h +++ b/RedfishClientPkg/Include/Library/RedfishFeatureUtilityLib.h @@ -12,7 +12,7 @@ #ifndef REDFISH_FEATURE_UTILITY_LIB_H_ #define REDFISH_FEATURE_UTILITY_LIB_H_ =20 -#include +#include #include #include #include @@ -352,50 +352,6 @@ ApplyFeatureSettingsBooleanArrayType ( IN RedfishCS_bool_Array *ArrayHead ); =20 -/** - - Create HTTP payload and send them to redfish service with POST method. - - @param[in] Service Redfish service. - @param[in] TargetPayload Target payload - @param[in] Json Data in JSON format. - @param[out] Location Returned location string from Redfish servic= e. - @param[out] Etag Returned ETAG string from Redfish service. - - @retval EFI_SUCCESS Data is sent to redfish service successfully= . - @retval Others Errors occur. - -**/ -EFI_STATUS -CreatePayloadToPostResource ( - IN REDFISH_SERVICE *Service, - IN REDFISH_PAYLOAD *TargetPayload, - IN CHAR8 *Json, - OUT EFI_STRING *Location, - OUT CHAR8 **Etag - ); - -/** - - Create HTTP payload and send them to redfish service with PATCH method. - - @param[in] Service Redfish service. - @param[in] TargetPayload Target payload - @param[in] Json Data in JSON format. - @param[out] Etag Returned ETAG string from Redfish service. - - @retval EFI_SUCCESS Data is sent to redfish service successfully= . - @retval Others Errors occur. - -**/ -EFI_STATUS -CreatePayloadToPatchResource ( - IN REDFISH_SERVICE *Service, - IN REDFISH_PAYLOAD *TargetPayload, - IN CHAR8 *Json, - OUT CHAR8 **Etag - ); - /** =20 Save Redfish URI in database for further use. diff --git a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatu= reUtilityInternal.h b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/Red= fishFeatureUtilityInternal.h index b4cfca030..b1c2ee468 100644 --- a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyInternal.h +++ b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyInternal.h @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include @@ -30,7 +30,6 @@ #include #include #include -#include =20 #include =20 diff --git a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatu= reUtilityLib.c b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishF= eatureUtilityLib.c index 21ce8ddad..cc2b37b79 100644 --- a/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.c +++ b/RedfishClientPkg/Library/RedfishFeatureUtilityLib/RedfishFeatureUtili= tyLib.c @@ -154,7 +154,7 @@ SetEtagFromUri ( } =20 ZeroMem (&Response, sizeof (Response)); - Status =3D RedfishHttpGetResource (RedfishService, Uri, &Response, TRUE)= ; + Status =3D RedfishHttpGetResource (RedfishService, Uri, NULL, &Response,= TRUE); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: get resource from: %s failed\n", __func__, U= ri)); return Status; @@ -215,14 +215,7 @@ ON_RELEASE: FreePool (PendingSettingUri); } =20 - if (Response.Payload !=3D NULL) { - RedfishFreeResponse ( - Response.StatusCode, - Response.HeaderCount, - Response.Headers, - Response.Payload - ); - } + RedfishHttpFreeResponse (&Response); =20 return Status; } @@ -1894,175 +1887,6 @@ CheckIsServerEtagSupported ( return FixedPcdGetBool (PcdRedfishServiceEtagSupported); } =20 -/** - - Create HTTP payload and send them to redfish service with PATCH method. - - @param[in] Service Redfish service. - @param[in] TargetPayload Target payload - @param[in] Json Data in JSON format. - @param[out] Etag Returned ETAG string from Redfish service. - - @retval EFI_SUCCESS Data is sent to redfish service successfully= . - @retval Others Errors occur. - -**/ -EFI_STATUS -CreatePayloadToPatchResource ( - IN REDFISH_SERVICE *Service, - IN REDFISH_PAYLOAD *TargetPayload, - IN CHAR8 *Json, - OUT CHAR8 **Etag OPTIONAL - ) -{ - REDFISH_PAYLOAD Payload; - EDKII_JSON_VALUE ResourceJsonValue; - REDFISH_RESPONSE PatchResponse; - EFI_STATUS Status; - - if ((Service =3D=3D NULL) || (TargetPayload =3D=3D NULL) || IS_EMPTY_STR= ING (Json)) { - return EFI_INVALID_PARAMETER; - } - - ResourceJsonValue =3D JsonLoadString (Json, 0, NULL); - Payload =3D RedfishCreatePayload (ResourceJsonValue, Service); - if (Payload =3D=3D NULL) { - DEBUG ((DEBUG_ERROR, "%a:%d Failed to create JSON payload from JSON va= lue!\n", __func__, __LINE__)); - Status =3D EFI_DEVICE_ERROR; - goto EXIT_FREE_JSON_VALUE; - } - - ZeroMem (&PatchResponse, sizeof (REDFISH_RESPONSE)); - Status =3D RedfishPatchToPayload (TargetPayload, Payload, &PatchResponse= ); - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a:%d Failed to PATCH payload to Redfish service= .\n", __func__, __LINE__)); - - DEBUG_CODE_BEGIN (); - DEBUG ((DEBUG_ERROR, "%a: Request:\n", __func__)); - DumpRedfishPayload (DEBUG_ERROR, Payload); - DEBUG ((DEBUG_ERROR, "%a: Response:\n", __func__)); - DumpRedfishResponse (__func__, DEBUG_ERROR, &PatchResponse); - DEBUG_CODE_END (); - goto EXIT_FREE_JSON_VALUE; - } - - // - // Find ETag - // - Status =3D GetHttpResponseEtag (&PatchResponse, Etag); - if (Status =3D=3D EFI_UNSUPPORTED) { - Status =3D EFI_SUCCESS; - DEBUG ((DEBUG_INFO, "%a: WARNING - ETAG is not supported on Redfish se= rvice.\n", __func__)); - } else { - Status =3D EFI_DEVICE_ERROR; - DEBUG ((DEBUG_ERROR, "%a: Fail to get Location header nor Location pro= perty from HTTP response payload.\n", __func__)); - } - - RedfishFreeResponse ( - PatchResponse.StatusCode, - PatchResponse.HeaderCount, - PatchResponse.Headers, - PatchResponse.Payload - ); - -EXIT_FREE_JSON_VALUE: - if (Payload !=3D NULL) { - RedfishCleanupPayload (Payload); - } - - JsonValueFree (ResourceJsonValue); - - return Status; -} - -/** - - Create HTTP payload and send them to redfish service with POST method. - - @param[in] Service Redfish service. - @param[in] TargetPayload Target payload - @param[in] Json Data in JSON format. - @param[out] Location Returned location string from Redfish servic= e. - @param[out] Etag Returned ETAG string from Redfish service. - - @retval EFI_SUCCESS Data is sent to redfish service successfully= . - @retval Others Errors occur. - -**/ -EFI_STATUS -CreatePayloadToPostResource ( - IN REDFISH_SERVICE *Service, - IN REDFISH_PAYLOAD *TargetPayload, - IN CHAR8 *Json, - OUT EFI_STRING *Location, - OUT CHAR8 **Etag OPTIONAL - ) -{ - REDFISH_PAYLOAD Payload; - EDKII_JSON_VALUE ResourceJsonValue; - REDFISH_RESPONSE PostResponse; - EFI_STATUS Status; - - if ((Service =3D=3D NULL) || (TargetPayload =3D=3D NULL) || IS_EMPTY_STR= ING (Json) || (Location =3D=3D NULL)) { - return EFI_INVALID_PARAMETER; - } - - ResourceJsonValue =3D JsonLoadString (Json, 0, NULL); - Payload =3D RedfishCreatePayload (ResourceJsonValue, Service); - if (Payload =3D=3D NULL) { - DEBUG ((DEBUG_ERROR, "%a:%d Failed to create JSON payload from JSON va= lue!\n", __func__, __LINE__)); - Status =3D EFI_DEVICE_ERROR; - goto EXIT_FREE_JSON_VALUE; - } - - ZeroMem (&PostResponse, sizeof (REDFISH_RESPONSE)); - Status =3D RedfishPostToPayload (TargetPayload, Payload, &PostResponse); - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "%a:%d Failed to POST payload to Redfish service.= \n", __func__, __LINE__)); - - DEBUG_CODE_BEGIN (); - DEBUG ((DEBUG_ERROR, "%a: Request:\n", __func__)); - DumpRedfishPayload (DEBUG_ERROR, Payload); - DEBUG ((DEBUG_ERROR, "%a: Response:\n", __func__)); - DumpRedfishResponse (__func__, DEBUG_ERROR, &PostResponse); - DEBUG_CODE_END (); - - goto EXIT_FREE_JSON_VALUE; - } - - Status =3D GetHttpResponseEtag (&PostResponse, Etag); - if (Status =3D=3D EFI_UNSUPPORTED) { - Status =3D EFI_SUCCESS; - DEBUG ((DEBUG_INFO, "%a: WARNING - ETAG is not supported on Redfish se= rvice.\n", __func__)); - } else if (EFI_ERROR (Status)) { - Status =3D EFI_DEVICE_ERROR; - DEBUG ((DEBUG_ERROR, "%a: Fail to get ETAG header nor ETAG property fr= om HTTP response payload.\n", __func__)); - } - - // - // per Redfish spec. the URL of new resource will be returned in "Locati= on" header. - // - Status =3D GetHttpResponseLocation (&PostResponse, Location); - if (EFI_ERROR (Status)) { - Status =3D EFI_DEVICE_ERROR; - DEBUG ((DEBUG_ERROR, "%a: Fail to get Location header nor Location pro= erty from HTTP response payload.\n", __func__)); - } - - RedfishFreeResponse ( - PostResponse.StatusCode, - PostResponse.HeaderCount, - PostResponse.Headers, - PostResponse.Payload - ); - - RedfishCleanupPayload (Payload); - -EXIT_FREE_JSON_VALUE: - JsonValueFree (ResourceJsonValue); - - return Status; -} - /** =20 Return redfish URI by given config language. It's call responsibility to= release returned buffer. @@ -3756,7 +3580,7 @@ GetPendingSettings ( return EFI_NOT_FOUND; } =20 - Status =3D RedfishHttpGetResource (RedfishService, *SettingUri, Settin= gResponse, TRUE); + Status =3D RedfishHttpGetResource (RedfishService, *SettingUri, NULL, = SettingResponse, TRUE); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "%a: @Redfish.Settings exists, get resource fro= m: %s failed: %r\n", __func__, *SettingUri, Status)); return Status; --=20 2.34.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#116145): https://edk2.groups.io/g/devel/message/116145 Mute This Topic: https://groups.io/mt/104640226/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-