Re: [quicwg/base-drafts] Asymmetry in the handling of SETTINGS frame (#1846)

Lucas Pardue <notifications@github.com> Tue, 09 October 2018 22: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 7EC47130DFA for <quic-issues@ietfa.amsl.com>; Tue, 9 Oct 2018 15:01:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.999
X-Spam-Level:
X-Spam-Status: No, score=-7.999 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, 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 yQM0PrfWw7af for <quic-issues@ietfa.amsl.com>; Tue, 9 Oct 2018 15:01:58 -0700 (PDT)
Received: from out-1.smtp.github.com (out-1.smtp.github.com [192.30.252.192]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB617130DEB for <quic-issues@ietf.org>; Tue, 9 Oct 2018 15:01:53 -0700 (PDT)
Date: Tue, 09 Oct 2018 15:01:52 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1539122512; bh=jGLcNjS23Y+Yoa/btE6uUMBOaxBTuiwfPeFKG93Dmh0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=LR+uo/olDrfgGR1zew8yL+0TXEhd6rUCAH4z6ROuShmbYJQdm6BxdH2V2rFSmsSfD gPtETD7wvmk616FkVY6NMtkBf5mS/T3bgDb02k5vJy47qJ9PU+1P/mhkPouycNjA60 U9Kgy7wPh3pcI+mNUe3Tv6efIHNaZAtfjjU+M+b4=
From: Lucas Pardue <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab279853d9db22f563f623866d3ea7e8ffd6dcd33292cf0000000117d4e75092a169ce15f10683@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/1846/428368292@github.com>
In-Reply-To: <quicwg/base-drafts/issues/1846@github.com>
References: <quicwg/base-drafts/issues/1846@github.com>
Subject: Re: [quicwg/base-drafts] Asymmetry in the handling of SETTINGS frame (#1846)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bbd2550c95f5_29593f97e00d45b46944c"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: LPardue
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/zPmR2kk45-LDBjknRphcRlvK7lc>
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, 09 Oct 2018 22:01:59 -0000

This is a good point. I've been operating under an assumption that a QUIC transport acknowledgement is equivalent to a SETTINGS_ACK but I'm now not sure that is true; the application layer may still not have processed the received SETTINGS.

I think the unilateral declaration is ok. For the asymmetric case like headers, the settings are independent and endpoints use the received value. For a new feature that affects the connection equally simple AND logic seems ok (feature is only 'on' if both declare it so). That's how Server Push used to work before the setting was replaced by MAX_PUSH_ID.

I don't know if @kazuho's latch proposal allows more than one type basic negotiation - server advertises multiple integer values (A, B, or C), client selects a value. On another ticket I suggested that a design that uses integer only SETTINGS parameters with an AND-logic approach can be used to enable a more complicated negotiation mechanism i.e. use SETTINGS to inform the peer that you are intending to send a new negotiation FRAME type followed later by the feature FRAME type.

-- 
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/1846#issuecomment-428368292