Subject: [quicwg/base-drafts] Three times PTOs allows PTO to expire (#4084)

From: ianswett <[email-masked]>
Date: Wed, 09 Sep 2020 14:12:39 -0700

I believe these two cases are both 3*PTO to allow the PTO to expire at least once before declaring path validation failure and idle timeout.

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

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

-- Commit Summary --

  * Three times PTOs allows PTO to expire

-- File Changes --

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

-- Patch Links --

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

---

From: ianswett <[email-masked]>
Date: Wed, 09 Sep 2020 14:14:10 -0700

@ianswett pushed 1 commit.

a8d729daa9a325b4dd9a559432e224f107d06275  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/4084/files/c2e7001c1579486f608250e43b6b4669eae77bd2..a8d729daa9a325b4dd9a559432e224f107d06275

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 09 Sep 2020 15:55:07 -0700

@janaiyengar commented on this pull request.

> +This allows for multiple PTOs to expire prior to idle timeout, allowing for at
+least one packet to be lost prior to idle timeout.

Allow for recovery, not loss.

```suggestion
This allows for multiple PTOs to expire prior to idle timeout, allowing for the endpoint
to recover any packets lost during this time.
```

-- 
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/4084#pullrequestreview-485456348

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 09 Sep 2020 15:57:01 -0700

> @@ -2221,6 +2221,9 @@ defined in {{QUIC-RECOVERY}} is RECOMMENDED.  That is:
    validation_timeout = max(3*PTO, 6*kInitialRtt)
 ~~~
 
+This timeout allows for multiple PTOs to expire prior to failing path
+validation, ensuring one packet loss does not cause path validation failure.

```suggestion
validation, so that loss of a single PATH_CHALLENGE frame does not cause path
validation failure.
```

-- 
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/4084#pullrequestreview-485457077

---

From: Benjamin Saunders <[email-masked]>
Date: Wed, 09 Sep 2020 15:57:54 -0700

@Ralith commented on this pull request.

Perhaps "ensuring a single packet loss event cannot cause an idle timeout"? We certainly can't recover from *any* degree of packet loss.

-- 
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/4084#discussion_r485966472

---

From: ianswett <[email-masked]>
Date: Wed, 09 Sep 2020 16:18:10 -0700

c631004c1904a51d524a6a0520c4e33c0ff7f3d5  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/4084/files/a8d729daa9a325b4dd9a559432e224f107d06275..c631004c1904a51d524a6a0520c4e33c0ff7f3d5

---

From: ianswett <[email-masked]>
Date: Wed, 09 Sep 2020 16:18:53 -0700

@ianswett commented on this pull request.

I like your suggestion, taken.

-- 
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/4084#discussion_r485973128

---

From: ianswett <[email-masked]>
Date: Wed, 09 Sep 2020 16:19:38 -0700

6134b86d61607107ee1c27d13aabf908926bab9a  Ralith's suggestion

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4084/files/c631004c1904a51d524a6a0520c4e33c0ff7f3d5..6134b86d61607107ee1c27d13aabf908926bab9a

---

From: ianswett <[email-masked]>
Date: Wed, 09 Sep 2020 16:20:14 -0700

Thanks for your suggestions, I'm quite happy with this now.

-- 
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/4084#issuecomment-689873942

---

From: Benjamin Saunders <[email-masked]>
Date: Wed, 09 Sep 2020 16:57:55 -0700

@Ralith approved this pull request.

-- 
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/4084#pullrequestreview-485478219

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 09 Sep 2020 17:55:45 -0700

> +This allows for multiple PTOs to expire prior to idle timeout, ensuring a single
+packet loss event cannot cause an idle timeout.

That's not right, since loss events don't cause idle timeout.
```suggestion
This allows for multiple PTOs to expire during the idle timeout period, allowing
a sender to potentially recover lost packets.
```

-- 
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/4084#pullrequestreview-485495527

---

From: ianswett <[email-masked]>
Date: Wed, 09 Sep 2020 18:34:38 -0700

For idle timeout, it doesn't matter if the packets are recovered.

-- 
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/4084#discussion_r486010667

---

From: Martin Thomson <[email-masked]>
Date: Wed, 09 Sep 2020 18:50:07 -0700

@martinthomson pushed 1 commit.

36e479a5c2a3e61b1b6432792a3b5fa7e9831fd9  I think that this is better

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4084/files/6134b86d61607107ee1c27d13aabf908926bab9a..36e479a5c2a3e61b1b6432792a3b5fa7e9831fd9

---

From: Martin Thomson <[email-masked]>
Date: Wed, 09 Sep 2020 18:50:21 -0700

Merged #4084 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/4084#event-3748526049

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 10 Sep 2020 17:02:20 -0700

I don't understand this sentence -- how can the idle timeout occur as a result of a single packet loss?

-- 
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/4084#discussion_r486697707

---

From: Benjamin Saunders <[email-masked]>
Date: Thu, 10 Sep 2020 17:59:19 -0700

A too-short idle timer might expire before the loss of a single packet that would otherwise have reset the timer could lead to a probe being 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/4084#discussion_r486712945

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 10 Sep 2020 19:56:19 -0700

@Ralith : I'm having trouble parsing your sentence, but a PTO does not reset the idle timer.

-- 
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/4084#discussion_r486743941

---

From: Benjamin Saunders <[email-masked]>
Date: Thu, 10 Sep 2020 20:29:52 -0700

Receiving a probe does.

-- 
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/4084#discussion_r486752203