Subject: [quicwg/base-drafts] Add MaxAckDelay sub-section (#1574)

From: ianswett <[email-masked]>
Date: Tue, 17 Jul 2018 08:12:52 -0700

You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Add MaxAckDelay sub-section

-- File Changes --

    M draft-ietf-quic-recovery.md (32)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/1574.patch
https://github.com/quicwg/base-drafts/pull/1574.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/1574

---

From: Marten Seemann <[email-masked]>
Date: Tue, 17 Jul 2018 08:24:58 -0700

marten-seemann commented on this pull request.

> @@ -206,6 +206,17 @@ Min RTT is the minimum RTT measured over the connection, prior to adjusting by
 ack delay.  Ignoring ack delay for min RTT prevents intentional or unintentional
 underestimation of min RTT, which in turn prevents underestimating smoothed RTT.
 
+### Maximum Ack Delay
+
+QUIC is able to explicitly model delay at the receiver via the ack delay
+field in the ACK frame.  Therefore, QUIC diverges from TCP by calculating a
+MaxAckDelay dynamically, instead of assuming a constant delayed ack timeout
+for all connections.
+
+MaxAckDelay is the maximum ack delay supplied in an incoming ACK frame.

In all incoming ACK frames?

> @@ -206,6 +206,17 @@ Min RTT is the minimum RTT measured over the connection, prior to adjusting by
 ack delay.  Ignoring ack delay for min RTT prevents intentional or unintentional
 underestimation of min RTT, which in turn prevents underestimating smoothed RTT.
 
+### Maximum Ack Delay
+
+QUIC is able to explicitly model delay at the receiver via the ack delay
+field in the ACK frame.  Therefore, QUIC diverges from TCP by calculating a
+MaxAckDelay dynamically, instead of assuming a constant delayed ack timeout
+for all connections.
+
+MaxAckDelay is the maximum ack delay supplied in an incoming ACK frame.
+MaxAckDelay excludes ack delays that aren't included in an RTT sample because

Should we say "that don't have a larger Largest Acknowledged"?

-- 
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/1574#pullrequestreview-137883999

---

From: ianswett <[email-masked]>
Date: Tue, 17 Jul 2018 15:36:14 +0000 (UTC)

@ianswett pushed 1 commit.

eb68d7a  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1574/files/c6f901d52c06ade1224c799104a4d75563e9f27f..eb68d7a57e955d33553cf24b3250d1b872f50ee3

---

From: Rui Paulo <[email-masked]>
Date: Tue, 17 Jul 2018 11:33:04 -0700

rpaulo commented on this pull request.

> @@ -338,15 +351,10 @@ conditions:
 * If RTO ({{rto}}) is earlier, schedule a TLP in its place. That is,
   PTO SHOULD be scheduled for min(RTO, PTO).
 
-MaxAckDelay is the maximum ack delay supplied in an incoming ACK frame.
-MaxAckDelay excludes ack delays that aren't included in an RTT sample because
-they're too large and excludes those which reference an ack-only packet.
-
-QUIC diverges from TCP by calculating MaxAckDelay dynamically, instead of
-assuming a constant delayed ack timeout for all connections.  QUIC includes this
-in all probe timeouts, because it assume the ack delay may come into play,
-regardless of the number of packets outstanding.  TCP's TLP assumes if at least
-2 packets are outstanding, acks will not be delayed.
+QUIC includes MaxAckDelay in all probe timeouts, because it assume the ack

"assumes"

-- 
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/1574#pullrequestreview-137963604

---

From: ianswett <[email-masked]>
Date: Tue, 17 Jul 2018 11:35:09 -0700

eec56e6  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1574/files/eb68d7a57e955d33553cf24b3250d1b872f50ee3..eec56e685820b2a81b8d5cb04c06adb3c0fb9bdb

---

From: ianswett <[email-masked]>
Date: Wed, 25 Jul 2018 04:35:49 -0700

Any other comments?  This is purely editorial, so it'd be nice to get it in soon before it rots.

-- 
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/1574#issuecomment-407724146

---

From: Subodh Iyengar <[email-masked]>
Date: Wed, 25 Jul 2018 08:17:06 -0700

siyengar approved this pull request.

Lgtm

> @@ -206,6 +206,19 @@ Min RTT is the minimum RTT measured over the connection, prior to adjusting by
 
+### Maximum Ack Delay
+
+QUIC is able to explicitly model delay at the receiver via the ack delay
+field in the ACK frame.  Therefore, QUIC diverges from TCP by calculating a
+MaxAckDelay dynamically, instead of assuming a constant delayed ack timeout
+for all connections.
+
+MaxAckDelay is the maximum ack delay supplied in an all incoming ACK frames.
+MaxAckDelay excludes ack delays that aren't included in an RTT sample because
+they're too large or the largest acked has already been acknowledged.
+MaxAckDelay also excludes ack delays where the largest ack references an
+ACK-only packet.

Lgtm

-- 
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/1574#pullrequestreview-140363462

---

From: ianswett <[email-masked]>
Date: Wed, 25 Jul 2018 08:18:25 -0700

Merged #1574.

-- 
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/1574#event-1752884263

---

From: Mike Bishop <[email-masked]>
Date: Fri, 27 Jul 2018 16:36:37 -0700

MikeBishop commented on this pull request.

+### Maximum Ack Delay
+

You've used "largest ack" and "largest acked" here.  Elsewhere in the document, you also use "largest acknowledged."  Might be worth picking one and using it consistently?

-- 
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/1574#pullrequestreview-141295508

---

From: ianswett <[email-masked]>
Date: Mon, 30 Jul 2018 06:28:42 -0700

ianswett commented on this pull request.

+### Maximum Ack Delay
+

PR #1611 sent

-- 
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/1574#discussion_r206132089