Conversation
|
So apparently the build issue has already been fixed upstream in openthread/openthread#11766. This PR was merged about a month after the 2025-06-12 reference tag :/ EDIT: Now the CI is unhappy because it managed to uncover a latent issue in the mbedtls-rs code :) See: esp-rs/mbedtls-rs#113 |
2e97364 to
01ccf21
Compare
|
So OpenThread configures its vendored MbedTLS to use the OT heap (which is backed by a static variable). Since we want to allow mbedtls-rs to remain general purpose I feel like we should use the following approach: Compile mbedtls with In an ideal world we could now offer the option to attach mbedtls to the OT heap again using So step two is then to also tell OT This will be quite the undertaking, so as an intermediary solution we can start with only enabling |
I agree with that. |
18c5008 to
1d3ebdc
Compare
1d3ebdc to
01a1928
Compare
Without |
…5722cc This is the merge commit that includes the compilation fix.
We don't end up using these symbols at runtime as they get replaced by the OpenThread implementation. But they need to exist at link time to satisfy the linker.
01a1928 to
d66b83c
Compare
Hm, yeah you are right. But what other calls need to be explicitly done? Ideally, just this one ^^^. the |
See: esp-rs/mbedtls-rs#111
Closes: #61
I tested this using the good old SRP example and everything appears to be working nicely :)
EDIT: Patch no longer needed due to submodule update.
See #64 (comment)
This currently requires a patch to the openthread submodule:
This is because our mbedtls is compiled with
MBEDTLS_DEBUG_Cenabled.Apparently this hasn't been tested in a while. This define causes OpenThread's code to use
OPENTHREAD_CONFIG_LOG_LEVEL, which is undefined without the include.We probably want to disable the debug stuff for release builds anyway, but we should still fix this issue in OT's code.