Skip to content

Rework path migration#1859

Merged
huitema merged 15 commits intomasterfrom
rework-path-migration
Apr 4, 2025
Merged

Rework path migration#1859
huitema merged 15 commits intomasterfrom
rework-path-migration

Conversation

@huitema
Copy link
Copy Markdown
Collaborator

@huitema huitema commented Mar 24, 2025

Reworking the multipath implementation. The core of the update is to replace the flat structure picoquic_path_t by a two level structure: on picoquic_path_t per "unique path identifier", and a series of picoquic_tuple_t per address/port pairs tested on that path. This follows the discussion in issue #1854. The "RFC 9000 without multipath" handling of paths becomes a subset of the "multipath" mode, with just one path and potentially many tuples.

With this change, we can now support the "preferred address" migration according to spec -- previous versions insisted on creating an extra path instead of migrating the path 0.

The new code is shorter, and (a bit) less complex. We could make it shorter still because know we have strict 1-1 relation between picoquic_path_t structures and number spaces, and also between these structures and lists of connection identifiers. But that should be the work of another PR.

Close #1854.

@huitema huitema requested a review from suhasHere March 24, 2025 06:41
@huitema huitema merged commit 80ec1f2 into master Apr 4, 2025
11 checks passed
@huitema huitema deleted the rework-path-migration branch April 4, 2025 00:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unify implementations of "multipath" and "migration".

1 participant