Subject: [quicwg/base-drafts] Suggestions from #2197 (#2316)

From: ianswett <[email-masked]>
Date: Mon, 07 Jan 2019 20:58:08 -0800

Packets are acknowledged, though packet numbers are communicated to acknowledge them.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/2316

-- Commit Summary --

  * Suggestions from #2197

-- File Changes --

    M draft-ietf-quic-transport.md (36)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/2316.patch
https://github.com/quicwg/base-drafts/pull/2316.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316

---

From: Martin Thomson <[email-masked]>
Date: Mon, 07 Jan 2019 21:35:59 -0800

martinthomson approved this pull request.

Thanks for cleaning this up.  One more TODO down.

> @@ -2830,13 +2830,15 @@ valid frames? -->
 
 ### Sending ACK Frames
 
-<!-- TODO: Re-read this section for flow and redundancy. -->
-
-To avoid creating an indefinite feedback loop, an endpoint MUST NOT send an ACK
-frame in response to a packet containing only ACK or PADDING frames, even if
-there are packet gaps which precede the received packet.  The endpoint MUST
-however acknowledge packets containing only ACK or PADDING frames when sending
-ACK frames in response to other packets.
+ACK frames are sent to acknowledge received packets and indicate the frames
+within them has been processed. An endpoint MUST NOT send more than one packet

The transition to the second sentence is a little jarring.  I think that you could make it a new paragraph.

> @@ -2830,13 +2830,15 @@ valid frames? -->
 
 ### Sending ACK Frames
 
-<!-- TODO: Re-read this section for flow and redundancy. -->
-
-To avoid creating an indefinite feedback loop, an endpoint MUST NOT send an ACK
-frame in response to a packet containing only ACK or PADDING frames, even if
-there are packet gaps which precede the received packet.  The endpoint MUST
-however acknowledge packets containing only ACK or PADDING frames when sending
-ACK frames in response to other packets.
+ACK frames are sent to acknowledge received packets and indicate the frames
+within them has been processed. An endpoint MUST NOT send more than one packet
+containing only an ACK frame per received packet that contains frames other
+than ACK and PADDING frames. Specifically, to avoid creating an indefinite

Can we simplify and say: no more than one packet containing only ACK and PADDING frames per packet received?  And then: no packets at all in response to a packet containing only ACK and PADDING [, even if gaps...].

> @@ -2857,11 +2856,10 @@ needing acknowledgement are received.  The sender can use the receiver's
 Strategies and implications of the frequency of generating acknowledgments are
 discussed in more detail in {{QUIC-RECOVERY}}.
 
-To limit the ranges of acknowledged packet numbers to those that have not yet
-been received by the sender, the receiver SHOULD track which ACK frames have
-been acknowledged by its peer.  The receiver SHOULD exclude already acknowledged
-packets from future ACK frames whenever these packets would unnecessarily
-contribute to the ACK frame size.
+To limit ACK ranges to those that have not yet been received by the sender, the

```suggestion
To limit ACK Ranges (see {{ack-ranges}}) to those that have not yet been received by the sender, the
```

> @@ -4245,13 +4243,13 @@ First ACK Range:
 : A variable-length integer indicating the number of contiguous packets
   preceding the Largest Acknowledged that are being acknowledged.  The First ACK
   Range is encoded as an ACK Range (see {{ack-ranges}}) starting from the
-  Largest Acknowledged.  That is, the smallest packet number included in the
+  Largest Acknowledged.  That is, the smallest packet acknowleged in the

```suggestion
  Largest Acknowledged.  That is, the smallest packet acknowledged in the
```

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316#pullrequestreview-190097089

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 15:48:21 +0000 (UTC)

@ianswett pushed 1 commit.

dc395ba7df4942979dae03394af009c193b83115  Update draft-ietf-quic-transport.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316/files/89cb57e7287efba5f0871ebb1c5d1e9ebbbf1eb7..dc395ba7df4942979dae03394af009c193b83115

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 07:48:26 -0800

20b96fe2334f35cca2f605c354df7c3b1c66c299  Update draft-ietf-quic-transport.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316/files/dc395ba7df4942979dae03394af009c193b83115..20b96fe2334f35cca2f605c354df7c3b1c66c299

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 07:57:12 -0800

ianswett commented on this pull request.

 ### Sending ACK Frames

After re-reading the text in the section before, I decided to drop this new sentence.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316#discussion_r246050457

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 08:01:04 -0800

9781113ba93d2f49e1ded947a814dda4b7128cec  Martin's comments

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316/files/20b96fe2334f35cca2f605c354df7c3b1c66c299..9781113ba93d2f49e1ded947a814dda4b7128cec

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 08:01:10 -0800

### Sending ACK Frames

Updated, PTAL

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316#discussion_r246052148

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 16:07:20 +0000 (UTC)

9d0d47d518be52df913f77f1dad44a28e35e32a1  Update draft-ietf-quic-transport.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316/files/9781113ba93d2f49e1ded947a814dda4b7128cec..9d0d47d518be52df913f77f1dad44a28e35e32a1

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 08:09:16 -0800

14509348d8918e9e7246dbbedba51723df490886  Update draft-ietf-quic-transport.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316/files/9d0d47d518be52df913f77f1dad44a28e35e32a1..14509348d8918e9e7246dbbedba51723df490886

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 08:15:28 -0800

56e891a2f56f76a2c86b0b6cc3f65f7aa1eedf6a  Update draft-ietf-quic-transport.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316/files/14509348d8918e9e7246dbbedba51723df490886..56e891a2f56f76a2c86b0b6cc3f65f7aa1eedf6a

---

From: ianswett <[email-masked]>
Date: Tue, 08 Jan 2019 08:18:00 -0800

One high-level comment.  I believe the intent was to move most of the text about sending ACKs from recovery to transport.  Also, if we defined ack-eliciting in transport, I think this PR and some other text would read more clearly.  I can do that in a follow up PR.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316#issuecomment-452357985

---

From: Martin Thomson <[email-masked]>
Date: Tue, 08 Jan 2019 14:07:59 -0800

Merged #2316 into master.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/2316#event-2061458210