Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
I’ve recently noticed that LwIP hooks are disabled in the ESP32 Arduino builds. After looking through the commit history support for the
ip6_select_src_addr_custom
hook has already been partially enabled for use in the OpenThread, only for C6 and H2 targets. Matter component requires enablingip6_route
andnd6_get_gw
hooks too.I can only speculate that those hooks will be required and enabled for other platforms too. Enabling them proactively in Kconfig would, in addition to supporting Thread and Matter, allow end users to develop, for example P2P connectivity solutions or custom VPNs not only for ESP-IDF users but also for the Arduino community as a whole.
I’ve been developing an open-source zero-conf VPN with a P2P capability. It has been designed mostly for robotic applications running ROS, but we have been looking forward to opening up for IoT and other embedded workloads too. The lack of the
ip6_route
hook requires us to build and distribute dedicated and custom Arduino Core for ESP32 fork which is both not optimal and not user friendly.I’m proposing enabling all LwIP hooks as weak symbols. I don’t believe that operation would increase the complexity of any system, while enabling much grater flexibility and ease the development of Thread and Matter integrations.