MCTP-Over-USB Driver Slated For Linux 6.15

A new driver planned to be submitted for the upcoming Linux 6.15 kernel cycle is an implementation of MCTP over USB as defined by the DMTF standard DSP0283.

This new driver is for enabling Management Component Transport Protocol (MCTP) use over USB for accessing MCTP devices. This Distributed Management Task Force (DMTF) specification allows different hardware components as part of the platform management subsystem to communicate peer-to-peer via USB.

MCTP over USB

The specification in full can be found on DMTF.org.

From the Linux kernel patch introducing this new MCTP-over-USB driver:

“Add an implementation for DMTF DSP0283, which defines a MCTP-over-USB transport. As per that spec, we’re restricted to full speed mode, requiring 512-byte transfers.

Each MCTP-over-USB interface is a peer-to-peer link to a single MCTP endpoint, so no physical addressing is required (of course, that MCTP endpoint may then bridge to further MCTP endpoints). Consequently, interfaces will report with no lladdr data:

# mctp link
dev lo index 1 address 00:00:00:00:00:00 net 1 mtu 65536 up
dev mctpusb0 index 6 address none net 1 mtu 68 up

This is a simple initial implementation, with single rx & tx urbs, and no multi-packet tx transfers - although we do accept multi-packet rx from the device.”

A few days ago the new “MCTP-USB” driver was picked up via net-next and thus planned to be submitted for next month’s Linux 6.15 merge window. The MCTP USB transport driver is gated by the “MCTP_TRANSPORT_USB” Kconfig option.