mctp: Bump mctp-lib to branch main

The pinned 9e-buildup branch does not carry the mctp_control module,
which provides the datatypes and the MctpCodec trait for encoding and
decoding DSP0236 control-protocol messages. Branch main carries it, so a
control-protocol responder can be built against this dependency.

Branch main also accepts a packet addressed to EID 0, which 9e-buildup
dropped whenever this endpoint had another EID. An endpoint answers on
EID 0 until a bus owner assigns it one, so that drop left Set Endpoint
ID unanswerable.

Two API changes come with the branch. Sender::send_vectored takes the
destination EID ahead of the fragmenter, which the one production sender
and the five test mocks now accept and ignore: the production sender
routes to the single peer address fixed at construction, and each mock
captures or discards every packet. Router::inbound returns the cookie of
the handle a matched message was queued for, or None for a discarded
one, and Server::inbound drops that value, since Server::update reaches
the message by polling each outstanding handle by cookie.

The mctp pin moves from a floating branch to the rev mctp-lib main
itself pins, so one mctp version resolves for both.

Signed-off-by: Evan Chuchen <evan_chuchen@jabil.com>
8 files changed
tree: 8a5b3db10df1780cb93b1495d01757bdd89592ee
  1. .github/
  2. docs/
  3. drivers/
  4. hal/
  5. openprot/
  6. platform/
  7. presubmit/
  8. services/
  9. target/
  10. third_party/
  11. tools/
  12. util/
  13. .bazelignore
  14. .bazelrc
  15. .bazelversion
  16. .clang-format
  17. .gitignore
  18. .semgrepignore
  19. BUILD.bazel
  20. CONTRIBUTING.md
  21. LICENSE
  22. MODULE.bazel
  23. MODULE.bazel.lock
  24. pw
  25. README.md
  26. rust-toolchain.toml
  27. workflows.json
README.md

OpenPRoT

Technical Charter

The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md

Getting Started

NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.

Available Tasks

You can run tasks using the Pigweed workflow launcher pw or bazel.

  • ./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy.
  • ./pw format - Run the code formatters.
  • bazel test //... - Run all tests.
  • bazel build //docs - Build documentation.

Development

The project is structured as a bazel module.

Requirements

  • Bazel. We recommend installing bazelisk to automatically manage bazel versions.

No additional tools are required - all dependencies are managed by bazel.