Subject: [quicwg/base-drafts] Clarify conditions for disabling spin bit (#3296)

From: Martin Thomson <[email-masked]>
Date: Tue, 10 Dec 2019 16:39:14 -0800

This builds on #3270 to address the linkability issues that it added.  It recommends 1/16 of *network paths* are disabled *randomly* as suggested by @kazuho.  It also allows the determination to be made per connection ID rather than per-path (which is more granular, but I expect it will have a nearly identical effect).  The net effect is that 1/8 paths will not spin as originally intended.

Closes #3270.
Closes #3257.
Closes #2628.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Clarify the fractions of connections an endpoint must disable spin bit for
  * Disable spin randomly per-path or per-CID

-- File Changes --

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

-- Patch Links --

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

---

From: Kazuho Oku <[email-masked]>
Date: Tue, 10 Dec 2019 17:58:57 -0800

kazuho 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/3296#pullrequestreview-330259325

---

From: Kazuho Oku <[email-masked]>
Date: Tue, 10 Dec 2019 18:00:04 -0800

kazuho commented on this pull request.

> @@ -4380,12 +4380,10 @@ support the spin bit MUST implement it as specified in this section.
 Each endpoint unilaterally decides if the spin bit is enabled or disabled for a
 connection. Implementations MUST allow administrators of clients and servers
 to disable the spin bit either globally or on a per-connection basis. Even when
-the spin bit is not disabled by the administrator, implementations MUST disable
-the spin bit for a given connection with a certain likelihood. The random
-selection process SHOULD be designed such that on average the spin bit is
-disabled for at least one eighth of network paths. The selection process
-performed at the beginning of the connection SHOULD be applied for all paths
-used by the connection.

I see the last sentence being dropped in the updated text. Is that intentional?

-- 
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/3296#pullrequestreview-330259583

---

From: ianswett <[email-masked]>
Date: Tue, 10 Dec 2019 18:01:21 -0800

ianswett 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/3296#pullrequestreview-330259914

---

From: Martin Thomson <[email-masked]>
Date: Tue, 10 Dec 2019 18:18:49 -0800

martinthomson commented on this pull request.

Yeah, it seems to be duplicative as the text now talks about paths rather than connections.

-- 
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/3296#discussion_r356374911

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 10 Dec 2019 18:30:32 -0800

janaiyengar approved this pull request.

One suggestion

 Each endpoint unilaterally decides if the spin bit is enabled or disabled for a
 connection. Implementations MUST allow administrators of clients and servers
 to disable the spin bit either globally or on a per-connection basis. Even when
-the spin bit is not disabled by the administrator, implementations MUST disable
-the spin bit for a given connection with a certain likelihood. The random
-selection process SHOULD be designed such that on average the spin bit is
-disabled for at least one eighth of network paths. The selection process
-performed at the beginning of the connection SHOULD be applied for all paths
-used by the connection.
+the spin bit is not disabled by the administrator, endpoints MUST disable their
+use of the spin bit for a random selection of at least one in every 16 network
+paths, or for one in every 16 connection IDs. This ensures that the spin bit

```suggestion
paths, or for one in every 16 connection IDs. Since both endpoints in a connection disable the spin bit independently, this ensures that the spin bit
```

-- 
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/3296#pullrequestreview-330266765

---

From: Martin Thomson <[email-masked]>
Date: Tue, 10 Dec 2019 18:47:27 -0800

@martinthomson pushed 1 commit.

ee7d6964548b9d10db5e203d3c548d07753fd08a  Jana strikes again with a solid suggestion

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3296/files/8ebd3bb542cd4ed97c6c7c5ef4a1f92e0391953f..ee7d6964548b9d10db5e203d3c548d07753fd08a

---

From: Marten Seemann <[email-masked]>
Date: Tue, 10 Dec 2019 20:43:51 -0800

marten-seemann 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/3296#pullrequestreview-330295389

---

From: Igor Lubashev <[email-masked]>
Date: Wed, 11 Dec 2019 17:35:51 -0800

igorlord approved this pull request.

Looks good technically.  It may be slightly confusing, though, that the last sentence only talks about paths, while a sentence before talks about "paths or connection IDs".  In any case, the behavior ensures a sufficient amount of traffic without the spin bit to prevent ossification of the bit.

-- 
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/3296#pullrequestreview-330948477