[Idr] my comment on mike quic fsm stuff

Tony Przygienda <tonysietf@gmail.com> Mon, 22 July 2024 17:52 UTC

Return-Path: <tonysietf@gmail.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 63ED3C14CE40 for <idr@ietfa.amsl.com>; Mon, 22 Jul 2024 10:52:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 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, 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 Nr3fAqgyCxOo for <idr@ietfa.amsl.com>; Mon, 22 Jul 2024 10:52:39 -0700 (PDT)
Received: from mail-ua1-x933.google.com (mail-ua1-x933.google.com [IPv6:2607:f8b0:4864:20::933]) (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 969FCC15152E for <idr@ietf.org>; Mon, 22 Jul 2024 10:52:39 -0700 (PDT)
Received: by mail-ua1-x933.google.com with SMTP id a1e0cc1a2514c-81f01f88e8eso1425885241.0 for <idr@ietf.org>; Mon, 22 Jul 2024 10:52:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721670758; x=1722275558; darn=ietf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=8f66WqMCF8324II7aWb6Z/0++vIN3KFOwUmXgk3oRs4=; b=PhOnDjEXoHkgzk6E9VCBUfr654FfgDhZPRctU1xK1/OjXFQsSaIttwATwf1bZMF6OT WumPND+o0TR1uKhuRE2J4nMFAWogpZka+nZECCdU2oAkS9vF3oY7U8Ci7giIwpVddfWL RLpS8zI0zV/HCi7EgJOlxJZ85WdBAlU0nTJ2riFt09ckj3SMWppKDNFouaFLm/LMfNNc smpkUm2Bvqqf03B9z1ieKxcfuHW1GKsHQM+omkPnMDILH6XfjqlpfnyQZxkUF2GALfAM /1uS1jAYC30laq75KOXw4qOCZIOlnqT46ebT4SW87+7UVor49/9YKWdl09yfe4b8d+Cz mKtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721670758; x=1722275558; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=8f66WqMCF8324II7aWb6Z/0++vIN3KFOwUmXgk3oRs4=; b=EYnHaWoEo+mD/54vNrJuujV7aIiBMnpL4EmpM38EsnwqwfSENvBuh7s5QpBrD+TiqK sKvrgA0ix6c5m9rFKzUWXr1Gd5RTBP1Hl1UW8pv6dA+1Gh212AM6lYQRPrvi9ZcNUFe8 a7jBEQ6aCHqUaTCT8URurj6Kl1taLYa9RXKEwtpEqV1X5/Tnqebp6MOeXKpYM+a2EaHA 4jk/vT+2Egddsz9RfryL+g5Q9iS7lYOH5wfmLHhQDz6Kq5mOluyrfwpfdY+n0msHm2YE Xjsis5R9lMqK29U1l10aDUhjbeCYpX7TOGHTj1w9WJUeh0w0ddKYpA97N1YGSGxBxhQv 0Xaw==
X-Gm-Message-State: AOJu0YxKsK3vaGA76uul+6otpFDvSaBQbH41C4oUQLamh6uPQ6E+VYsx YbwNoz9a+i+jbJqwR1AHA/rZKgU1XHcJrBhy6FbNeYnyFtGx7zo0hIPqlsGYIfZ76FXD9lpymy7 Iq1T+UkN2CrWRos8KJ29TmmwKbk1k9ecwdaMCiQ==
X-Google-Smtp-Source: AGHT+IGvhgh/ZNTxDivtaFI7aQEnA0t530i2boxOxQVy+P6SdZR1zZ7CQmjkQCRwpBmYQo498shC40B3KF2fXK60/54=
X-Received: by 2002:a05:6102:5e98:b0:48f:143a:d8e9 with SMTP id ada2fe7eead31-4928ba6cdabmr8522005137.20.1721670758132; Mon, 22 Jul 2024 10:52:38 -0700 (PDT)
MIME-Version: 1.0
From: Tony Przygienda <tonysietf@gmail.com>
Date: Mon, 22 Jul 2024 10:52:02 -0700
Message-ID: <CA+wi2hPW=BsJpC0mLuWHiCXqudn8Cecm1ZJajSwhWNUGfOX0GQ@mail.gmail.com>
To: idr wg <idr@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f57462061dd9b51f"
Message-ID-Hash: BUZNU4L4IEEMGV4BK3BIRO3RBGKIWHHB
X-Message-ID-Hash: BUZNU4L4IEEMGV4BK3BIRO3RBGKIWHHB
X-MailFrom: tonysietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-idr.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Idr] my comment on mike quic fsm stuff
List-Id: Inter-Domain Routing <idr.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/idr/fV-Fwm5d9JMdhFLd0szINFecC1o>
List-Archive: <https://mailarchive.ietf.org/arch/browse/idr>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Owner: <mailto:idr-owner@ietf.org>
List-Post: <mailto:idr@ietf.org>
List-Subscribe: <mailto:idr-join@ietf.org>
List-Unsubscribe: <mailto:idr-leave@ietf.org>

As I said on the mike, my decently extensive experience is that at the
level of complexity the draft aims at trying to keep the FSMs specified in
tools, be it UML pictures or some kind of EBF syntax becomes super fragile,
especially since you can count on good amount of mildly suprising effects
when dealing with QUIC ;-)

The safest way to make sure this draft doesn't generate significant amount
of follow up work and interoperability problems in the field is to provide
a reference implementation on top of highly formalized FSM library that an
implementation can test against and the library is capable to generate SVG
pictures, table formats of actions etc automatically

Recently published work that may help you with that is either a Rust
library juniper open sourced

https://crates.io/crates/extfsm

which all the Rust RFC is based on

or alternately the FSM library implementation in python contained in

https://github.com/brunorijsman/rift-python

which also contains an extensive framework of tests as good example how to
run two implementations against each other and assure interoperability

as another interesting input, you probably want to nail the version of QUIC
used fairly strictly for interoperability purposes. It's pretty stable
since about 2-3 years but there have been surprises on updates and since
you use channeling extensively, that can change behavior/performance quite
drastically depending how it's used within an implementation as well

Easy? No, lots of work but IME this guarantees a very high quality (as in
correctness and robustness) deliverable as specifications go at this level
of complexity and impact ...  Observe that the performance of the whole
thing is irrelevant largely. exchanging bunch of routes on AF is surely
good but e'thing else is implementation really (still modulo QUIC
subchannel behavior)

thanks & my 2c

-- tony