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_addr
which is espressif and not lwIP.
This structure has been renamed tostruct ipv4_addr
within the SDK which is stuck to lwIP-v1.4.
struct ip_addr_t
is the real name of that structure, but in arduinoIPAddress
should always be used. - use of
ipaddr->addr
is 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_NONE
should be restored as it was (sorry for that,IPNoAddress
was an intermediary change that I forgot to revert)
MCVE Sketch
TBD, using at least EspAsyncTCP library, thingspeak library