From cab87c53805462361f26208f959fca2def3c4d98 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 24 Sep 2020 12:22:32 +0700 Subject: [PATCH 1/3] clarify Retire Prior To field --- draft-ietf-quic-transport.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 012564155b..beba354b59 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -6031,11 +6031,11 @@ sequence number, or if a sequence number is used for different connection IDs, the endpoint MAY treat that receipt as a connection error of type PROTOCOL_VIOLATION. -The Retire Prior To field counts connection IDs established during connection -setup and the preferred_address transport parameter; see {{retire-cid}}. The -Retire Prior To field MUST be less than or equal to the Sequence Number field. -Receiving a value greater than the Sequence Number MUST be treated as a -connection error of type FRAME_ENCODING_ERROR. +The Retire Prior To field applies to connection IDs established during +connection setup and the preferred_address transport parameter; see +{{retire-cid}}. The Retire Prior To field MUST be less than or equal to the +Sequence Number field. Receiving a value greater than the Sequence Number MUST +be treated as a connection error of type FRAME_ENCODING_ERROR. Once a sender indicates a Retire Prior To value, smaller values sent in subsequent NEW_CONNECTION_ID frames have no effect. A receiver MUST ignore any From 7e6149cb6538644153cd9727235b87e3c5d6238e Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 24 Sep 2020 12:23:47 +0700 Subject: [PATCH 2/3] clarify that conn flow control uses the final sizes of streams --- draft-ietf-quic-transport.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index beba354b59..862f606c6d 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -5775,12 +5775,12 @@ Maximum Data: : A variable-length integer indicating the maximum amount of data that can be sent on the entire connection, in units of bytes. -All data sent in STREAM frames counts toward this limit. The sum of the largest -received offsets on all streams - including streams in terminal states - MUST -NOT exceed the value advertised by a receiver. An endpoint MUST terminate a -connection with a FLOW_CONTROL_ERROR error if it receives more data than the -maximum data value that it has sent. This includes violations of remembered -limits in Early Data; see {{zerortt-parameters}}. +All data sent in STREAM frames counts toward this limit. The sum of the final +sizes on all streams - including streams in terminal states - MUST NOT exceed +the value advertised by a receiver. An endpoint MUST terminate a connection +with a FLOW_CONTROL_ERROR error if it receives more data than the maximum data +value that it has sent. This includes violations of remembered limits in Early +Data; see {{zerortt-parameters}}. ## MAX_STREAM_DATA Frames {#frame-max-stream-data} From 926c2d7e00bb6eb93d5d1ed8bd56bbf8fdf09abf Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Thu, 24 Sep 2020 12:25:15 +0700 Subject: [PATCH 3/3] improve description of FIN bit --- draft-ietf-quic-transport.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 862f606c6d..8dfd0e4c71 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -5698,9 +5698,9 @@ are present in the frame: Stream Data field extends to the end of the packet. If this bit is set to 1, the Length field is present. -* The FIN bit (0x01) of the frame type is set only on frames that contain the - final size of the stream. Setting this bit indicates that the frame - marks the end of the stream. +* The FIN bit (0x01) indicates that the frame marks the end of the stream. The + final size of the stream is the sum of the offset and the length of this + frame. An endpoint MUST terminate the connection with error STREAM_STATE_ERROR if it receives a STREAM frame for a locally-initiated stream that has not yet been