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

Add SPDM 1.3 feature GET_ENDPOINT_INFO #3000

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Li-Aaron
Copy link
Contributor

@Li-Aaron Li-Aaron commented Mar 7, 2025

Fix the issue: #2294

ENDPOINT_INFO is SPDM spec 1.3 new feature.
Add ENDPOINT_INFO for Libspdm.

Note:
Encapsulate ENDPOINT_INFO and document update will be handled in separate patches.

@Li-Aaron Li-Aaron force-pushed the ep_info_cap branch 4 times, most recently from 91d7408 to 1269da4 Compare March 7, 2025 08:58
@Li-Aaron Li-Aaron force-pushed the ep_info_cap branch 3 times, most recently from 0fe4f79 to bd6ee72 Compare March 12, 2025 06:44
@Li-Aaron
Copy link
Contributor Author

Li-Aaron commented Mar 12, 2025

Changes between 81fcc82 and bd6ee72

  1. Add check for ENDPOINT_INFO.Param2 is equal to GET_ENDPOINT_INFO.Param2 in GET_ENDPOINT_INFO.
  2. Add LIBSPDM_ENDPOINT_INFO_SUPPORT marco for endpoints that want to send GET_ENDPOINT_INFO.
  3. Move callback libspdm_endpoint_info_device_func to HAL function libspdm_generate_device_endpoint_info.
  4. Modify LIBSPDM_ENABLE_ENDPOINT_INFO_CAP to LIBSPDM_ENABLE_CAPABILITY_ENDPOINT_INFO_CAP to align with other marcos.
  5. Add LIBSPDM_ENABLE_CAPABILITY_ENDPOINT_INFO_CAP LIBSPDM_SEND_GET_ENDPOINT_INFO_SUPPORT in CI configuration.

@Li-Aaron Li-Aaron marked this pull request as ready for review March 12, 2025 07:10
Copy link
Contributor

@steven-bellock steven-bellock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Li-Aaron
Copy link
Contributor Author

Li-Aaron commented Mar 14, 2025

Changes between bd6ee72 and a157d77

  1. move include/hal/library/responder/endpointinfolib.h to include/hal/library/endpointinfolib.h.
  2. add spdm_context and request_attribute to HAL func libspdm_generate_device_endpoint_info, and change the return type from libspdm_return_t to bool,
  3. remove the INVALID_PARAMETER check in HAL func libspdm_generate_device_endpoint_info.
  4. move marco LIBSPDM_MAX_ENDPOINT_INFO_LENGTH in LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT == 1
  5. add version 1.3 check
  6. move error tests to error_test folder.

@Li-Aaron Li-Aaron requested a review from steven-bellock March 14, 2025 06:33
@Li-Aaron Li-Aaron force-pushed the ep_info_cap branch 2 times, most recently from e1aaaca to 5c60935 Compare March 19, 2025 05:23
@Li-Aaron
Copy link
Contributor Author

Li-Aaron commented Mar 19, 2025

Changes between a157d77 and 9176e94

  1. RESPONDER_ENDPOINTINFOLIB_H -> ENDPOINTINFOLIB_H
  2. change the return type from bool to libspdm_return_t for HAL function libspdm_generate_device_endpoint_info
  3. _mut_e -> _encap_e, _mut_il1il2 -> _encap_il1il2.
  4. LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP -> LIBSPDM_ENABLE_CAPABILITY_ENCAP_CAP in libspdm_generate_endpoint_info_signature
    since GET_ENDPOINT_INFO not related to mutual authentication. libspdm_generate_endpoint_info_signature should not use LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP
  5. fix a condition of slot_id in libspdm_verify_endpoint_info_signature

Fix the issue: DMTF#2294

ENDPOINT_INFO is SPDM spec 1.3 new feature.
Add ENDPOINT_INFO for Libspdm.

Signed-off-by: Aaron Li <[email protected]>
@Li-Aaron
Copy link
Contributor Author

Changes between 9176e94 and 58328a3
fix 3 error case for endpoint info response.

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.

3 participants