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

Implement eventing mechanism #2568

Open
steven-bellock opened this issue Feb 12, 2024 · 4 comments
Open

Implement eventing mechanism #2568

steven-bellock opened this issue Feb 12, 2024 · 4 comments
Assignees

Comments

@steven-bellock
Copy link
Contributor

No description provided.

@steven-bellock
Copy link
Contributor Author

@jyao1 should libspdm automatically insert the DMTF event type and the mandatory EventLost event into the SupportedEventGroupsList, or should it make the Integrator do that?

@steven-bellock
Copy link
Contributor Author

Filed https://github.com/DMTF/SPDM-WG/issues/3739 to clarify how Requester should handle multiple SEND_EVENTs in the encapsulated flow.

@steven-bellock
Copy link
Contributor Author

steven-bellock commented Nov 26, 2024

libspdm_return_t libspdm_send_receive_encap_request(void *spdm_context, const uint32_t *session_id);
is the current public function to initiate encapsulated requests. However, there is no way to return an event list via such a function, so we'll need to figure that out.

I'm thinking of a function that returns after ENCAPSULATED_RESPONSE_ACK is received. If ENCAPSULATED_REQUEST.EncapsulatedRequest has data for the Integrator, such as SEND_EVENT.EventsList, then it will be placed into an Integrator-provided buffer. If the Responder has populated ENCAPSULATED_RESPONSE_ACK.EncapsulatedRequest then that field is stored in the scratch buffer and the Integrator is made aware that there is another request from the Responder. The Integrator can then decide whether it wants to continue the encapsulated flow or end the flow by sending an error message to the Responder, assuming https://github.com/DMTF/SPDM-WG/issues/3739 is clarified.

@steven-bellock
Copy link
Contributor Author

From the 16-Dec-2024 meeting

  • See how this would look with a callback function that the Requester-Integrator registers for event handling.
  • See how an event storm from the Responder is handed.
    • In particular, Requester wants to ACK the SEND_EVENT but it does not want to (temporarily) service more SEND_EVENTs.
  • Allow Integrator to specify an ERROR response to a SEND_EVENT.

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

No branches or pull requests

1 participant