Lightweight IP (LwIP)
Introduction
LwIP is the TCP/IP networking protocol stack supported and integrated into SDK in its ‘vanilla’ 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_1_RELEASE.
Upgrade
Upgrade to version 2.2.1
In MCU+ SDK release version 11.02.00, LwIP stack has been upgraded to support LwIP version 2.2.1 (tag: STABLE-2_2_1_RELEASE).
Below is the official release news from LwIP-
lwIP 2.2.1 is now available from the lwIP download area or via git (using the STABLE-2_2_1_RELEASE tag) or via the gitweb link.
This is mostly a bugfix release, summing up all fixes of the last 1.5 years.
This is a smaller bugfix-only release. Contrib has not been changed since 2.1.0.
For a list of the bugs fixed, see ${SDK_INSTALL_PATH}/source/networking/lwip/lwip-stack/CHANGELOG.
Upgrade to version 2.2.0
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 -
Deleted
lwip-contribdirectory in${SDK_INSTALL_PATH}/source/networking/lwip.In makefiles, all the references to
lwip-contribdirectory is replaced with newcontribdirectory present in${SDK_INSTALL_PATH}/source/networking/lwip-stack/contrib.Added
acd.c(newly added file in stack) of lwip stack library makefileAll the references to file
tftp_server.cis replaced withtftp.c.tftp_server.cfile is renamed in latest lwip stack, and has functionality of both tftp server and client.No change to pre-compiled
lwip-contriblibrary status. It is pre-compiled now using new location forcontribdirectory and continue to exists.
If you have a custom makefile used to compile lwip stack, please ensure to make the above changes to use new version of LwIP stack.