public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH v3 0/6] Introduce Redfish http protocol
@ 2024-02-27  0:44 Nickle Wang via groups.io
  2024-02-27 14:33 ` Igor Kulchytskyy via groups.io
  0 siblings, 1 reply; 2+ messages in thread
From: Nickle Wang via groups.io @ 2024-02-27  0:44 UTC (permalink / raw)
  To: devel; +Cc: Abner Chang, Igor Kulchytskyy, Nick Ramirez

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 
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. 
This is to improve Redfish performance and communication stability 
between BIOS and Redfish service. Two big functions are introduced:
1) HTTP cache mechanism is implemented to reduce the number of 
communiocation between BIOS and BMC. 
2) HTTP request retry mechanism is implemented to handle communication 
failure. With retry mechanism, Redfish feature driver can finish its job 
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 <nicklew@nvidia.com>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Cc: Nick Ramirez <nramirez@nvidia.com>

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

-- 
2.34.1



-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [edk2-devel] [PATCH v3 0/6] Introduce Redfish http protocol
  2024-02-27  0:44 [edk2-devel] [PATCH v3 0/6] Introduce Redfish http protocol Nickle Wang via groups.io
@ 2024-02-27 14:33 ` Igor Kulchytskyy via groups.io
  0 siblings, 0 replies; 2+ messages in thread
From: Igor Kulchytskyy via groups.io @ 2024-02-27 14:33 UTC (permalink / raw)
  To: Nickle Wang, devel@edk2.groups.io; +Cc: Abner Chang, Nick Ramirez

Reviewed-by: Igor Kulchytskyy <igork@ami.com>
Reviewed the whole patch v3.

Regards,
Igor

-----Original Message-----
From: Nickle Wang <nicklew@nvidia.com>
Sent: Monday, February 26, 2024 7:44 PM
To: devel@edk2.groups.io
Cc: Abner Chang <abner.chang@amd.com>; Igor Kulchytskyy <igork@ami.com>; Nick Ramirez <nramirez@nvidia.com>
Subject: [EXTERNAL] [PATCH v3 0/6] Introduce Redfish http protocol


**CAUTION: The e-mail below is from an external source. Please exercise caution before opening attachments, clicking links, or following guidance.**

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
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.
This is to improve Redfish performance and communication stability
between BIOS and Redfish service. Two big functions are introduced:
1) HTTP cache mechanism is implemented to reduce the number of
communiocation between BIOS and BMC.
2) HTTP request retry mechanism is implemented to handle communication
failure. With retry mechanism, Redfish feature driver can finish its job
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 <nicklew@nvidia.com>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Cc: Nick Ramirez <nramirez@nvidia.com>

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

--
2.34.1

-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#116046): https://edk2.groups.io/g/devel/message/116046
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]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-02-27 14:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-27  0:44 [edk2-devel] [PATCH v3 0/6] Introduce Redfish http protocol Nickle Wang via groups.io
2024-02-27 14:33 ` Igor Kulchytskyy via groups.io

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox