1 INTRODUCTION 2 3 lwIP is a small independent implementation of the TCP/IP protocol 4 suite that has been developed by Adam Dunkels at the Computer and 5 Networks Architectures (CNA) lab at the Swedish Institute of Computer 6 Science (SICS). 7 8 The focus of the lwIP TCP/IP implementation is to reduce the RAM usage 9 while still having a full scale TCP. This making lwIP suitable for use 10 in embedded systems with tens of kilobytes of free RAM and room for 11 around 40 kilobytes of code ROM. 12 13 FEATURES 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 31 LICENSE 32 33 lwIP is freely available under a BSD license. 34 35 DEVELOPMENT 36 37 lwIP has grown into an excellent TCP/IP stack for embedded devices, 38 and developers using the stack often submit bug fixes, improvements, 39 and additions to the stack to further increase its usefulness. 40 41 Development of lwIP is hosted on Savannah, a central point for 42 software development, maintenance and distribution. Everyone can 43 help improve lwIP by use of Savannah's interface, CVS and the 44 mailing list. A core team of developers will commit changes to the 45 CVS source tree. 46 47 The lwIP TCP/IP stack is maintained in the 'lwip' CVS module and 48 contributions (such as platform ports) are in the 'contrib' module. 49 50 See doc/savannah.txt for details on CVS server access for users and 51 developers. 52 53 Last night's CVS tar ball can be downloaded from: 54 http://savannah.gnu.org/cvs.backups/lwip.tar.gz [CHANGED - NEEDS FIXING] 55 56 The 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 60 Submit patches and bugs via the lwIP project page: 61 http://savannah.nongnu.org/projects/lwip/ 62 63 64 DOCUMENTATION 65 66 The original out-dated homepage of lwIP and Adam Dunkels' papers on 67 lwIP are at the official lwIP home page: 68 http://www.sics.se/~adam/lwip/ 69 70 Self documentation of the source code is regularly extracted from the 71 current CVS sources and is available from this web page: 72 http://www.nongnu.org/lwip/ 73 74 There is now a constantly growin wiki about lwIP at 75 http://lwip.wikia.com/wiki/LwIP_Wiki 76 77 Also, there are mailing lists you can subscribe at 78 http://savannah.nongnu.org/mail/?group=lwip 79 plus searchable archives: 80 http://lists.nongnu.org/archive/html/lwip-users/ 81 http://lists.nongnu.org/archive/html/lwip-devel/ 82 83 Reading Adam's papers, the files in docs/, browsing the source code 84 documentation and browsing the mailing list archives is a good way to 85 become familiar with the design of lwIP. 86 87 Adam Dunkels <adam (a] sics.se> 88 Leon Woestenberg <leon.woestenberg (a] gmx.net> 89 90