libMCTP is a MCTP (Management Component Transport Protocol) implementation for Rust.
libMCTP aims to implement the MCTP protocol as described in the DMTF DSP2016 specification.
MCTP allows multiple transport layers, the protocols currently supported by this library include:
- SMBus/I2C version 1.2.0. See DMTF DSP0237
All naming conventions are based on the names used in the specifications.
libMCTP can be used in any Rust project. libMCTP does not depend on the Rust std library meaning that it can also be used in embedded applications.
For details and examples on using libMCTP see the auto generated Rust docs.
libMCTP source code is dual licensed under the Apache-2.0 license and MIT license. A copy of these licenses can be found either in the LICENSE-APACHE or LICENSE-MIT files. Versions are also available at http://www.apache.org/licenses/LICENSE-2.0 and http://opensource.org/licenses/MIT.
See LICENSE-APACHE
, LICENSE-MIT
, and COPYRIGHT
for details.
Code contributions are very encouraged!
To contribute code you can open a GitHub pull request. To allow for easier review please split commits up into smaller chunks and ensure that each commit passes all of these cargo commands:
cargo fmt; cargo build; cargo test; cargo clippy
The CI will also automatically run the above commands.
If in doubt just open a PR and we can discuss from there.