Re: [quicwg/base-drafts] Spin per peer (#1982)

ekr <notifications@github.com> Fri, 23 November 2018 19:01 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 06AE512DD85 for <quic-issues@ietfa.amsl.com>; Fri, 23 Nov 2018 11:01:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Level:
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id v10nZP8iRZrV for <quic-issues@ietfa.amsl.com>; Fri, 23 Nov 2018 11:01:56 -0800 (PST)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 695E91288EB for <quic-issues@ietf.org>; Fri, 23 Nov 2018 11:01:56 -0800 (PST)
Date: Fri, 23 Nov 2018 11:01:55 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1542999715; bh=m1F/3Sq3k3ShPTIkjnYvEUnY6xK16xmEpyUyhMYPDts=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=PPbbW/QGyUifVFagVKtkxxEQgakEm5tKU5TX/S2mzOfyRuKWz/vkKcekq8A2yhlu+ VH8OYOpp/Zpglle03l29Pm+ePY9HUSgUkEoEpatHlP21mhk8LCwRVMfn4woq0L49Ur 09LvmexKewC72rWOff+aETGa4F6vy5Sb7riLstBo=
From: ekr <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abb2a3463471279335024337268ad02ae5e5a86ac092cf00000001181010a392a169ce169265bd@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1982/review/178010552@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1982@github.com>
References: <quicwg/base-drafts/pull/1982@github.com>
Subject: Re: [quicwg/base-drafts] Spin per peer (#1982)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bf84ea3b9997_31763fc2ae4d45bc15760cc"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ekr
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/3wW_i0SHVV-qwJwvAJ0iinLWXcE>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 23 Nov 2018 19:01:58 -0000

ekr requested changes on this pull request.



> @@ -235,11 +235,19 @@ Implementations SHOULD 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
 SHOULD disable the spin bit on a randomly chosen
-fraction of connections.  The selection process should be designed such that
-on average the spin bit is disabled for at least 1/8th of the connections.
-
-When the spin bit is disabled, endpoints SHOULD set the spin bit value to zero,
-regardless of the values received from their peer. Addendums or revisions to
+fraction of connections.
+
+The selection process SHOULD be designed such that
+on average the spin bit is disabled for at least one eighth of network paths.
+The random choice SHOULD be dependent
+on the source and destination addresses of the path,
+so that the spin bit is consistently enabled or
+disabled for repeated use of the same path.

I don't think you want this to be random but rather deterministic and unpredictable.

"The selection process should be externally unpredictable but consistent for any given combination of source and destination address/port. For instance, the implementation might have a static key which it uses to key a pseudorandom function over these values and use the output to determine whether to send the spin bit:".

With that said, is your thought that if there is migration the spin bit might suddenly start or stop working? If not, you need to rephrase this as being about the initial parameters.

> -
-When the spin bit is disabled, endpoints SHOULD set the spin bit value to zero,
-regardless of the values received from their peer. Addendums or revisions to
+fraction of connections.
+
+The selection process SHOULD be designed such that
+on average the spin bit is disabled for at least one eighth of network paths.
+The random choice SHOULD be dependent
+on the source and destination addresses of the path,
+so that the spin bit is consistently enabled or
+disabled for repeated use of the same path.
+
+When the spin bit is disabled, endpoints SHOULD set the spin bit value to
+a constant value randomly chosen to be 0 or 1,
+regardless of the values received from their peer.  Alternatively, endpoints MAY
+change this value when changing connection ID.  Addendums or revisions to

I have a number of problems with this text:

1. I don't think we need to specify anything
2. If we are to specify something, I would prefer it to be random on a per-packet basis.
3. The combination of SHOULD/MUST isn't even clear about whether other behaviors are permissible.

-- 
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/1982#pullrequestreview-178010552