Skip to content

Update LwIP from ESP-IDF 3.2.2 to ESP-IDF 3.3 #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 14 commits into from

Conversation

erjiaqing
Copy link
Contributor

The version of lwip submodule referred from ESP-IDF 3.2.2 is 3ed39f27
and is 10 commits behind the version referred from current ESP-IDF 3.3 (da2740fa).

This PR introduced LwIP from ESP-IDF 3.3 in the first commit, and then applied the patches from branch 3.2.2-patched.

erjiaqing and others added 13 commits April 28, 2020 15:20
This version corresponds to commit 1ba3bf2976cc2a7cfbd7d8881f9ffbaeb63c27f3
in esp-idf.
Added ability for the host environment to define locking functions that
protect entry to the LwIP stack by the LwIP tcpip thread.  This enables
coordinated use of the LwIP "raw" APIs from multiple threads.

This feature differs from LwIP's experimental TCPIP_CORE_LOCKING feature
in that it does not alter the behavior of other LwIP APIs such as the
netconn API.  Note that the two features cannot be used together.
Enforce a copy of inbound buffers received from the wlan (WiFi) interface
into a PBUF_POOL buffer.
Removed unnecessary inclusion of sys/ioctl.h in lwipopts.h that results in
compilation errors in certain contexts where LwIP headers are included.
…ogic

Fixed a bug in LwIP source address selection logic for IPv6 packets.

This change corresponds to commit e2cb69d8d5782b35c95120860e56c08430ea238c
from tps/lwip:nest/stable

        Author: james woodyatt <jhw@nestlabs.com>
        Date:   Mon Mar 9 12:49:01 2015 -0700

        Jira COM-483: LWIP bad source IPv6 address selection logic.
This change corresponds to commit 192ac1284fa1b24d8cb9cd770eb8b4ece234fdc1 from tps/lwip:nest/stable

        Author: Abtin Keshavarzian <abtink@nestlabs.com>
        Date:   Fri Apr 8 09:35:44 2016 -0700

        ip6_addr.h: Fix the ip6_get_subnet_id() marco to return correct
        subnet id

        This commit changes the macro definition of ip6_get_subnet_id() in
        ip6_addr.h header file, so it returns the correct subnet id for a
        given ipv6 address.
Add support to LwIP UDP PCBs for binding to a specific interface.

This change is adapted from commit 1720798ad6454de2d97ef2f0871614c29db7d970
in tps/lwip:nest/stable.
Added support for creating and managing IPv6 static routes in LwIP.  This gives applications the
ability to configure additional IPv6 routes (and corresponding gateways) beyond those discovered
via IPv6 router advertisements.  The change also introduces the ability to assign an IPv6 address
to an interface with a prefix length that is less than or greater than /64 (e.g. /48 or /128).

This change squashes the following commits from tps/lwip:nest/stable:

    1bcf5288ce15cd9f9ba66212dca6082f558f5744 Static route table management in LwIP
    0d81f966acd45499a55f50df37add7980fa150dc Fix for build breakage
    050faa22689a53b874a73a5d2420d9a95034dc79 Replace entry if a prefix match is found
    8a30aa1b561bc1ef3cfb69547bda39aa6a6804e6 Added function to return the head of the route table
    c193a852cd7dfcc60a852e60448dcd2d1901c2eb Compare prefix length and address(upto prefix length) separately for adding to route table
    6c75b0a1dbb8cfef73fbdf8fc9732867e96b5962 fix issues resulting in failures when trying to remove an IPv6 route from the route table.
Enabled support for LwIP's custom pbufs, which are required for certain Weave
functionality.
Allow nd6_select_router() function to be called by a user of LwIP.  This
provides a means for user code to determine if a default route exists on
a particular interface.
@jaylogue
Copy link
Contributor

We need to recreate the .patch files for each of the changes and add them to the patches directory (similar to what was done in this commit in the master branch: dbaf4e8). This should include a file for patch 0010.

Individual patch files containing all the changes necessary (to date) to make
the ESP-IDF release/v3.3 version of LwIP compatible with Weave.

This commit also includes LICENSE file update.
@jaylogue
Copy link
Contributor

This is change is ready to be merged. However I'm going to perform the merge manually so that these changes appear on the master branch. I'm also going to reorder some of the changes so that we don't have to repeatedly apply changes that are unrelated to the LwIP code (e.g. the changes to the README and LICENSE files).

@jaylogue
Copy link
Contributor

I have uploaded the final version of these commits and force pushed master to point at the head commit. So this change is effectively merged.

Not that, as part of this effort, I also re-generated the patch files to be compatible with git am.

This PR is being closed without merging.

@jaylogue jaylogue closed this Apr 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants