Skip to content

Commit

Permalink
Merge branch 'feature/openthread_disable_nd6_timer' into 'master'
Browse files Browse the repository at this point in the history
openthread: disable lwip nd6 timer in openthread sleepy device

See merge request espressif/esp-idf!24653
  • Loading branch information
chshu committed Aug 23, 2023
2 parents 329bc7e + c84cbd5 commit 7af7723
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 2 deletions.
8 changes: 8 additions & 0 deletions components/lwip/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,14 @@ menu "LWIP"
This feature will reduce the power consumption for applications which do not
use IGMP and MLD6.

config LWIP_ND6
bool "LWIP NDP6 Enable/Disable"
default y
depends on LWIP_IPV6
help
This option is used to disable the Network Discovery Protocol (NDP) if it is not required.
Please use this option with caution, as the NDP is essential for IPv6 functionality within a local network.

config LWIP_MAX_SOCKETS
int "Max number of open sockets"
range 1 16
Expand Down
9 changes: 9 additions & 0 deletions components/lwip/port/include/lwipopts.h
Original file line number Diff line number Diff line change
Expand Up @@ -1126,6 +1126,15 @@ static inline uint32_t timeout_from_offered(uint32_t lease, uint32_t min)
#define LWIP_IPV6 0
#endif

/**
* LWIP_ND6==1: Enable ND6 protocol in IPv6
*/
#ifdef CONFIG_LWIP_ND6
#define LWIP_ND6 1
#else
#define LWIP_ND6 0
#endif

/**
* LWIP_IPV6_NUM_ADDRESSES: Number of IPv6 addresses per netif.
*/
Expand Down
6 changes: 5 additions & 1 deletion examples/openthread/ot_sleepy_device/sdkconfig.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@ CONFIG_OPENTHREAD_DNS64_CLIENT=y
#
CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096
CONFIG_LWIP_IPV6_NUM_ADDRESSES=8
CONFIG_LWIP_MULTICAST_PING=y
CONFIG_LWIP_IPV4=n
CONFIG_LWIP_ND6=n
# end of lwIP

#
Expand All @@ -48,4 +49,7 @@ CONFIG_PM_ENABLE=y
CONFIG_FREERTOS_USE_TICKLESS_IDLE=y
CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP=y
CONFIG_IEEE802154_SLEEP_ENABLE=y
# Use 1000Hz freertos tick to lower sleep time threshold
CONFIG_FREERTOS_HZ=1000
CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=y
# end of light sleep

0 comments on commit 7af7723

Please sign in to comment.