Hi, Thank you for your work on this document. I have been selected as the Operational Directorate (opsdir) reviewer for this Internet-Draft. The Operational Directorate reviews all operational and management- related Internet-Drafts to ensure alignment with operational best practices and that adequate operational considerations are covered. A complete set of "Guidelines for Considering Operations and Management in IETF Specifications" can be found at https://datatracker.ietf.org/doc/draft-opsarea-rfc5706bis/. While these comments are primarily for the Operations and Management Area Directors (Ops ADs), the authors should consider them alongside other feedback received. Please feel free to contact me for clarification and/or discussion Apologies for the nits: I can't read a document without noting them. I'd be happy to discuss any of these points with you. Regards, Adrian ====== Document: draft-ietf-quic-multipath-18 Title: Managing multiple paths for a QUIC connection Reviewer: Adrian Farrel (adrian@olddog.co.uk) Review Date: 2025-12-12 Intended Status: Standards Track IETF last call ends: 2025-12-22 Review result: Has Issues: I have some minor concerns about this document that I think should be resolved before publication. == Summary == This document describes a way to use multiple QUIC paths to support a single connection by using path identifiers. It deliberately puts the assignment of addresses to these paths/connections and the steering of traffic over the different paths out of scope. == Operational Considerations == This document does not call out operational or manageability considerations. It does discuss "path management" but this is in the context of the QUIC protocol itself, not the management of QUIC or of the implementations. It would be best if the document included an Operational Considerations section following the guidance in draft-ietf-opsawg-rfc5706bis. But there is currently no immediate requirement to do that. In the absence of a full section, the following points do need to be discussed: - How is this feature incrementally deployed? Does it matter? I think it is as simple as noting that implementations only use the feature if the remote endpoint also support it, otherwise they continue as before. - What things need to be configured? I see: - Max Path ID - Whether to attempt multi-path system-wide or per connection - How to behave if the remote endpoint does not support this function (revert to single path, give up, log the situation) Anything else? - What needs to be available for monitoring (via inspection or logs)? - Number of paths in use - Churn in paths - Failure incidents - What OAM tools are needed to monitor correct operation? - What is the impact on other OAM tools? In particular, what happens when end-to-end traffic is monitored, but the monitoring goes on one path and the user traffic goes on another path? == Major Issues == None. == Minor Issues == Limits on the path ID Section 1 states: Path IDs are generated monotonically increasing and cannot be reused. And we know that the path ID is limited to 2^32-1 or possibly the value of initial_max_path_id. In a very long-lived system, where paths are created and released over and over again, and possibly where a large number of paths exist at a single time, is it possible that all the available path ID values are used up? Should an implementation wrap back to zero (effectively reusing Path IDs) of close and re-open in order to reset? Further, 2.1 says: * initial_max_path_id (current version uses 0x0f739bbc1b666d0d): a variable-length integer specifying the maximum path ID an endpoint is willing to maintain at connection initiation. This value MUST NOT exceed 2^32-1, the maximum allowed value for the path ID due to restrictions on the nonce calculation (see Section 2.4). If initial_max_path_id is set to 0x0f739bbc1b666d0d doesn't that exceed 2^32-1? --- Question from 2.5 Can I attack the computation of the PTO? Perhaps by delaying messages to make the RTT large? If I can do this on just one path, then I can cause a key to continue to be used for much longer than it would normally be (and that would apply across all of the path/packet number spaces). Is this different from the single path case? Possibly. In the single path case, the attack is immediately noticeable because the quality delivered by the single path is degraded. In the multi-path case, one path is degraded, but the overall behavior is, perhaps, not significantly changed. Hey! This is just me musing. --- 3. However, this document does not specify when a client decides to initiate or close a path, or how multiple open paths are used for sending. A forward pointer to Section 5 would be helpful. --- Section 6 I believe you need to tell IANA the "status" to mark in the registry and which range to make the allocations from. --- 6.1 I believe you need to ask IANA to remove the provisional values from the registry. --- It would be helpful to reviewers (including the IESG) to include an implementation status section consistent with RFC 7942. == Nits == idnits says -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? --- Abstract You should not "propose" anything. This is a protocol spec, so you should "define" or "specify" things. --- 2. s/as specified in Section Section 2.4/as specified in Section 2.4/ --- 2.2 You have a "smart" apostrophe. --- 5.4 s/are not send/are not sent/ s/over which path acknowledgement/over which path acknowledgements/ s/needs to consider cases/need to consider cases/