lwIP, short for lightweight IP, is an implementation of a standard Internet Protocol v4 and v6 networking protocol stack designed to operate in a resource-constrained environment. It was created in 2001 by Adam Dunkels of the Swedish Institute of Computer Science for his Master's thesis. The core lwIP code was released publically under an open licence.
The lwIP stack supports the IP, TCP, UDP, ICMP, IGMP, ARP, DHCP, AutoIP, DNS, SNMP, SLIP and PPP protocols, and there is a selection of APIs which applications can use to interact with it. As well as being designed from the outset to have a low memory footprint, it also gains many of its lightweight properties from being highly configurable. This makes it an excellent choice for integration into eCos.
This documentation describes lwIP and properties specific to its port to eCosPro. The usage, configuration and tuning of lwIP will also be discussed. Many of the concepts discussed here will require some understanding of the inherent underlying properties of the TCP, UDP and IP protocols. This documentation cannot substitute for an introduction to TCP/IP stacks and protocols generally, and it is recommended that where needed the reader seeks out a good reference book, such as:
TCP/IP Illustrated, Volume 1: The Protocols, W. Richard Stevens, published by Addison-Wesley Professional, ISBN-10: 0-201-63346-9, ISBN-13: 978-0-201-63346-7.
Internetworking with TCP/IP: volume 1, Douglas E. Comer, published by Prentice-Hall, ISBN-10: 0-131-87671-6, ISBN-13: 978-0-131-87671-2.