IETF Last Call Review of draft-ietf-quic-reliable-stream-reset-09
review-ietf-quic-reliable-stream-reset-09-secdir-lc-mihalcea-2026-07-29-00
| Request | Review of | draft-ietf-quic-reliable-stream-reset |
|---|---|---|
| Requested revision | No specific revision (document currently at 10) | |
| Type | IETF Last Call Review | |
| Team | Security Area Directorate (secdir) | |
| Deadline | 2026-08-03 | |
| Requested | 2026-07-20 | |
| Authors | Marten Seemann , Kazuho Oku | |
| I-D last updated | 2026-08-10 (Latest revision 2026-08-09) | |
| Completed reviews |
Genart IETF Last Call review of -09
by Christer Holmberg
(diff)
Secdir IETF Last Call review of -09 by Ionuț Mihalcea (diff) |
|
| Assignment | Reviewer | Ionuț Mihalcea |
| State | Completed | |
| Request | IETF Last Call review on draft-ietf-quic-reliable-stream-reset by Security Area Directorate Assigned | |
| Posted at | https://mailarchive.ietf.org/arch/msg/secdir/f3ZmIFqA1mL6ZDplc0iPKNuH5Lo | |
| Reviewed revision | 09 (document currently at 10) | |
| Result | Has nits | |
| Completed | 2026-07-29 |
review-ietf-quic-reliable-stream-reset-09-secdir-lc-mihalcea-2026-07-29-00
I have reviewed this document as part of the security directorate's ongoing effort to review all IETF documents being processed by the IESG. These comments were written primarily for the benefit of the security area directors. Document editors and WG chairs should treat these comments just like any other last call comments. The summary of the review is Almost Ready. The draft defines a new frame for QUIC, allowing senders to reset a stream with the promise of reliable delivery for a given amount of data on said stream. The document is well written and seems comprehensive in integrating the new mechanism in the QUIC stream management machinery. I noticed a few inconsistencies (which might be due to my lack of expertise with QUIC), described below. At the end of sec. 1: "application protocols continue to treat this stream function as an abrupt termination". Clarifying question: is this in the sense that application protocol can expect no new data to be sent over this stream? Because "abrupt termination" doesn't seem representative of the new behaviour overall. In sec. 5: "A RESET_STREAM_AT frame with this value is logically equivalent to a RESET_STREAM frame". I'm not sure this is consistent with the state machine transitions described in sec. 5.3. For example, with RESET_STREAM the state machine is not expected to go from Recv through Size Known. In sec 5.3: "Conversely, if bytes below that offset still need to be sent or acknowledged, the transition might take multiple network roundtrips and *might require additional flow control credit issued by the receiver*." (emphasis mine) It seems impossible to reach the state described at the end, requiring additional flow control credit. In sec. 4 you note that "An endpoint MUST NOT send a RESET_STREAM_AT frame that exceeds the largest maximum stream data value advertised by the receiver for the stream, or that violates the receiver's maximum data limit." Coupled with "If the Reliable Size is larger than the Final Size, the receiver MUST close the connection", Reliable Size must always be fully accounted for in the current flow control credit. In sec. 5.3: "This might require the receiver to issue additional flow control credit." - identical reasoning to above. Thanks!