[Webtransport] Draining WebTransport connections

Lucas Pardue <lucaspardue.24.7@gmail.com> Thu, 03 November 2022 21:23 UTC

Return-Path: <lucaspardue.24.7@gmail.com>
X-Original-To: webtransport@ietfa.amsl.com
Delivered-To: webtransport@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 578DDC1524AC for <webtransport@ietfa.amsl.com>; Thu, 3 Nov 2022 14:23:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.854
X-Spam-Level:
X-Spam-Status: No, score=-1.854 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qMH1RL1Oy3SV for <webtransport@ietfa.amsl.com>; Thu, 3 Nov 2022 14:23:09 -0700 (PDT)
Received: from mail-oa1-x30.google.com (mail-oa1-x30.google.com [IPv6:2001:4860:4864:20::30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CB7D0C1524AA for <webtransport@ietf.org>; Thu, 3 Nov 2022 14:23:09 -0700 (PDT)
Received: by mail-oa1-x30.google.com with SMTP id 586e51a60fabf-13c2cfd1126so3647290fac.10 for <webtransport@ietf.org>; Thu, 03 Nov 2022 14:23:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=PkWERyNFbv73iTCf9YE6GidTOY4BY8BneHqwqoiFKXM=; b=J/nfq7Jkuop4AEHvexmQgeTqjco13Ji9LVFC0EKfv00OSfUG957q9OX5qzsgPlAltx vCnsF3xnKoU0qGgkOHvxBATJVICRSIYlhf55T6vFOAQrkdJ7XuNWTQS+nOtIPOb/biuT E9ImLKVL9CrdugFAb/myTWMfxnNVg9sHU5Mhh7qeL5Gv6gk/WKr3HJGuFfYvAu68Dut3 Uf/JOifakcfy+TJuMWbqD25IxAN3/5vfp/BOSw0t35ZOff6p/2I0XvXY7o28JqXxCmBN ijq+D5q8VH/P38fliqXUei4yPsBl8YoEKbHQP3tUfqgGJEXTmOBmeFVcuhSMfhPQhGCj pkOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=PkWERyNFbv73iTCf9YE6GidTOY4BY8BneHqwqoiFKXM=; b=Tm+TkxAS76wQ1aAqmNy/nzBuyEtNvGACbvlNoNBO+Ld21YKKXMjdMtyqfpf2mEfesg RyPKA2yD9gPtLyDXFASCyfDfHSG3e9GceQ9hoINHBcH+fCoGsa6QqPd0Wb4mF+n+CuCW K131PEVekvvNqpBkBiwNtjc5XZuCr2flgMOUeasYYb9HUZbOHeBbtISas0rmMP7ARg4T q6pZq9WYnGdnGSPBXI+uHk1F2sLj5fdD5CMH+14+pNJeSKBA9liiPqQz1x2jG6cSMS/M HLfoOEj13HCs+L42z8KRjlLm0aLyxZLhuuAbph09o4u8zZXXrnBNBxFHoT4e/xjNu5vM YkyQ==
X-Gm-Message-State: ACrzQf3dYaXnvhYrFfcZm1B9UTfu65RAKo9mf3TtfV1Y6iFuUK228myl MCv9IvZoO5R4SG3MGmxxaWlIbzymq3Qq7wMXILi/Rl7PeIY=
X-Google-Smtp-Source: AMsMyM7mqh/9KTH64XLXSfxqSIvZA680VZIrk/nDUa0wmiuZ3lDTWVh8SDRqRnYDFv9WjecXSrlFUOUnz/5M4fGYVgg=
X-Received: by 2002:a05:6871:285:b0:13c:50b8:240d with SMTP id i5-20020a056871028500b0013c50b8240dmr18628663oae.150.1667510588889; Thu, 03 Nov 2022 14:23:08 -0700 (PDT)
MIME-Version: 1.0
From: Lucas Pardue <lucaspardue.24.7@gmail.com>
Date: Thu, 03 Nov 2022 21:22:56 +0000
Message-ID: <CALGR9obnjZvsfG_c9E+inFhBzb_6wpFBk1xuRt0eFEWJTgbm8Q@mail.gmail.com>
To: WebTransport <webtransport@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000004f600205ec979002"
Archived-At: <https://mailarchive.ietf.org/arch/msg/webtransport/EfmrDJoyVHNRhvuRTgNGLP2-Klc>
Subject: [Webtransport] Draining WebTransport connections
X-BeenThere: webtransport@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: WebTransport WG <webtransport.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webtransport>, <mailto:webtransport-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/webtransport/>
List-Post: <mailto:webtransport@ietf.org>
List-Help: <mailto:webtransport-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webtransport>, <mailto:webtransport-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 03 Nov 2022 21:23:10 -0000

Hi WebTranport enthusiasts,

I might have missed it but it seems that WebTranport doesn't have a
capability to drain connections, similar to how GOAWAY works for H2 or H3.
The crux of draining here is being able to tell a peer that creating new
streams is no longer wanted (and possibly that they should move to a new
connection to do that).

draft-ietf-webtrans-http3-03 Section 4.6 [1] does say something but I don't
think it helps:

> HTTP/3 defines a graceful shutdown mechanism (Section 5.2 of [HTTP3
<https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-03.html#HTTP3>])
that allows a peer to send a GOAWAY frame indicating that it will no longer
accept any new incoming requests or pushes. This mechanism applies to the
CONNECT requests for new WebTransport sessions. A GOAWAY frame does not
affect data streams for existing WebTransport sessions; those can continue
to be opened even after the GOAWAY frame has been sent or received.

The text is clear that H3's GOAWAY won't stop the peer creating new
WebTransport streams. Absent explicit draining notification for
WebTransport streams, the outcome seems to be to either expect spontaneous
connection termination, or delegate it to applications on top of
WebTransport to make their own solution up. Maybe we should just solve it
in the WebTransport protocol, so that the WebTransport API factors it in?

Cheers,
Lucas

[1] -
https://www.ietf.org/archive/id/draft-ietf-webtrans-http3-03.html#section-4.6