[quicwg/base-drafts] Reset spin bit when probing (#3802)

Mike Bishop <notifications@github.com> Tue, 30 June 2020 23:19 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 5713B3A00B2 for <quic-issues@ietfa.amsl.com>; Tue, 30 Jun 2020 16:19:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.697
X-Spam-Level:
X-Spam-Status: No, score=-1.697 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_IMAGE_ONLY_28=1.404, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, 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 JLwY5x0aJca2 for <quic-issues@ietfa.amsl.com>; Tue, 30 Jun 2020 16:19:13 -0700 (PDT)
Received: from out-23.smtp.github.com (out-23.smtp.github.com [192.30.252.206]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E9B613A00B0 for <quic-issues@ietf.org>; Tue, 30 Jun 2020 16:19:12 -0700 (PDT)
Received: from github-lowworker-f045d1f.ac4-iad.github.net (github-lowworker-f045d1f.ac4-iad.github.net [10.52.19.54]) by smtp.github.com (Postfix) with ESMTP id 09073660A05 for <quic-issues@ietf.org>; Tue, 30 Jun 2020 16:19:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1593559152; bh=QXwC4LFfmElblrTYeKCushEz8FFgKqQLi/aJG9oTQ0E=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=ZuLP79Knp/h7j3QAkte4/LXxE7/b/Ex25JlhMCZpOmZPZmtouOTTRtsKEG/v8UrEm 4gQrsj7Ir9YUdj9weVOIqApwhixOKljYaXYDiihB1UgQ1hzLVsIte1HUFQNzMMtq5z QsL9qve8nRujDylX9DUo8CZcSPZcVwho2gzGhd7U=
Date: Tue, 30 Jun 2020 16:19:11 -0700
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK5QSXKXBWP4GMFZ25V5A6UW7EVBNHHCNKBTRA@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/3802@github.com>
Subject: [quicwg/base-drafts] Reset spin bit when probing (#3802)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5efbc86fedcc9_ac43fccda8cd96c71253"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
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/wkJTd0XaGNtmj0cqX2pE7PbwXjU>
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: Tue, 30 Jun 2020 23:19:14 -0000

This is likely a case of "we know what we meant," but....

Section 17.3.1 says that the spin bit can be enabled/disabled on a per-connection or per-CID basis, and that:
> An endpoint resets its spin value to zero when sending the first packet of a given connection with a new connection ID. This reduces the risk that transient spin bit state can be used to link flows across connection migration or ID change.

However, a literal reading of this suggests that a client which sets the spin bit on a per-connection basis will revert the spin bit on the main path to zero whenever it uses a new CID to probe on an alternate path.  It also has implications for an implementation that uses many active CIDs at once.

One resolution is that the current state of the spin bit is maintained on a per-CID basis, and that the CID begins at zero for each CID.  However, for the client using many CIDs at once, that then begs the question of *which* of the peer's CIDs are being reflected back to it.

I think that what we actually mean here is two-fold:

- The current state of the spin bit is maintained on a per-path basis, and is initialized to zero for each path.
- The current state of the spin bit is reset to zero whenever the CID being used on a path changes, no matter how frequently that 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/issues/3802