-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Closed
Description
Basic Infos
- This issue complies with the issue POLICY doc.
- I have read the documentation at readthedocs and the issue is not addressed there.
- I have tested that the issue is present in current master branch (aka latest git).
- I have searched the issue tracker for a similar issue.
- If there is a stack dump, I have decoded it.
- I have filled out all fields below.
Platform
- Hardware: any
- Core Version: latest git
- Development Env: any
- Operating System: any
Settings in IDE
- Module: any
- Flash Mode: any
- Flash Size: any
- lwip Variant: v2
- Reset Method: any
- Flash Frequency: any
- CPU Frequency: any
- Upload Using: any
- Upload Speed: any
Problem Description
Track issues from IPv6 + IPAddress changes
ref: 5c4db3a#commitcomment-31519816
@reaper7
Identified issues are:
- use of
struct ip_addrwhich is espressif and not lwIP.
This structure has been renamed tostruct ipv4_addrwithin the SDK which is stuck to lwIP-v1.4.
struct ip_addr_tis the real name of that structure, but in arduinoIPAddressshould always be used. - use of
ipaddr->addris stuck to IPv4. It could be changed toip_2_ip4(ipaddr)->addr
with (this is defined in newer IPAddress.h but is needed for older cores):
#ifndef ip_2_ip4
// emulate lwIP-v2's ip_2_ip4(x) for lwIP-v1
#define ip_2_ip4(x) (x)
#endif
- more generally
IPAddress(ipaddr)should be used anywhere, thus generic, simple and portable wrappers should be proposed for external libraries to keep compatibility with older cores, and IPv6 at the same time (IPv6 is costless when using IPAddress) INADDR_NONEshould be restored as it was (sorry for that,IPNoAddresswas an intermediary change that I forgot to revert)
MCVE Sketch
TBD, using at least EspAsyncTCP library, thingspeak library