Appendix

Board Management

Platform
Napatech SmartNIC
Content Type
Application Note
Capture Software Version
Link™ Capture Software 12.11

SMBus UDID

The SMBus unique device identifier (UDID) is structured as follows.


Page-1 Sheet.17 Device capabilities Device capabilities Sheet.40 Version/revision Version/revision Sheet.41 Device ID Device ID Sheet.42 Interface Interface Sheet.43 Subsystem vendor ID Subsystem vendor ID Sheet.44 Subsystem device ID Subsystem device ID Sheet.45 Vendor ID Vendor ID Sheet.46 Vendor specific ID Vendor specific ID Sheet.47 MSB MSB Sheet.50 LSB LSB Sheet.51 8 bits 8 bits Sheet.52 8 bits 8 bits Sheet.53 16 bits 16 bits Sheet.54 16 bits 16 bits Sheet.55 16 bits 16 bits Sheet.56 16 bits 16 bits Sheet.57 16 bits 16 bits Sheet.58 21 bits 21 bits

This table shows descriptions of the UDID fields.
Bits Field Notes
[127:120] Device Capabilities

0x81

bit[7:6] Address type: 10b (dynamic and volatile address device)

bit[0] PEC supported: 1b (device supports packet error code)

[119:112] Version / Revision

0x08

bit [5:3] UDID version: 001b (UUID version 1, defined for SMBus 2.0 release)

[111:96] Vendor ID

0x18f4 (Napatech PCIe vendor ID)

[95:80] Device ID Device ID of NT400D11
[79:64] Interface

0x25

bit[5] interface (LSB): 1b (ASF)

bit[3:0] 0101b (SMBus Version 3.0)

[63:48] Subsystem Vendor ID 0x18f4 (Napatech PCIe vendor ID)
[47:32] Subsystem Device 0x215 (NT400D11)
[31:0] Vendor-specific ID LSB 4 bytes of the SmartNIC MAC address

SMBus/MCTP packet structure

This figure shows the SMBus packet structure.


Page-1 Sheet.1 0 0 Sheet.2 Command code 0x0F(MCTP) Command code 0x0F(MCTP) Sheet.5 PEC PEC Sheet.9 Byte N Byte N Sheet.11 Byte 0 Byte 0 Sheet.12 Byte 1 Byte 1 Sheet.13 Byte 2 Byte 2 Sheet.17 Byte 4 Byte 4 Sheet.20 Byte count Byte count Sheet.21 Byte 3 Byte 3 Sheet.22 Payload (Source slave address) Payload (Source slave address) Sheet.23 Dst. slave address Dst. slave address Sheet.30 Payload Payload Sheet.34 ... ... Sheet.35 1 1 Sheet.37 Sheet.38 7 7 Sheet.39 6 6 Sheet.40 5 5 Sheet.41 4 4 Sheet.42 3 3 Sheet.43 2 2 Sheet.44 1 1 Sheet.45 0 0 Sheet.74 Sheet.75 7 7 Sheet.76 6 6 Sheet.77 5 5 Sheet.78 4 4 Sheet.79 3 3 Sheet.80 2 2 Sheet.81 1 1 Sheet.82 0 0 Sheet.83 Sheet.84 7 7 Sheet.85 6 6 Sheet.86 5 5 Sheet.87 4 4 Sheet.88 3 3 Sheet.89 2 2 Sheet.90 1 1 Sheet.91 0 0 Sheet.92 Sheet.93 7 7 Sheet.94 6 6 Sheet.95 5 5 Sheet.96 4 4 Sheet.97 3 3 Sheet.98 2 2 Sheet.99 1 1 Sheet.100 0 0

The first 3 bytes (destination slave address, command code and byte count) are the SMBus header. The remaining parts are the SMBus block write fields. Byte 3 is the first payload byte. Byte 3 contains the source slave address which is specified by MCTP to facilitate addressing for establishing communications back to the message originator. All MCTP messages use a command code, 0x0F. All MCTP transactions shall include a packet error code (PEC) byte.

MCTP packet structure

This figure shows the MCTP packet structure.


Page-1 Sheet.38 0 0 Sheet.39 Command code 0x0F(MCTP) Command code 0x0F(MCTP) Sheet.41 Byte N Byte N Sheet.42 Byte 0 Byte 0 Sheet.43 Byte 1 Byte 1 Sheet.44 Byte 2 Byte 2 Sheet.45 Byte 4 Byte 4 Sheet.46 Byte count Byte count Sheet.47 Byte 3 Byte 3 Sheet.48 Payload (Source slave address) Payload (Source slave address) Sheet.49 Dst. slave address Dst. slave address Sheet.55 ... ... Sheet.56 1 1 Sheet.64 Sheet.50 7 7 Sheet.57 6 6 Sheet.58 5 5 Sheet.59 4 4 Sheet.60 3 3 Sheet.61 2 2 Sheet.62 1 1 Sheet.63 0 0 Sheet.65 Sheet.66 7 7 Sheet.67 6 6 Sheet.68 5 5 Sheet.69 4 4 Sheet.70 3 3 Sheet.71 2 2 Sheet.72 1 1 Sheet.73 0 0 Sheet.74 Sheet.75 7 7 Sheet.76 6 6 Sheet.77 5 5 Sheet.78 4 4 Sheet.79 3 3 Sheet.80 2 2 Sheet.81 1 1 Sheet.82 0 0 Sheet.83 Sheet.84 7 7 Sheet.85 6 6 Sheet.86 5 5 Sheet.87 4 4 Sheet.88 3 3 Sheet.89 2 2 Sheet.90 1 1 Sheet.91 0 0 Sheet.92 Header version Header version Sheet.93 Destination endpoint ID Destination endpoint ID Sheet.94 Source endpoint ID Source endpoint ID Sheet.95 Message type=0 (MCTP control) Message type=0 (MCTP control) Sheet.96 MCTP reserved MCTP reserved Sheet.97 SOM SOM Sheet.99 EOM EOM Sheet.100 Pkt seq# Pkt seq# Sheet.101 TO TO Sheet.102 Msg tag Msg tag Sheet.103 IC IC Sheet.104 RQ RQ Sheet.105 D D Sheet.106 Instance ID Instance ID Sheet.107 Rsvd Rsvd Sheet.110 MCTP control command code MCTP control command code Sheet.111 MCTP control completion code MCTP control completion code Sheet.112 MCTP control data (0:N) MCTP control data (0:N) Sheet.113 PEC PEC

The baseline transmission unit (minimum transmission unit) size for MCTP messages is 64 bytes. See DSP-236.

MCTP packets are exchanged between SMBus master and SMBus slave endpoints using the SMBus block write bus protocol (see DSP-237 Section 6.3). Napatech SmartNICs acts as SMBus/I2C-bus master and slave as both endpoints must have the SMBus/I2C-bus master and slave capabilities.

MCTP messages with body size bigger than 64 bytes are disassembled using the MCTP message dis- and re-assembly capabilities (See DSP-236). All received (RX-traffic) and supported MCTP/PLDM request messages are encoded in an MCTP message with body size less than 64 bytes. On the other hand not all transmitted (TX-traffic) PLDM response messages are smaller than 64 bytes, and they are disassembled into multiple MCTP transmission units using the MCTP basic tag field: encoding SOM-, EOM-, packet sequence, tag-owner and message tag to disassemble MCTP message bodies bigger than 64 bytes.

Byte ordering of the MCTP multibyte fields is big-endian (see DSP-236 Section 5.1).

MCTP control messages do not use the Message Integrity Check field. Therefore, the IC bit in MCTP control messages are always 0.

PLDM packet structure


Page-1 Sheet.38 0 0 Sheet.39 Command code 0x0F(MCTP) Command code 0x0F(MCTP) Sheet.41 Byte N Byte N Sheet.42 Byte 0 Byte 0 Sheet.43 Byte 1 Byte 1 Sheet.44 Byte 2 Byte 2 Sheet.45 Byte 4 Byte 4 Sheet.46 Byte count Byte count Sheet.47 Byte 3 Byte 3 Sheet.48 Payload (Source slave address) Payload (Source slave address) Sheet.49 Dst. slave address Dst. slave address Sheet.55 ... ... Sheet.56 1 1 Sheet.64 Sheet.50 7 7 Sheet.57 6 6 Sheet.58 5 5 Sheet.59 4 4 Sheet.60 3 3 Sheet.61 2 2 Sheet.62 1 1 Sheet.63 0 0 Sheet.65 Sheet.66 7 7 Sheet.67 6 6 Sheet.68 5 5 Sheet.69 4 4 Sheet.70 3 3 Sheet.71 2 2 Sheet.72 1 1 Sheet.73 0 0 Sheet.74 Sheet.75 7 7 Sheet.76 6 6 Sheet.77 5 5 Sheet.78 4 4 Sheet.79 3 3 Sheet.80 2 2 Sheet.81 1 1 Sheet.82 0 0 Sheet.83 Sheet.84 7 7 Sheet.85 6 6 Sheet.86 5 5 Sheet.87 4 4 Sheet.88 3 3 Sheet.89 2 2 Sheet.90 1 1 Sheet.91 0 0 Sheet.92 Header version Header version Sheet.93 Destination endpoint ID Destination endpoint ID Sheet.94 Source endpoint ID Source endpoint ID Sheet.95 Message type=0 (MCTP control) Message type=0 (MCTP control) Sheet.96 MCTP reserved MCTP reserved Sheet.97 SOM SOM Sheet.99 EOM EOM Sheet.100 Pkt seq# Pkt seq# Sheet.101 TO TO Sheet.102 Msg tag Msg tag Sheet.103 IC IC Sheet.104 RQ RQ Sheet.105 D D Sheet.106 Instance ID Instance ID Sheet.107 Rsvd Rsvd Sheet.110 MCTP control command code MCTP control command code Sheet.111 MCTP control completion code MCTP control completion code Sheet.112 MCTP control data (0:N) MCTP control data (0:N) Sheet.113 PEC PEC

Byte ordering of the PLDM multibyte fields is little endian (see DSP-240 Section 5.3).