Re: [netconf] AD review of draft-ietf-netconf-netconf-client-server-29

Kent Watsen <kent+ietf@watsen.net> Tue, 26 December 2023 23:02 UTC

Return-Path: <0100018ca85d65f4-4da419af-d0ce-4230-a268-d90b7613f13d-000000@amazonses.watsen.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 2F55FC14CF1B; Tue, 26 Dec 2023 15:02:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.907
X-Spam-Level:
X-Spam-Status: No, score=-6.907 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.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 5hnHtOtMR2Ed; Tue, 26 Dec 2023 15:02:26 -0800 (PST)
Received: from a48-93.smtp-out.amazonses.com (a48-93.smtp-out.amazonses.com [54.240.48.93]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 77356C14CEF9; Tue, 26 Dec 2023 15:02:23 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=224i4yxa5dv7c2xz3womw6peuasteono; d=amazonses.com; t=1703631742; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:Feedback-ID; bh=BvA/G9/tDQ0/4KCmHYareG+heFiH1W6iMWTZu8PTpuM=; b=RTpziw6uUucUcwoORc1HwV6Mla1W2fJ6dEDkHByKukkxxR29BzHoRgBoAGWywCgv r/S9eM3pAsICGJ8wxh1NFhZ2W3ErhO8Y9yQsL3YibV6yRwfz/7GfYNz0frgc4m7x+Av KVvBX78Fj0wzHRLfqniC9++Sox0ApeqiS+AaQ1YQ=
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\))
From: Kent Watsen <kent+ietf@watsen.net>
In-Reply-To: <BY5PR11MB419619DE16219C17FF7542F0B52AA@BY5PR11MB4196.namprd11.prod.outlook.com>
Date: Tue, 26 Dec 2023 23:02:22 +0000
Cc: "draft-ietf-netconf-netconf-client-server.all@ietf.org" <draft-ietf-netconf-netconf-client-server.all@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-ID: <0100018ca85d65f4-4da419af-d0ce-4230-a268-d90b7613f13d-000000@email.amazonses.com>
References: <BY5PR11MB419619DE16219C17FF7542F0B52AA@BY5PR11MB4196.namprd11.prod.outlook.com>
To: "Rob Wilton (rwilton)" <rwilton=40cisco.com@dmarc.ietf.org>
X-Mailer: Apple Mail (2.3731.600.7)
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
X-SES-Outgoing: 2023.12.26-54.240.48.93
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/pI2Peqgx6NmAUOX5gAg4R0aYnaM>
Subject: Re: [netconf] AD review of draft-ietf-netconf-netconf-client-server-29
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, 26 Dec 2023 23:02:27 -0000

Hi Rob,

Thank you for your review.
Please see below for responses to your comments.

Kent // author


> On Jun 30, 2023, at 6:42 AM, Rob Wilton (rwilton) <rwilton=40cisco.com@dmarc.ietf.org> wrote:
> 
> Hi Kent,
> 
> Here is my AD review of draft-ietf-netconf-netconf-client-server-29.
> 
> I think that this means that you have a full set of AD reviews for all 9 drafts, so you should be able to process/update them together.

Indeed - thank you!


> This draft is also very well written.  It is also, not surprisingly, structurally very similar to the RESTCONF draft, and hence where appropriate, I would like you to regard the comments that I made on the RESTCONF draft as equally applying to this draft and I will assume that they will have the same resolution and be updated in both unless you indicate in your replies otherwise.  Thus, I have not reflagged the same issues inline in the NETCONF draft but did try and include a summary (below) of the main points that I raised in the other reviews that should also be considered here.  Hopefully, this is pragmatic/sufficient, but let me know otherwise.

I fixed this draft alongside the restconf-client-server draft, but let’s see…


> I've also flagged a couple of other minor comments that seemed to be specific to this draft.

Ack.


> Moderate level comments:
> 
> (1) p 0, sec 
> 
>   This document defines two YANG modules, one module to configure a
>   NETCONF client and the other module to configure a NETCONF server.
>   Both modules support both the SSH and TLS transport protocols, and
>   support both standard NETCONF and NETCONF Call Home connections.

Why did you quote the above paragraph?


> I'm assuming that the comments that I've made previously on the other drafts, in particular the RESTCONF draft, will also be taken into consideration for this document, and resolved similarly (rather than raising all my questions again).
> 
> - RFC editor guidance on self references [FIXED]
> - Relationship diagram clarification.  [FIXED]
> - Empty groupings comment   [DISCUSS]
> - Support for on-demand connections rather than just persistent and periodic  [DISCUSS]
> - No endpoints container under grouping netconf-client-app-grouping/listen  [FIXED]
> - "Both the "initiate" and "listen" subtrees must be enabled " is unclear comment  [FIXED]
> - Query about "central" being the best prefix.  [DISCUSS]
> - Use of top level "*-supported" features vs putting them in a separate module.  [DISCUSS]
> - Avoid describing the reason why containers and p-containers exist in the YANG descriptions.  [FIXED]
> - Question about use of p-containers with lists requiring 1 or more entries (could just use a np-container and list of 0 or )  [DISCUSS]
> - Security considerations should list paths from groupings.  [DISCUSS]
> - Include expanded groupings, e.g., in the appendix?  [DISCUSS]


I’m aware of each issue above.  Many are addressed, while others need more discussion...


> Minor level comments:
> 
> (2) p 32, sec 3.2.  Example Usage
> 
>           <netconf-server-parameters>
>             <!-- nothing to configure -->
>           </netconf-server-parameters>
> 
> Possibly elide this, otherwise it implies that the netconf-server-parameter container is needed ...

Elided



> (3) p 43, sec 3.3.  YANG Module
> 
>               uses ncs:netconf-server-grouping {
>                 refine "client-identity-mappings/cert-to-name" {
>                   min-elements 1;
>                   description
>                     "The TLS transport requires a mapping.";
>                 }
>               }
> 
> I note that this refinement appears in the NETCONF module, but an equivalent refinement doesn't exist in the RESTCONF module.  Hence, I wanted to check that was intentional.

It was/is intentional.

RESTCONF clients may alternatively identify themselves at the HTTP-level 
	- i.e., HTTP "Basic" authentication
	- NOT using a TLS-level client-certificate

And therefore the cert-to-name mappings do not have to be configured...



> Nit level comments:
> 
> (4) p 43, sec 3.3.  YANG Module
> 
>                   description
>                     "NETCONF/TLS servers MUST validate client
>                      certificates.  This configures certificates
>                      at the socket-level (i.e. bags), more
>                      discriminating client-certificate checks
>                      SHOULD be implemented by the application.";
> 
> s/, more/. More/?

Indeed.  Fixed.



> (5) p 45, sec 3.3.  YANG Module
> 
>                 refine "client-identity-mappings" {
>                   if-feature "sshcmn:ssh-x509-certs";
>                   description
>                     "Augments in an 'if-feature' statement
>                      ensuring the 'client-identity-mappings'
>                      descendant is enabled only when SSH
>                      supports X.509 certificates.";
>                 }
> 
> s/Augments in/Adds in/.  I would suggest steering clear of using the term augment when not adding in new data nodes.

Point.   Fixed.



> (6) p 46, sec 3.3.  YANG Module
> 
>                   description
>                     "NETCONF/TLS servers MUST validate client
>                      certificates.  This configures certificates
>                      at the socket-level (i.e. bags), more
>                      discriminating client-certificate checks
>                      SHOULD be implemented by the application.";
> 
> s/, more/. More/?

Indeed.  Fixed.


> Regards,
> Rob

Kent