You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The implementation of IPv6 as a separate type of address adds complexity.
Particularly for an Arduino-level user with limited experience, having to know which type of address to use complicates things. It would make a lot more sense if something like a DNS lookup simply returned an IP address, or checking the local address of a network connection, without knowing the type.
For example, a simple example that displays the current IP address for ESP8266 will work in IPv4-only, IPv6-only, and dual stack environments, with a single reference to IPAddress.
The example code would not work for ESP32, and ESP32 would require more complicated code to check both the IPAddress and IPv6Address, and decide which to show.
This has full backwards compatibility with IPv4 addresses, adds support for IPv6, does not complicate APIs by adding duplicate methods everywhere. It even preserves the smaller memory footprint (and implementation detail) when compiled without IPv6.
Describe alternatives you've considered
The existing IPv6Address adds complexity and is incompatible. It is not yet widely used, so would be easy to deprecated and change before merging the planned wider IPv6 support.
Additional context
No response
I have checked existing list of Feature requests and the Contribution Guide
I confirm I have checked existing list of Feature requests and Contribution Guide.
The text was updated successfully, but these errors were encountered:
Related area
Networking support
Hardware specification
n/a
Is your feature request related to a problem?
The implementation of IPv6 as a separate type of address adds complexity.
Particularly for an Arduino-level user with limited experience, having to know which type of address to use complicates things. It would make a lot more sense if something like a DNS lookup simply returned an IP address, or checking the local address of a network connection, without knowing the type.
The implementation is also incompatible with the Arduino ESP8266 libraries, which are just a wrapper around lwIP ip_addr_t from the core Espressif libraries. https://github.com/esp8266/Arduino/blob/master/cores/esp8266/IPAddress.h
For example, a simple example that displays the current IP address for ESP8266 will work in IPv4-only, IPv6-only, and dual stack environments, with a single reference to IPAddress.
The example code would not work for ESP32, and ESP32 would require more complicated code to check both the IPAddress and IPv6Address, and decide which to show.
Describe the solution you'd like
Use an implementation similar (or the same as) ESP8266: https://github.com/esp8266/Arduino/blob/master/cores/esp8266/IPAddress.h
This has full backwards compatibility with IPv4 addresses, adds support for IPv6, does not complicate APIs by adding duplicate methods everywhere. It even preserves the smaller memory footprint (and implementation detail) when compiled without IPv6.
Describe alternatives you've considered
The existing IPv6Address adds complexity and is incompatible. It is not yet widely used, so would be easy to deprecated and change before merging the planned wider IPv6 support.
Additional context
No response
I have checked existing list of Feature requests and the Contribution Guide
The text was updated successfully, but these errors were encountered: