The smallest TCP/IP stack on the planet
Find a file
2024-11-03 16:26:14 +01:00
src Fix CLOSED event, fix linux test callback 2024-11-03 09:47:29 +01:00
test Fix callbacks, added some design doc 2024-11-03 16:26:14 +01:00
.gitignore Fix callbacks, added some design doc 2024-11-03 16:26:14 +01:00
core.md Fix callbacks, added some design doc 2024-11-03 16:26:14 +01:00
femtotcp.h Added TCP callbacks. Moved tap_init to port/linux 2024-11-03 08:43:05 +01:00
LICENSE Initial import 2024-10-27 13:27:18 +01:00
Makefile Added TCP callbacks. Moved tap_init to port/linux 2024-11-03 08:43:05 +01:00
README.md Initial import 2024-10-27 13:27:18 +01:00

FemtoTCP

The smallest TCP/IP stack on the planet

Description and project goals

FemtoTCP is a TCP/IP stack with no dynamic memory allocations, designed to be used in resource-constrained embedded systems.

Endpoint only mode is supported, which means that femtotcp can be used to establish network connections but it does not route traffic between different network interfaces.

A single network interface can be associated with the device.

Features supported

  • ARP (RFC 826)
  • IPv4 (RFC 791)
  • ICMP (RFC 792): only ping replies
  • DHCP (RFC 2131): client only
  • UDP (RFC 768): unicast only
  • TCP (RFC 793)
    • TCP options supported: Timestamps, Maximum Segment Size
  • BSD-like, non blocking socket API, with custom callbacks
  • No dynamic memory allocation

FemtoTCP is licensed under the GPLv3 license. See the LICENSE file for details. Copyright (c) 2024 Daniele Lacamera. Some rights reserved.