Subject: [quicwg/base-drafts] Fix some of the nits in #3214 (#4016)

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 07:15:51 -0700

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

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

-- Commit Summary --

  * Fix some of the nits in #3214

-- File Changes --

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

-- Patch Links --

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

---

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 07:18:58 -0700

@larseggert pushed 1 commit.

afbd7e3a578fcbe4f2f7e1da761056a3d3baefa3  Fix

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4016/files/5ba138f493989f9a373c0afee035470a77726fc4..afbd7e3a578fcbe4f2f7e1da761056a3d3baefa3

---

From: Mike Bishop <[email-masked]>
Date: Wed, 19 Aug 2020 12:29:38 -0700

@MikeBishop commented on this pull request.

> +The definition of new transport parameters ({{new-transport-parameters}}) is
+REQUIRED to specify whether they MUST, MAY, or MUST NOT be stored for 0-RTT. A

```suggestion
The definition of a new transport parameter ({{new-transport-parameters}}) is
REQUIRED to specify whether it MUST, MAY, or MUST NOT be stored for 0-RTT. A
```
I think the singular reads better, especially with the change in keyword.

> @@ -1889,7 +1891,7 @@ confirms that the client received the Initial packet from the server.  Once the
 server has successfully processed a Handshake packet from the client, it can
 consider the client address to have been validated.
 
-Additionally, a server MAY consider the client address valididated if the
+Additionally, a server MAY consider the client address validated if the

😄

> -subsequent ACK frames; see {{generating-acks}} and {{frame-ack}}.  Note that
-this requires being able to read the ECN codepoints from the enclosing IP
-packet, which is not possible on all platforms.

I'm not sure about this one.  IIRC, we were pretty deliberate about adding this text to note that compliance with the ECN guidance was conditional on OS support for doing so.

-- 
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/4016#pullrequestreview-470768701

---

From: Mike Bishop <[email-masked]>
Date: Wed, 19 Aug 2020 12:33:03 -0700

Yes, added in response to #2156 (PR #2201).

-- 
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/4016#discussion_r473270885

---

From: Martin Thomson <[email-masked]>
Date: Wed, 19 Aug 2020 17:24:23 -0700

@martinthomson requested changes on this pull request.

What Mike said applies also.

> +port reuse. An endpoint MUST NOT use an IP address and port pair for multiple
+connections unless it is certain that those protocol features are not in use.

This misses the zero-length connection ID qualification, which is the key point.

> @@ -1232,7 +1232,9 @@ cannot be reverted.
 Valid packets sent to clients always include a Destination Connection ID that
 matches a value the client selects.  Clients that choose to receive
 zero-length connection IDs can use the local address and port to identify a
-connection.  Packets that do not match an existing connection are discarded.
+connection.  Packets that do not match an existing connection, based on
+Destination Connection ID or, if zero-length, local IP address and port,

```suggestion
Destination Connection ID or, if this value zero-length, local IP address and port,
```

Also, MUST > REQUIRED.

-- 
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/4016#pullrequestreview-471048275

---

From: Mike Bishop <[email-masked]>
Date: Wed, 19 Aug 2020 19:14:25 -0700

"this value **is**"

-- 
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/4016#discussion_r473540007

---

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 23:22:06 -0700

@larseggert commented on this pull request.

No, MUST == REQUIRED. (I think you are thinking of RECOMMENDED?)

-- 
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/4016#discussion_r473640967

---

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 23:22:15 -0700

c18d8d57371d90b41c89dae6c6927989b836e848  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/4016/files/afbd7e3a578fcbe4f2f7e1da761056a3d3baefa3..c18d8d57371d90b41c89dae6c6927989b836e848

---

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 23:22:54 -0700

Am fine with leaving this as is. @gorryfair?

-- 
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/4016#discussion_r473641512

---

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 23:23:29 -0700

22a375b43100975bb0acd0f5dbaf4db227c7659a  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/4016/files/c18d8d57371d90b41c89dae6c6927989b836e848..22a375b43100975bb0acd0f5dbaf4db227c7659a

---

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 23:26:00 -0700

Tried to address this.

-- 
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/4016#discussion_r473643668

---

From: Lars Eggert <[email-masked]>
Date: Wed, 19 Aug 2020 23:44:00 -0700

eecb7feaab4b84d051b298ae379b2d320cbb6536  Fix line wrapping

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4016/files/422d364871761896809d0ff9d3417f1706cb153e..eecb7feaab4b84d051b298ae379b2d320cbb6536

---

From: Gorry Fairhurst <[email-masked]>
Date: Thu, 20 Aug 2020 00:40:27 -0700

@gorryfair commented on this pull request.

Simply ignoring ECN is not an acceptable position.  My comment here was not a request to remove that. It was a request to clarify what happens on those other platforms: "On those platforms, QUIC will not enable use of ECN for this endpoint.”

-- 
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/4016#discussion_r473705986

---

From: Lars Eggert <[email-masked]>
Date: Thu, 20 Aug 2020 00:43:01 -0700

But if the platform doesn't allow access to the ECN bits, the QUIC stack will not be able to use ECN *at all*. So why scope this to an endpoint?

-- 
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/4016#discussion_r473709226

---

From: Gorry Fairhurst <[email-masked]>
Date: Thu, 20 Aug 2020 01:40:10 -0700

OK!  SO what I intended to be clear about was if a platform can't receive ECN marks, then use of ECN can't be enabled to this endpoint.

I too would like to leave the note. 

-- 
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/4016#discussion_r473769204

---

From: Lars Eggert <[email-masked]>
Date: Thu, 20 Aug 2020 01:48:46 -0700

48e723d6addf2394185beee8d72f0d2b0911861f  Clarify when ECN cannot be supported

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4016/files/eecb7feaab4b84d051b298ae379b2d320cbb6536..48e723d6addf2394185beee8d72f0d2b0911861f

---

From: Lars Eggert <[email-masked]>
Date: Thu, 20 Aug 2020 01:49:02 -0700

I added a paragraph to the previous section to clarify this.

-- 
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/4016#discussion_r473777482

---

From: Gorry Fairhurst <[email-masked]>
Date: Thu, 20 Aug 2020 01:54:57 -0700

That new text has resolved this NiT.

-- 
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/4016#discussion_r473782854

---

From: Lars Eggert <[email-masked]>
Date: Thu, 20 Aug 2020 06:50:22 -0700

32f6cf5cfe6573b58b8d082e1e107f3523105651  Include fix for #4022

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4016/files/48e723d6addf2394185beee8d72f0d2b0911861f..32f6cf5cfe6573b58b8d082e1e107f3523105651

---

From: Martin Thomson <[email-masked]>
Date: Sun, 23 Aug 2020 20:26:29 -0700

@martinthomson approved this pull request.

Nits only.  Thanks for working through these.

> @@ -1076,8 +1076,9 @@ A zero-length connection ID can be used when a connection ID is not needed to
 route to the correct endpoint. However, multiplexing connections on the same
 local IP address and port while using zero-length connection IDs will cause
 failures in the presence of peer connection migration, NAT rebinding, and client
-port reuse; and therefore MUST NOT be done unless an endpoint is certain that
-those protocol features are not in use.
+port reuse. An endpoint MUST NOT use an IP address and port pair for multiple

```suggestion
port reuse. An endpoint MUST NOT use the same IP address and port for multiple
```

> +The definition of a new transport parameter ({{new-transport-parameters}}) is
+REQUIRED to specify whether it MUST, MAY, or MUST NOT be stored for 0-RTT. A

This is fine, but I tend to prefer:

```suggestion
The definition of a new transport parameter ({{new-transport-parameters}}) MUST
specify whether that storing the transport parameter for 0-RTT is mandatory, optional, or prohibited. A
```

(Whether an extension uses 2119 language or not is not relevant, the level of requirement is.  And as these keywords are not used in this context in the way described in RFC 2119, this is better.)

-- 
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/4016#pullrequestreview-473080656

---

From: Lars Eggert <[email-masked]>
Date: Mon, 24 Aug 2020 01:01:20 -0700

abebe52fbabd9b184ef481fe17afc77d46883549  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/4016/files/32f6cf5cfe6573b58b8d082e1e107f3523105651..abebe52fbabd9b184ef481fe17afc77d46883549

---

From: Lars Eggert <[email-masked]>
Date: Mon, 24 Aug 2020 01:01:50 -0700

4987e67df39f2a1a10393115bd8e85d67a2f37fa  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/4016/files/abebe52fbabd9b184ef481fe17afc77d46883549..4987e67df39f2a1a10393115bd8e85d67a2f37fa

---

From: Lars Eggert <[email-masked]>
Date: Mon, 24 Aug 2020 01:04:55 -0700

6d603c7d01c58121dd79b655cba17cc0cc57add7  Fix line wrap

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/4016/files/4987e67df39f2a1a10393115bd8e85d67a2f37fa..6d603c7d01c58121dd79b655cba17cc0cc57add7

---

From: Mike Bishop <[email-masked]>
Date: Tue, 25 Aug 2020 08:26:37 -0700

> @@ -1768,9 +1772,10 @@ completes, the client uses the transport parameters established in the
 handshake.  Not all transport parameters are remembered, as some do not apply to
 future connections or they have no effect on use of 0-RTT.
 
-The definition of new transport parameters ({{new-transport-parameters}}) MUST
-specify whether they MUST, MAY, or MUST NOT be stored for 0-RTT. A client need
-not store a transport parameter it cannot process.
+The definition of a new transport parameter ({{new-transport-parameters}}) MUST
+specify whether that storing the transport parameter for 0-RTT is mandatory,

```suggestion
specify whether storing the transport parameter for 0-RTT is mandatory,
```

-- 
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/4016#pullrequestreview-474595848

---

From: Lars Eggert <[email-masked]>
Date: Tue, 25 Aug 2020 08:28:24 -0700

2ba532b8454667c8975419ec3c9d28da10b71a58  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/4016/files/6d603c7d01c58121dd79b655cba17cc0cc57add7..2ba532b8454667c8975419ec3c9d28da10b71a58

---

From: Lars Eggert <[email-masked]>
Date: Wed, 26 Aug 2020 03:52:28 -0700

Looks like this is good to go.

-- 
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/4016#issuecomment-680806884

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 26 Aug 2020 14:22:01 -0700

@janaiyengar commented on this pull request.

> @@ -3842,6 +3847,10 @@ congestion in the network by setting a codepoint in the IP header of a packet
 instead of dropping it.  Endpoints react to congestion by reducing their sending
 rate in response, as described in {{QUIC-RECOVERY}}.
 
+Note that supporting ECN requires being able to set and read the ECN codepoints
+from the IP headers of packets carrying QUIC. On platforms where this is not

```suggestion
from the IP headers of datagrams carrying QUIC packets. On platforms where this is not
```

-- 
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/4016#pullrequestreview-475868352

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 26 Aug 2020 14:23:08 -0700

+Note that supporting ECN requires being able to set and read the ECN codepoints
+from the IP headers of packets carrying QUIC. On platforms where this is not
+possible, QUIC cannot support ECN.

```suggestion
 this is not possible, QUIC cannot support ECN.
```

-- 
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/4016#pullrequestreview-475868995

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 26 Aug 2020 14:23:13 -0700

@janaiyengar pushed 1 commit.

e878f7fe1243ff14486b6f375883b4eaa513ce7f  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/4016/files/2ba532b8454667c8975419ec3c9d28da10b71a58..e878f7fe1243ff14486b6f375883b4eaa513ce7f

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 26 Aug 2020 14:23:23 -0700

ef314ae118951cc04bf7e1ec51a6ff35f5bd94da  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/4016/files/e878f7fe1243ff14486b6f375883b4eaa513ce7f..ef314ae118951cc04bf7e1ec51a6ff35f5bd94da

---

From: Jana Iyengar <[email-masked]>
Date: Wed, 26 Aug 2020 14:24:54 -0700

Merged #4016 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/4016#event-3696672314