awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
m-labs avatar

m-labs/smoltcp

0
View on GitHub↗
4,492 stars·533 forks·Rust·0BSD·15 views

Smoltcp

smoltcp is a TCP/IP stack and network protocol implementation designed for resource-constrained environments and bare-metal hardware. It provides a set of socket interfaces for managing reliable TCP stream connections and connectionless UDP datagrams without relying on a standard library.

The project utilizes a fixed memory layout and static memory allocation to manage network state and process packets without a dynamic memory allocator. It includes specialized capabilities for low-power wireless networks, such as header compression and fragmentation for 6LoWPAN.

The stack covers the data link, network, and transport layers, including Ethernet frame management, IPv4 and IPv6 routing, and ICMP message handling. It also implements DNS query resolution and IPv4 multicast management via IGMP.

Features

  • Bare-Metal Network Stacks - Implements a full TCP/IP protocol stack designed to run directly on hardware without an operating system.
  • Embedded IP Routing - Connects low-power devices to networks by managing Ethernet frames and IP routing within strict memory limits.
  • Connection Lifecycle State Machines - Uses finite state machines to track the lifecycle of TCP connections through establishment, transfer, and termination.
  • IP Routing Tables - Provides IPv4 and IPv6 routing capabilities using default gateways and CIDR route tables.
  • Packet Buffering - Manages raw network packet data in buffers to decouple hardware reads from protocol processing.
  • Protocol Abstraction Layers - Provides a layered architecture that processes network traffic from the data link layer up to the transport layer.
  • Reliable Transmission Mechanisms - Ensures reliable data delivery using TCP mechanisms such as sequence numbers, acknowledgments, and timers.
  • TCP and UDP Socket Interfaces - Provides socket interfaces for managing reliable TCP streams and connectionless UDP datagrams.
  • UDP Socket Managers - Provides UDP socket management for IPv4 and IPv6 with automatic header checksum generation and validation.
  • TCP Connection Operations - Implements TCP operational logic including window scaling, segment reassembly, and congestion control.
  • No-Std Network Stacks - Provides a network stack written for environments without a standard library using fixed memory layouts.
  • TCP/IP Stacks - Implements a core TCP/IP stack managing TCP, UDP, IPv4, and IPv6 traffic without dynamic memory allocation.
  • Static Memory Allocations - Utilizes fixed-size buffers and pre-allocated structures to manage network state without a dynamic memory allocator.
  • 6LoWPAN Networking - Implements 6LoWPAN adaptation for routing IPv6 over low-power wireless networks using header compression.
  • DNS Resolution - Provides the capability to query hostnames via DNS sockets to retrieve IP addresses for destination resolution.
  • Ethernet Frame Processing - Processes Ethernet II frames for unicast, broadcast, and multicast traffic, including local ARP cache support.
  • ICMP Diagnostic Utilities - Implements capabilities to send and receive ICMP messages for connectivity monitoring and network diagnostics.
  • ICMP Message Processing - Implements processing for both ICMPv4 and ICMPv6 packets via dedicated sockets for network control and monitoring.
  • Header Checksum Validations - Calculates and verifies integrity markers for IPv4, TCP, and UDP packets to detect data corruption.
  • Network Service Discovery Clients - Resolves hostnames to IP addresses using DNS sockets and manages multicast groups via IGMP.
  • CIDR Route Tables - Implements routing tables using Classless Inter-Domain Routing prefixes to determine packet destinations.
  • UDP Header Compressions - Reduces data overhead for wireless networks by compressing and fragmenting UDP headers.
  • Embedded Frameworks - TCP/IP stack for resource-constrained devices

Star history

Star history chart for m-labs/smoltcpStar history chart for m-labs/smoltcp

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does m-labs/smoltcp do?

smoltcp is a TCP/IP stack and network protocol implementation designed for resource-constrained environments and bare-metal hardware. It provides a set of socket interfaces for managing reliable TCP stream connections and connectionless UDP datagrams without relying on a standard library.

What are the main features of m-labs/smoltcp?

The main features of m-labs/smoltcp are: Bare-Metal Network Stacks, Embedded IP Routing, Connection Lifecycle State Machines, IP Routing Tables, Packet Buffering, Protocol Abstraction Layers, Reliable Transmission Mechanisms, TCP and UDP Socket Interfaces.

What are some open-source alternatives to m-labs/smoltcp?

Open-source alternatives to m-labs/smoltcp include: smoltcp-rs/smoltcp — smoltcp is a standalone TCP/IP network stack written in Rust, designed specifically for bare-metal and embedded… riba2534/tcp-ip-networknote — TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP… cesanta/mongoose — Mongoose is an embedded networking library providing TCP/IP stacks, web server hosting, and IoT device connectivity.… ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… embassy-rs/embassy — Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It… nanopb/nanopb — Nanopb is a lightweight C implementation of Protocol Buffers designed for resource-constrained systems and…

Open-source alternatives to Smoltcp

Similar open-source projects, ranked by how many features they share with Smoltcp.
  • smoltcp-rs/smoltcpsmoltcp-rs avatar

    smoltcp-rs/smoltcp

    4,496View on GitHub↗

    smoltcp is a standalone TCP/IP network stack written in Rust, designed specifically for bare-metal and embedded systems. It provides a memory-safe implementation of the internet protocol suite that operates without requiring dynamic heap allocation. The project is distinguished by its heap-less memory management, using fixed-size buffers and manually allocated memory to ensure deterministic performance. It employs zero-copy packet processing and an interface-based hardware abstraction to decouple the network stack from physical hardware. The stack covers a broad range of networking capabilit

    Rustembeddednetworking-stack
    View on GitHub↗4,496
  • riba2534/tcp-ip-networknoteriba2534 avatar

    riba2534/TCP-IP-NetworkNote

    2,505View on GitHub↗

    TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP and UDP sockets in C and C++. It provides a detailed manual for using the POSIX socket API and covers the implementation of network protocols, synchronous and asynchronous I/O patterns, and concurrent programming models. The project is distinguished by its focus on cross-platform networking, offering a detailed comparison of socket implementation details and adaptation utilities between Linux and Windows Winsock environments. It specifically addresses the differences in header

    C
    View on GitHub↗2,505
  • cesanta/mongoosecesanta avatar

    cesanta/mongoose

    12,876View on GitHub↗

    Mongoose is an embedded networking library providing TCP/IP stacks, web server hosting, and IoT device connectivity. It enables microcontrollers and desktop systems to implement network protocols including HTTP, WebSocket, and MQTT. The project provides a bare-metal TCP/IP stack for environments without a native operating system and includes built-in TLS and ECC encryption to secure network traffic. It features a binary-embedded file system to serve web content directly from the executable and supports over-the-air firmware updates for managing device fleets. Additional capabilities cover as

    C
    View on GitHub↗12,876
  • ithewei/libhvithewei avatar

    ithewei/libhv

    7,521View on GitHub↗

    libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered

    Ccurlepollhttp-client
    View on GitHub↗7,521
  • See all 30 alternatives to Smoltcp→