mirror of
https://github.com/espressif/openthread.git
synced 2026-10-11 02:07:40 +00:00
Address resolver retry delay determines how long the device needs to wait after a failed address query for a target address to allow a next query attempt. This is tracked per target (in `CacheEntry`). The retry delay starts with an initial value (15 seconds). If consecutive queries fail, the retry delay doubles each time, up to a maximum value (120 seconds). In the current code, the retry delay is only reset to the initial value after a successful address resolution. This commit implements a new mechanism to reduce the retry delay over time when there is no activity (no queries for the target address). The ramp-down countdown starts after a previous retry delay has expired. If no query is requested within the maximum retry delay interval (120 seconds), the retry delay is divided by two. This process is repeated until the retry delay reaches the initial (minimum) value. If a query is requested during the ramp-down process, the ramp-down is stopped. The next actions are determined based on whether the query is successful or fails. If the query is successful, the retry delay is reset to the initial value. If the query fails, the retry delay timeout is applied and the ramp-down process is started again after the retry delay duration has expired. This commit also updates the `test-014-address-resolver` to validate the newly added ramp-down behavior.
toranj test framework
toranj is a test framework for OpenThread.
It provides two modes:
toranj-cliwhich enables testing of OpenThread using its CLI interface.toranj-ncpwhich enables testing of the combined behavior of OpenThread (in NCP mode), spinel interface, andwpantunddriver on linux.
toranj features:
- It is developed in Python.
- It can be used to simulate multiple nodes forming complex network topologies.
- It allows testing of network interactions between many nodes (IPv6 traffic exchanges).
toranjin NCP mode runswpantundnatively with OpenThread in NCP mode on simulation platform (real-time).toranjin CLI mode runsot-cli-ftdon simulation platform (real-time).toranjtests run as part of GitHub Actions pull request validation in OpenThread andwpantundGitHub projects.
toranj modes
What does "toranj" mean? it's the name of a common symmetric weaving pattern used in Persian carpets.