-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Implement CASE processing of IPK #16737
Merged
tcarmelveilleux
merged 21 commits into
project-chip:master
from
tcarmelveilleux:ipk-in-case
Mar 30, 2022
Merged
Implement CASE processing of IPK #16737
tcarmelveilleux
merged 21 commits into
project-chip:master
from
tcarmelveilleux:ipk-in-case
Mar 30, 2022
Conversation
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
Problem: - IPK processing used placeholder IPK at innermost levels of CASE and never used the values set in GroupDataProvider as set by Commissioner with AddNOC or KeySetWrite cluster commands. - IPK Processing requires significant state keeping by controllers and commissioners to work, and none of the plumbing existed Changes: - Fixed NOC Cluster setting of IPK in AddNOC that was using the wrong compressed fabric ID. - Properly use GroupDataProvider to get IPK for controllers sending Sigma1 - Properly iterate through all IPK on receiving Sigma1, from GroupDataProvider - Add plumbing to properly initialize GroupDataProvider at CHIPDeviceControllerFactory and Server - Added a central point for a default IPK, that is at the very outermost level, rather than innermost level. A follow-up PR will allow reconfiguration of it for CHIP-tool. Code paths will properly use the OperationalCredentialsDelegate's IPK value passed in Callback, if you it's provided. Controllers and commissioners can setup their GroupDataProvider context to properly use the right group keys even without the follow-up to allow non-default IPK in chip-tool. - Cleaned-up the loose ends around all the injection points Testing done: - Updated all necessary Unit tests - Added IPK and Destination ID unit test cases from spec - All cert tests still pass - All unit tests still pass Fixes project-chip#15583
pullapprove
bot
requested review from
anush-apple,
Byungjoo-Lee,
bzbarsky-apple,
carol-apple,
cecille,
chrisdecenzo,
chshu,
chulspro,
Damian-Nordic,
dhrishi,
electrocucaracha,
emargolis,
erjiaqing,
franck-apple,
gjc13,
hawk248,
holbrookt,
harsha-rajendran,
isiu-apple,
jelderton,
jepenven-silabs,
jmartinez-silabs,
kghost,
kpschoedel and
lazarkov
March 28, 2022 19:27
PR #16737: Size comparison from d6fcbd9 to f4d86cb Increases above 0.2%:
Increases (8 builds for cyw30739, linux, mbed, nrfconnect, telink)
Decreases (7 builds for cyw30739, linux, mbed, nrfconnect)
Full report (8 builds for cyw30739, linux, mbed, nrfconnect, telink)
|
PR #16737: Size comparison from d6fcbd9 to d74fd8b Increases above 0.2%:
Increases (16 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (15 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6)
Full report (16 builds for cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
|
rcasallas-silabs
approved these changes
Mar 30, 2022
bzbarsky-apple
approved these changes
Mar 30, 2022
tcarmelveilleux
added a commit
to tcarmelveilleux/connectedhomeip
that referenced
this pull request
Mar 30, 2022
- Fixes the follow-up editorial comments from @bzbarsky-apple on project-chip#16737 - Unit tests still passa - Cert tests pass
bzbarsky-apple
pushed a commit
that referenced
this pull request
Mar 31, 2022
* Quick editorial follow-ups on IPK for CASE - Fixes the follow-up editorial comments from @bzbarsky-apple on #16737 - Unit tests still passa - Cert tests pass * Restyled by clang-format Co-authored-by: Restyled.io <commits@restyled.io>
rochaferraz
pushed a commit
to rochaferraz/connectedhomeip
that referenced
this pull request
Mar 31, 2022
* Implement CASE processing of IPK Problem: - IPK processing used placeholder IPK at innermost levels of CASE and never used the values set in GroupDataProvider as set by Commissioner with AddNOC or KeySetWrite cluster commands. - IPK Processing requires significant state keeping by controllers and commissioners to work, and none of the plumbing existed Changes: - Fixed NOC Cluster setting of IPK in AddNOC that was using the wrong compressed fabric ID. - Properly use GroupDataProvider to get IPK for controllers sending Sigma1 - Properly iterate through all IPK on receiving Sigma1, from GroupDataProvider - Add plumbing to properly initialize GroupDataProvider at CHIPDeviceControllerFactory and Server - Added a central point for a default IPK, that is at the very outermost level, rather than innermost level. A follow-up PR will allow reconfiguration of it for CHIP-tool. Code paths will properly use the OperationalCredentialsDelegate's IPK value passed in Callback, if you it's provided. Controllers and commissioners can setup their GroupDataProvider context to properly use the right group keys even without the follow-up to allow non-default IPK in chip-tool. - Cleaned-up the loose ends around all the injection points Testing done: - Updated all necessary Unit tests - Added IPK and Destination ID unit test cases from spec - All cert tests still pass - All unit tests still pass Fixes project-chip#15583 * Restyled by clang-format * Fix a few remaining TODOs * First pass of fixing leftover CI * Restyled by clang-format * More CI fixes * Restyled by clang-format * Apply suggestions from code review Co-authored-by: Michael Sandstedt <michael.sandstedt@gmail.com> * Restyled by clang-format * Revert pHYRate change * Hook up IPKs on Darwin. * Fix more CI on Python, Android, TV app * Restyled by clang-format * Apply review comment * Fix Python repl * Restyled by clang-format * Fix shutdown of group data provider * Fix Darwin and Android CI * More fixing of Android CI Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: Michael Sandstedt <michael.sandstedt@gmail.com> Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
rochaferraz
pushed a commit
to rochaferraz/connectedhomeip
that referenced
this pull request
Mar 31, 2022
* Quick editorial follow-ups on IPK for CASE - Fixes the follow-up editorial comments from @bzbarsky-apple on project-chip#16737 - Unit tests still passa - Cert tests pass * Restyled by clang-format Co-authored-by: Restyled.io <commits@restyled.io>
tcarmelveilleux
added a commit
to tcarmelveilleux/connectedhomeip
that referenced
this pull request
Apr 4, 2022
- `FabricTable::FindDestinationIDCandidate` is declared, but used nowhere since the IPK refactor of project-chip#16737, and not implemented either. It is 100% dead code. - Remove stale `FindDestinationIDCandidate` API
woody-apple
pushed a commit
that referenced
this pull request
Apr 5, 2022
- `FabricTable::FindDestinationIDCandidate` is declared, but used nowhere since the IPK refactor of #16737, and not implemented either. It is 100% dead code. - Remove stale `FindDestinationIDCandidate` API
chencheung
pushed a commit
to chencheung/connectedhomeip
that referenced
this pull request
Apr 6, 2022
- `FabricTable::FindDestinationIDCandidate` is declared, but used nowhere since the IPK refactor of project-chip#16737, and not implemented either. It is 100% dead code. - Remove stale `FindDestinationIDCandidate` API
chencheung
pushed a commit
to chencheung/connectedhomeip
that referenced
this pull request
Apr 6, 2022
- `FabricTable::FindDestinationIDCandidate` is declared, but used nowhere since the IPK refactor of project-chip#16737, and not implemented either. It is 100% dead code. - Remove stale `FindDestinationIDCandidate` API
andrei-menzopol
pushed a commit
to andrei-menzopol/connectedhomeip
that referenced
this pull request
Apr 14, 2022
* Implement CASE processing of IPK Problem: - IPK processing used placeholder IPK at innermost levels of CASE and never used the values set in GroupDataProvider as set by Commissioner with AddNOC or KeySetWrite cluster commands. - IPK Processing requires significant state keeping by controllers and commissioners to work, and none of the plumbing existed Changes: - Fixed NOC Cluster setting of IPK in AddNOC that was using the wrong compressed fabric ID. - Properly use GroupDataProvider to get IPK for controllers sending Sigma1 - Properly iterate through all IPK on receiving Sigma1, from GroupDataProvider - Add plumbing to properly initialize GroupDataProvider at CHIPDeviceControllerFactory and Server - Added a central point for a default IPK, that is at the very outermost level, rather than innermost level. A follow-up PR will allow reconfiguration of it for CHIP-tool. Code paths will properly use the OperationalCredentialsDelegate's IPK value passed in Callback, if you it's provided. Controllers and commissioners can setup their GroupDataProvider context to properly use the right group keys even without the follow-up to allow non-default IPK in chip-tool. - Cleaned-up the loose ends around all the injection points Testing done: - Updated all necessary Unit tests - Added IPK and Destination ID unit test cases from spec - All cert tests still pass - All unit tests still pass Fixes project-chip#15583 * Restyled by clang-format * Fix a few remaining TODOs * First pass of fixing leftover CI * Restyled by clang-format * More CI fixes * Restyled by clang-format * Apply suggestions from code review Co-authored-by: Michael Sandstedt <michael.sandstedt@gmail.com> * Restyled by clang-format * Revert pHYRate change * Hook up IPKs on Darwin. * Fix more CI on Python, Android, TV app * Restyled by clang-format * Apply review comment * Fix Python repl * Restyled by clang-format * Fix shutdown of group data provider * Fix Darwin and Android CI * More fixing of Android CI Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: Michael Sandstedt <michael.sandstedt@gmail.com> Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
andrei-menzopol
pushed a commit
to andrei-menzopol/connectedhomeip
that referenced
this pull request
Apr 14, 2022
* Quick editorial follow-ups on IPK for CASE - Fixes the follow-up editorial comments from @bzbarsky-apple on project-chip#16737 - Unit tests still passa - Cert tests pass * Restyled by clang-format Co-authored-by: Restyled.io <commits@restyled.io>
andrei-menzopol
pushed a commit
to andrei-menzopol/connectedhomeip
that referenced
this pull request
Apr 14, 2022
- `FabricTable::FindDestinationIDCandidate` is declared, but used nowhere since the IPK refactor of project-chip#16737, and not implemented either. It is 100% dead code. - Remove stale `FindDestinationIDCandidate` API
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
CASE and never used the values set in GroupDataProvider as
set by Commissioner with AddNOC or KeySetWrite cluster
commands.
controllers and commissioners to work, and none of the
plumbing existed
Fixes #15583
Change overview
the wrong compressed fabric ID.
sending Sigma1
GroupDataProvider
CHIPDeviceControllerFactory and Server
outermost level, rather than innermost level. A follow-up
PR will allow reconfiguration of it for CHIP-tool. Code paths
will properly use the OperationalCredentialsDelegate's IPK
value passed in Callback, if you it's provided. Controllers and
commissioners can setup their GroupDataProvider context to
properly use the right group keys even without the
follow-up to allow non-default IPK in chip-tool.
Testing