Re: Reserving error codes for "local" errors

Jana Iyengar <jri.ietf@gmail.com> Tue, 10 November 2020 00:10 UTC

Return-Path: <jri.ietf@gmail.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 3F4493A1513 for <quic@ietfa.amsl.com>; Mon, 9 Nov 2020 16:10:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, 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 (2048-bit key) header.d=gmail.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 vRAB1ugamWld for <quic@ietfa.amsl.com>; Mon, 9 Nov 2020 16:10:18 -0800 (PST)
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (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 41C4C3A14C5 for <quic@ietf.org>; Mon, 9 Nov 2020 16:10:18 -0800 (PST)
Received: by mail-lf1-x135.google.com with SMTP id d17so11612036lfq.10 for <quic@ietf.org>; Mon, 09 Nov 2020 16:10:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=w8YZP0xrdH8omLQ7/KgBo0gGDt2f3ymNTgObNC6CoHg=; b=fkFLavkxAe9mRhbepc6LVjsWj+UkCi1BXNLSuhSyGWcsjowNpBKSNQWJPACm5KwpkH 6/JmyQUaMgtcJ5Fb2n8pj3QWiPkktj/hbYBNgSYvzoO4yO7WlltN/uJpBLaNttGtDCIj YV5yT76RIEy4FYTH9S8izTxT9HX6WG2qQ2xXNPjYFZ3zdDglDCTS1u3JqNYSvRCK2PXt LuffL6qzJ8Gu/buMymK+l4yv5ZER+Mkl1uZ9uhnm/O9DPfr8FM0LEvQAGnJKgcId3Hz1 pE191PrkKPjkm4joJ5V7eCf9qUj1WBT4ftVaigpKEhgy/jVkdpbHkMQdg6ZeNKUwA6+O Dopw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=w8YZP0xrdH8omLQ7/KgBo0gGDt2f3ymNTgObNC6CoHg=; b=oOv2r3qDQWgTEzoirAsFMfu8KZc2tQJLupW6w1eE8yl3ShTO9KcjnlNMRZhwlh/8vU 3VNDBuIDotOMrj0wVWLXafp0v8Toa4dwk8PuE826Rxq0K4hD334vMLGHtPTEARJi7TCt gz4hPYTVaDHT9ZT2E0V9Ag+AzM/AuRdolZNk/DEYuAD8mUmSMDVPTr9le9xn2HxKgyno tBllE5bsxBZ76FirKudlArnA5Tq0B7rskxJ67LiN+LV3pp0fOFaYaQKFN3a8bKZNYlPe hpn9h6gLtI9hgzrkXmuUnKG7ZKZvSIt0vm3V4q+60ubZn8YWcXxk1+lFGuVdLuxDuMuJ oXSw==
X-Gm-Message-State: AOAM533kJa/JCnFkG7jYlSv9s8xVLMKn0y3dD1Xid9tkCn3tXxWDADQI eSm/cA5fqFaNkUrg5CbE4GWDgR23L0Z43eocNSs=
X-Google-Smtp-Source: ABdhPJy0Tp4BlI7eiBqI0QNn4+/1WtNVA4kf3O53zNNZouIeEJKXMb8MSqe8f36BVttNV8wvAAE83u++ha6oJ9my+VI=
X-Received: by 2002:a05:6512:3708:: with SMTP id z8mr7152019lfr.376.1604967016496; Mon, 09 Nov 2020 16:10:16 -0800 (PST)
MIME-Version: 1.0
References: <a32111db-a3fc-9c2a-254b-b25205459a97@huitema.net> <d9f45625-d3e6-4f0c-8bf9-0ccbcc048eee@www.fastmail.com> <CH2PR22MB2086E01657B6F0CF5FD99BDADAEA0@CH2PR22MB2086.namprd22.prod.outlook.com>
In-Reply-To: <CH2PR22MB2086E01657B6F0CF5FD99BDADAEA0@CH2PR22MB2086.namprd22.prod.outlook.com>
From: Jana Iyengar <jri.ietf@gmail.com>
Date: Mon, 09 Nov 2020 16:10:05 -0800
Message-ID: <CACpbDcd68mtuKmmW5u617Mugmc5834zPDR1Od3rEG3A4L-dF4g@mail.gmail.com>
Subject: Re: Reserving error codes for "local" errors
To: Mike Bishop <mbishop@evequefou.be>
Cc: Martin Thomson <mt@lowentropy.net>, "quic@ietf.org" <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000e501f105b3b580a3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/GPhte-Qu9cJOkmpq-EVLowFdbJg>
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: Tue, 10 Nov 2020 00:10:20 -0000

We discussed this way back, I think in Paris. We decided then, IIRC, to
leave local error codes out of the document, and only include the ones that
are communicated over the wire.

There will be many more local error codes; are these three any more special
than, say "Received a Stateless Reset"? I agree with Martin on
implementation, You can simply number internal error codes starting from
0xff00, for instance, if you want an easy way to demarcate, and to not
worry about collision in the future (this is what our implementation does).

On Mon, Nov 9, 2020 at 11:36 AM Mike Bishop <mbishop@evequefou.be> wrote:

> We at once point had an error code region defined for local use, IIRC.  We
> removed them.  I think Martin's suggestion provides a good workaround for
> anyone who wants to combine implementation and protocol error codes.
>
> -----Original Message-----
> From: QUIC <quic-bounces@ietf.org> On Behalf Of Martin Thomson
> Sent: Monday, November 9, 2020 3:30 AM
> To: quic@ietf.org
> Subject: Re: Reserving error codes for "local" errors
>
> On Sat, Nov 7, 2020, at 17:19, Christian Huitema wrote:
> > I wonder whether we could reserve three error codes to signal
> > "immediate" termination conditions of a connection:
> >
> > * termination by idle timeout,
> >
> > * termination after losing network connectivity,
> >
> > * termination after multiple PTO expired.
> >
> > These are errors that need to be signaled by transport to application.
>
> Our implementation has no need for this capability[1], and as the codes
> don't traverse the network, it's not clear that any protocol needs these
> either.  As these are probably stored in 64-bit values, from which we have
> only taken a quarter of the possible values, why not use the other
> 13835058055282164000 values available that you can be assured QUIC will
> never take?
>
> [1] Rust enums are weird from the perspective of a C programmer.
>
>