To allow end devices (EDs) in a Thread network to switch to a better parent than their current one—while still attached to the network—enable the Periodic Parent Search feature.
To determine whether a candidate parent is better for the ED, this feature checks a variety of its attributes, including:
- RSSI (received signal strength indicator)
- Link Quality
- Connectedness of the candidate parent to other Mesh Extenders
- Number of existing children for the candidate parent
This ensures that EDs connect to the best possible parent rather than remaining attached to a parent with poor link quality or connectedness. This feature is particularly useful when a new Mesh Extender is added to an existing Thread network.
How it works
- The ED checks the average RSSI value for its current parent,
according to the configured check interval
(
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL). - If the average RSSI value for the ED's current parent is below the
configured threshold
(
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD), a parent search is initiated:- If the parent search discovers a better parent, the ED dissolves its current Child-Parent link and initiates the MLE Attach process with the new parent.
- If the parent search does not discover a better parent, the existing Child-Parent link remains.
- After the parent search attempt, the ED waits to check the average RSSI
value for its current parent 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.