0
0
lwIP, a light-weight TCP/IP stack[]
This documentation describes the design and implementation of a small TCP/IP stack called lwIP that is small enough to be used in minimal systems. lwIP is designed to be completely modular. The core stack is an IP implementation, on top of which the user can choose to also add TCP, UDP, DHCP, and many other protocols, including various features of each of these protocols (for example, IP fragmentation and reassembly). More features comes at the cost of increased code size and complexity, and this is fully tunable to the user's needs.
Further, lwIP is designed to operate with or without an OS, and with or without support for threads. It works on 8-bit microprocessors and 32-bit microprocessors, and supports both little- and big-endian systems.
lwIP directory structure[]
The following list is a brief overview of the file and directory structure for lwIP:
lwip/src
lwip/src/api
- the Netconn API, Socket API, and the tcpip threadlwip/src/core
- core code: DHCP, TCP, UDP, and support code (memory, netif, etc)lwip/src/core/ipv4
- IPv4, ICMPv4lwip/src/core/ipv6
- IPv6, ICMPv6lwip/src/core/snmp
- SNMPlwip/src/include
- all headers and includeslwip/src/netif
- ARP and sample Ethernet driverlwip/src/netif/ppp
- PPP
To get the code for lwIP, see the main Savannah project page.