public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] Redfishlib: How does it work?
@ 2024-08-19 12:04 memristor2 via groups.io
  2024-08-19 13:43 ` Nickle Wang via groups.io
  0 siblings, 1 reply; 3+ messages in thread
From: memristor2 via groups.io @ 2024-08-19 12:04 UTC (permalink / raw)
  To: devel@edk2.groups.io

[-- Attachment #1: Type: text/plain, Size: 1807 bytes --]

Hello everyone,
I am trying to develop Redfish on my platform. I got a few questions about the development process of Redfish.

- Studying the libraries I see this RedfishLib which provides some API's but there isn't much specification on how to implement these APIs. My guess is I should start with the RedfishCreateService? But this needs a REDFISH_CONFIG_SERVICE_INFORMATION structure to have its RedfishServiceRestExHandle initialized. How is this going to work? My guess is by using OpenProtocol?

- Since i was trying to use the provided Redfishlib I realized I need to call the RedfishConfigHandlerDriver driver to call a callback function whenever the gEdkIIRedfishConfigHandlerProtocolGuid gets installed and then execute the RedfishConfigHandlerInitialization and then I would have the gRedfishConfigData.RedfishServiceInfo filled out with the instance so I could eventually use this function RedfishCreateService (this is my assumption even though I highly doubt it would be correct). But the problem is that there are NO drivers installing the gEdkIIRedfishConfigHandlerProtocolGuid protocol. In fact the function registered to this protocol tries to locate it. What driver is going to install this protocol? I know the callback function gets called even if no driver installs the protocol but what is the point if there is no drivers installing that protocol?

Thanks,
Memristor

Sent with [Proton Mail](https://proton.me/) secure email.

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120365): https://edk2.groups.io/g/devel/message/120365
Mute This Topic: https://groups.io/mt/107978990/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 3410 bytes --]

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

* Re: [edk2-devel] Redfishlib: How does it work?
  2024-08-19 12:04 [edk2-devel] Redfishlib: How does it work? memristor2 via groups.io
@ 2024-08-19 13:43 ` Nickle Wang via groups.io
  2024-08-20  6:59   ` memristor2 via groups.io
  0 siblings, 1 reply; 3+ messages in thread
From: Nickle Wang via groups.io @ 2024-08-19 13:43 UTC (permalink / raw)
  To: devel@edk2.groups.io, memristor2@proton.me

[-- Attachment #1: Type: text/plain, Size: 2819 bytes --]

1. We are moving from RedfishLib to Redfish http protocol (gEdkIIRedfishHttpProtocolGuid). I would recommend you to use Redfish http protocol for Redfish communication.

2. Redfish config handler protocol is installed by Redfish application. It will be called by RedfishConfigHandler driver when Redfish service is discovered. Please check the example code here: https://github.com/tianocore/edk2-redfish-client/blob/a09fd42735fb9f98915b1c7fa1a15d14c688d706/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c#L783

And I hope the information here can help you understand how it works: https://github.com/tianocore/edk2-redfish-client/tree/main/RedfishClientPkg#edk2-redfish-client-feature-driver

Regards,
Nickle

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of memristor2 via groups.io
Sent: Monday, August 19, 2024 8:05 PM
To: devel@edk2.groups.io
Subject: [edk2-devel] Redfishlib: How does it work?

External email: Use caution opening links or attachments

Hello everyone,
I am trying to develop Redfish on my platform. I got a few questions about the development process of Redfish.

  1.  Studying the libraries I see this RedfishLib which provides some API's but there isn't much specification on how to implement these APIs. My guess is I should start with the RedfishCreateService? But this needs a REDFISH_CONFIG_SERVICE_INFORMATION structure to have its RedfishServiceRestExHandle initialized. How is this going to work? My guess is by using OpenProtocol?
  2.  Since i was trying to use the provided Redfishlib I realized I need to call the RedfishConfigHandlerDriver driver to call a callback function whenever the gEdkIIRedfishConfigHandlerProtocolGuid gets installed and then execute the RedfishConfigHandlerInitialization and then I would have the gRedfishConfigData.RedfishServiceInfo filled out with the instance so I could eventually use this function RedfishCreateService (this is my assumption even though I highly doubt it would be correct). But the problem is that there are NO drivers installing the gEdkIIRedfishConfigHandlerProtocolGuid protocol. In fact the function registered to this protocol tries to locate it.  What driver is going to install this protocol? I know the callback function gets called even if no driver installs the protocol but what is the point if there is no drivers installing that protocol?
Thanks,
Memristor


Sent with Proton Mail<https://proton.me/> secure email.



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120366): https://edk2.groups.io/g/devel/message/120366
Mute This Topic: https://groups.io/mt/107978990/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 8795 bytes --]

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

* Re: [edk2-devel] Redfishlib: How does it work?
  2024-08-19 13:43 ` Nickle Wang via groups.io
@ 2024-08-20  6:59   ` memristor2 via groups.io
  0 siblings, 0 replies; 3+ messages in thread
From: memristor2 via groups.io @ 2024-08-20  6:59 UTC (permalink / raw)
  To: Nickle Wang; +Cc: devel@edk2.groups.io

[-- Attachment #1: Type: text/plain, Size: 3095 bytes --]

Hi Nickle,
Didn't knew there was a separate repo on this matter.
Thanks for the quick response, Ill dive into it.

Sent with [Proton Mail](https://proton.me/) secure email.

On Monday, August 19th, 2024 at 5:13 PM, Nickle Wang <nicklew@nvidia.com> wrote:

> 1. We are moving from RedfishLib to Redfish http protocol (gEdkIIRedfishHttpProtocolGuid). I would recommend you to use Redfish http protocol for Redfish communication.
>
> 2. Redfish config handler protocol is installed by Redfish application. It will be called by RedfishConfigHandler driver when Redfish service is discovered. Please check the example code here: https://github.com/tianocore/edk2-redfish-client/blob/a09fd42735fb9f98915b1c7fa1a15d14c688d706/RedfishClientPkg/Features/Bios/v1_0_9/Dxe/BiosDxe.c#L783
>
> And I hope the information here can help you understand how it works: https://github.com/tianocore/edk2-redfish-client/tree/main/RedfishClientPkg#edk2-redfish-client-feature-driver
>
> Regards,
>
> Nickle
>
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of memristor2 via groups.io
> Sent: Monday, August 19, 2024 8:05 PM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] Redfishlib: How does it work?
>
> External email: Use caution opening links or attachments
>
> Hello everyone,
>
> I am trying to develop Redfish on my platform. I got a few questions about the development process of Redfish.
>
> -  Studying the libraries I see this RedfishLib which provides some API's but there isn't much specification on how to implement these APIs. My guess is I should start with the RedfishCreateService? But this needs a REDFISH_CONFIG_SERVICE_INFORMATION structure to have its RedfishServiceRestExHandle initialized. How is this going to work? My guess is by using OpenProtocol?
> -  Since i was trying to use the provided Redfishlib I realized I need to call the RedfishConfigHandlerDriver driver to call a callback function whenever the gEdkIIRedfishConfigHandlerProtocolGuid gets installed and then execute the RedfishConfigHandlerInitialization and then I would have the gRedfishConfigData.RedfishServiceInfo filled out with the instance so I could eventually use this function RedfishCreateService (this is my assumption even though I highly doubt it would be correct). But the problem is that there are NO drivers installing the gEdkIIRedfishConfigHandlerProtocolGuid protocol. In fact the function registered to this protocol tries to locate it. What driver is going to install this protocol? I know the callback function gets called even if no driver installs the protocol but what is the point if there is no drivers installing that protocol?
>
> Thanks,
>
> Memristor
>
> Sent with [Proton Mail](https://proton.me/) secure email.
>
> 

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120374): https://edk2.groups.io/g/devel/message/120374
Mute This Topic: https://groups.io/mt/107978990/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 7801 bytes --]

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

end of thread, other threads:[~2024-08-20  6:59 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-19 12:04 [edk2-devel] Redfishlib: How does it work? memristor2 via groups.io
2024-08-19 13:43 ` Nickle Wang via groups.io
2024-08-20  6:59   ` memristor2 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