Files
openthread/tests/toranj
Abtin Keshavarzian 96eb2a4386 [address-resolver] implement ramp-down mechanism for retry delay (#9162)
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.
2023-07-01 11:12:25 -07:00
..

toranj test framework

toranj is a test framework for OpenThread.

It provides two modes:

  • toranj-cli which enables testing of OpenThread using its CLI interface.
  • toranj-ncp which enables testing of the combined behavior of OpenThread (in NCP mode), spinel interface, and wpantund driver 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).
  • toranj in NCP mode runs wpantund natively with OpenThread in NCP mode on simulation platform (real-time).
  • toranj in CLI mode runs ot-cli-ftd on simulation platform (real-time).
  • toranj tests run as part of GitHub Actions pull request validation in OpenThread and wpantund GitHub projects.

toranj modes


What does "toranj" mean? it's the name of a common symmetric weaving pattern used in Persian carpets.