Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Redfish http protocol and library #57

Closed
wants to merge 4 commits into from

Conversation

nicklela
Copy link
Contributor

@nicklela nicklela commented Nov 6, 2023

Introduce Redfish HTTP protocol to improve Redfish performance
and communication stability between BIOS and BMC.

Signed-off-by: Nickle Wang [email protected]
Cc: Abner Chang [email protected]
Cc: Igor Kulchytskyy [email protected]
Cc: Nick Ramirez [email protected]

Introduce Redfish HTTP protocol to improve Redfish performance
and communication stability between BIOS and BMC.
- Feature drivers often query same Redfish resource multiple
times for different purpose. Implement HTTP cache mechanism to
improve HTTP GET performance. "UseCache" parameter is provided
if application likes to send HTTP GET request to BMC without
using cache data. This driver will retire stale cache data
automatically when application modify BMC Redfish resource.
PCD PcdHttpCacheDisabled is used to disable cache mechanism in
this driver for debugging purpose.
- Redfish HTTP protocol also implement retry mechanism to retry
HTTP request when BIOS receive unexpected response from BMC. This
function helps BIOS Redfish to finish its job as much as possible.
PCDs are defined to control how many times BIOS will retry the
request and how many time BIOS will wait between retries.

Signed-off-by: Nickle Wang <[email protected]>
Cc: Abner Chang <[email protected]>
Cc: Igor Kulchytskyy <[email protected]>
Cc: Nick Ramirez <[email protected]>
RedfishHttpLib is a wrapper library for Redfish feature drivers to
call Redfish HTTP Protocol easily.

Signed-off-by: Nickle Wang <[email protected]>
Cc: Abner Chang <[email protected]>
Cc: Igor Kulchytskyy <[email protected]>
Cc: Nick Ramirez <[email protected]>
- Use Redfish HTTP protocol to query Redfish resources in Redfish drivers
and libraries. This takes the benefit of reusing cached HTTP response
from other Redfish drivers. By reducing the number of HTTP operation,
this improves the Redfish performance.
- Remove GetResourceByUri(), CreatePayloadToPostResource() and
CreatePayloadToPatchResource() functions to remove the dependency of
RedfishLib.

Signed-off-by: Nickle Wang <[email protected]>
Cc: Abner Chang <[email protected]>
Cc: Igor Kulchytskyy <[email protected]>
Cc: Nick Ramirez <[email protected]>
Use Redfish HTTP protocol to query Redfish resources in Redfish feature
drivers. This takes the benefit of reusing cached HTTP response from
other feature drivers. By reducing the number of HTTP operation, this
improves the Redfish performance.

Signed-off-by: Nickle Wang <[email protected]>
Cc: Abner Chang <[email protected]>
Cc: Igor Kulchytskyy <[email protected]>
Cc: Nick Ramirez <[email protected]>
@nicklela nicklela closed this Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant