Skip to content
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

lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes #6887

Merged
merged 24 commits into from
Feb 18, 2020

Conversation

d-a-v
Copy link
Collaborator

@d-a-v d-a-v commented Dec 7, 2019

  • upstream lwIP is not sub-sub-moduled anymore (a light git clone with proper ref is used instead)
  • Allows IPv4 and IPv6 DNS and SNTP server configured via DHCP to co-exist (patch against upstream)

fixes #6832

edit - other lwip2 submodule updates:

( updated 20-02-17 ) About backlog limitation, WiFiServer.h:

// lwIP-v2 backlog facility allows to keep memory safe by limiting the
// maximum number of incoming *pending clients*.  Default number of possibly
// simultaneously pending clients is defined in WiFiServer.cpp
// (MAX_PENDING_CLIENTS_PER_PORT=5).  User can overide it at runtime from
// sketch:
//      WiFiServer::begin(port, max-simultaneous-pending-clients);
//
// An "incoming pending" client is a new incoming TCP connection trying to
// reach the TCP server.  It is "pending" until lwIP acknowledges it and
// "accepted / no more pending" when user calls WiFiServer::available().
//
// Before the backlog feature or with lwIP-v1.4, there was no pending
// connections: They were immediately accepted and filling RAM.
//
// Several pending clients can appear during the time when one client is
// served by a long not-async service like ESP8266WebServer.  During that
// time WiFiServer::available() cannot be called.
//
// Note: This *does not limit* the number of *simultaneously accepted
//       clients*.  Such limit management is left to the user.
//
// Thus, when the maximum number of pending connections is reached, new
// connections are delayed.
// By "delayed", it is meant that WiFiServer(lwIP) will not answer to the
// SYN packet until there is room for a new one: The TCP server on that port
// will be mute.  The TCP client will regularly try to connect until success
// or a timeout occurs (72s on windows).
//
// When user calls WiFiServer::available(), the tcp server stops muting and
// answers to newcomers (until the "backlog" pending list is full again).

lwip2: Allow IPv4 and IPv6 DNS and SNTP server configured via DHCP to co-exist (patch against upstream)
- enable more efficient chksum algorithm thanks to Richard Allen
- enable tcp listener with backlog
@d-a-v d-a-v changed the title lwip2: remove git sub-sub-module dependency on external repository lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation Jan 23, 2020
@d-a-v d-a-v added this to the 2.7.0 milestone Jan 23, 2020
@d-a-v d-a-v self-assigned this Jan 24, 2020
@d-a-v d-a-v changed the title lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation (WIP) lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation Feb 5, 2020
@d-a-v d-a-v changed the title (WIP) lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation BREAKING lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation Feb 5, 2020
@d-a-v d-a-v changed the title BREAKING lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation (WIP) BREAKING: lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation Feb 5, 2020
@d-a-v d-a-v changed the title (WIP) BREAKING: lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation BREAKING: lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation Feb 5, 2020
@d-a-v d-a-v changed the title BREAKING: lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation BREAKING: lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes Feb 5, 2020
because one must not believe it can be redefined before including WiFiServer.h
@d-a-v d-a-v changed the title BREAKING: lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes (WIP) lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes Feb 6, 2020
@d-a-v d-a-v changed the title (WIP) lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes lwip2 updates: no more git sub-sub-module deps, faster checksum, backlog limitation and other fixes Feb 17, 2020
@devyte devyte self-requested a review February 17, 2020 17:53
@d-a-v d-a-v merged commit e752e96 into esp8266:master Feb 18, 2020
@d-a-v d-a-v deleted the nosubsub branch February 18, 2020 05:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants