2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncINTRODUCTION
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsynclwIP is a small independent implementation of the TCP/IP protocol
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncsuite that has been developed by Adam Dunkels at the Computer and
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncNetworks Architectures (CNA) lab at the Swedish Institute of Computer
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncScience (SICS).
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncThe focus of the lwIP TCP/IP implementation is to reduce the RAM usage
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncwhile still having a full scale TCP. This making lwIP suitable for use
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncin embedded systems with tens of kilobytes of free RAM and room for
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncaround 40 kilobytes of code ROM.
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncFEATURES
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * IP (Internet Protocol) including packet forwarding over multiple network
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync interfaces
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * ICMP (Internet Control Message Protocol) for network maintenance and debugging
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * IGMP (Internet Group Management Protocol) for multicast traffic management
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * UDP (User Datagram Protocol) including experimental UDP-lite extensions
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * TCP (Transmission Control Protocol) with congestion control, RTT estimation
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync and fast recovery/fast retransmit
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * Specialized raw/native API for enhanced performance
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * Optional Berkeley-like socket API
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * DNS (Domain names resolver)
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * SNMP (Simple Network Management Protocol)
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * DHCP (Dynamic Host Configuration Protocol)
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * AUTOIP (for IPv4, conform with RFC 3927)
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * PPP (Point-to-Point Protocol)
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync * ARP (Address Resolution Protocol) for Ethernet
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncLICENSE
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsynclwIP is freely available under a BSD license.
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncDEVELOPMENT
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsynclwIP has grown into an excellent TCP/IP stack for embedded devices,
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncand developers using the stack often submit bug fixes, improvements,
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncand additions to the stack to further increase its usefulness.
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncDevelopment of lwIP is hosted on Savannah, a central point for
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncsoftware development, maintenance and distribution. Everyone can
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsynchelp improve lwIP by use of Savannah's interface, CVS and the
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncmailing list. A core team of developers will commit changes to the
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncCVS source tree.
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncThe lwIP TCP/IP stack is maintained in the 'lwip' CVS module and
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsynccontributions (such as platform ports) are in the 'contrib' module.
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncSee doc/savannah.txt for details on CVS server access for users and
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncdevelopers.
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncLast night's CVS tar ball can be downloaded from:
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://savannah.gnu.org/cvs.backups/lwip.tar.gz [CHANGED - NEEDS FIXING]
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncThe current CVS trees are web-browsable:
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/lwip/
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://savannah.nongnu.org/cgi-bin/viewcvs/lwip/contrib/
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncSubmit patches and bugs via the lwIP project page:
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://savannah.nongnu.org/projects/lwip/
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncDOCUMENTATION
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncThe original out-dated homepage of lwIP and Adam Dunkels' papers on
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsynclwIP are at the official lwIP home page:
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://www.sics.se/~adam/lwip/
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncSelf documentation of the source code is regularly extracted from the
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsynccurrent CVS sources and is available from this web page:
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://www.nongnu.org/lwip/
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncThere is now a constantly growin wiki about lwIP at
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://lwip.wikia.com/wiki/LwIP_Wiki
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncAlso, there are mailing lists you can subscribe at
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://savannah.nongnu.org/mail/?group=lwip
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncplus searchable archives:
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://lists.nongnu.org/archive/html/lwip-users/
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync http://lists.nongnu.org/archive/html/lwip-devel/
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncReading Adam's papers, the files in docs/, browsing the source code
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncdocumentation and browsing the mailing list archives is a good way to
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncbecome familiar with the design of lwIP.
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncAdam Dunkels <adam@sics.se>
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsyncLeon Woestenberg <leon.woestenberg@gmx.net>
2e848e79ccf2e4285250a0af98ddb9eb28864878vboxsync