a82212bd36e1074408974b466798b9966bbaf49bvboxsyncINTRODUCTION
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsynclwIP is a small independent implementation of the TCP/IP protocol
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncsuite that has been developed by Adam Dunkels at the Computer and
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncNetworks Architectures (CNA) lab at the Swedish Institute of Computer
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncScience (SICS).
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncThe focus of the lwIP TCP/IP implementation is to reduce the RAM usage
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncwhile still having a full scale TCP. This making lwIP suitable for use
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncin embedded systems with tens of kilobytes of free RAM and room for
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncaround 40 kilobytes of code ROM.
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncFEATURES
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsync * IP (Internet Protocol) including packet forwarding over multiple
a82212bd36e1074408974b466798b9966bbaf49bvboxsync network interfaces
a82212bd36e1074408974b466798b9966bbaf49bvboxsync * ICMP (Internet Control Message Protocol) for network maintenance
a82212bd36e1074408974b466798b9966bbaf49bvboxsync and debugging
a82212bd36e1074408974b466798b9966bbaf49bvboxsync * UDP (User Datagram Protocol) including experimental UDP-lite
a82212bd36e1074408974b466798b9966bbaf49bvboxsync extensions
a82212bd36e1074408974b466798b9966bbaf49bvboxsync * TCP (Transmission Control Protocol) with congestion control, RTT
a82212bd36e1074408974b466798b9966bbaf49bvboxsync estimation and fast recovery/fast retransmit
a82212bd36e1074408974b466798b9966bbaf49bvboxsync * Specialized API for enhanced performance
a82212bd36e1074408974b466798b9966bbaf49bvboxsync * Optional Berkeley socket API
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncLICENSE
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsynclwIP is freely available under a BSD license.
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncDEVELOPMENT
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsynclwIP has grown into an excellent TCP/IP stack for embedded devices,
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncand developers using the stack often submit bug fixes, improvements,
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncand additions to the stack to further increase its usefulness.
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncDevelopment of lwIP is hosted on Savannah, a central point for
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncsoftware development, maintenance and distribution. Everyone can
a82212bd36e1074408974b466798b9966bbaf49bvboxsynchelp improve lwIP by use of Savannah's interface, CVS and the
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncmailing list. A core team of developers will commit changes to the
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncCVS source tree.
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncThe lwIP TCP/IP stack is maintained in the 'lwip' CVS module and
a82212bd36e1074408974b466798b9966bbaf49bvboxsynccontributions (such as platform ports) are in the 'contrib' module.
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncSee doc/savannah.txt for details on CVS server access for users and
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncdevelopers.
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncLast night's CVS tar ball can be downloaded from:
a82212bd36e1074408974b466798b9966bbaf49bvboxsync http://savannah.gnu.org/cvs.backups/lwip.tar.gz [CHANGED - NEEDS FIXING]
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncThe current CVS trees are web-browsable:
a82212bd36e1074408974b466798b9966bbaf49bvboxsync http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/lwip/
a82212bd36e1074408974b466798b9966bbaf49bvboxsync http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/contrib/
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncSubmit patches and bugs via the lwIP project page:
a82212bd36e1074408974b466798b9966bbaf49bvboxsync http://savannah.nongnu.org/projects/lwip/
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncDOCUMENTATION
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncThe original out-dated homepage of lwIP and Adam Dunkels' papers on
a82212bd36e1074408974b466798b9966bbaf49bvboxsynclwIP are at the official lwIP home page:
a82212bd36e1074408974b466798b9966bbaf49bvboxsync http://www.sics.se/~adam/lwip/
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncSelf documentation of the source code is regularly extracted from the
a82212bd36e1074408974b466798b9966bbaf49bvboxsynccurrent CVS sources and is available from this web page:
a82212bd36e1074408974b466798b9966bbaf49bvboxsync http://www.nongnu.org/lwip/
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncReading Adam's papers, the files in docs/, browsing the source code
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncdocumentation and browsing the mailing list archives is a good way to
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncbecome familiar with the design of lwIP.
a82212bd36e1074408974b466798b9966bbaf49bvboxsync
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncAdam Dunkels <adam@sics.se>
a82212bd36e1074408974b466798b9966bbaf49bvboxsyncLeon Woestenberg <leon.woestenberg@gmx.net>