1INTRODUCTION 2 3lwIP is a small independent implementation of the TCP/IP protocol 4suite that has been developed by Adam Dunkels at the Computer and 5Networks Architectures (CNA) lab at the Swedish Institute of Computer 6Science (SICS). 7 8The focus of the lwIP TCP/IP implementation is to reduce the RAM usage 9while still having a full scale TCP. This making lwIP suitable for use 10in embedded systems with tens of kilobytes of free RAM and room for 11around 40 kilobytes of code ROM. 12 13FEATURES 14 15 * IP (Internet Protocol) including packet forwarding over multiple network 16 interfaces 17 * ICMP (Internet Control Message Protocol) for network maintenance and debugging 18 * IGMP (Internet Group Management Protocol) for multicast traffic management 19 * UDP (User Datagram Protocol) including experimental UDP-lite extensions 20 * TCP (Transmission Control Protocol) with congestion control, RTT estimation 21 and fast recovery/fast retransmit 22 * Specialized raw/native API for enhanced performance 23 * Optional Berkeley-like socket API 24 * DNS (Domain names resolver) 25 * SNMP (Simple Network Management Protocol) 26 * DHCP (Dynamic Host Configuration Protocol) 27 * AUTOIP (for IPv4, conform with RFC 3927) 28 * PPP (Point-to-Point Protocol) 29 * ARP (Address Resolution Protocol) for Ethernet 30 31LICENSE 32 33lwIP is freely available under a BSD license. 34 35DEVELOPMENT 36 37lwIP has grown into an excellent TCP/IP stack for embedded devices, 38and developers using the stack often submit bug fixes, improvements, 39and additions to the stack to further increase its usefulness. 40 41Development of lwIP is hosted on Savannah, a central point for 42software development, maintenance and distribution. Everyone can 43help improve lwIP by use of Savannah's interface, CVS and the 44mailing list. A core team of developers will commit changes to the 45CVS source tree. 46 47The lwIP TCP/IP stack is maintained in the 'lwip' CVS module and 48contributions (such as platform ports) are in the 'contrib' module. 49 50See doc/savannah.txt for details on CVS server access for users and 51developers. 52 53Last night's CVS tar ball can be downloaded from: 54 http://savannah.gnu.org/cvs.backups/lwip.tar.gz [CHANGED - NEEDS FIXING] 55 56The current CVS trees are web-browsable: 57 http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/lwip/ 58 http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/contrib/ 59 60Submit patches and bugs via the lwIP project page: 61 http://savannah.nongnu.org/projects/lwip/ 62 63 64DOCUMENTATION 65 66The original out-dated homepage of lwIP and Adam Dunkels' papers on 67lwIP are at the official lwIP home page: 68 http://www.sics.se/~adam/lwip/ 69 70Self documentation of the source code is regularly extracted from the 71current CVS sources and is available from this web page: 72 http://www.nongnu.org/lwip/ 73 74There is now a constantly growin wiki about lwIP at 75 http://lwip.wikia.com/wiki/LwIP_Wiki 76 77Also, there are mailing lists you can subscribe at 78 http://savannah.nongnu.org/mail/?group=lwip 79plus searchable archives: 80 http://lists.nongnu.org/archive/html/lwip-users/ 81 http://lists.nongnu.org/archive/html/lwip-devel/ 82 83Reading Adam's papers, the files in docs/, browsing the source code 84documentation and browsing the mailing list archives is a good way to 85become familiar with the design of lwIP. 86 87Adam Dunkels <adam@sics.se> 88Leon Woestenberg <leon.woestenberg@gmx.net> 89 90