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 29900AC01F6 for ; Tue, 27 Feb 2024 00:44:48 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=P1YMB640ueFliZjrqIgIbO8sHKyYajvBut6LCzAA5KY=; 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=1708994687; v=1; b=XzBWRj0NWjNNRpkrsqJN52W6Wbqe0Y8vdp+/fF4DCUMdfiPh0HpwslUzdAHxOpsmRgSbzxHV uMEf/EZHqYIWRq1PNqSre4KUGVqt0c71ZoAHzQ+GMJPPIYadGlqT5uiFQ/omjWDMkM8IKILihGE aZ3jE4JNAsQNupTeZvLnzCag= X-Received: by 127.0.0.2 with SMTP id KPMCYY7687511xOpTGguGiKx; Mon, 26 Feb 2024 16:44:47 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.65]) by mx.groups.io with SMTP id smtpd.web11.1779.1708994687158771233 for ; Mon, 26 Feb 2024 16:44:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EqgBmsK/QQs/yY7JkQ9p827aJ0JuGfm3pU/kH7tgEre8LgKb1xvaMlK/oA0vHbJOdZ00K1PAlgoL/2sIiDV10fnasXLY7YqzfNNg0U2n4Td3Vl+V6EbC7v3xpgQ3DSpTFylU/C144VdhP7DtfE0NWi1XZWtCkGJ+OWgqfojkkDVUkJKoO39qqAxyKzkDkS7obdhOUlG5UehLzQzToomzfqHbtRFEojZPhjIjvH7twcvgoNXaOWIl8NRvGqh3Sr6acwdTZK8QxrfvUaS64tEJQCr96Jb7YwWu+WaoZF8vUTr0Cvgqb25BrrahnWCCzvtu3emvPWx/qfrhwoiZ8i6p2g== 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=zCxac6uN+DKEF+Ho2HvPBos4Tr+Sp3uE6bNNq0N3RdA=; b=GgeFGvWhvidlOP506/1zz/4LclwTBCbb9K5MxM3AvsVSHY/j4rzLsC//lKSDV+7ttlAji6uW6BYRDMEPntIyg55e/aycEBQNyq46u/dUgPJfUFzXLphwAXIaCgC//PUrUJSgVVTRTR+5LMRsKrWmuAsg7JdF6gMe6vQ73L/M0G4KOjkHMFw40N93KgivQKrA5poE55N9sG9+B61Q+tSXTzQVgyVPGbf9G/ybV+3irAJhi2CrXDqj/fMt8IcGUNSAGXiMTx+ECdqljqLDHBqPo8adeAkZlZ0j31DiC8tSs/YIqvWHhpJOSn1CQIdIlC52rh8aJ4iACNQDhkskm5msgg== 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 DM6PR21CA0019.namprd21.prod.outlook.com (2603:10b6:5:174::29) by SJ2PR12MB8977.namprd12.prod.outlook.com (2603:10b6:a03:539::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.34; Tue, 27 Feb 2024 00:44:44 +0000 X-Received: from CY4PEPF0000FCC3.namprd03.prod.outlook.com (2603:10b6:5:174:cafe::63) by DM6PR21CA0019.outlook.office365.com (2603:10b6:5:174::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.12 via Frontend Transport; Tue, 27 Feb 2024 00:44:43 +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 CY4PEPF0000FCC3.mail.protection.outlook.com (10.167.242.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.25 via Frontend Transport; Tue, 27 Feb 2024 00:44:43 +0000 X-Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Mon, 26 Feb 2024 16:44:28 -0800 X-Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.12; Mon, 26 Feb 2024 16:44:27 -0800 X-Received: from NV-CL38DL3.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.1258.12 via Frontend Transport; Mon, 26 Feb 2024 16:44:26 -0800 From: "Nickle Wang via groups.io" To: CC: Abner Chang , Igor Kulchytskyy , "Nick Ramirez" Subject: [edk2-devel] [PATCH v3 0/6] Introduce Redfish http protocol Date: Tue, 27 Feb 2024 08:44:25 +0800 Message-ID: <20240227004425.3133-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: CY4PEPF0000FCC3:EE_|SJ2PR12MB8977:EE_ X-MS-Office365-Filtering-Correlation-Id: e54234db-fb99-4fb0-a14c-08dc372d4a0e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: NfIMrFC7RWc7HXRe1xaqitvFKRoF6h3NaOhrHxFP4afgXSVzTF8Upss3jIBTwTHwukgeavCwEHktQPT3qLqLbc9ohnWH8Uhkm8suDqyPMvQ1jfr8FH6+0xezn/g1ZQ210v4fkMaR9AEbWxgbLUYxa9jNNPKmeNt9h8uZXIjzYEx/UmpZCzaa0iHaj69OxRWIcXMana39TUP/Uia5jZY/tYwRnda67rq6uJTu9FiWi8cQNumtoKq1bZ6YcVS5HHc9CBH63Hxe+wFwh9pLJIAq41rOIzVqzo5i7xKG8LWCNxvT4jFTdKjPiebahYuMlN76bf5o3hkfG2mcskc8d8LPE0g/4vZpxnvJLL3js04DmdgU+Nm5CHCQRRw7KSPN1BpJwttx2/pHqdX6NJYDOaXeeVDwsajAL0DM0MnUYs8qO5sVU8QzsQXZdzf/W1dQWXVGb5O0Ym1z1IqYBoFbCPs5Lz4c4k82BykMi/jPgNDM5DgZyHO4e9g23V8rajZMzeXBzGFm1NGn/Y07lAnvUYo6mpdxbNHIAtQqgFwqepNSdXZXkHN2dMD8Hyoz6xIqJK/jIt3FJp0dyixcoRsXryUISYBYej0Q14q9jAGr74BiLh/KWr4aaf5F5H0imBabGnxhtrNUzBHjCsZ2Xcjyq/OofcSDpQohYBVDgAcXuhMvMoomNtXJPOx5xvC0SSnrwQtJSI/AzqR4gg+mUCS3KaK7ViqnRPNaTMAXvdTL2Iy0LSjaa97Z2faM3VEUupHAiHrD5ukNNR7EAkyIJ+hDX9yNwD1XBRfh5kpl06jTwBy/+jk= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Feb 2024 00:44:43.2952 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e54234db-fb99-4fb0-a14c-08dc372d4a0e 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: CY4PEPF0000FCC3.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8977 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: GKwnGhVSMoRZPNk0sY0SncPZx7686176AA= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-Spam-Flag: yes X-Spam-Level: ************ X-GND-Spam-Score: 190 X-GND-Status: SPAM Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=XzBWRj0N; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); 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 v3: address review comments. 1) handle the condition while memory allocation failure happens to HTTP headers. Make sure that HTTP headers can be released properly while=20 calling HttpFreeHeaderFields(). 2) Create macro ASCII_STR_DUPLICATE() to copy ASCII string. 3) Fix typos. v2: address review comments. 1) add comment to show the source file of MathFtol.c 2) update macro to follow file name in RedfishHttpOperation.h This patch series introduce Redfish HTTP protocol to RedfishPkg.=20 This is to improve Redfish performance and communication stability=20 between BIOS and Redfish service. Two big functions are introduced: 1) HTTP cache mechanism is implemented to reduce the number of=20 communiocation between BIOS and BMC.=20 2) HTTP request retry mechanism is implemented to handle communication=20 failure. With retry mechanism, Redfish feature driver can finish its job=20 as best as possible. Several libraries are updated to fix build issues. Pull request is created: https://github.com/tianocore/edk2/pull/5348 Signed-off-by: Nickle Wang Cc: Abner Chang Cc: Igor Kulchytskyy Cc: Nick Ramirez Nickle Wang (6): RedfishPkg: introduce Redfish HTTP protocol RedfishPkg: implement Redfish HTTP protocol RedfishPkg: introduce RedfishHttpLib RedfishPkg/RedfishLib: include RedfishServiceData.h RedfishPkg/RedfishDebugLib: use RedfishHttpLib RedfishPkg/RedfishCrtLib: fix unresolved external symbol issue RedfishPkg/RedfishPkg.dec | 32 +- RedfishPkg/RedfishComponents.dsc.inc | 3 +- RedfishPkg/RedfishLibs.dsc.inc | 3 +- RedfishPkg/RedfishPkg.dsc | 5 +- .../RedfishDebugLib/RedfishDebugLib.inf | 4 +- .../Library/RedfishHttpLib/RedfishHttpLib.inf | 43 + .../RedfishCrtLib/RedfishCrtLib.inf | 7 +- RedfishPkg/RedfishHttpDxe/RedfishHttpDxe.inf | 73 + RedfishPkg/Include/Library/RedfishDebugLib.h | 2 +- RedfishPkg/Include/Library/RedfishHttpLib.h | 326 ++++ RedfishPkg/Include/Library/RedfishLib.h | 17 +- .../Protocol/EdkIIRedfishHttpProtocol.h | 308 ++++ RedfishPkg/Include/RedfishServiceData.h | 43 + RedfishPkg/RedfishHttpDxe/RedfishHttpData.h | 256 ++++ RedfishPkg/RedfishHttpDxe/RedfishHttpDxe.h | 44 + .../RedfishHttpDxe/RedfishHttpOperation.h | 77 + .../Library/RedfishDebugLib/RedfishDebugLib.c | 1 + .../Library/RedfishHttpLib/RedfishHttpLib.c | 585 +++++++ .../RedfishCrtLib/Ia32/MathFtol.c | 37 + RedfishPkg/RedfishHttpDxe/RedfishHttpData.c | 667 ++++++++ RedfishPkg/RedfishHttpDxe/RedfishHttpDxe.c | 1344 +++++++++++++++++ .../RedfishHttpDxe/RedfishHttpOperation.c | 692 +++++++++ RedfishPkg/Redfish.fdf.inc | 3 +- RedfishPkg/RedfishPkg.ci.yaml | 2 + 24 files changed, 4549 insertions(+), 25 deletions(-) create mode 100644 RedfishPkg/Library/RedfishHttpLib/RedfishHttpLib.inf create mode 100644 RedfishPkg/RedfishHttpDxe/RedfishHttpDxe.inf create mode 100644 RedfishPkg/Include/Library/RedfishHttpLib.h create mode 100644 RedfishPkg/Include/Protocol/EdkIIRedfishHttpProtocol.h create mode 100644 RedfishPkg/Include/RedfishServiceData.h create mode 100644 RedfishPkg/RedfishHttpDxe/RedfishHttpData.h create mode 100644 RedfishPkg/RedfishHttpDxe/RedfishHttpDxe.h create mode 100644 RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.h create mode 100644 RedfishPkg/Library/RedfishHttpLib/RedfishHttpLib.c create mode 100644 RedfishPkg/PrivateLibrary/RedfishCrtLib/Ia32/MathFtol.c create mode 100644 RedfishPkg/RedfishHttpDxe/RedfishHttpData.c create mode 100644 RedfishPkg/RedfishHttpDxe/RedfishHttpDxe.c create mode 100644 RedfishPkg/RedfishHttpDxe/RedfishHttpOperation.c --=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 (#115983): https://edk2.groups.io/g/devel/message/115983 Mute This Topic: https://groups.io/mt/104594891/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-