From f1dc14fc587a03f136dc8a2d3fefb0d7e3d22a0e Mon Sep 17 00:00:00 2001 From: Eric Kinnear Date: Thu, 7 Nov 2019 22:10:47 -0800 Subject: [PATCH 1/3] Consolidate Retire Prior To instructions in section, clean up frame description --- draft-ietf-quic-transport.md | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index f49cbf85b5..6bf4445f0d 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -1033,11 +1033,10 @@ longer plans to use that address. An endpoint can cause its peer to retire connection IDs by sending a NEW_CONNECTION_ID frame with an increased Retire Prior To field. Upon receipt, -the peer MUST retire the corresponding connection IDs and send corresponding -RETIRE_CONNECTION_ID frames. Failing to retire the connection IDs within -approximately one PTO can cause packets to be delayed, lost, or cause the -original endpoint to send a stateless reset in response to a connection ID it -can no longer route correctly. +the peer MUST retire the corresponding connection IDs via RETIRE_CONNECTION_ID +frames. Failure to retire the connection IDs within approximately one PTO can +cause packets to be delayed, lost, or cause the original endpoint to send a +stateless reset in response to a connection ID it can no longer route correctly. An endpoint MAY discard a connection ID for which retirement has been requested once an interval of no less than 3 PTO has elapsed since an acknowledgement is @@ -5392,15 +5391,10 @@ 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 is a request for the peer to retire all connection IDs -with a sequence number less than the specified value. This includes the initial -and preferred_address transport parameter connection IDs. The peer SHOULD -retire the corresponding connection IDs and send the corresponding -RETIRE_CONNECTION_ID frames in a timely manner. - -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 (see {{retiring-cids}}) includes the initial and +preferred_address transport parameter connection IDs and 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 0c309a7b240b09d40a1c32fedffe663c24be09b7 Mon Sep 17 00:00:00 2001 From: Eric Kinnear <32474881+erickinnear@users.noreply.github.com> Date: Sun, 10 Nov 2019 20:07:03 -0800 Subject: [PATCH 2/3] Martin's suggestion Co-Authored-By: Martin Thomson --- draft-ietf-quic-transport.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 6bf4445f0d..81cb273101 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -1033,7 +1033,7 @@ longer plans to use that address. An endpoint can cause its peer to retire connection IDs by sending a NEW_CONNECTION_ID frame with an increased Retire Prior To field. Upon receipt, -the peer MUST retire the corresponding connection IDs via RETIRE_CONNECTION_ID +the peer MUST retire the corresponding connection IDs using RETIRE_CONNECTION_ID frames. Failure to retire the connection IDs within approximately one PTO can cause packets to be delayed, lost, or cause the original endpoint to send a stateless reset in response to a connection ID it can no longer route correctly. From f11934fd629ee03c564438717ac95cb3fed68043 Mon Sep 17 00:00:00 2001 From: Eric Kinnear Date: Sun, 10 Nov 2019 20:12:49 -0800 Subject: [PATCH 3/3] Reword to match Martin's suggestion --- draft-ietf-quic-transport.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 81cb273101..922624e882 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -5391,10 +5391,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 (see {{retiring-cids}}) includes the initial and -preferred_address transport parameter connection IDs and 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 counts connection IDs established during connection +setup and the preferred_address transport parameter (see {{retiring-cids}}). 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