xref: /minix3/minix/lib/liblwip/dist/README (revision 5d5fbe79c1b60734f34c69330aec5496644e8651)
1*5d5fbe79SDavid van MoolenbroekINTRODUCTION
2*5d5fbe79SDavid van Moolenbroek
3*5d5fbe79SDavid van MoolenbroeklwIP is a small independent implementation of the TCP/IP protocol
4*5d5fbe79SDavid van Moolenbroeksuite that has been developed by Adam Dunkels at the Computer and
5*5d5fbe79SDavid van MoolenbroekNetworks Architectures (CNA) lab at the Swedish Institute of Computer
6*5d5fbe79SDavid van MoolenbroekScience (SICS).
7*5d5fbe79SDavid van Moolenbroek
8*5d5fbe79SDavid van MoolenbroekThe focus of the lwIP TCP/IP implementation is to reduce the RAM usage
9*5d5fbe79SDavid van Moolenbroekwhile still having a full scale TCP. This making lwIP suitable for use
10*5d5fbe79SDavid van Moolenbroekin embedded systems with tens of kilobytes of free RAM and room for
11*5d5fbe79SDavid van Moolenbroekaround 40 kilobytes of code ROM.
12*5d5fbe79SDavid van Moolenbroek
13*5d5fbe79SDavid van Moolenbroek
14*5d5fbe79SDavid van MoolenbroekFEATURES
15*5d5fbe79SDavid van Moolenbroek
16*5d5fbe79SDavid van Moolenbroek  * IP (Internet Protocol, IPv4 and IPv6) including packet forwarding over
17*5d5fbe79SDavid van Moolenbroek    multiple network interfaces
18*5d5fbe79SDavid van Moolenbroek  * ICMP (Internet Control Message Protocol) for network maintenance and debugging
19*5d5fbe79SDavid van Moolenbroek  * IGMP (Internet Group Management Protocol) for multicast traffic management
20*5d5fbe79SDavid van Moolenbroek  * MLD (Multicast listener discovery for IPv6). Aims to be compliant with
21*5d5fbe79SDavid van Moolenbroek    RFC 2710. No support for MLDv2
22*5d5fbe79SDavid van Moolenbroek  * ND (Neighbor discovery and stateless address autoconfiguration for IPv6).
23*5d5fbe79SDavid van Moolenbroek    Aims to be compliant with RFC 4861 (Neighbor discovery) and RFC 4862
24*5d5fbe79SDavid van Moolenbroek    (Address autoconfiguration)
25*5d5fbe79SDavid van Moolenbroek  * UDP (User Datagram Protocol) including experimental UDP-lite extensions
26*5d5fbe79SDavid van Moolenbroek  * TCP (Transmission Control Protocol) with congestion control, RTT estimation
27*5d5fbe79SDavid van Moolenbroek    and fast recovery/fast retransmit
28*5d5fbe79SDavid van Moolenbroek  * raw/native API for enhanced performance
29*5d5fbe79SDavid van Moolenbroek  * Optional Berkeley-like socket API
30*5d5fbe79SDavid van Moolenbroek  * DNS (Domain names resolver)
31*5d5fbe79SDavid van Moolenbroek
32*5d5fbe79SDavid van Moolenbroek
33*5d5fbe79SDavid van MoolenbroekAPPLICATIONS
34*5d5fbe79SDavid van Moolenbroek
35*5d5fbe79SDavid van Moolenbroek  * HTTP server with SSI and CGI
36*5d5fbe79SDavid van Moolenbroek  * SNMPv2c agent with MIB compiler (Simple Network Management Protocol)
37*5d5fbe79SDavid van Moolenbroek  * SNTP (Simple network time protocol)
38*5d5fbe79SDavid van Moolenbroek  * NetBIOS name service responder
39*5d5fbe79SDavid van Moolenbroek  * MDNS (Multicast DNS) responder
40*5d5fbe79SDavid van Moolenbroek  * iPerf server implementation
41*5d5fbe79SDavid van Moolenbroek
42*5d5fbe79SDavid van Moolenbroek
43*5d5fbe79SDavid van MoolenbroekLICENSE
44*5d5fbe79SDavid van Moolenbroek
45*5d5fbe79SDavid van MoolenbroeklwIP is freely available under a BSD license.
46*5d5fbe79SDavid van Moolenbroek
47*5d5fbe79SDavid van Moolenbroek
48*5d5fbe79SDavid van MoolenbroekDEVELOPMENT
49*5d5fbe79SDavid van Moolenbroek
50*5d5fbe79SDavid van MoolenbroeklwIP has grown into an excellent TCP/IP stack for embedded devices,
51*5d5fbe79SDavid van Moolenbroekand developers using the stack often submit bug fixes, improvements,
52*5d5fbe79SDavid van Moolenbroekand additions to the stack to further increase its usefulness.
53*5d5fbe79SDavid van Moolenbroek
54*5d5fbe79SDavid van MoolenbroekDevelopment of lwIP is hosted on Savannah, a central point for
55*5d5fbe79SDavid van Moolenbroeksoftware development, maintenance and distribution. Everyone can
56*5d5fbe79SDavid van Moolenbroekhelp improve lwIP by use of Savannah's interface, Git and the
57*5d5fbe79SDavid van Moolenbroekmailing list. A core team of developers will commit changes to the
58*5d5fbe79SDavid van MoolenbroekGit source tree.
59*5d5fbe79SDavid van Moolenbroek
60*5d5fbe79SDavid van MoolenbroekThe lwIP TCP/IP stack is maintained in the 'lwip' Git module and
61*5d5fbe79SDavid van Moolenbroekcontributions (such as platform ports) are in the 'contrib' Git module.
62*5d5fbe79SDavid van Moolenbroek
63*5d5fbe79SDavid van MoolenbroekSee doc/savannah.txt for details on Git server access for users and
64*5d5fbe79SDavid van Moolenbroekdevelopers.
65*5d5fbe79SDavid van Moolenbroek
66*5d5fbe79SDavid van MoolenbroekThe current Git trees are web-browsable:
67*5d5fbe79SDavid van Moolenbroek  http://git.savannah.gnu.org/cgit/lwip.git
68*5d5fbe79SDavid van Moolenbroek  http://git.savannah.gnu.org/cgit/lwip/lwip-contrib.git
69*5d5fbe79SDavid van Moolenbroek
70*5d5fbe79SDavid van MoolenbroekSubmit patches and bugs via the lwIP project page:
71*5d5fbe79SDavid van Moolenbroek  http://savannah.nongnu.org/projects/lwip/
72*5d5fbe79SDavid van Moolenbroek
73*5d5fbe79SDavid van MoolenbroekContinuous integration builds (GCC, clang):
74*5d5fbe79SDavid van Moolenbroek  https://travis-ci.org/yarrick/lwip-merged
75*5d5fbe79SDavid van Moolenbroek
76*5d5fbe79SDavid van Moolenbroek
77*5d5fbe79SDavid van MoolenbroekDOCUMENTATION
78*5d5fbe79SDavid van Moolenbroek
79*5d5fbe79SDavid van MoolenbroekSelf documentation of the source code is regularly extracted from the current
80*5d5fbe79SDavid van MoolenbroekGit sources and is available from this web page:
81*5d5fbe79SDavid van Moolenbroek  http://www.nongnu.org/lwip/
82*5d5fbe79SDavid van Moolenbroek
83*5d5fbe79SDavid van MoolenbroekThere is now a constantly growing wiki about lwIP at
84*5d5fbe79SDavid van Moolenbroek  http://lwip.wikia.com/wiki/LwIP_Wiki
85*5d5fbe79SDavid van Moolenbroek
86*5d5fbe79SDavid van MoolenbroekAlso, there are mailing lists you can subscribe at
87*5d5fbe79SDavid van Moolenbroek  http://savannah.nongnu.org/mail/?group=lwip
88*5d5fbe79SDavid van Moolenbroekplus searchable archives:
89*5d5fbe79SDavid van Moolenbroek  http://lists.nongnu.org/archive/html/lwip-users/
90*5d5fbe79SDavid van Moolenbroek  http://lists.nongnu.org/archive/html/lwip-devel/
91*5d5fbe79SDavid van Moolenbroek
92*5d5fbe79SDavid van MoolenbroeklwIP was originally written by Adam Dunkels:
93*5d5fbe79SDavid van Moolenbroek  http://dunkels.com/adam/
94*5d5fbe79SDavid van Moolenbroek
95*5d5fbe79SDavid van MoolenbroekReading Adam's papers, the files in docs/, browsing the source code
96*5d5fbe79SDavid van Moolenbroekdocumentation and browsing the mailing list archives is a good way to
97*5d5fbe79SDavid van Moolenbroekbecome familiar with the design of lwIP.
98*5d5fbe79SDavid van Moolenbroek
99*5d5fbe79SDavid van MoolenbroekAdam Dunkels <adam@sics.se>
100*5d5fbe79SDavid van MoolenbroekLeon Woestenberg <leon.woestenberg@gmx.net>
101