To allow end devices (EDs) in a Thread network to switch to a better parent router than their current one—while still attached to the network—enable the Periodic Parent Search feature.
To determine whether a router is a better parent for the ED, this feature checks a variety of router attributes, including:
- RSSI (received signal strength indicator)
- Link Quality
- Connectedness of the router to other routers
- Number of existing children for the router
This ensures that EDs connect to the best possible router rather than remaining attached to a router with poor link quality or connectedness. This feature is particularly useful when a new router is added to an existing Thread network.
How it works
- The ED checks the average RSSI value for its current parent router,
according to the configured check interval
(
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
). - If the average RSSI value for the ED's current parent router is below the
configured threshold
(
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
), a parent search is initiated:- If the parent search discovers a better parent router, the ED dissolves its current Child-Parent link and initiates the MLE Attach process with the new router.
- If the parent search does not discover a better parent router, the existing Child-Parent link remains.
- After the parent search attempt, the ED waits to check the average RSSI
value for its current parent router according to the configured backoff
interval
(
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
). This backoff occurs regardless of the outcome of the parent search.
We recommend enabling the Inform Previous Parent on Reattach feature in conjunction with this feature.
How to enable
This feature is disabled by default.
To enable Periodic Parent Search, define
OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
as 1
in the
/src/core/config/parent_search.h
file, prior to building OpenThread:
#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif
Parameters
Use the following parameters in
/src/core/config/parent_search.h
to customize this feature:
Parameters | |||||
---|---|---|---|---|---|
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL |
|
||||
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL |
|
||||
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD |
|
API
There is no public API for this feature.
CLI
There are no CLI commands related to this feature.