-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Allow for split commissioner / admin topology (#14261)
It is possible to implement Matter commissioning such that a commissioner node is not on any fabric, and delegates operational communication and invocation of the CommissioningComplete command to a different administrator node. In this configuration, the commissioner only communicates by PASE and may not ever have received operational credentials. However, such an architecture is not currently supported, as commissioner instances must self-commission to a fabric as a part of initialization. To support such a split commissioner / admin architecture, this amends the commissioner to accept initialization without operational credentials. In this configuration, the commissioner is capable of conducting the commissioning procedure until these are needed. When it is found that credentials aren't available, the commissioner gracefully discontinues commissioning. As part of this change set, fabric index is also no longer specified as part of controller or commissioner initialization. chip-tool had previously specified a fabric index and reused this as fabric ID. That is brittle though because it is not always practical for chip-tool to know the fabric index ahead of time before initialization. Instead, the operational key pair and NOC chain are optionally passed to commissioner / controller initialization. If passed, these are added or merged into the fabric table. Merge works by identifying an existing, matching fabric by comparing root public key and fabric ID. Once the new certificates are merged or added, the controller / commissioner extracts the fabric index from the fabric table. Fixes #13501
- Loading branch information
1 parent
251b565
commit 8266660
Showing
12 changed files
with
202 additions
and
88 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.