spdm: add spdm storage transport virtual header
This header contains the transport encoding for an SPDM message that uses the SPDM over Storage transport as defined by the DMTF DSP0286. Note that in the StorageSpdmTransportHeader structure, security_protocol field is defined in the SCSI Primary Commands 5 (SPC-5) specification. The NVMe specification also refers to the SPC-5 for this definition. The security_protocol_specific field is defined in DSP0286 and is referred to as SP Specific for NVMe and ATA. Signed-off-by: Wilfred Mallawa <wilfred.mallawa@wdc.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
This commit is contained in:
parent
169e8d0c4b
commit
64a9336a41
1 changed files with 14 additions and 0 deletions
|
|
@ -88,6 +88,20 @@ bool spdm_socket_send(const int socket, uint32_t socket_cmd,
|
|||
*/
|
||||
void spdm_socket_close(const int socket, uint32_t transport_type);
|
||||
|
||||
/*
|
||||
* Defines the transport encoding for SPDM, this information shall be passed
|
||||
* down to the SPDM server, when conforming to the SPDM over Storage standard
|
||||
* as defined by DSP0286.
|
||||
*/
|
||||
typedef struct {
|
||||
uint8_t security_protocol; /* Must be 0xE8 for SPDM Commands
|
||||
as per SCSI Primary Commands 5 */
|
||||
uint16_t security_protocol_specific; /* Bit[7:2] SPDM Operation
|
||||
Bit[0:1] Connection ID
|
||||
per DSP0286 1.0: Section 7.2 */
|
||||
uint32_t length; /* Length of the SPDM Message*/
|
||||
} QEMU_PACKED StorageSpdmTransportHeader;
|
||||
|
||||
#define SPDM_SOCKET_COMMAND_NORMAL 0x0001
|
||||
#define SPDM_SOCKET_STORAGE_CMD_IF_SEND 0x0002
|
||||
#define SPDM_SOCKET_STORAGE_CMD_IF_RECV 0x0003
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue