-
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
Move NewPairing from SessionEstablishDelegate to CASE/PASE session #17422
Conversation
PR #17422: Size comparison from 737b702 to 988c822 Increases above 0.2%:
Increases (2 builds for cc13x2_26x2)
Decreases (32 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (32 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
PR #17422: Size comparison from c503a97 to ddeb49c Increases above 0.2%:
Increases (4 builds for cc13x2_26x2, linux)
Decreases (23 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (23 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
PR #17422: Size comparison from c503a97 to 486d6f7 Increases above 0.2%:
Increases (4 builds for cc13x2_26x2, linux)
Decreases (23 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (23 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
PR #17422: Size comparison from a3f636d to 8607fa5 Increases above 0.2%:
Increases (13 builds for cc13x2_26x2, linux)
Decreases (30 builds for cc13x2_26x2, cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (30 builds for cc13x2_26x2, cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
|
PR #17422: Size comparison from a3f636d to ae26e05 Increases above 0.2%:
Increases (13 builds for cc13x2_26x2, linux)
Decreases (32 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (32 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
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 seems like very important cleanup. Thank you.
PR #17422: Size comparison from 03ea72d to 3834aa9 Increases above 0.2%:
Increases (13 builds for cc13x2_26x2, linux)
Decreases (32 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (32 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
- From project-chip#17422 onwards, "previous" CASE sessions were not expired in terms of the session cache if sessions were constantly re-established. - A root cause solution will be to solve project-chip#17568, but in the meantime, cert testing started failing after N (where N is session manager pool size) runs. This PR cleans-up the previous sessions from same node (duplicate sessions that should not happen). This is a bit unclean but will do to unblock testing since it was good enough before, and the better method is not yet implemented. This PR also adds logging when this happens. Fixes project-chip#17698 Testing done: - Unit tests pass - Cert tests pass - Manual run of N > 16 `for i in {1..18}; do ./out/debug/standalone/chip-tool basic read vendor-name 115566 0 ; done` does not fail as before.
* Quick-fix running out of CASE sessions - From #17422 onwards, "previous" CASE sessions were not expired in terms of the session cache if sessions were constantly re-established. - A root cause solution will be to solve #17568, but in the meantime, cert testing started failing after N (where N is session manager pool size) runs. This PR cleans-up the previous sessions from same node (duplicate sessions that should not happen). This is a bit unclean but will do to unblock testing since it was good enough before, and the better method is not yet implemented. This PR also adds logging when this happens. Fixes #17698 Testing done: - Unit tests pass - Cert tests pass - Manual run of N > 16 `for i in {1..18}; do ./out/debug/standalone/chip-tool basic read vendor-name 115566 0 ; done` does not fail as before. * Restyled by clang-format * Fix CI Co-authored-by: Restyled.io <[email protected]>
Problem
SessionManager::NewPairing
should not be a public API.Change overview
OnSessionEstablished
will receive anSessionHandle
argument pointing to the newly created sessionSessionManager::AllocateSession(uint16_t)
because it is only used by test-cases.CASEClient::EstablishSession
now takes a delegate instead of function pointersPairingSession
a bitmRole: CryptoContext::SessionRole
mLocalMRPConfig
mMRPConfig
=>mRemoteMRPConfig
mSecureSessionType
with a virtual function.mPeerNodeId
,mPeerCATs
because PASE session do not need themmPeerAddress
, address is handled by the unsecure sessionNOTE: this PR includes PR #17411Testing
Passed unit-tests