From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Original author(s)Adam Dunkels
Developer(s)lwIP developers group
Stable release
2.1.0 / 26 September 2018; 48 days ago (2018-09-26)
Written inC
Operating systemmultiple
Platformembedded systems
TypeIP stack
LicenseModified BSD license

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[edit]

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


See also[edit]


  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.
  4. ^ "Release notes for the Genode OS Framework 9.11".
  5. ^ lwIP functions documentation

External links[edit]