-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allows opening a commissioning window on a bridged node #33799
Conversation
PR #33799: Size comparison from 4239c88 to e3f11f7 Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
@yufengwangca please update the PR summary with a description of changes. This seems to be "add ability in the CommissioningWindowOpener to specify the endpoint, so that bridges can be supported" and "enforce the existing opencommissioningwindow to check the endpoint id, since existing implementation is for the current device (i.e. handles root endpoint only)". |
@@ -106,6 +108,7 @@ bool emberAfAdministratorCommissioningClusterOpenCommissioningWindowCallback( | |||
VerifyOrExit(failSafeContext.IsFailSafeFullyDisarmed(), status.Emplace(StatusCode::kBusy)); | |||
|
|||
VerifyOrExit(!commissionMgr.IsCommissioningWindowOpen(), status.Emplace(StatusCode::kBusy)); | |||
VerifyOrExit(endpointId == kRootEndpointId, status.Emplace(StatusCode::kPAKEParameterError)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where is the spec basis for this?
As far as I can tell, the spec has no allowances for this sort of behavior. If you get this command, on any endpoint, you must:
- Advertise on DNS-SD.
- Enter active mode if you're an ICD.
and so on. Nothing says you have to start listening for PASE connections, though, which is arguably a spec bug. But the behavior being added here is not allowed by the spec as things stand.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the implementation of the proposed fabric sync feature. For reference, see section [12.6.3.2. Aggregator Node] of the spec (the text came from https://github.com/CHIP-Specifications/connectedhomeip-spec/pull/9106)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing in that spec section says "Ignore command invokes on the Administrator Commissioning cluster if it's not on endpoint 0".
And nothing in that section overrides (nor can it override) explicit SHALL requirements in the relevant cluster specification.
Basically, to make this work changes are needed to the actual spec for this cluster.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Registered a ticket to clarify the intended behavior when receives OCW command not directed to Endpoint 0
https://github.com/CHIP-Specifications/connectedhomeip-spec/issues/9354
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great. Until that's resolved, do not make any changes to this cluster impl, please, because those changes would make it current-spec-not-compliant.
PR #33799: Size comparison from 4239c88 to 21d70ce Full report (50 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, mbed, nrfconnect, nxp, psoc6, qpg, stm32)
|
PR #33799: Size comparison from 4239c88 to ea565c5 Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Co-authored-by: Boris Zbarsky <[email protected]>
PR #33799: Size comparison from 17cda5a to 7d61278 Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #33799: Size comparison from 2ee90eb to 5d735ec Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
This PR is no more valid after #34209 land, withdraw here and Abdul will create a new one |
AdministratorCommissioningCluster is not always on endpoint 0, to open Commissioning Window on bridged node, we need to support sending an OpenCommissioningWindow command with the given parameters to the given endpoint of the given node.
Fixes #33798