Re: [quicwg/base-drafts] Moving text on spinbit into transport (#2364)

Brian Trammell <notifications@github.com> Thu, 24 January 2019 09:10 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 3F3671310DF for <quic-issues@ietfa.amsl.com>; Thu, 24 Jan 2019 01:10:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -12.552
X-Spam-Level:
X-Spam-Status: No, score=-12.552 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-4.553, 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, URIBL_BLOCKED=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 J7pY5J7J-75J for <quic-issues@ietfa.amsl.com>; Thu, 24 Jan 2019 01:10:27 -0800 (PST)
Received: from out-3.smtp.github.com (out-3.smtp.github.com [192.30.252.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A879D1310CB for <quic-issues@ietf.org>; Thu, 24 Jan 2019 01:10:27 -0800 (PST)
Date: Thu, 24 Jan 2019 01:10:26 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1548321026; bh=YrZJvjz0EY4QQ67R34RGAMAjSKo9mUSKIEJvKysm2T0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=PPx22bxtK2/CcqK6McaDiKG7WovlQzaFMdHwjp6S1H6o/Bt0RozS8PqwA3u+YTZK7 GGHOeDBGIkSAQaFKVGpiJ6rsvYg6YLvimhScO5jwi0JZHaIgk7iBfqIKNVv86gpDtt 3P9gwOz/nzqmyD5LYTDYzL1qR7zxooWVdfDV5OCo=
From: Brian Trammell <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abc7639252d9db3298b9dac390a72e151fcbd10dc492cf000000011861430292a169ce17fa7dfa@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2364/review/195914975@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2364@github.com>
References: <quicwg/base-drafts/pull/2364@github.com>
Subject: Re: [quicwg/base-drafts] Moving text on spinbit into transport (#2364)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c49810234ab7_31323f8cbdad45c42853dc"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: britram
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/e99rB9Fv4MH94mEdN-4fc5ctvU4>
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: Thu, 24 Jan 2019 09:10:30 -0000

britram requested changes on this pull request.

This is good, modulo a few changes to 2119 language that I think better reflect BKK consensus.

> @@ -2818,6 +2825,44 @@ encoded as a single byte with the value 0x01.  An endpoint MAY treat the receipt
 of a frame type that uses a longer encoding than necessary as a connection error
 of type PROTOCOL_VIOLATION.
 
+## Latency Spin Bit {#spin-bit}
+
+The latency spin bit enables passive latency monitoring from observation points
+on the network path throughout the duration of a connection. The spin bit is
+only present in the short packet header, since it is possible to measure the
+initial RTT of a connection by observing the handshake. Therefore, the spin bit
+will appear after version negotiation and connection establishment are
+completed. On-path measurement and use of the Latency Spin Bit is further
+discussed in {{QUIC-MANAGEABILITY}}.
+
+The spin bit utilizes a single bit in the first byte of the short header. The
+location of the bit and procedures for how to set it by clients and servers are
+defined in {{short-header}}.
+
+Implementations MAY select to not implement the full spin bit functionality. In

I think I'd phrase this differently: "the spin bit is an optional feature. implementations that implement MUST implement it as specified in this document."

> +will appear after version negotiation and connection establishment are
+completed. On-path measurement and use of the Latency Spin Bit is further
+discussed in {{QUIC-MANAGEABILITY}}.
+
+The spin bit utilizes a single bit in the first byte of the short header. The
+location of the bit and procedures for how to set it by clients and servers are
+defined in {{short-header}}.
+
+Implementations MAY select to not implement the full spin bit functionality. In
+that case they are only REQUIRED to implement what is defined for the spin bit
+when it is disabled.
+
+Each endpoint unilaterally decides if the spin bit is enabled or disabled for a
+connection. 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

IIRC consensus here sounded like MUST probabalistically disable, since we will want to provide cover traffic in the long term, not only for non-implementing endpoints but also for flows that decide to disable it. I'd justify the MUST because it affects the privacy properties of the wire image (however minimal the actual effect is)

```suggestion
the spin bit is not disabled by the administrator implementations MUST disable
```

> +discussed in {{QUIC-MANAGEABILITY}}.
+
+The spin bit utilizes a single bit in the first byte of the short header. The
+location of the bit and procedures for how to set it by clients and servers are
+defined in {{short-header}}.
+
+Implementations MAY select to not implement the full spin bit functionality. In
+that case they are only REQUIRED to implement what is defined for the spin bit
+when it is disabled.
+
+Each endpoint unilaterally decides if the spin bit is enabled or disabled for a
+connection. 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. However, connections
+may be configured to explicitly enable spinning, for example in the case of

in line with the SHOULD above, this isn't a may/MAY:

```suggestion
SHOULD be configurable to explicitly enable spinning, for example in the case of
```

> @@ -3948,8 +3993,33 @@ Fixed Bit:
 
 Spin Bit (S):
 
-: The sixth bit (0x20) of byte 0 is the Latency Spin Bit, set as described in
-  {{!SPIN=I-D.ietf-quic-spin-exp}}.
+: The third most significant bit (0x20) of byte 0 is the Latency Spin Bit.

+1 to this

> @@ -89,6 +89,13 @@ informative:
     target:
      "https://web.archive.org/web/20150315054838/http://ha.ckers.org/slowloris/"
 
+  QUIC-MANAGEABILITY:
+    title: "Manageability of the QUIC Transport Protocol"
+    author:
+      - ins: M. Kuehlewind

add `-ins: B. Trammell` as well 

-- 
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/2364#pullrequestreview-195914975