µTCP: a TCP/IP implementation derived from a formal specification
2026-08-01We propose to bring µTCP, a TCP/IP stack developed in OCaml, to a release. This includes: fixing issues that we observe by running it on the Internet, implementing more features (congestion control, SACK, path MTU discovery), and do performance engineering - both in terms of resource consumption and in terms of throughput.
This TCP stack is already used by several MirageOS unikernels (e.g. https://builds.robur.coop, https://blog.robur.coop). The expected outcome is that these unikernels will consume less resources and deliver their content more quickly. Especially with the recent uptake of AI traffic, this is crucial.
Another outcome may include to find further "interesting behaviour" in other TCP/IP stacks, which we will report.
With the current ecosystem - lots of Internet services using either the Linux TCP/IP stack - it is crucial to have an independently developed TCP stack from scratch in a high-level language - our formalisation found issues in existing (FreeBSD, Linux, Windows) stacks, and it also clarified the specification written as RFC.
µTCP is designed in a value-passing fashion (sans-IO), which allows us to investigate using it in an OCaml multicore environment.
In 2026 we received funding through NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. The amount is 50_000€.
Involved is Hannes.