On Wed, 2025-10-01 at 09:56 +0100, Jonathan Cameron wrote: > On Fri, 12 Sep 2025 12:11:49 +1000 > Wilfred Mallawa <[email protected]> wrote: > > > From: Wilfred Mallawa <[email protected]> > > > > This header contains the transport encoding for an SPDM message > > that > > uses the SPDM over Storage transport as defined by the DMTF > > DSP0286. > > > > Signed-off-by: Wilfred Mallawa <[email protected]> > > FWIW I checked the field definitions that I could find, and this > looks fine. > If it's possible to give more focused reference (section etc) that > might > be worth doing. For example I wasn't entirely sure where the size of > the security_protocol field is defined. This matches with what > libspdm has > though. In regards to the security_protocol field, this is specified in the SCSI Primary Commands - 5 (SPC-5). Note that even the NVMe spec also refers to the SPC-5 for this definition. In which it is defined to be a byte in length. I will add references to this for V8.
Thanks, Wilfred > Reviewed-by: Jonathan Cameron <[email protected]> > > > > --- > > include/system/spdm-socket.h | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/include/system/spdm-socket.h b/include/system/spdm- > > socket.h > > index 29aa04fd52..80cd7021c1 100644 > > --- a/include/system/spdm-socket.h > > +++ b/include/system/spdm-socket.h > > @@ -88,6 +88,18 @@ 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 */ > > + uint16_t security_protocol_specific; /* Bit[7:2] SPDM > > Operation > > + Bit[0:1] Connection > > ID */ > > + 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
