Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose a C-API for legacy bare-metal systems #912

Open
florianhumblot opened this issue Mar 29, 2024 · 1 comment
Open

Expose a C-API for legacy bare-metal systems #912

florianhumblot opened this issue Mar 29, 2024 · 1 comment

Comments

@florianhumblot
Copy link

Is there a way to condense the smoltcp API so that it could be exported as a C library?

With the design goals stated in the readme, this library seems particularly well suited for embedded systems, and considering the mess that is LwIP, I think it could be interesting to use smoltcp (which is extensively tested and fuzzed) as the TCP/IP stack instead of LwIP or other C-based TCP/IP stacks.

Example use case:

  • FreeRTOS running on a microcontroller
  • Uses LwIP on a seperate task for networking, does a bunch of heap allocations within FreeRTOS
@whitequark
Copy link
Contributor

With the design goals stated in the readme, this library seems particularly well suited for embedded systems, and considering the mess that is LwIP, I think it could be interesting to use smoltcp (which is extensively tested and fuzzed) as the TCP/IP stack instead of LwIP or other C-based TCP/IP stacks.

This was the original goal of smoltcp: replacing lwIP. At the very beginning, I've been thinking about such a C API. However, as work went on, I've started to doubt that an ergonomic interface would be easy to build, and it also didn't seem so urgent for other reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

3 participants