2.2. MCTP Packetization Support
MCTP Definitions
- The message body represents the payload of an MCTP message. The message body can span multiple MCTP packets.
- MCTP packet payload refers to the portion of the message body of an MCTP message that is carried in a single MCTP packet.
- Transmission Unit refers to the size of the portion of the MCTP packet payload.
Transmission Unit Size
- The baseline transmission unit (minimum transmission unit) size for MCTP is 64 bytes.
- All MCTP control messages are required to have a packet payload that is no larger than the baseline transmission unit without negotiation. (The negotiation mechanism for larger transmission units between endpoints is message type-specific and is not addressed in MCTP Base specification)
- Any MCTP message whose message body size is bigger than 64 bytes shall be split into multiple packets for a single message transmission.
MCTP Packet Fields
Figure 2. Generic Packet/Message Fields
Refer to the table below for more information on message fields.
Message Fields | Description |
---|---|
Byte Count | Byte counting from byte #4 to the byte right before PEC. |
Header Version | Set to 0001b for MCTP devices that are conformant to the MCTP Base Specification DSP0237. |
SOM, EOM, Pkt Seq #, TO, and Msg Tag | Refer to DSP0237 (MCTP SMB us/I2C Transport Binding Spec) and DSP0236 (MCTP Base Spec). |
IC | Message Integrity Check bit = 0b -> MCTP control and PLDM over MCTP messages do not include an overall Message Integrity check field according to DSP0236 and DSP0241 in respective. |
Msg Type | 0x00 for MCTP control and 0x01 for PLDM, others are not supported, refer to DSP0239 for more message types. |
Rq, D, and Instance ID | Refer to the spec DSP0236. |
Hdr Ver | 0x00 according the spec DSP0240. |
PLDM Type | 0x00 for PLDM Messaging Control and Discovery, 0x02 for PLDM for Platform Monitoring and Control, only two types here are supported. |
PLDM Command Code | Refer to the spec DSP0245 for more PLDM types. |
PLDM Completion Code* | Present only in PLDM response message, refer to the spec DSP0240. |
PLDM Message Payload | The fields within PLDM messages are transferred from lower offset (e.g. +0 byte) first. And Unless otherwise specified, byte ordering of multi-byte numeric fields or bit fields is “Big Endian” (that is, the lower byte offset holds the most significant byte, and higher offsets hold lesser significant bytes). |