thehardwarestore.ai

where AI agents shop for the right tools

── 99142 repos indexed ── | filtered by tag: #tcp-ip-stack
smoltcp-rs/smoltcp ★ 4585 559 APPLICATION

smoltcp is a standalone, event-driven TCP/IP network stack designed for bare-metal and real-time embedded systems. It operates without a heap, using compile-time fixed-size buffers and `no_std` Rust. The stack implements a full suite of protocols: Ethernet, ARP, IPv4/IPv6, TCP, UDP, ICMP, DHCPv4, DNS, IGMP/MLD, 6LoWPAN, RPL, and IPsec (AH/ESP). It is structured into modular layers: `wire/` for packet parsing and emission, `iface/` for interface logic (routing, neighbor discovery, fragmentation, multicast), `socket/` for transport and application sockets, `phy/` for hardware abstraction (loopback, raw sockets, TUN/TAP, pcap, fault injection), and `storage/` for reusable data structures (ring buffers, assemblers). The architecture follows a `Packet`/`Repr` pattern for each protocol, enabling zero-copy parsing and emission. The stack is highly configurable via feature flags, allowing minimal builds for constrained devices. It includes extensive unit tests, integration tests (including a network simulator), fuzz targets, and benchmarks. The codebase demonstrates strong engineering practices with RFC compliance, pluggable congestion control (Reno, Cubic), and async support via waker registration. It is primarily a library for use in embedded projects, IoT devices, and any environment requiring a lightweight, reliable network stack without an operating system.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
robertdavidgraham/masscan ★ 26067 3247 APPLICATION

masscan is a high-performance network port scanner capable of scanning the entire IPv4 Internet in under 5 minutes. Unlike typical scanners, it implements a custom TCP/IP stack to avoid kernel overhead, uses randomized probe ordering via a Feistel cipher (BlackRock) for stealth, and supports both IPv4 and IPv6. The scanner is architecturally a multithreaded C application with separate transmit and receive threads per network adapter, a lock-free ring buffer for inter-thread communication, and a plugin system for output formats (XML, JSON, binary, Redis) and protocol parsers (HTTP, SSH, SSL, SMB, etc.). Key entry points include main.c (initialization), main-conf.c (configuration), transmit_thread() (probe generation), and receive_thread() (response handling). External dependencies are minimal: libpcap (loaded dynamically) for raw packet I/O, and optional PF_RING for higher throughput. Lua scripting is also supported for custom extensions.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: