Fwd: [IANA #1180847] Last Call: <draft-ietf-quic-http-32.txt> (Hypertext Transfer Protocol Version 3 (HTTP/3)) to Proposed Standard

Lars Eggert <lars@eggert.org> Fri, 04 December 2020 14:06 UTC

Return-Path: <lars@eggert.org>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F11B13A0B87 for <quic@ietfa.amsl.com>; Fri, 4 Dec 2020 06:06:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, 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=eggert.org
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 TKLrh9xUANPh for <quic@ietfa.amsl.com>; Fri, 4 Dec 2020 06:06:26 -0800 (PST)
Received: from mail.eggert.org (mail.eggert.org [IPv6:2a00:ac00:4000:400:211:32ff:fe22:186f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 862EE3A0D27 for <quic@ietf.org>; Fri, 4 Dec 2020 06:06:25 -0800 (PST)
Received: from [IPv6:2a00:ac00:4000:400:bcd1:2c4b:ddeb:45fd] (unknown [IPv6:2a00:ac00:4000:400:bcd1:2c4b:ddeb:45fd]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.eggert.org (Postfix) with ESMTPSA id 8F1CE61077E for <quic@ietf.org>; Fri, 4 Dec 2020 16:06:06 +0200 (EET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eggert.org; s=dkim; t=1607090766; bh=I5fYwDjVAL0+RClMs3Rd76lRFCdLy8T3JVqs4La7A2c=; h=From:Subject:References:To:Date; b=Ha9jKItBh83YqIyUo9HVRXrM+oO7jP8f1RuUesRMw2VdYXTm22OwkE9MG6ddSPa1M Hj72Cs3CLHDtlSLkeKIEZ32gUpoK8ThVUXpcz1Z0raZ63XgVX37PGm/aWzBM3akEnO HywSJR/h+zYf9KMQgxOaU3PbLxuSpiComqV9xu8s=
From: Lars Eggert <lars@eggert.org>
Content-Type: multipart/signed; boundary="Apple-Mail=_DE3C694E-5D84-4C5F-A545-5A5445DABDDA"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.4\))
Subject: Fwd: [IANA #1180847] Last Call: <draft-ietf-quic-http-32.txt> (Hypertext Transfer Protocol Version 3 (HTTP/3)) to Proposed Standard
Message-Id: <A08D2FDC-C2AB-4B11-9712-DFF21B0249B2@eggert.org>
References: <CH2PR22MB20862CC8AB0FC330CA12C817DAF20@CH2PR22MB2086.namprd22.prod.outlook.com>
To: QUIC WG <quic@ietf.org>
Date: Fri, 04 Dec 2020 16:06:03 +0200
X-MailScanner-ID: 8F1CE61077E.A5DEB
X-MailScanner: Found to be clean
X-MailScanner-From: lars@eggert.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ZXhbtZ-0BBjPKkGMQwUcIAS8gpE>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 04 Dec 2020 14:06:29 -0000

Forwarding Mike's response to the list, to there is an archive to link to.

Lars

> Begin forwarded message:
> 
> From: Mike Bishop <mbishop@evequefou.be>
> Subject: RE: [IANA #1180847] Last Call: <draft-ietf-quic-http-32.txt> (Hypertext Transfer Protocol Version 3 (HTTP/3)) to Proposed Standard
> Date: December 3, 2020 at 22:22:54 GMT+2
> To: "drafts-lastcall@iana.org" <drafts-lastcall@iana.org>
> Cc: "iesg@ietf.org" <iesg@ietf.org>, "lars@eggert.org" <lars@eggert.org>, "lucaspardue.24.7@gmail.com" <lucaspardue.24.7@gmail.com>, "magnus.westerlund@ericsson.com" <magnus.westerlund@ericsson.com>, "martin.h.duke@gmail.com" <martin.h.duke@gmail.com>, "quic-chairs@ietf.org" <quic-chairs@ietf.org>, "martin.thomson@gmail.com" <martin.thomson@gmail.com>, Jana Iyengar <jri.ietf@gmail.com>
> 
> I don't believe I've seen anything else on this thread.  There is a separate
> issue filed during Last Call,
> https://github.com/quicwg/base-drafts/issues/4387, suggesting that we reduce
> the number of greasing codepoints reserved.  However, I think the same
> questions (and same answer) apply regardless of what happens there -- we don't
> want the reserved ranges to be present in the registry, but we do want IANA
> never to give those out.  We have an open issue that either needs to be closed
> because this is agreeable or resolved by changing the documents.
> 
> -----Original Message-----
> From: Mike Bishop
> Sent: Tuesday, November 17, 2020 4:00 AM
> To: drafts-lastcall@iana.org
> Cc: iesg@ietf.org; lars@eggert.org; lucaspardue.24.7@gmail.com;
> magnus.westerlund@ericsson.com; martin.h.duke@gmail.com; quic-chairs@ietf.org;
> martin.thomson@gmail.com; Jana Iyengar <jri.ietf@gmail.com>
> Subject: RE: [IANA #1180847] Last Call: <draft-ietf-quic-http-32.txt>
> (Hypertext Transfer Protocol Version 3 (HTTP/3)) to Proposed Standard
> 
> Thanks for the review!
> 
> With regard to the GREASE values (the questions below), we specifically did
> not want the values shown as Reserved for two different reasons.  First, as a
> practical matter, 148 quadrillion reserved entries would be difficult to list
> on the page and will drown any actual reservations.  Second, the point of
> these values is that an implementer should be following the guidance to ignore
> unknown values; having an explicit list encourages an explicitly defined
> reaction.
> 
> The intent, which we wanted to confirm was possible, was simply to say that
> IANA should not accept registrations for these values.  That feels
> functionally equivalent to Reserved; if it's possible to be "reserved but not
> listed," that's a reasonable implementation.  If it's necessary to have the
> note present, I prefer the "will not be assigned by IANA" language you've used
> for the Error Code registry over noting them as Reserved.
> 
> These questions will apply to QUIC Transport as well, which contains similar
> language for its registries, so I've copied the editors for that document as
> well.
> 
> To the other items:
> - I believe the HTTP/3 registries should be a group separate from the QUIC
> registries; having them fall immediately after the group of HTTP/2 registries
> seems like a sensible outcome.
> - I will send an e-mail to tls-reg-review@ietf.org to initiate the review of
> the H3 ALPN token.
> 
> -----Original Message-----
> From: Sabrina Tanamal via RT <drafts-lastcall@iana.org>
> Sent: Monday, November 16, 2020 2:39 PM
> Cc: iesg@ietf.org; Mike Bishop <mbishop@evequefou.be>; lars@eggert.org;
> lucaspardue.24.7@gmail.com; magnus.westerlund@ericsson.com;
> martin.h.duke@gmail.com; quic-chairs@ietf.org
> Subject: [IANA #1180847] Last Call: <draft-ietf-quic-http-32.txt> (Hypertext
> Transfer Protocol Version 3 (HTTP/3)) to Proposed Standard
> 
> (BEGIN IANA COMMENTS)
> 
> IESG/Authors/WG Chairs:
> 
> The IANA Functions Operator has completed its review of
> draft-ietf-quic-http-32. If any part of this review is inaccurate, please let
> us know.
> 
> IANA understands that some of the actions requested in the IANA Considerations
> section of this document are dependent upon the approval of and completion of
> IANA Actions in another document: draft-ietf-quic-transport.
> 
> The IANA Functions Operator has questions about the actions requested in the
> IANA Considerations section of this document.
> 
> IANA Question --> [ RFC-to-be Section 11.2 of the current draft request
> creation of three new registries: frame types, settings and error codes.
> Should those registries be placed on the registry page created by
> draft-ietf-quic-transport or should a new registry page for HTTP/3 be created
> separate from the registry for QUIC?
> 
> The IANA Functions Operator understands that, upon approval of this document,
> there are five actions which we must complete.
> 
> First, in the TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs
> on the Transport Layer Security (TLS) Extensions registry page located at:
> 
> https://www.iana.org/assignments/tls-extensiontype-values/
> 
> a single, new registration will be made as follows:
> 
> Protocol: HTTP/3
> Identification Sequence: 0x68 0x33 ("h3")
> Specification: [ RFC-to-be ]
> 
> As this document requests registrations in a Specification Required (see RFC
> 8126) registry, we will initiate the required Expert Review via a separate
> request. This review must be completed before the document's IANA state can be
> changed to "IANA OK."
> 
> Second, a new registry is to be created called the HTTP/3 Frame Type registry.
> The registry will be created on a registry page to be decided as a result of
> the answer to the question from IANA above.
> 
> IANA will add a note to the registry indicating that: " each code of the
> format "0x1f * N + 0x21" for non-negative integer values of N (that is, 0x21,
> 0x40, ..., through 0x3FFFFFFFFFFFFFFE) are reserved."
> 
> IANA Question --> are those values to be marked as reserved in the new
> registry?
> 
> The registration policy for the new registry is as follows:
> 
> 0x00 - 0x3f - Standards Action or IESG Approval
> 0x40 - 3FFFFFFFFFFFFFFF - Specification Required
> 
> There are initial registrations in the new registry as follows:
> 
> +==============+=======+=============================+
> | Frame Type | Value | Specification |
> +==============+=======+=============================+
> | DATA | 0x0 | [ RFC-to-be Section 7.2.1 ] |
> +--------------+-------+-----------------------------+
> | HEADERS | 0x1 | [ RFC-to-be Section 7.2.2 ] |
> +--------------+-------+-----------------------------+
> | Reserved | 0x2 | N/A |
> +--------------+-------+-----------------------------+
> | CANCEL_PUSH | 0x3 | [ RFC-to-be Section 7.2.3] |
> +--------------+-------+-----------------------------+
> | SETTINGS | 0x4 | [ RFC-to-be Section 7.2.4 ] |
> +--------------+-------+-----------------------------+
> | PUSH_PROMISE | 0x5 | [ RFC-to-be Section 7.2.5 ] |
> +--------------+-------+-----------------------------+
> | Reserved | 0x6 | N/A |
> +--------------+-------+-----------------------------+
> | GOAWAY | 0x7 | [ RFC-to-be Section 7.2.6 ] |
> +--------------+-------+-----------------------------+
> | Reserved | 0x8 | N/A |
> +--------------+-------+-----------------------------+
> | Reserved | 0x9 | N/A |
> +--------------+-------+-----------------------------+
> | MAX_PUSH_ID | 0xd | [ RFC-to-be Section 7.2.7 ] |
> +--------------+-------+-----------------------------+
> 
> Third, a new registry is to be created called the HTTP/3 Settings registry.
> The registry will be created on a registry page to be decided as a result of
> the answer to the question from IANA above.
> 
> IANA will add a note to the registry indicating that: " each code of the
> format "0x1f * N + 0x21" for non-negative integer values of N (that is, 0x21,
> 0x40, ..., through 0x3FFFFFFFFFFFFFF) are reserved."
> 
> IANA Question --> are those values to be marked as reserved in the new
> registry?
> 
> The registration policy for the new registry is as follows:
> 
> 0x00 - 0x3f - Standards Action or IESG Approval
> 0x40 - 3FFFFFFFFFFFFFFF - Specification Required
> 
> There are initial registrations in the new registry as follows:
> 
> +========================+=======+===============================+===========+
> | Setting Name | Value | Specification | Default |
> +========================+=======+===============================+===========+
> | Reserved | 0x2 | N/A | N/A |
> +------------------------+-------+-------------------------------+-----------+
> | Reserved | 0x3 | N/A | N/A |
> +------------------------+-------+-------------------------------+-----------+
> | Reserved | 0x4 | N/A | N/A |
> +------------------------+-------+-------------------------------+-----------+
> | Reserved | 0x5 | N/A | N/A |
> +------------------------+-------+-------------------------------+-----------+
> | MAX_FIELD_SECTION_SIZE | 0x6 | [ RFC-to-be Section 7.2.4.1 ] | Unlimited |
> +------------------------+-------+-------------------------------+-----------+
> 
> Fourth, a new registry is to be created called the HTTP/3 Error Code registry.
> The registry will be created on a registry page to be decided as a result of
> the answer to the question from IANA above.
> 
> IANA will add a note to the registry indicating that: " each code of the
> format "0x1f * N + 0x21" for non-negative integer values of N (that is, 0x21,
> 0x40, ..., through 0x3FFFFFFFFFFFFFF) are reserved."
> 
> IANA Question --> are those values to be marked as reserved in the new
> registry?
> 
> The registration policy for the new registry is as follows:
> 
> 0x00 - 0x3f - Standards Action or IESG Approval
> 0x40 - 3FFFFFFFFFFFFFFF - Specification Required
> 
> There are initial registrations in the new registry as follows:
> 
> +===========================+========+==============+=============================+
> | Name | Value | Description | Specification |
> +===========================+========+==============+=============================+
> | H3_NO_ERROR | 0x0100 | No error | [ RFC-to-be Section 8.1 ] |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_GENERAL_PROTOCOL_ERROR | 0x0101 | General | [ RFC-to-be Section 8.1 ] |
> | | | protocol | |
> | | | error | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_INTERNAL_ERROR | 0x0102 | Internal | [ RFC-to-be Section 8.1 ] |
> | | | error | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_STREAM_CREATION_ERROR | 0x0103 | Stream | [ RFC-to-be Section 8.1 ] |
> | | | creation | |
> | | | error | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_CLOSED_CRITICAL_STREAM | 0x0104 | Critical | [ RFC-to-be Section 8.1 ] |
> | | | stream was | |
> | | | closed | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_FRAME_UNEXPECTED | 0x0105 | Frame not | [ RFC-to-be Section 8.1 ] |
> | | | permitted | |
> | | | in the | |
> | | | current | |
> | | | state | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_FRAME_ERROR | 0x0106 | Frame | [ RFC-to-be Section 8.1 ] |
> | | | violated | |
> | | | layout or | |
> | | | size rules | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_EXCESSIVE_LOAD | 0x0107 | Peer | [ RFC-to-be Section 8.1 ] |
> | | | generating | |
> | | | excessive | |
> | | | load | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_ID_ERROR | 0x0108 | An | [ RFC-to-be Section 8.1 ] |
> | | | identifier | |
> | | | was used | |
> | | | incorrectly | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_SETTINGS_ERROR | 0x0109 | SETTINGS | [ RFC-to-be Section 8.1 ] |
> | | | frame | |
> | | | contained | |
> | | | invalid | |
> | | | values | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_MISSING_SETTINGS | 0x010a | No SETTINGS | [ RFC-to-be Section 8.1 ] |
> | | | frame | |
> | | | received | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_REQUEST_REJECTED | 0x010b | Request not | [ RFC-to-be Section 8.1 ] |
> | | | processed | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_REQUEST_CANCELLED | 0x010c | Data no | [ RFC-to-be Section 8.1 ] |
> | | | longer | |
> | | | needed | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_REQUEST_INCOMPLETE | 0x010d | Stream | [ RFC-to-be Section 8.1 ] |
> | | | terminated | |
> | | | early | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_CONNECT_ERROR | 0x010f | TCP reset | [ RFC-to-be Section 8.1 ] |
> | | | or error on | |
> | | | CONNECT | |
> | | | request | |
> +---------------------------+--------+--------------+-----------------------------+
> | H3_VERSION_FALLBACK | 0x0110 | Retry over | [ RFC-to-be Section 8.1 ] |
> | | | HTTP/1.1 | |
> +---------------------------+--------+--------------+-----------------------------+
> 
> Fifth, a new registry is to be created called the HTTP/3 Stream Types
> registry. The registry will be created on a registry page to be decided as a
> result of the answer to the question from IANA above.
> 
> The registration policy for the new registry is as follows:
> 
> 0x00 - 0x3f - Standards Action or IESG Approval
> 0x40 - 3FFFFFFFFFFFFFFF - Specification Required
> 
> IANA will put a note in the new registry that indicates that each code of the
> format "0x1f * N + 0x21" for non-negative integer values of N (that is, 0x21,
> 0x40, ..., through
> 0x3ffffffffffffffe) will not be assigned by IANA.
> 
> There are initial registrations in the new registry as follows:
> 
> +================+=======+=============================+========+
> | Stream Type | Value | Specification | Sender |
> +================+=======+=============================+========+
> | Control Stream | 0x00 | [ RFC-to-be Section 6.2.1 ] | Both |
> +----------------+-------+-----------------------------+--------+
> | Push Stream | 0x01 | [ RFC-to-be Section 4.4 ] | Server |
> +----------------+-------+-----------------------------+--------+
> 
> The IANA Functions Operator understands that these are the only actions
> required to be completed upon approval of this document.
> 
> Note:  The actions requested in this document will not be completed until the
> document has been approved for publication as an RFC. This message is meant
> only to confirm the list of actions that will be performed.
> 
> Thank you,
> 
> Sabrina Tanamal
> Senior IANA Services Specialist
> 
> (END IANA COMMENTS)
>