All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
-
Fixed build on musl; we were relying on an implicit definition for
AF_MCTP
-
Fixed some header includes where we were previously assuming a glibc layout
-
Fixed incorrect setup of peer message type data, where peer endpoints would report no types supported over dbus.
-
We now enforce IID checks on MCTP control protocol responses; this prevents odd behaviour from delayed or invalid responses.
-
In mctpd the initial route MTU for an endpoint is now set to the minimum MTU of the interface. This allows better compatibility with devices that have a low initial allowed packet size and require application negotiation to increase that packet size. Previously the initial MTU was left as the interface default (normally the maximum MTU). The .SetMTU method can be used to set the endpoint route MTU.
-
Hardware address formatting has been improved in cases where the address size is something other than a 1-byte value.
- mctpd: Add support for endpoint recovery
- mctpd: Allow recovery of devices reporting a nil UUID for development
- mctpd: Allow configuring .Connectivity as writable for development
- mctpd: Add AssignEndpointStatic for static EID allocations
- mctpd: New test infrastructure for control procotol messaging to mctpd
- mctpd: Add a configuration file facility, defaulting to /etc/mctpd.conf.
- mctpd: Add mctp/interfaces/ D-Bus object
-
dbus interface: the NetworkID field is now a
u
rather than ani
, to match OpenBMC's MCTP endpoint specification -
Use Github Actions for CI
Note that this bumps the meson requirement from >=0.47.0 to >=0.59.0. The bump allows us to exploit some features helpful for chaining the solution together.
-
The
tests
option has changed type fromfeature
toboolean
. Tests are enabled by default. -
The dbus interface has undergone a major rework, using standard prefixes and version interface, bus owner and entry-point object names. See docs/mctpd.md for full details on the new interface.
-
In line with the above, bus-owner related dbus methods (SetupEndpoint and friends) now exist on the MCTP interface objects, and only when those interface objects have the bus owner role. Because those methods are now associated with the interface object, they no longer take the interface name as their first argument.
-
mctpd: EID assignments now work in the case where a new endpoint has a pre-configured EID that would conflict with other (already enumerated) endpoints. The new endpoint will get a non-conflicting address assigned.
-
mctpd: fix incorrect error detection on control socket reads