[art] Reviewing taps-impl-12

Christian Amsüss <christian@amsuess.com> Thu, 19 May 2022 11:47 UTC

Return-Path: <christian@amsuess.com>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CA5A8C15E6EB; Thu, 19 May 2022 04:47:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 ETONsT486-ad; Thu, 19 May 2022 04:47:23 -0700 (PDT)
Received: from smtp.akis.at (smtp.akis.at [IPv6:2a02:b18:500:a515::f455]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 55F2FC14F72D; Thu, 19 May 2022 04:47:21 -0700 (PDT)
Received: from poseidon-mailhub.amsuess.com ([IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd]) by smtp.akis.at (8.17.1/8.17.1) with ESMTPS id 24JBlHbV020752 (version=TLSv1.2 cipher=ECDHE-ECDSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 19 May 2022 13:47:18 +0200 (CEST) (envelope-from christian@amsuess.com)
X-Authentication-Warning: smtp.akis.at: Host [IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bd] claimed to be poseidon-mailhub.amsuess.com
Received: from poseidon-mailbox.amsuess.com (poseidon-mailbox.amsuess.com [IPv6:2a02:b18:c13b:8010:a800:ff:fede:b1bf]) by poseidon-mailhub.amsuess.com (Postfix) with ESMTP id 973A06299; Thu, 19 May 2022 13:47:16 +0200 (CEST)
Received: from hephaistos.amsuess.com (unknown [IPv6:2a02:b18:c13b:8010:6af7:d8f9:ffcb:a3ef]) by poseidon-mailbox.amsuess.com (Postfix) with ESMTPSA id 4EE5FA13F; Thu, 19 May 2022 13:47:16 +0200 (CEST)
Received: (nullmailer pid 3632884 invoked by uid 1000); Thu, 19 May 2022 11:47:15 -0000
Date: Thu, 19 May 2022 13:47:15 +0200
From: Christian Amsüss <christian@amsuess.com>
To: draft-ietf-taps-impl@ietf.org
Cc: taps@ietf.org, art@ietf.org
Message-ID: <YoYuQ4/oPlrLsp1V@hephaistos.amsuess.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="McYmRNzeFJF+pg4C"
Content-Disposition: inline
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/lfSoYrkqb4ESluPQYdo-SCYzvNI>
Subject: [art] Reviewing taps-impl-12
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 19 May 2022 11:47:24 -0000

Hello taps-impl authors,

I've had a look at Implementing Interfaces to Transport Services from
the point of view of a curious observer of the TAPS ecosystem without
actual hands-on experience. (Also, I thought I'd review this for the ART
review team -- I wasn't assigned, but still kept ART area issues in
mind, and none were even remotely encountered).

* "Connection establishment is only a local operation for a Datagram
  transport (e.g., UDP(-Lite))": I think the criterion is not Datagram
  transports but "transports without a handshake" or "connectionless
  protocols" as it is used later in the document.

* "In effect, each leaf node will send the same early application data,
  yet encoded (encrypted) differently on the wire.": There has been a
  warning on the privacy implications of using the same token on
  different paths; doesn't sending an identical 0-RTT message racingly
  on multiple transports cause similar correlation issues?

* Framers: What is the difference between the Final message property and
  the separate IsEndOfMessage event argument?

  Also there, the term MessageContext could use a definition.

* Framers: The <tt> paragraphs in Defining Message Framers and later
  might be formal language or pseudocode, I can't tell. It might help if
  the introduction stated something around names and signatures of
  signals and functions being expressed in pseudocode, and that
  identifiers in implementations are expected to be similar to those but
  following the conventions of the language they are implemented in.

* Is the content of messages always bytes? I certainly got that
  impression, but didn't see it explicitly either. (The "protocols that
  expose byte-streams" have that property visible in their name). When
  framers are used a lot, I can envision that at some point a message
  might not use data bytes at all any more, as all information in the
  underlying message is being dissected into protocol specific
  properties.

* UDP, ConnectionError: Would those soft errors contain additional
  information about the ICMP error code, and can an application expect
  to find the (partial) original datagram in the error?

* (More out of curiosity, with no expectation that this would find its
  way into the text unless you think I've hit a bug): In UDP Multicast
  Receive, which kind of ICMP notifications can come in there that would
  constitute a ConnectionError -- given that this transport does not
  send (and would thus usually not trigger any)?

* The most recent changes on the two linked Python implementations had
  me briefly worry that they might be out of date with their last
  changes around 2019/2020 -- but comparing -12 with -06 it seems that
  the document has been stable for quite a while (with many changes
  appearing editorial.

  This nicely matches my the overall impression of this document, which
  is that it looks mature and ready to implement.

Best regards, and thank you for the continuous work on this
Christian

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom