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

Mahesh Jethanandani <mjethanandani@gmail.com> Tue, 29 November 2022 02:12 UTC

Return-Path: <mjethanandani@gmail.com>
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 83DB4C14CF15; Mon, 28 Nov 2022 18:12:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.094
X-Spam-Level:
X-Spam-Status: No, score=-7.094 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, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 tL80MIeR_lWj; Mon, 28 Nov 2022 18:12:11 -0800 (PST)
Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com [IPv6:2607:f8b0:4864:20::729]) (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 7DCD2C14CF17; Mon, 28 Nov 2022 18:12:11 -0800 (PST)
Received: by mail-qk1-x729.google.com with SMTP id z1so8780080qkl.9; Mon, 28 Nov 2022 18:12:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=C+BQb0aMZciGAoX4Gt1r3W5d5Um5SY9OiHcOkj9fHGk=; b=FA0njJLqpiCBpnidAC43Iih2O5uA8gXBTNV8ZgLKSxqQYVZ9/Q8zpTZuWI2glu5iL1 X2VFnVqbbJlQL5eEXauQJgD8Z4X9Fb3yR++s53rjphgAAntl0Mgv18RGaMiwtH/oWYRu Quwjs6nGOIxa8w7oY+yv9QPZBGCDgr56VAWYGZpIVFH+92maFXmBaD+tyx411nBnA4ZN aX8Nz3qVsoOi1DJxiimxj7PcrgBKdG1rdfoo0aqWskj9SbrdPo6TcvTmsbZH53xxHA5Z 1uJry0Cm2Po/gdXz+WuCMdtCDz9SsDXEXn3A7T/URln6eimFZyHQ4kth62dBBl1Rkl4Q mQ9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=C+BQb0aMZciGAoX4Gt1r3W5d5Um5SY9OiHcOkj9fHGk=; b=3IfbK+K8RrYeOzfl8+7jC1ZMgm9+tKBigfSv1NoviC0MXoEpLffgq6suwh4QrEsdj5 13157L4n827+48WYaXDw1IDrN48wkVO9fYgCt6S8EuYeZqzenPCUt8Snn+jrUYwY12rT KKZH/0LU83+A5yrTsWaUiU06Bm8PJApPLMSQjhzr2/1s8gEXqqj0ojZ6GlWietM1wnPf Sn5N4MzldIg5AmCCPY3an6ozdtlYs0nS+Cxnzrb0zMvv4gZPBLZoWrJgeaDh2wIh6a+I GKIW7NvsVJRHutVkarsbM+IK609oSDPLm/jGjIUKUs4l+aTfzirYHg6aIlQxSpNRCv5v M4cg==
X-Gm-Message-State: ANoB5plnT1WDoJ8rAWxkP9RhOW9n6FyL8z26y2vZiiFOzO2sVQW5QVAy lV6V8xjq6k5KHzH+Qqc+QRgRyNkgDQQ=
X-Google-Smtp-Source: AA0mqf64pNiNr2d6GS7sC+QDlK8aoOa2LXlrpDRnbNhhflUYxfq+di6H02hm2r1aA9vGtqkrURUbdA==
X-Received: by 2002:a05:620a:51ca:b0:6ec:fa04:d97c with SMTP id cx10-20020a05620a51ca00b006ecfa04d97cmr31971595qkb.764.1669687930495; Mon, 28 Nov 2022 18:12:10 -0800 (PST)
Received: from smtpclient.apple ([70.234.233.187]) by smtp.gmail.com with ESMTPSA id 189-20020a3705c6000000b006fab416015csm9394588qkf.25.2022.11.28.18.12.09 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 28 Nov 2022 18:12:09 -0800 (PST)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Message-Id: <BD470220-2289-4299-8BAF-5D1F3C17377A@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_BB9A612B-C375-4C91-9ACA-C24610EF5584"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\))
Date: Mon, 28 Nov 2022 18:12:08 -0800
In-Reply-To: <712C3185-3CAD-44A1-9B00-58E25CC18156@mnot.net>
Cc: Last Call <last-call@ietf.org>, netconf <netconf@ietf.org>, HTTP Working Group <ietf-http-wg@w3.org>
To: Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org>
References: <166775265321.28065.11046428885902599912@ietfa.amsl.com> <712C3185-3CAD-44A1-9B00-58E25CC18156@mnot.net>
X-Mailer: Apple Mail (2.3654.120.0.1.13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/sGN7bsc0N_htzfvG0X46XZCjjMc>
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, 29 Nov 2022 02:12:15 -0000

HI Mark,

Thanks first of all for your review of the document.

> On Nov 8, 2022, at 9:52 PM, Mark Nottingham <mnot=40mnot.net@dmarc.ietf.org> wrote:
> 
>> 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?

Would it help if we said that “This document defines a protocol for sending an asynchronous event notification similar to the notifications defined in NETCONF Event Notifications [RFC 5277], but over HTTPS"?

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

Ok. Will add the reference.

> 
> * "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).

We can import the definition of a receiver and publisher from RFC 8639 to clarify those definitions. As far as the use of “server" is concerned, where it is not qualified, we can prefix it with NETCONF/RESTCONF to distinguish it from HTTP or other servers. Does that work?

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

“target resource” as a term in imported from RFC 8040, which describes it as follows. Would it help if we refer to it?

      target resource: the resource that is associated with a particular
      message, identified by the "path" component of the request URI.


> 
> * "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?

That is correct. How about we say “These two resource identifiers share a common prefix that a publisher learns from a request it issues, as defined in Section 3.2”?

> 
> * "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.

A relay-notification is not idempotent, in that a subsequent (duplicate) notification could confuse the receiver. Based on what you are quoting, my understanding is that we cannot pipeline such a request. If that is the case, we will remove the above statement. Would you agree?

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

If we remove the line, this becomes a non-issue.

> 
> * 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.

I am not entirely clear on how to redo the example to use the q value. Can you suggest the change? Otherwise, we can change the example by saying it will accept either XML and JSON.

Thanks.

> 
> Cheers,
> 
> --
> Mark Nottingham   https://www.mnot.net/
> 
> _______________________________________________
> netconf mailing list
> netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf


Mahesh Jethanandani
mjethanandani@gmail.com