Re: [netconf] Last Call: <draft-ietf-netconf-https-notif-13.txt> (An HTTPS-based Transport for YANG Notifications) to Proposed Standard

Mark Nottingham <mnot@mnot.net> Tue, 08 November 2022 21:52 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 22FABC1527A6; Tue, 8 Nov 2022 13:52:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.806
X-Spam-Level:
X-Spam-Status: No, score=-2.806 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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=mnot.net header.b=AQPLKHxk; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Haqi8dOm
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 LUms4i6-uuEy; Tue, 8 Nov 2022 13:52:07 -0800 (PST)
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) (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 6E0FAC1526EE; Tue, 8 Nov 2022 13:52:07 -0800 (PST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 54B085C00C8; Tue, 8 Nov 2022 16:52:06 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Tue, 08 Nov 2022 16:52:06 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1667944326; x= 1668030726; bh=v/EQ9qi0eYor2xUO/mf0gBwegXU6pRuVADyrd4O1i9Y=; b=A QPLKHxk3DyzPejU568BuGHYulGzrHLhWONNoxPlf7pQC+SWoFQbTGBD/pErMopEC Yv/Skw6fonsBPRNMcZXzBsOCPliBQ1z1GBS4qCNs7oZzM+BbfSf7edqk56PEUnQq pM5fBGZC1h3tDnrqXmDVumV/MfGm75Ve3z6i1BoFc6hqRLQvwKvODXTpRl60W7vg DDuFt0Jmm9oH1kmXdDTBs5nDNLgtBaX3ogwZhM9GLJep/VaA9nkeBAFFkS8dCXHF sRRxYXb7lCTZYL2GFepHbZsvRLyJaL9qm1n0HeQv7sw1OsJdUTZfJTzw8CqogI9s Id8au1UesVYl18hiNpK+w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1667944326; x= 1668030726; bh=v/EQ9qi0eYor2xUO/mf0gBwegXU6pRuVADyrd4O1i9Y=; b=H aqi8dOm82HhYeBAtVslKl1kLD2f9gtOOwZO64m3KswHN1CN1x3xC61dCCDcChdCR u0ONzJpwPdU2D+vIcK5Q8SUa0KzRFOlKHgA9fzMtTjPj5bXdv/quJHHNmtHUWCjd 8jar/EcJfzGYTROh/Ppn4g4x6HfEoVak5UCk2R/WjObRlyShbrd3HdANpajhIrqV IzuPx+RYvOupOtXIK82SyuoAVZG3ouATVspN4vnqxBKV6KwloIn7ueIFXn2at1ns QzzCEm5ZKBML5CmQstnb4GXYwYyHu2kWqH7OdK9QHuRTuMhpFryJZ5Nb1Sd0brkL HrTSN6XOG8m+iTScdXxiA==
X-ME-Sender: <xms:hs9qY3Y56dmdm0oRb55rHaJp9pq9xQmtLwb1smVgsx2EkMoqMfqp8w> <xme:hs9qY2aXq-aTByWm8v9OavyjU1ABgvdV1NvPPmNOsDoREs2cP2v4ZRApitjsC31xu h53gTIN1dTP-paeeQ>
X-ME-Received: <xmr:hs9qY59yfV7uQDOHR5sPJ7uvMilC81cNy25jeJ2UEijXuk-otl2J5bF9z6SEmBtCtLc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrfedtgdduheejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptggguffhjgffvefgkfhfvffosehtqhhmtdhhtddvnecuhfhrohhmpeforghr khcupfhothhtihhnghhhrghmuceomhhnohhtsehmnhhothdrnhgvtheqnecuggftrfgrth htvghrnhepfedvieeufffhvdeuteehgefhheeijedvgfdvgeekgfekkeefgefhgfeugfek leeunecuffhomhgrihhnpehivghtfhdrohhrghdphhhtthhprghlohhtsghuthguohgvsh hnthgrtghtuhgrlhhlhihrvghfvghrvghntggvrhhftgeluddutddrihhtpdhmnhhothdr nhgvthenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmnhhothesmhhnohhtrdhnvght
X-ME-Proxy: <xmx:hs9qY9oT3MEAkTTHVZeiFjW2r88nlsfNw29xmB4_JioZ_UjgqgZyFQ> <xmx:hs9qYyoUxtncwD6fp_kOvt2qpiSxszCNTj0YQzfEt11ltm8M0nIDCA> <xmx:hs9qYzTuEjOicyabu6I5AjxBtgkiy0iZ7emZb7PZch5JXJp9gBQNEg> <xmx:hs9qY3AAjA3ZQxV5yCCWMVGSkSWxSBRwqQPsBAn99dqA5FLqV_s61g>
Feedback-ID: ie6694242:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 8 Nov 2022 16:52:05 -0500 (EST)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
From: Mark Nottingham <mnot@mnot.net>
In-Reply-To: <166775265321.28065.11046428885902599912@ietfa.amsl.com>
Date: Tue, 08 Nov 2022 21:52:04 +0000
Cc: netconf@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <712C3185-3CAD-44A1-9B00-58E25CC18156@mnot.net>
References: <166775265321.28065.11046428885902599912@ietfa.amsl.com>
To: Last Call <last-call@ietf.org>
X-Mailer: Apple Mail (2.3696.120.41.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/gGFPE0jMhmiFdjZJyRiGfsLVGBY>
Subject: Re: [netconf] Last Call: <draft-ietf-netconf-https-notif-13.txt> (An HTTPS-based Transport for YANG Notifications) to Proposed Standard
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 Nov 2022 21:52:12 -0000

> The IESG has received a request from the Network Configuration WG (netconf) to consider the following document: - 'An HTTPS-based Transport for YANG Notifications' <draft-ietf-netconf-https-notif-13.txt> as Proposed Standard
[...]
> The file can be obtained via
> https://datatracker.ietf.org/doc/draft-ietf-netconf-https-notif/

I'm reviewing this document with a focus on how it uses HTTP.

* The Abstract and Introduction both start with "This document defines a protocol for sending notifications over HTTPS." This is a very general statement and is likely to mislead many readers -- 'notifications' are a very broad capability. Could you please make it more specific to the intended use case?

* The document talks about HTTP a lot, but doesn't actually reference RFC9110. It probably should.

* "This document requires that the publisher is a "server" (e.g., a NETCONF or RESTCONF server), but does not assume that the receiver is a NETCONF or RESTCONF server. It does expect the receiver to be an HTTPS server to receive the notifications." This is a confusing paragraph. What is a "receiver"? More generally, it would be good if terms like "server" were consistently qualified, since it is used in both HTTP and NETCONF (apparently).

* Throughout, you use "target resource." What is the significance of "target" here? As far as I can tell, they're just HTTP resources.

* "These two resources share a common prefix that the publisher must know." Do you mean that the resources' identifiers (i.e., URIs) share a common prefix?

* "The POST messages MAY be "pipelined" (not illustrated in the diagram above), whereby multiple notifications are sent without waiting for the HTTP response for a previous POST." Did you consider this text from s 9.3.2 of RFC9112?

> Idempotent methods (Section 9.2.2 of [HTTP]) are significant to pipelining because they can be automatically retried after a connection failure. A user agent SHOULD NOT pipeline requests after a non-idempotent method, until the final response status code for that method has been received, unless the user agent has a means to detect and recover from partial failure conditions involving the pipelined sequence.

Also, the word pipelined doesn't need to be quoted.

* In s 3.4: "In this example, the "Accept" states that the publisher wants to receive the capabilities response in XML but, if not supported, then in JSON." The Accept header field doesn't use ordering to indicate precedence; you need to use q values. See RFC9110 s 12.5.1.

Cheers,

--
Mark Nottingham   https://www.mnot.net/