Subject: [quicwg/base-drafts] When is the PTO armed from? (#3959)

From: ianswett <[email-masked]>
Date: Sun, 26 Jul 2020 12:13:14 -0700

I tried adding more text, but I think it made it more confusing.  Suggestions welcome.

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

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

-- Commit Summary --

  * When is the PTO armed from?

-- File Changes --

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

-- Patch Links --

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

---

From: ianswett <[email-masked]>
Date: Sun, 26 Jul 2020 12:27:05 -0700

@ianswett pushed 1 commit.

fec8599d452e0451c3b405b5a12358fba6f3b1ed  Move some text up

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3959/files/296075784b7809bddcaf81b7397ffa2c9e5689fe..fec8599d452e0451c3b405b5a12358fba6f3b1ed

---

From: Marten Seemann <[email-masked]>
Date: Sun, 26 Jul 2020 22:35:58 -0700

@marten-seemann commented on this pull request.

> @@ -576,7 +580,7 @@ discarded, the PTO and loss detection timers MUST be reset, because discarding
 keys indicates forward progress and the loss detection timer might have been set
 for a now discarded packet number space.
 
-#### Before Address Validation
+#### Before Server Address Validation

Client?

-- 
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/3959#pullrequestreview-455481860

---

From: ianswett <[email-masked]>
Date: Mon, 27 Jul 2020 14:29:51 +0000 (UTC)

@ianswett commented on this pull request.

It's before the Client is sure the Server has validated the client's address, but I'll remove this change since it's unrelated.

-- 
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/3959#discussion_r460932311

---

From: ianswett <[email-masked]>
Date: Mon, 27 Jul 2020 07:30:10 -0700

05d495b662d0796f85dd51da173b2b602b24562b  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/3959/files/fec8599d452e0451c3b405b5a12358fba6f3b1ed..05d495b662d0796f85dd51da173b2b602b24562b

---

From: Jana Iyengar <[email-masked]>
Date: Mon, 27 Jul 2020 19:02:14 -0700

@janaiyengar approved this pull request.

LGTM, but you need to resolve conflicts

-- 
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/3959#pullrequestreview-456251401

---

From: ianswett <[email-masked]>
Date: Tue, 28 Jul 2020 06:16:12 -0700

8167f2ca109807f5c6890d3f990b0c03b4de0bd2  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/3959/files/05d495b662d0796f85dd51da173b2b602b24562b..8167f2ca109807f5c6890d3f990b0c03b4de0bd2

---

From: ianswett <[email-masked]>
Date: Tue, 28 Jul 2020 06:22:43 -0700

22e26df92bfef93dcb35e838f9dc3a3315abf025  Merge branch 'master' into ianswett-pto-start

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3959/files/8167f2ca109807f5c6890d3f990b0c03b4de0bd2..22e26df92bfef93dcb35e838f9dc3a3315abf025

---

From: ianswett <[email-masked]>
Date: Tue, 28 Jul 2020 06:26:32 -0700

bfc4d61de29e76fddf9b5ea15a869e9306af32b2  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/3959/files/22e26df92bfef93dcb35e838f9dc3a3315abf025..bfc4d61de29e76fddf9b5ea15a869e9306af32b2

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 28 Jul 2020 12:36:17 -0700

@janaiyengar commented on this pull request.

A couple of suggestions

> @@ -519,8 +519,9 @@ immediately.
 A sender recomputes and may need to reset its PTO timer every time an
 ack-eliciting packet is sent or acknowledged, when the handshake is confirmed,
 or when Initial or Handshake keys are discarded. This ensures the PTO is always
-set based on the latest RTT information and for the last sent packet in the
-correct packet number space.
+set based on the latest RTT information and for the last sent ack-eliciting
+packet in the correct packet number space. When the PTO expires and there are
+no ack-eliciting packets in flight, the PTO is set from the current time.

```suggestion
no ack-eliciting packets in flight, the PTO is set from that moment.
```

> @@ -591,15 +592,10 @@ client, it is the client's responsibility to send packets to unblock the server
 until it is certain that the server has finished its address validation
 (see Section 8 of {{QUIC-TRANSPORT}}).  That is, the client MUST set the
 probe timer if the client has not received an acknowledgement for one of its
-Handshake or 1-RTT packets, and has not received a HANDSHAKE_DONE frame.
-If Handshake keys are available to the client, it MUST send a Handshake
-packet, and otherwise it MUST send an Initial packet in a UDP datagram of
-at least 1200 bytes.
-
-A client could have received and acknowledged a Handshake packet, causing it to
-discard state for the Initial packet number space, but not sent any
-ack-eliciting Handshake packets.  In this case, the PTO timer is armed from the
-time that the Initial packet number space is discarded.
+Handshake or 1-RTT packets, and has not received a HANDSHAKE_DONE frame,

```suggestion
Handshake or 1-RTT packets and has not received a HANDSHAKE_DONE frame,
```

> +even if there are no packets in flight. If Handshake keys are available to the
+client, it MUST send a Handshake packet, and otherwise it MUST send an Initial
+packet in a UDP datagram of at least 1200 bytes.

```suggestion
even if there are no packets in flight. When the PTO fires, the client MUST
send a Handshake packet if it has Handshake keys, otherwise it MUST
send an Initial packet in a UDP datagram of at least 1200 bytes.
```

-- 
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/3959#pullrequestreview-456921344

---

From: ianswett <[email-masked]>
Date: Thu, 30 Jul 2020 12:13:26 -0700

7caae969cd09cfbcd55a7276cdf78bb4942b1e2c  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/3959/files/bfc4d61de29e76fddf9b5ea15a869e9306af32b2..7caae969cd09cfbcd55a7276cdf78bb4942b1e2c

---

From: ianswett <[email-masked]>
Date: Thu, 30 Jul 2020 12:13:35 -0700

dd39c97d1a1694438ef6046d902aee9bb612372e  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/3959/files/7caae969cd09cfbcd55a7276cdf78bb4942b1e2c..dd39c97d1a1694438ef6046d902aee9bb612372e

---

From: ianswett <[email-masked]>
Date: Thu, 30 Jul 2020 12:14:04 -0700

b2d5c1c7dbfa4796ef8f18f772f6284cfa919581  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/3959/files/dd39c97d1a1694438ef6046d902aee9bb612372e..b2d5c1c7dbfa4796ef8f18f772f6284cfa919581

---

From: Jana Iyengar <[email-masked]>
Date: Thu, 30 Jul 2020 20:41:32 +0000 (UTC)

Merged #3959 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/3959#event-3605713488