+++
title = "smoltcp"
weight = 2
template = "page.html"
+++


{% layout_centered_content(min_width=true) %}

##### smoltcp is a standalone, event-driven TCP/IP stack that is designed for bare-metal, real-time systems.

{% end %}



{% layout_centered_content(min_width=true, force_left=true) %}

Its design goals are simplicity and robustness. Its design anti-goals include complicated compile-time computations, such as macro or type tricks, even at cost of performance degradation.


smoltcp does not need heap allocation at all, is <a href="https://docs.rs/smoltcp/" target="_blank" rel="noopener noreferrer">extensively documented</a>, and compiles on stable Rust 1.20 and later. It is used in embedded systems such as the ARTIQ core device and ionpak.


smoltcp achieves <a href="https://github.com/m-labs/smoltcp#examplesbenchmarkrs" target="_blank" rel="noopener noreferrer">~Gbps</a> of throughput when tested against the Linux TCP stack in loopback mode.


The source code is available <a href="https://github.com/m-labs/smoltcp" rel="noopener noreferrer">on GitHub</a>.

**Commercial support for smoltcp is available.** Email sales@m-l***s.hk.

{% end %}