-
Notifications
You must be signed in to change notification settings - Fork 7.5k
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
Disabling IPV4 casing compilation error (IDFGH-12117) #13173
Comments
I am not sure if it is relevant for your scenario, but I recently put up a pull request to update the protocol examples to work with all/any network configuration. The branch is here: #13250 The update examples work out of the box (no config or code changes) with all network types: IPv4-only, IPv6-only, and dual stack. (You do need to provide config for things like your WiFi password) Note that this is not the same as turning off IPv4 -- IPv4 is still turned on, just not used. The updated example works in an IPv6-only network, if that is your objective. See the example outputs for IPv6-only network. If you have DNS64/NAT64 available, then it can even connect from an IPv6-only network to an IPv4-only server. However, IPv4 is still actually on. If you know IPv4 is not necessary, e.g. if you are developing a Matter device where only IPv6 is required, and want to reduce memory size and development/testing effort, then you could also turn off IPv4 completely. |
Fixed now... there was a small bug in the PPP component that broke compilation when LWIP_IPV4 was turned off. I have added a fix for that and the updated example now works when IPv4 is completely turned off. I tested it in a dual stack environment, and the IPv6 code all ran, and it just never got an IPv4 address. Note: In the general case you want to leave both IPv4 and IPv6 enabled (using whichever is available), as you may not know where it will be deployed. You only want to completely turn one off if you know it won't be necessary (e.g. Matter requires IPv6, so you know IPv6 will always be available) and want to save the size / complexity and turn it off. If all you want to do is be able to access an IPv6-only need then the basic example is fine; leave IPv4 on and just don't use it on that network. |
The option to disable IPv4 is not available for IDF release v4.4 and v5.0. |
Answers checklist.
IDF version.
4.4
Operating System used.
Windows
How did you build your project?
Command line with Make
If you are using Windows, please specify command line type.
None
What is the expected behavior?
IPV6 working standalone with ipv4 support completly disabled
What is the actual behavior?
Disabling IVP4 and building the idf ethernet example code only with IPV6 support enabled leading to many compilation error
idf version used : 4.4
os : windows
ESP : ESP32-WROVER-B
disabling LWIP_IPV4 in opts.h and enabling LWIP_IPV6 in the same file along with other menuconfig configurations for rnabling IPV6
Steps to reproduce.
disabling LWIP_IPV4 in opts.h and enabling LWIP_IPV6 in the same file along with other menuconfig configurations for rnabling IPV6
Build or installation Logs.
More Information.
No response
The text was updated successfully, but these errors were encountered: