Skip to content
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

[+] Explicit Path ID: Clarify that endpoints use the same Path ID in both directions. #315

Merged
merged 36 commits into from
May 24, 2024
Merged
Changes from 4 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d1d6c6e
[+] Clarify that endpoints use the same Path ID for one specific path…
Yanmei-Liu Mar 17, 2024
a20fadb
[+] specify PATH_ABANDON cause all the CID allocated for the Path ID …
Yanmei-Liu Mar 17, 2024
34594ef
Update draft-ietf-quic-multipath.md
Yanmei-Liu Mar 17, 2024
4926786
Update draft-ietf-quic-multipath.md
Yanmei-Liu Mar 17, 2024
cab06c3
Update draft-ietf-quic-multipath.md
Yanmei-Liu Mar 20, 2024
e28e10e
[+] Clarify that endpoints use the same Path ID for one specific path…
Yanmei-Liu Mar 17, 2024
b74c5ae
[+] specify PATH_ABANDON cause all the CID allocated for the Path ID …
Yanmei-Liu Mar 17, 2024
fdbb95a
Update draft-ietf-quic-multipath.md
Yanmei-Liu Mar 17, 2024
982c03c
Update draft-ietf-quic-multipath.md
Yanmei-Liu Mar 17, 2024
aea4f81
Update draft-ietf-quic-multipath.md
Yanmei-Liu Mar 20, 2024
83b0725
Merge branch 'dev/path_id_for_both_direction' of https://github.com/q…
Yanmei-Liu Apr 1, 2024
0cdd559
Update draft-ietf-quic-multipath.md
Yanmei-Liu Apr 1, 2024
d7426a2
Merge branch 'main' into dev/path_id_for_both_direction
mirjak May 8, 2024
6c02f5e
fix-lint
mirjak May 14, 2024
479de5e
Update draft-ietf-quic-multipath.md
mirjak May 14, 2024
323f3cf
nits/typos
mirjak May 17, 2024
1dddecb
Update draft-ietf-quic-multipath.md
Yanmei-Liu May 17, 2024
d877959
Update draft-ietf-quic-multipath.md
Yanmei-Liu May 17, 2024
d20519b
whitespace
mirjak May 17, 2024
a77525b
Move text to initiation section
mirjak May 24, 2024
7f6c5b4
Merge branch 'main' into dev/path_id_for_both_direction
mirjak May 24, 2024
6bf2d85
Update draft-ietf-quic-multipath.md
mirjak May 24, 2024
6c8ea03
Update draft-ietf-quic-multipath.md
mirjak May 24, 2024
62d3678
Editorial clean up
mirjak May 24, 2024
60cf3fc
Update intro
mirjak May 24, 2024
f06069c
whitespace
mirjak May 24, 2024
06c8297
Update draft-ietf-quic-multipath.md
mirjak May 24, 2024
5bf27b0
Update draft-ietf-quic-multipath.md
mirjak May 24, 2024
b712f6b
Update draft-ietf-quic-multipath.md
Yanmei-Liu May 24, 2024
ed01cd8
Update draft-ietf-quic-multipath.md
Yanmei-Liu May 24, 2024
30a56a5
Update draft-ietf-quic-multipath.md
mirjak May 24, 2024
6af816c
Update draft-ietf-quic-multipath.md
mirjak May 24, 2024
46b44c3
Move sentence and editorial fixes
mirjak May 24, 2024
b22dbae
restructure path close section
mirjak May 24, 2024
902ab71
Update draft-ietf-quic-multipath.md
mirjak May 24, 2024
a865fea
whitespace
mirjak May 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
17 changes: 17 additions & 0 deletions draft-ietf-quic-multipath.md
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,18 @@ Each endpoint associates a Receiver Packet Number space to each Path Identifier
that it provides to the peer. Each endpoint associates a Sender Packet Number space
to each Path Identifier received from the peer.

Endpoints use the same Path ID for one specific path in both directions.
For a client-initiated path, the client decides which Path ID used for the new path,
it picks one of the server allocated CID with the specified Path ID.
Then the client send a PATH_CHALLENGE with the chosen CID. If the server receives the PATH_CHALLENGE,
it picks a Connection ID with the same path ID for sending the PATH_RESPONSE.

The client MUST choose a previously unused Path ID for which both endpoints have already issued at least one connection ID.
If the server receives a PATH_CHALLENGE before receiving MP_NEW_CONNECTION_ID
for the specify path, it MAY choose to ignore the PATH_CHALLENGE, or it can
Yanmei-Liu marked this conversation as resolved.
Show resolved Hide resolved
choose to send PATH_RESPONSE until it receives the MP_NEW_CONNECTION_ID containing
the corresponding Path ID arrives.
Yanmei-Liu marked this conversation as resolved.
Show resolved Hide resolved

The Path Identifier associated with the Destination Connection ID is used to
construct the packet protection nonce defined in {#multipath-aead}.

Expand Down Expand Up @@ -472,6 +484,11 @@ However, implicit signals such as idle time or packet losses might be
the only way for an endhost to detect path closure (see
{{idle-time-close}}).

PATH_ABANDON frame causes all the CID allocated for the specified Path ID to be retired.
Yanmei-Liu marked this conversation as resolved.
Show resolved Hide resolved

When path validation of a new path fails, the client MUST consider the Path ID as consumed, and MUST abandon the path by sending a PATH_ABANDON frame.
to inform the server that the Path ID can’t be used in the future.
Yanmei-Liu marked this conversation as resolved.
Show resolved Hide resolved

Note that other explicit closing mechanisms of {{QUIC-TRANSPORT}} still
apply on the whole connection. In particular, the reception of either a
CONNECTION_CLOSE ({{Section 10.2 of QUIC-TRANSPORT}}) or a Stateless
Expand Down