Linux 7.3 Adding Support For MCTP-Over-USB v1.1

Linux 7.3 Adding Support For MCTP-Over-USB v1.1

Within the Linux networking subsystem's "net-next" Git branch there is now queued up support for MCTP-over-USB v1.1. This is the newest version of the standard for sending Management Component Transport Protocol (MCTP) packets over USB for tasks like crash dumps, logging, and firmware updates. Since last year in Linux 6.15 was the original MCTP-Over-USB driver support while the MCTP-Over-USB v1.1 specification was released earlier this year. Back in May, DMTF announced the v1.1 spec with support for USB 1.1 or later, full-speed mode transfers, MCTP packet spanning capability, and enhanced error resiliency. In net-next as of last week thanks to this Git merge is supporting the MCTP-over-USB 1.1 spec: "Version 1.1.0 of DSP0283 (MCTP over USB transport binding) has been released, this patch series updates our current v1.0.1 support for the changes in v1.1.x. The major change in v1.1 is the introduction of "packet spanning" mode, where a single MCTP packet may be split over multiple USB packets (themselves forming a single USB bulk transfer). This relaxes the requirement for USB high-speed mode, as we can now send MCTP packets contained over multiple 64-byte full-speed USB bulk transfers, and gives us an increase in the maximum MCTP packet size - we now have 13 bits of packet length (previously 8) in the transport header. Handling packet spanning introduces some complexity in the transmit and receive paths, as we lose some constraints on where packet boundaries may correspond to USB transfer boundaries, and may need to retain state across separate transfers. To contain this complexity, we introduce a new library for the transfer packing- and unpacking implementations, "mctp-usblib". The host driver is a consumer of this library, and a future gadget driver can use the same implementations. We can now also implement tests on the API boundary of the library. The series implements an incremental shift to mctp-usblib, then implements packet spanning mode in the new library. We have a few changes to prepare for this, in altering a few constants and behaviours as v1.0-specific. Once packet spanning is implemented in mctp-usblib, we enable it in the host-side driver." With the code now in net-next, look for it to land in Linux 7.3 when that merge window opens later in the month.

Original Source

Read the full article at Phoronix →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.