forked from openthread/openthread
-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[mle] implement periodic parent search mechanism on FED/REED (openthr…
…ead#10722) This commit implements "Periodic Parent Search" mechanism for FED/REED devices (FTD children). This enhances and builds upon the existing parent search feature, which is mainly intended for MTD children. An FTD child receives and processes MLE Advertisements from neighboring routers. The child uses this information to track the one-way link quality to each router, which is later used to compare and select potential new parents. Every "parent search check interval", the FTD child checks to see if it can select a better parent by evaluating all neighboring routers based on their link quality information. A router is considered a suitable parent candidate only if its average RSS exceeds the current parent's RSS by a margin (`PARENT_SEARCH_RSS_MARGIN`). Once a candidate is selected, the FTD child sends unicast MLE Parent Requests to both the candidate and its current parent. This ensures updated connectivity information is obtained from both before making a decision. The same set of criteria used to compare candidates during initial attach are applied during parent switch. If the attach attempt to the selected candidate fails (e.g., the router already has the maximum number of children it can support), the FTD child ensures not to select the same router again until a "reselect timeout" expires. This commit also adds the `test-025-fed-parent-search.py test`, which validates the newly added FTD parent search behavior, including the mechanisms to attach to a selected router and the reselect timeout.
- Loading branch information
Showing
13 changed files
with
496 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.