LwIP is the TCP/IP networking protocol stack supported and integrated into SDK in its 'venilla' version.
As per LwIP project page
The focus of the lwIP TCP/IP implementation is to reduce resource usage while still having a full scale TCP. 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.
Main features include:
- Protocols: IP, IPv6, ICMP, ND, MLD, UDP, TCP, IGMP, ARP, PPPoS, PPPoE
- DHCP client, DNS client (incl. mDNS hostname resolver), AutoIP/APIPA (Zeroconf), SNMP agent (v1, v2c, v3, private MIB support & MIB compiler)
- APIs: specialized APIs for enhanced performance, optional Berkeley-alike socket API
- Extended features: IP forwarding over multiple network interfaces, TCP congestion control, RTT estimation and fast recovery/fast retransmit
- Add-on applications: HTTP(S) server, SNTP client, SMTP(S) client, ping, NetBIOS nameserver, mDNS responder, MQTT client, TFTP server.
Current version that is supported is STABLE-2_2_0_RELEASE.
In MCU+ SDK release version 09.01.00, LwIP stack is upgraded to support LwIP version 2.2.0 LwIP (tag: STABLE-2_2_0_RELEASE
). Below is the official release news from LwIP-
lwIP 2.2.0 is now available from the lwIP download area or via git (using the STABLE-2_2_0_RELEASE tag) or via this gitweb link: There have been some bugs fixed, and some new features were added (most notably full ACD support). Additionally, the contents of the contrib repository has been moved to the main repository ('contrib' directory on top level) to make things more consistent, especially with git. The old contrib repository should not be used any more. The 2.1.x branch will not be continued, so eventually, all users of 2.1.x might want to upgrade to get bugfixes.
Following are the changes done in MCU+ SDK during upgrade -
lwip-contrib
directory in ${SDK_INSTALL_PATH}/source/networking/lwip
.lwip-contrib
directory is replaced wihth new contrib
directory present in ${SDK_INSTALL_PATH}/source/networking/lwip-stack/contrib
.acd.c
(newly added file in stack) of lwip stack library makefiletftp_server.c
is repelaced with tftp.c
. tftp_server.c
file is renamed in latest lwip stack, and has functionality of both tftp server and client.lwip-contrib
library status. It is pre-compiled now using new location for contrib
directory and continue to exists.If you have a custom makefile used to compile lwip stack, please ensure to do the above changes to use new version of LwIP stack.