Subject: [quicwg/base-drafts] Clarify zero-length CIDs and active_connection_id_limit TP (#3426)

From: Nick Harper <[email-masked]>
Date: Wed, 05 Feb 2020 07:52:00 -0800

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

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

-- Commit Summary --

  * Clarify zero-length CIDs and active_connection_id_limit TP

-- File Changes --

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

-- Patch Links --

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

---

From: Martin Thomson <[email-masked]>
Date: Wed, 05 Feb 2020 08:42:14 -0800

martinthomson requested changes on this pull request.

I think that I have larger concerns than this addresses. The special case for the server only highlighted that.   

>    active_connection_id_limit parameter MUST be no less than 2. If this
-  transport parameter is absent, a default of 2 is assumed.
-  When a zero-length connection ID is being used, the active_connection_id_limit
-  parameter MUST NOT be sent.
+  transport parameter is absent, a default of 2 is assumed.  When the client
+  is using a zero-length connection ID, the server MUST NOT send the
+  active_connection_id_limit parameter.

I would say here that the server MAY omit the parameter.  Sending a fixed set of transport parameters is a good practice. 

> @@ -4697,11 +4697,11 @@ active_connection_id_limit (0x000e):
   to store. This value includes the connection ID received during the handshake,
   that received in the preferred_address transport parameter, and those received
   in NEW_CONNECTION_ID frames.
-  Unless a zero-length connection ID is being used, the value of the
+  Unless the peer is using a zero-length connection ID, the value of the

I would instead prefer to say that the value is assumed to be zero if the peer requests that a zero length CID be used.

-- 
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/3426#pullrequestreview-353867016

---

From: Nick Harper <[email-masked]>
Date: Thu, 06 Feb 2020 00:34:47 -0800

nharper commented on this pull request.

I was trying to keep this an editorial PR - saying that the server MAY omit the parameter changes normative language, which I thought would make it design.

-- 
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/3426#discussion_r375698120

---

From: Mike Bishop <[email-masked]>
Date: Thu, 06 Feb 2020 01:50:54 -0800

MikeBishop commented on this pull request.

Rather than "assumed to be zero," just say that value of the TP is not used in that case.

-- 
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/3426#discussion_r375734438

---

From: Nick Harper <[email-masked]>
Date: Thu, 06 Feb 2020 03:24:23 -0800

@nharper pushed 1 commit.

19e5189c0519c9207a6e81699ea3e802924ad875  Ignore value if zero; clean up some other language.

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3426/files/de6e116638bbdb77a98b998d719cdc00fa56b99c..19e5189c0519c9207a6e81699ea3e802924ad875

---

From: Nick Harper <[email-masked]>
Date: Thu, 06 Feb 2020 03:25:50 -0800

I've changed this to say that the TP is ignored if an endpoint is using a zero-len CID.

The MUST NOT is gone, leaving an implicit MAY.

-- 
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/3426#discussion_r375779940

---

From: Martin Thomson <[email-masked]>
Date: Thu, 06 Feb 2020 04:05:39 -0800

martinthomson approved this pull request.

This is good.  Thanks for putting this together Nick.

   to store. This value includes the connection ID received during the handshake,
   that received in the preferred_address transport parameter, and those received
   in NEW_CONNECTION_ID frames.
-  Unless a zero-length connection ID is being used, the value of the
-  active_connection_id_limit parameter MUST be no less than 2. If this
-  transport parameter is absent, a default of 2 is assumed.
-  When a zero-length connection ID is being used, the active_connection_id_limit
-  parameter MUST NOT be sent.
+  The value of the active_connection_id_limit parameter MUST be no less
+  than 2. If this transport parameter is absent, a default of 2 is assumed.
+  If an endpoint uses a zero-length connection ID, the
+  active_connection_id_limit value received from its peer is ignored and
+  not used.

```suggestion
  not used, as NEW_CONNECTION_ID frames can't be sent by a peer that opts for
  a zero-length connection ID.
```

-- 
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/3426#pullrequestreview-354399838

---

From: Nick Harper <[email-masked]>
Date: Thu, 06 Feb 2020 04:11:06 -0800

66894f8b39ba2c10a626972497de31e5c19b6f6a  Explain why parameter is ignored in certain cases.

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3426/files/19e5189c0519c9207a6e81699ea3e802924ad875..66894f8b39ba2c10a626972497de31e5c19b6f6a

---

From: Nick Harper <[email-masked]>
Date: Thu, 06 Feb 2020 04:12:45 -0800

I slightly tweaked the suggested change: s/peer/endpoint/ and s/can't/cannot/.

-- 
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/3426#discussion_r375799554

---

From: ianswett <[email-masked]>
Date: Thu, 06 Feb 2020 09:00:53 -0800

ianswett approved this pull request.

> @@ -4697,11 +4697,12 @@ active_connection_id_limit (0x000e):

```suggestion
  The value of the active_connection_id_limit parameter MUST NOT be less
```

-- 
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/3426#pullrequestreview-354615853

---

From: Nick Harper <[email-masked]>
Date: Thu, 06 Feb 2020 09:07:39 -0800

6936ea28ba228be60966351b035a06affbc877ab  s/MUST be no less/MUST NOT be less/

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3426/files/66894f8b39ba2c10a626972497de31e5c19b6f6a..6936ea28ba228be60966351b035a06affbc877ab

---

From: Martin Thomson <[email-masked]>
Date: Sun, 09 Feb 2020 13:50:56 -0800

martinthomson commented on this pull request.

+  The value of the active_connection_id_limit parameter MUST NOT be less

How about "MUST be at least 2"?

-- 
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/3426#pullrequestreview-355636291

---

From: Nick Harper <[email-masked]>
Date: Mon, 10 Feb 2020 11:31:46 -0800

7eabbf9eb01302c45b75f3beb5fd9ced655112d6  Tweak MUST NOT be less/MUST be at least

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3426/files/6936ea28ba228be60966351b035a06affbc877ab..7eabbf9eb01302c45b75f3beb5fd9ced655112d6

---

From: Nick Harper <[email-masked]>
Date: Mon, 10 Feb 2020 11:32:12 -0800

Done.

-- 
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/3426#discussion_r377271038

---

From: Mike Bishop <[email-masked]>
Date: Fri, 21 Feb 2020 10:55:04 -0800

MikeBishop 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/3426#pullrequestreview-362844026

---

From: MikkelFJ <[email-masked]>
Date: Sat, 22 Feb 2020 02:43:53 -0800

mikkelfj commented on this pull request.

   to store. This value includes the connection ID received during the handshake,
   that received in the preferred_address transport parameter, and those received
   in NEW_CONNECTION_ID frames.
-  Unless a zero-length connection ID is being used, the value of the
-  active_connection_id_limit parameter MUST be no less than 2. If this
-  transport parameter is absent, a default of 2 is assumed.
-  When a zero-length connection ID is being used, the active_connection_id_limit
-  parameter MUST NOT be sent.
+  The value of the active_connection_id_limit parameter MUST be at least 2.
+  If this transport parameter is absent, a default of 2 is assumed.  If an
+  endpoint uses a zero-length connection ID, the active_connection_id_limit
+  value received from its peer is ignored and not used, as
+  NEW_CONNECTION_ID frames cannot be sent by an endpoint that opts for a
+  zero-length connection ID.

Is the parameter also ignored in future connections where TP is stored?

-- 
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/3426#pullrequestreview-363022670

---

From: Martin Thomson <[email-masked]>
Date: Sat, 22 Feb 2020 15:26:33 -0800

See #3425 for that.

-- 
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/3426#discussion_r382949442