Perform ACM-triggered cloud connection migration without a disconnect#2863
Open
avtolstoy wants to merge 4 commits intotest/v6.3.0from
Open
Perform ACM-triggered cloud connection migration without a disconnect#2863avtolstoy wants to merge 4 commits intotest/v6.3.0from
avtolstoy wants to merge 4 commits intotest/v6.3.0from
Conversation
sergeuz
approved these changes
Feb 3, 2025
communication/src/dtls_protocol.h
Outdated
| } | ||
| case ProtocolCommands::MOVE_CONNECTION: { | ||
| LOG(INFO, "Moving connection (session move + ping)"); | ||
| if (!channel.command(Channel::MOVE_SESSION)) { |
Member
There was a problem hiding this comment.
Any reason not to return the actual error code instead of UNKNOWN if this fails?
Member
Author
There was a problem hiding this comment.
🤷 fixed. And added one session use.
| } | ||
|
|
||
| int system_cloud_move_connection(network_handle_t network) { | ||
| if (system_cloud_is_connected(nullptr)) { // XXX: this is not a bool! |
5ddf34c to
f872b50
Compare
7cb439e to
acc62d5
Compare
acc62d5 to
0e48bfe
Compare
This file contains hidden or 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
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.
TODO
Add stress test
Problem
After performing an initial cloud connection, ACM will re-evaluate this decision (if there are multiple network interfaces available) and might decide to migrate the connection. This is currently performed by disconnect, session move and re-connect.
Solution
This instead can be performed without tearing down the cloud connection and just re-binding the underlying socket + indicating to the comms layer that session move + ping needs to be performed.
This PR also fixes
slo/connect_timetest with test runner-forced network (--network=Xoption).Log
Having connected to the cloud over cellular, migrating to a connection over wifi:
References
Links to the Community, Docs, Other Issues, etc..
Completeness