Jump to content

lwIP

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Nuclearcat (talk | contribs) at 23:09, 3 October 2018. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Original author(s)Adam Dunkels
Developer(s)lwIP developers group
Stable release
2.1.0 / 26 September 2018; 6 years ago (2018-09-26)
Repository
Written inC
Operating systemmultiple
Platformembedded systems
TypeIP stack
LicenseModified BSD license
Websitesavannah.nongnu.org/projects/lwip/

lwIP (lightweight IP) is a widely used open source TCP/IP stack designed for embedded systems. lwIP was originally developed by Adam Dunkels at the Swedish Institute of Computer Science and is now developed and maintained by a worldwide network of developers.

lwIP is used by many manufacturers of embedded systems. Examples include Altera (in the Nios II operating system), Analog Devices (for the Blackfin DSP chip),[1] Xilinx,[2] Honeywell (for some of their FAA certified avionics systems) and Freescale Semiconductor (Ethernet Streaming SW for Automotive microcontrollers).

The focus of the lwIP TCP/IP implementation is to reduce resource usage while still having a full-scale TCP stack.[3] This makes lwIP suitable for use in embedded systems with tens of kilobytes of free RAM and room for around 40 kilobytes of code ROM.

lwIP is used as network stack in ReactOS and Genode[4] and can be used in Minix and GNU Hurd to implement network servers.

lwIP features

Internet layer

  • IP (Internet Protocol) including packet forwarding over multiple network interfaces
    • Both IPv4 and IPv6 are supported since v2.0.0 (dual stack)
  • ICMP (Internet Control Message Protocol) for network maintenance and debugging
  • IGMP (Internet Group Management Protocol) for multicast traffic management
  • ICMPv6 including MLD for IPv6

Transport layer

  • UDP (User Datagram Protocol) including experimental UDP-Lite extensions
  • TCP (Transmission Control Protocol) with congestion control, RTT estimation and fast recovery/fast retransmit
  • Raw sockets (or raw pcbs, depending on the API used)

Application layer

  • DNS (Domain Name System)
  • SNMP (Simple Network Management Protocol) agent (v1, v2, v3, private MIB support & MIB compiler)
  • DHCP (Dynamic Host Configuration Protocol) client

Link layer

Other

See also

References

  1. ^ "Building Complex VDK/LwIP Applications Using Blackfin Processors ", Kaushal Sanghai, Analog Devices Inc. September 2008
  2. ^ Siva Velusamy, LightWeight IP (lwIP) Application Examples, Xilinx Inc. June 2009
  3. ^ (ed.), Yanwen Wu (2010). Software engineering and knowledge engineering : theory and practice. Berlin: Springer. p. 639. ISBN 978-3-642-03717-7. {{cite book}}: |last= has generic name (help)
  4. ^ "Release notes for the Genode OS Framework 9.11".
  5. ^ lwIP functions documentation