Re: [quicwg/base-drafts] Extension frames (#1068)

Mike Bishop <notifications@github.com> Thu, 05 April 2018 23:34 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 4FB4E12D875 for <quic-issues@ietfa.amsl.com>; Thu, 5 Apr 2018 16:34:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.009
X-Spam-Level:
X-Spam-Status: No, score=-7.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, 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 670ceHNZbV93 for <quic-issues@ietfa.amsl.com>; Thu, 5 Apr 2018 16:34:47 -0700 (PDT)
Received: from out-7.smtp.github.com (out-7.smtp.github.com [192.30.252.198]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1CFB4128C0A for <quic-issues@ietf.org>; Thu, 5 Apr 2018 16:34:47 -0700 (PDT)
Date: Thu, 05 Apr 2018 16:34:46 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1522971286; bh=fA3DUd4myVnDrGK7YwaLwuIFbkgVvHMRQc8Wkm3UTwU=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=GZxYA0kF/qSFnQf7w5YV7AFh/wAHJt8t6omp1DkmiMDEjwRv/td0uVLsHjAKJidzX OJ7MQl2RTrP/ZC5hTOBnjpLnoNkMOXmvvDwqrBOjUTVZKWvJtld8arqE4jBY038HqD dddQKAllWz9m34eDm0DWFAnKfGq8FIppau9m48yA=
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab946daf9030c480e8501c5ed5763f4b730df0570092cf0000000116de749692a169ce115ea54e@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1068/review/109909386@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1068@github.com>
References: <quicwg/base-drafts/pull/1068@github.com>
Subject: Re: [quicwg/base-drafts] Extension frames (#1068)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ac6b296294e4_3c023f944891af3446787"; 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/TPEso8oi4CMkxzp6YITYoy7PGHA>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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, 05 Apr 2018 23:34:49 -0000

MikeBishop commented on this pull request.

The Private Use area of only 256 values makes me a little nervous, given that a collision means authenticated packets will fail to parse properly.  I'd be more inclined to go straight to provisional registration as soon as someone wants to interop beyond their own clients.

If we feel we must have unstructured experiments, let *those* use a defined TLV format with a nice, long type field.

> @@ -1197,6 +1204,16 @@ ack_delay_exponent (0x0007):
   value is also used for ACK frames that are sent in Initial, Handshake, and
   Retry packets.  Values above 20 are invalid.
 
+extension_frames (0x0009):
+
+: A list of extension frame mappings, encoded using the ExtensionFrameMappings
+  struct.  That is, a 2 octet length field, followed by 1 or more repetitions of
+  a one octet frame type and a two octet identifiers.  Each entry defines a
+  mapping of frame type to the 16-bit extension frame types defined in
+  {{frame-extension}}.  Valid frame types MUST be from 0x80 to 0xff, other

Comma splice; either use a `;` or make these separate sentences.

> +The `extension_frames` transport parameter establishes a mapping from the 16-bit
+frame extension identifier to a frame type octet in the range from 0x80 to 0xff
+inclusive.  Each endpoint establishes their own preferred mapping; this
+determines the mapping for frames that they receive.  An endpoint translates the
+16-bit extension frame identifier into a frame type using the `extension_frames`
+transport parameter advertised by their peer.
+
+This design allows the same extension frame to use a different frame type in
+each direction.  It also allows for extension frames to be used in one direction
+only.
+
+An endpoint MUST NOT use extension frames in packets protected with handshake
+keys.  A client can use extension frames in 0-RTT based on the value of the
+server's transport parameters used in a previous connection.
+
+The definition of a extension frame identifier MUST include the format of the

an

> +determines the mapping for frames that they receive.  An endpoint translates the
+16-bit extension frame identifier into a frame type using the `extension_frames`
+transport parameter advertised by their peer.
+
+This design allows the same extension frame to use a different frame type in
+each direction.  It also allows for extension frames to be used in one direction
+only.
+
+An endpoint MUST NOT use extension frames in packets protected with handshake
+keys.  A client can use extension frames in 0-RTT based on the value of the
+server's transport parameters used in a previous connection.
+
+The definition of a extension frame identifier MUST include the format of the
+extension frame and its semantics.  QUIC frames are not length-delimited, so
+knowledge of the format of frames is necessary for decoding packets.  Each
+extension frame identifier definition MUST include the versions of QUIC that the

"identifier" is redundant.

-- 
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/1068#pullrequestreview-109909386