Re: NEW_CONNECTION_ID sequence numbers

Ian Swett <ianswett@google.com> Wed, 05 January 2022 14:21 UTC

Return-Path: <ianswett@google.com>
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 548623A09F7 for <quic@ietfa.amsl.com>; Wed, 5 Jan 2022 06:21:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.499
X-Spam-Level:
X-Spam-Status: No, score=-17.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 OBpkJ9WR7TSh for <quic@ietfa.amsl.com>; Wed, 5 Jan 2022 06:21:34 -0800 (PST)
Received: from mail-yb1-xb32.google.com (mail-yb1-xb32.google.com [IPv6:2607:f8b0:4864:20::b32]) (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 906913A09E8 for <quic@ietf.org>; Wed, 5 Jan 2022 06:21:34 -0800 (PST)
Received: by mail-yb1-xb32.google.com with SMTP id j83so99799765ybg.2 for <quic@ietf.org>; Wed, 05 Jan 2022 06:21:34 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rCUSQSWO+LyTVfDQ8d+/5zAG7dT2osShtx3owFv2Mss=; b=K7fz5Y/s35dVlv4yeq9qT+c4Te1L0Vwt2xCfm+ScrZ1Z4iXGa3veO2Ws0MMDAj+QU7 YwOWKcEZZFg807bMnYMrUuw/zR91b35tOPkfYT89h2tbRgHfw6Aw5GEJ0O+cnDJPu1cK FuQ8StioiUZLXEB790+4/+xNTiO5izJ1VVzr1Fq9q5Af4LQG/rIt14qB7U6WWnkeU1CD J7rYKZpdtXxnhEuvsI385M0wsf9l/7d9r3q5z9AJFhq1aqwW6ADMuG6hCoEnGTVWFkHf uwmI3zAUfFitp/x4CcVDyTnXowpEisabq2pIJruDb6j42SRMRYaPhQ4q33lEwQ9v7G4O AmSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rCUSQSWO+LyTVfDQ8d+/5zAG7dT2osShtx3owFv2Mss=; b=ahc3vXtsipxagioBDxt+g9nN/WIxF7paw0jjShHduYB2K2VIL2HcvEEGs3qfT6aF8o l89P241tM+6dU8f2cu6Ve6VcYj4lIjCDCGzUPqrlTmLCyC2epiva9ii5rrBkBQidKJQu sS1rHc3bVAmrB78/OwviKqSFB+5/sUI7RVMlDYxZoL8BvHHdqri7scLvFUHyLPzO3BuB 0MoPHIU6pYCoSr8E2vGx5fwEZGmLku1/tZbZldaH4ONcM4gJRAbly3bKY0YdPBNdzK33 KQh9T9+XZl8lY/Zrjxj8L3t+5rEIJfJRKcxjE4Px2dXOqnOnS0rX0A0hITLQSDeCsIlW s33A==
X-Gm-Message-State: AOAM5331tqYCi6GcXCw9x26rjPM2Ja4exesIYWV2ccGKhsTGobYMUEBh BNx/4nPZVPkDAP6nEFHSQX25M3I6mz1fXOCRFMtfOQ==
X-Google-Smtp-Source: ABdhPJzA2ECsp6yI8t2mtP+hUwzJj/7KNKxFX7FKbt7Fa7km3YzxuFR3IGCqqcccvn/kM6YDaepaqP/KR7HTmv/VFM4=
X-Received: by 2002:a25:c245:: with SMTP id s66mr24876468ybf.243.1641392491563; Wed, 05 Jan 2022 06:21:31 -0800 (PST)
MIME-Version: 1.0
References: <27e024ed-a78f-416e-869d-82930c7388a3@beta.fastmail.com> <CANatvzyq_sftiTeEEWi3JpYm1+bQS3TsC+wiUxksTpAP0h9gmQ@mail.gmail.com> <A5417EA8-BF3F-4CAE-B2B8-01E5715154E7@ericsson.com>
In-Reply-To: <A5417EA8-BF3F-4CAE-B2B8-01E5715154E7@ericsson.com>
From: Ian Swett <ianswett@google.com>
Date: Wed, 05 Jan 2022 09:21:19 -0500
Message-ID: <CAKcm_gNXiRUgj4t=xoC_J13rcd5YfsuvtSzVPGz3hpYHc7fmLg@mail.gmail.com>
Subject: Re: NEW_CONNECTION_ID sequence numbers
To: Mirja Kuehlewind <mirja.kuehlewind=40ericsson.com@dmarc.ietf.org>
Cc: Kazuho Oku <kazuhooku@gmail.com>, Martin Thomson <mt@lowentropy.net>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000065f4cc05d4d678bc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/ouWpUcgXruu97Wa5FGZyUF7OS5A>
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: Wed, 05 Jan 2022 14:21:39 -0000

I think a short clarification would be helpful, since I can see this being
misread by others, but I have no opinion of whether it's an errata or not.

On Wed, Jan 5, 2022 at 8:37 AM Mirja Kuehlewind <mirja.kuehlewind=
40ericsson.com@dmarc.ietf.org> wrote:

> If we want to keep a record we could also create an errata and ask the AD
> to set it into “held for document update” state…
>
>
>
>
>
> *From: *QUIC <quic-bounces@ietf.org> on behalf of Kazuho Oku <
> kazuhooku@gmail.com>
> *Date: *Wednesday, 5. January 2022 at 07:21
> *To: *Martin Thomson <mt@lowentropy.net>
> *Cc: *IETF QUIC WG <quic@ietf.org>
> *Subject: *Re: NEW_CONNECTION_ID sequence numbers
>
>
>
> Martin, thank you for bringing the issue to the list.
>
>
>
> 2022年1月5日(水) 14:57 Martin Thomson <mt@lowentropy.net>:
>
> Hey,
>
> I discovered a problem in my implementation of NEW_CONNECTION_ID that
> quicly didn't like.  I was always skipping sequence number 1, even when
> there was no preferred address, which caused quicly to think that I was
> exceeding the limits it set.
>
> Kazuho, Jana, and I all agree that my code was wrong, but I found it
> pretty hard to clearly identify how this was specified in the spec.  Here's
> what it says:
>
> >  The sequence number of the initial connection ID is 0. If the
> preferred_address transport parameter is sent, the sequence number of the
> supplied connection ID is 1.
> >
> > Additional connection IDs are communicated to the peer using
> NEW_CONNECTION_ID frames (Section 19.15). The sequence number on each newly
> issued connection ID MUST increase by 1.
>
> -- https://quicwg.org/base-drafts/rfc9000.html#name-issuing-connection-ids
> <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-2a7ac3727495dfff&q=1&e=2924cc42-2683-482a-9fc8-11e09e03a8df&u=https%3A%2F%2Fquicwg.org%2Fbase-drafts%2Frfc9000.html%23name-issuing-connection-ids>
>
> Is it abundantly clear that I'm wrong based on this?  Did I miss a clearer
> piece of text elsewhere?  Or, should we be looking to open an erratum?
>
>
>
> I think that the cited text is the only place that discusses this, and
> regarding the text we have now, it seems to me that it clearly *implies*
> that if preferred_address TP is omitted, then the CID(seqnum=1) should be
> carried by a NEW_CONNECTION_ID frame.
>
>
>
> If we were to skip CID(seqnum=1) when preferred_address TP is omitted,
> then we would have not used a clause like "if the preferred_address
> transport parameter is sent." Instead, we would have omitted the if clause
> or said like "regardless of preferred_address transport parameter being
> sent."
>
>
>
> Therefore, my personal view is that an erratum is *not* required. However,
> I agree generally that implications are a source of confusion. If we are to
> revise the spec, this is one place that we can do better.
>
>
>
> Anyways. Even if we are to conclude that an erratum is unnecessary, it is
> always good to keep a record of how potentially confusing text should be
> read (or be improved in the next revision). To that respect, I appreciate
> your bringing this issue to the list regardless of how we would conclude.
>
>
>
>
> Cheers,
> Martin
>
>
>
> --
>
> Kazuho Oku
>