-
Notifications
You must be signed in to change notification settings - Fork 107
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
transport: storage: add support for SPDM over the storage binding (DSP0286) #2827
base: main
Are you sure you want to change the base?
Conversation
8ab52c6
to
7a14888
Compare
A couple of high level comments.
|
7a14888
to
c63269b
Compare
Yeah that sounds good, just wanted to get comments early on
I've updated the license header with an author tag, is that sufficient? Diff: https://github.com/DMTF/libspdm/compare/7a14888587717c8a16e7390388fd39629e7a7076..c63269b162af091a35ef282052980087a378c68f |
Presumably authorship is recorded in the commit log, but if you want to put it in the file itself:
|
e50ff9f
to
8fc10b2
Compare
Usually, the implementation for WIP should NOT be posted to main, but a WIP specific branch The WIP branch can be merged into main, after the WIP spec becomes official standard. |
Okay noted, are you happy to keep this up for now? since review is in progress. |
That is fine. We can keep reviewing and address all feedback in this PR. Whenever you think it is done and ready for merge, you can switch to branch merge request. |
7d5dfea
to
5569c6c
Compare
@twilfredo , do you want to keep it in PR? or do you want to push to a branch, and keep updating the branch? I am OK either way. But I just feel a branch might be more helpful. |
I'll stick to the PR is that's okay with everyone. I'm just waiting for the spec to be ratified so I can address all the changes in one go. |
Add support for bswap16 and 32. Also rename the existing `libspdm_le_to_be_64` to `libspdm_byte_swap_64` for consistency. Signed-off-by: Wilfred Mallawa <[email protected]>
5569c6c
to
9ca12b3
Compare
What is the correct way to generate a seed for the fuzzing tests to go here As requested by @jyao1 I have added some unit tests to test the storage transport api, but I'm unsure about how the seeds are generated (hence why some of the the CI is failing also). |
1e2c501
to
a2c713e
Compare
As defined by DSP0826, add support for SPDM storage transport. The transport layer uses a virtual storage header that encapsulates SPDM requests to allow the caller to generate the required parameters for a storage SPDM request. SPDM responses are not transport encoded, with this header, instead just the message is returned. Signed-off-by: Wilfred Mallawa <[email protected]> Signed-off-by: Alistair Francis <[email protected]>
This allows transports such as Storage (DSP0286) to determine if the next response is protected via secured messages. Unlike other transport layers, storage does not encode the message type in a response header. As such, the requester must track the expected type. The issue [1] discusses this implementation requirement in further detail with regards to DSP0286. [1] DMTF/SPDM-WG#3520 Signed-off-by: Wilfred Mallawa <[email protected]> Signed-off-by: Alistair Francis <[email protected]>
Signed-off-by: Wilfred Mallawa <[email protected]>
Signed-off-by: Wilfred Mallawa <[email protected]>
a2c713e
to
10033fd
Compare
This series adds
libspdm
transport support for SPDM over Storage Binding Specification [1]. This allows for example NVMe or SCSI devices that conform to [1] to communicate with a host requester using the storage transport medium as defined in [1].[1] https://www.dmtf.org/sites/default/files/standards/documents/DSP0286_1.0.0WIP90.pdf