From 84a3a435344f037bce95c08a8254d69556137b5c Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 30 Dec 2019 14:39:04 -0500 Subject: [PATCH 1/7] ACK frames PN space editorial Fixes #3310 by taking @dtikhonov suggestion and adding a sentence about how the same PN may be used in each space. --- draft-ietf-quic-transport.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index b43582b0a2..5fb66e8903 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4747,10 +4747,9 @@ QUIC acknowledgements are irrevocable. Once acknowledged, a packet remains acknowledged, even if it does not appear in a future ACK frame. This is unlike TCP SACKs ({{?RFC2018}}). -It is expected that a sender will reuse the same packet number across different -packet number spaces. ACK frames only acknowledge the packet numbers that were -transmitted by the sender in the same packet number space of the packet that the -ACK was received in. +An ACK frame acknowledges packets in the same packet number space as the packet +in which it is contained. As such, the same packet number can be send and +acknowledged in different packet number spaces. Version Negotiation and Retry packets cannot be acknowledged because they do not contain a packet number. Rather than relying on ACK frames, these packets are From 8cc78262e5363e7d36e30e00b0f88dfb9056001e Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 30 Dec 2019 14:40:17 -0500 Subject: [PATCH 2/7] Update draft-ietf-quic-transport.md --- draft-ietf-quic-transport.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 5fb66e8903..0c24a96669 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4748,8 +4748,8 @@ acknowledged, even if it does not appear in a future ACK frame. This is unlike TCP SACKs ({{?RFC2018}}). An ACK frame acknowledges packets in the same packet number space as the packet -in which it is contained. As such, the same packet number can be send and -acknowledged in different packet number spaces. +in which it is contained. As such, the same packet number can be acknowledged +in different packet number spaces. Version Negotiation and Retry packets cannot be acknowledged because they do not contain a packet number. Rather than relying on ACK frames, these packets are From a925d9c08639e82bd28e933212018f263a83ae92 Mon Sep 17 00:00:00 2001 From: ianswett Date: Thu, 2 Jan 2020 15:53:28 -0500 Subject: [PATCH 3/7] Update draft-ietf-quic-transport.md 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 0c24a96669..9d879ab098 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4748,7 +4748,7 @@ acknowledged, even if it does not appear in a future ACK frame. This is unlike TCP SACKs ({{?RFC2018}}). An ACK frame acknowledges packets in the same packet number space as the packet -in which it is contained. As such, the same packet number can be acknowledged +in which it is contained. Packets from different packet number spaces can be identified using the same numeric value. in different packet number spaces. Version Negotiation and Retry packets cannot be acknowledged because they do not From 73b9b04d52a67774551265c2f4509478b5ce9ff1 Mon Sep 17 00:00:00 2001 From: ianswett Date: Thu, 2 Jan 2020 15:54:13 -0500 Subject: [PATCH 4/7] Martin's suggestion --- draft-ietf-quic-transport.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 9d879ab098..63f4d2e4ea 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4748,8 +4748,8 @@ acknowledged, even if it does not appear in a future ACK frame. This is unlike TCP SACKs ({{?RFC2018}}). An ACK frame acknowledges packets in the same packet number space as the packet -in which it is contained. Packets from different packet number spaces can be identified using the same numeric value. -in different packet number spaces. +in which it is contained. Packets from different packet number spaces can be +identified using the same numeric value. Version Negotiation and Retry packets cannot be acknowledged because they do not contain a packet number. Rather than relying on ACK frames, these packets are From 6be25520cc09cb7eed433cb03998a9a137504fef Mon Sep 17 00:00:00 2001 From: Jana Iyengar Date: Tue, 7 Jan 2020 15:45:08 -0800 Subject: [PATCH 5/7] Update draft-ietf-quic-transport.md --- 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 63f4d2e4ea..d534a5fa5b 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4747,9 +4747,9 @@ QUIC acknowledgements are irrevocable. Once acknowledged, a packet remains acknowledged, even if it does not appear in a future ACK frame. This is unlike TCP SACKs ({{?RFC2018}}). -An ACK frame acknowledges packets in the same packet number space as the packet -in which it is contained. Packets from different packet number spaces can be -identified using the same numeric value. +Packets from different packet number spaces can be identified using the same +numeric value. An ACK frame acknowledges packets in the same packet number space +as the packet in which it is contained. Version Negotiation and Retry packets cannot be acknowledged because they do not contain a packet number. Rather than relying on ACK frames, these packets are From a570bfb9ca01f49ff9d40f44e22596709b9b80ee Mon Sep 17 00:00:00 2001 From: Jana Iyengar Date: Tue, 7 Jan 2020 15:50:39 -0800 Subject: [PATCH 6/7] ekr's suggestion --- draft-ietf-quic-transport.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index d534a5fa5b..25832d6550 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4748,8 +4748,10 @@ acknowledged, even if it does not appear in a future ACK frame. This is unlike TCP SACKs ({{?RFC2018}}). Packets from different packet number spaces can be identified using the same -numeric value. An ACK frame acknowledges packets in the same packet number space -as the packet in which it is contained. +numeric value. An acknowledgment for a packet needs to indicate both its packet +number and its packet number space. This is accomplished by having each ACK +frame only acknowledge packet numbers in the same space as the packet in which +the ACK frame is contained. Version Negotiation and Retry packets cannot be acknowledged because they do not contain a packet number. Rather than relying on ACK frames, these packets are From 5fe4a8f21e570441b9e12dfeb583c53101b12b1c Mon Sep 17 00:00:00 2001 From: Jana Iyengar Date: Tue, 7 Jan 2020 15:53:35 -0800 Subject: [PATCH 7/7] Update draft-ietf-quic-transport.md --- draft-ietf-quic-transport.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 25832d6550..2880e66dc6 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -4748,10 +4748,10 @@ acknowledged, even if it does not appear in a future ACK frame. This is unlike TCP SACKs ({{?RFC2018}}). Packets from different packet number spaces can be identified using the same -numeric value. An acknowledgment for a packet needs to indicate both its packet -number and its packet number space. This is accomplished by having each ACK -frame only acknowledge packet numbers in the same space as the packet in which -the ACK frame is contained. +numeric value. An acknowledgment for a packet needs to indicate both a packet +number and a packet number space. This is accomplished by having each ACK frame +only acknowledge packet numbers in the same space as the packet in which the +ACK frame is contained. Version Negotiation and Retry packets cannot be acknowledged because they do not contain a packet number. Rather than relying on ACK frames, these packets are