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.
[border-agent] introduce
BorderAgent::EphemeralKeyManager
(openthre…
…ad#11166) This commit introduces the `BorderAgent::EphemeralKeyManager` class, which manages the use of the ephemeral key by the Border Agent. The `EphemeralKeyManager` uses its own DTLS transport and CoAP secure sessions. This allows the `EphemeralKeyManager` and the `BorderAgent` service (which uses PSKc) to be enabled and used in parallel. Previously, a single transport and session was shared between these functions, requiring the normal BA service (with PSKc) to be stopped before the ephemeral key could be used. This is a fundamental change and improvement to the ephemeral key and Border Agent functionality. Therefore some existing `otBorderAgent` APIs need to be modified. For example, `otBorderAgentGetState()`, which returned the Border Agent state to indicate whether there were any active sessions, is no longer meaningful, as different sessions/transports are now used for PSKc and ephemeral key, and there can be multiple sessions. This commit intentionally renames and changes the `otBorderAgent` public APIs, specifically all those related to ephemeral key use, to highlight the fundamental change in behavior. While this can cause backward incompatibility, it requires app layer code that used the previous APIs to be updated to take into account the new behavior. This commit also updates `nexus/test_border_agent`, adding new tests to validate the new behavior (e.g., BA service and ephemeral key parallel sessions). It also includes and validates the Border Agent counter updates under different scenarios (this enhances and replaces `test_ephemeral_key_counters.py`).
- Loading branch information
Showing
16 changed files
with
964 additions
and
832 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
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.