Linux 5.15 Adding Management Component Transport Protocol (MCTP)
The code now collected by net-next ahead of the Linux 5.15 merge window in a few weeks is the core implementation of MCTP. The Management Component Transport Protocol is defined by the Distributed Management Task Force for communicating between relevant controllers and their devices. MCTP can work with buses such as PCI Express, USB, I2C, SMBus, and others while being relevant not only for servers but also embedded devices. Intel NICs have been among the devices supporting MCTP over PCI Express now for a number of years.
Kernel developers are still working on various MCTP-driven hardware drivers while this initial code is the core implementation with a sockets-based API for sending/receiving MCTP messages. New drivers will live within drivers/net/mctp/.
More details on the Management Component Transport Protocol implementation coming to Linux 5.15 can be found via this merge to net-next.git with the associated MCTP documentation. This MCTP kernel code was worked on by Google and other parties and will be important for OpenBMC and other similar environments.