Subject: [quicwg/base-drafts] Disabling Spin bit for what percentage of connections? (#3270)

From: Igor Lubashev <[email-masked]>
Date: Wed, 20 Nov 2019 01:12:58 -0800

Clarify the fractions of connections an endpoint must disable spin bit for.
Fixes #3257 
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Clarify the fractions of connections an endpoint must disable spin bit for

-- File Changes --

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

-- Patch Links --

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

---

From: Martin Thomson <[email-masked]>
Date: Sun, 24 Nov 2019 22:40:39 -0800

martinthomson requested changes on this pull request.

> @@ -4331,11 +4331,10 @@ 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 for at least a sixteenth of connections with an expectation that
+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.

In reviewing this last sentence, I am reminded that this provides a nice signal that might improve linkability.  I think that the requirement to perform the determination separately for every network path/connection ID as suggested above is better.

> @@ -4331,11 +4331,10 @@ 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 for at least a sixteenth of connections with an expectation that
+the spin bit is disabled for at least one eighth of network paths. The selection

> endpoints MUST disable their use of the spin bit on at least one in every 16 network paths, or for one in every 16 connection IDs. This ensures that the spin bit signal is disabled on approximately one in eight network paths.

-- 
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/3270#pullrequestreview-322063549

---

From: Kazuho Oku <[email-masked]>
Date: Mon, 25 Nov 2019 00:10:21 -0800

kazuho commented on this pull request.

@martinthomson If we are to "ensure" that the spin bit signal would be disabled for approx. 1/8 of network paths, I think we need to require endpoints to select one in every 16 paths *at random*. Otherwise, the paths that would have the spin bit disabled could go below 1/8. For example, when there is only one client and one server talking to each other, and if both of them disable spin bit for every 16th connection they handle, then the spin bit would be enabled for only 1/16 of all the 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/3270#discussion_r350033868

---

From: Martin Thomson <[email-masked]>
Date: Mon, 25 Nov 2019 00:41:57 -0800

martinthomson commented on this pull request.

Quite right.  

> 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 signal is disabled on approximately one in eight network paths.

-- 
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/3270#discussion_r350045434