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.