-
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
Establishing a CASE session tears down existing sessions for the peer #15986
Comments
Honestly, our ownership model for My recommendation would be to make |
That's already what we have. CASEServer and CASEClient just run the state machine and do not actually own the sessions. SessionManager does that. |
We can preserve a lot of the existing APIs if we:
We'd need to be careful about a change like this, since we'd need to ensure we swap out all old sessions before calling |
Roger that. I mis understood the intention of |
Part 1 of this issue is complete. Will file a follow-up issue if Part 2 needs to be done. |
Problem
Consider the following scenario:
ExpireAllPairings
call inCASEServer::OnSessionEstablished
).Now either the admin has no CASE session... or it notices and establishes a new one, which tears down the session the node set up in step 3. Then the node notices and retries establishing a session to get the OTA image, etc, etc.
Proposed Solution
We need to do one of two things:
CASEServer::OnSessionEstablished
.I suspect this issue (if I am right about our expiring behavior) would make a lot of interactions not work well, but I am particularly worried about inability to complete an OTA update, due to failure to make progress on downloading the image, if the session keeps dying.
We need to check whether my understanding of the behavior is correct, of course.
@msandstedt @Carol @tcarmelveilleux
The text was updated successfully, but these errors were encountered: