Re: [netconf] Regarding RFC 6243 "With-defaults Capability for NETCONF" … the devil is in the defaults

Andy Bierman <andy@yumaworks.com> Tue, 18 April 2023 14:14 UTC

Return-Path: <andy@yumaworks.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 E263BC14CE47 for <netconf@ietfa.amsl.com>; Tue, 18 Apr 2023 07:14:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.995
X-Spam-Level:
X-Spam-Status: No, score=-1.995 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, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, 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=yumaworks.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 f6dMLCGrRA2D for <netconf@ietfa.amsl.com>; Tue, 18 Apr 2023 07:13:56 -0700 (PDT)
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) (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 B00F7C14CE29 for <netconf@ietf.org>; Tue, 18 Apr 2023 07:13:56 -0700 (PDT)
Received: by mail-lj1-x22c.google.com with SMTP id bz21so6575010ljb.11 for <netconf@ietf.org>; Tue, 18 Apr 2023 07:13:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1681827234; x=1684419234; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=pbmlgxzS79dBPqV0OqiLP+ayPvnQ4H7VCZy6mjMNq7M=; b=LkWnYYohHmbV9+XGrNd9prNt+LTckGQHuhurFfpOG2Y2sQBpNi5TerKzyv+bxESsDM Wt0FfR2LqeyXMikRkfp7xCrdTyY8aAQXec+bwaNgw2iN/sdnzTaT4SYcc3CSc4mQfZN5 65R642aDGmf9syuVrHdYp4pxSRpsCAaXV4F17kMhHsvN7xJJn+a8kbC2f9DST59iXI3u e12FoMJvF8h/hGNJTwAC+cxeFMsHDAEJWpBNiPw1H4J0ncmXh1iHdP26fElj5SovSu4c quGu8yQH6dN5WtpQjC5cY4ocgs9052bpEmAjOFEUKPHrry4k2T/ayfKqOZeXr7j7O9lV LMAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681827234; x=1684419234; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=pbmlgxzS79dBPqV0OqiLP+ayPvnQ4H7VCZy6mjMNq7M=; b=OdtsB3/v5AfDzAeBAoVfvM+jaMVeKAlge5timADbrYmBmiEAihEKSvznHaIInEaz3n Kq6MsByYif+Mv92PB2qSvYOnoBMYd8LOH93zmOuw40NJfYvdmoaohSxsCrYsJjLbznt0 /WoHv0BlWYv6mjwdK0CiD2m7uVyTb/LJEClo3SUaxhZcUcPCxOJq9p7b55rfwObWPHTn L9ADr40Cyw3Imhbyv/tjtYQ2Co4PFfyng8s20gBqVGw1fMT6Z+0h3aGu/F9YqLaZQzSt ZjElGCnPT+290gG8N2nWDCENSY+LPR/LM6ttiSE0sVE5son8UPByseOtPHBbuVOScz4P hGeA==
X-Gm-Message-State: AAQBX9eDKGagQlK2TVfwqKegxbRmhsXShhMK6KLeRUDwzEniRei3CcNU 5+dNog6AW6Cl7cHMRHA3GfUL4Ap7MM5vmjdfagz2MA==
X-Google-Smtp-Source: AKy350YiQVjF9piEdC1SLsTjhqlc+54QLaYEqJ14oGtUEPJ8HrJ4Sem7WHJVkPAEb7kFREY8gcQO13X1pvmGU5kIPhw=
X-Received: by 2002:a2e:9e15:0:b0:299:2b6d:6e90 with SMTP id e21-20020a2e9e15000000b002992b6d6e90mr784704ljk.34.1681827234283; Tue, 18 Apr 2023 07:13:54 -0700 (PDT)
MIME-Version: 1.0
References: <GV2PR02MB9637C58B7EE4FEDBFABC3F7CF7999@GV2PR02MB9637.eurprd02.prod.outlook.com> <CABCOCHTsAJTCoB8ejhw6fN6dD3eVgeySNoXJdA11eGaegL2sOQ@mail.gmail.com> <DM6PR08MB5084B3521373CA39ED8600979B9C9@DM6PR08MB5084.namprd08.prod.outlook.com> <AS8PR02MB9626433E934A54FC4CCF2282F79D9@AS8PR02MB9626.eurprd02.prod.outlook.com> <AS8PR02MB9626152E13CD6C06A4B051FCF79D9@AS8PR02MB9626.eurprd02.prod.outlook.com>
In-Reply-To: <AS8PR02MB9626152E13CD6C06A4B051FCF79D9@AS8PR02MB9626.eurprd02.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 18 Apr 2023 07:13:42 -0700
Message-ID: <CABCOCHT5Unpa6RBAGbxek4Qk5JhxV6DJPc_MoOiZj9O+G2ZJ=w@mail.gmail.com>
To: dylan.sadoun@orange.com
Cc: "Jason Sterne (Nokia)" <jason.sterne@nokia.com>, "draft-ietf-netconf-with-defaults@ietf.org" <draft-ietf-netconf-with-defaults@ietf.org>, "netconf@ietf.org" <netconf@ietf.org>
Content-Type: multipart/related; boundary="000000000000dfc54c05f99cea86"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/pXL2rlKOEavjgKYTJCwvrlse-Lk>
Subject: Re: [netconf] Regarding RFC 6243 "With-defaults Capability for NETCONF" … the devil is in the defaults
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, 18 Apr 2023 14:14:01 -0000

Hi,

All these Errata should be rejected.

There is a 2 word correction needed in 1 place.

Andy


On Tue, Apr 18, 2023 at 5:52 AM <dylan.sadoun@orange.com> wrote:

> I submitted 3 errata just now:
>
>    1. One technical for the 2.3.1 section
>    2. One technical for the 3.3 section
>    3. One editorial (following advice from
>    https://www.ietf.org/about/groups/iesg/statements/processing-errata-ietf-stream/,
>    please change its classification if needed) for providing a supplementary
>    example illustrating the case of a NETCONF server setting data to values
>    other than their schema defaults
>
>
>
> I remain reachable by e-mail or telephone for any request.
>
>
>
> Cordialement / Regards.
>
>
>
> *Dylan SADOUN*
>
> +336 47 53 54 50
>
> dylan.sadoun@orange.com
>
>
>
>
>
> Orange Restricted
>
> *De :* SADOUN Dylan DTSI/DTR
> *Envoyé :* mardi 18 avril 2023 10:42
> *À :* Jason Sterne (Nokia) <jason.sterne@nokia.com>; Andy Bierman <
> andy@yumaworks.com>
> *Cc :* draft-ietf-netconf-with-defaults@ietf.org; netconf@ietf.org
> *Objet :* RE: [netconf] Regarding RFC 6243 "With-defaults Capability for
> NETCONF" … the devil is in the defaults
>
>
>
> Hello everyone
>
>
>
> OK, thank you, I am submitting an erratum right now.
>
>
>
> Cordialement / Regards.
>
>
>
> *Dylan SADOUN*
>
> +336 47 53 54 50
>
> dylan.sadoun@orange.com
>
>
>
>
>
> Orange Restricted
>
> *De :* Jason Sterne (Nokia) <jason.sterne@nokia.com>
> *Envoyé :* mardi 18 avril 2023 00:57
> *À :* Andy Bierman <andy@yumaworks.com>; SADOUN Dylan DTSI/DTR <
> dylan.sadoun@orange.com>
> *Cc :* draft-ietf-netconf-with-defaults@ietf.org; netconf@ietf.org
> *Objet :* RE: [netconf] Regarding RFC 6243 "With-defaults Capability for
> NETCONF" … the devil is in the defaults
>
>
>
> I agree that any data that is set should be returned.  (note there is
> plenty of debate as to whether/how a **server** sets data in its own
> running, and several associated RFCs/drafts around this topic).
>
>
>
> *From:* netconf <netconf-bounces@ietf.org> *On Behalf Of *Andy Bierman
> *Sent:* Friday, April 14, 2023 11:08 AM
> *To:* dylan.sadoun@orange.com
> *Cc:* draft-ietf-netconf-with-defaults@ietf.org; netconf@ietf.org
> *Subject:* Re: [netconf] Regarding RFC 6243 "With-defaults Capability for
> NETCONF" … the devil is in the defaults
>
>
>
>
>
> *CAUTION:* This is an external email. Please be very careful when
> clicking links or opening attachments. See the URL nok.it/ext for
> additional information.
>
>
>
> Hi,
>
>
>
> I think the text in 2.3.1 is an omission.
>
>
>
> "set by client" should be "set by client or server"
>
>
>
> Andy
>
>
>
>
>
> On Fri, Apr 14, 2023 at 7:53 AM <dylan.sadoun@orange.com> wrote:
>
> Hello
>
>
>
> I am reaching you about a potential technical erratum in *RFC 6243*,
> although I am not accustomed to the IETF process. I read
> https://www.ietf.org/about/groups/iesg/statements/processing-errata-ietf-stream/
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fabout%2Fgroups%2Fiesg%2Fstatements%2Fprocessing-errata-ietf-stream%2F&data=05%7C01%7Cdylan.sadoun%40orange.com%7Cb86705da7f9540b7694708db3f970c36%7C90c7a20af34b40bfbc48b9253b6f5d20%7C0%7C0%7C638173690201161442%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=oicNgtoiLC5VjCYFQC22n3dmHhjHoxBq95XK34C7E7A%3D&reserved=0>
> but I am still not sure if that qualifies for an erratum request. Let me
> share my observations with you, please tell me if I should report an
> erratum and in that case I will do accordingly.
>
>
>
> The RFC defines 3 ways for NETCONF servers (most commonly routers for a
> service provider such as my employer) to deal with default data for "get
> and set" NETCONF operations. Each router implementation must choose one of
> the 3 ways as its implicit/default/*basic* mode, and can also support
> other modes if asked to by a NETCONF client.
>
>
>
> My concern is about the *explicit* mode (when the NETCONF server supports
> it, with no distinction if it is the router's basic mode or not) and *configuration
> data* reports by NETCONF servers.
>
>
>
> The RFC defines:
>
>
>
> *Explicitly set data*
>
> *Data that is set to any value by a NETCONF client or other management
> application by the way of an explicit management operation, including any
> data model schema default value.  Any value set by the NETCONF server that
> is not the schema defined default value is also considered explicitly set
> data.*
>
>
>
> (emphasis mine. Please refer to the RFC for additional definitions).
>
>
>
> First, let me dive into the previous drafts to highlight the importance of
> the highlighted text. In the *draft-ietf-netconf-with-defaults-04*, the
> definition was different:
>
>
>
> *Explicitly set default data*
>
> *Is default data that is set by a NETCONF client or other external
> management application/user by the way of an actual management operation to
> the value specified as its default in the data model schema.  Some servers
> MAY treat explicitly set default data as simple default data, as they may
> not be able to differentiate between them. Data, that is set to a value
> other then its default value, is not default data, so its handling is
> outside the scope of this document.*
>
>
>
> but as soon as the *draft-ietf-netconf-with-defaults-05*, the definition
> was changed to its final RFC form (except for one word: "actual" instead of
> "explicit"). Thus we can infer the early importance of the highlighted text:
>
> *Indeed, if a NETCONF server sets some data that are NOT schema default
> data, these data are consired explicitly set data.*
>
>
>
> The whole point of this definition and its only purpose is to later define
> the 'explicit' mode, the term being only used in the *2.3.  'explicit'
> Basic Mode *and the* 3.3.  'explicit' Retrieval Mode paragraphs* (or in
> other paragraphs, when refering to the explicit mode).
>
> The *2.3.1.  'explicit' Basic Mode Retrieval* paragraph states:
>
> *When data is retrieved from a server using the 'explicit' basic mode, and
> the <with-defaults> parameter is not present, data nodes MUST be reported
> if explicitly set by the client, even if they contain the schema default
> value.  Non-configuration data nodes containing the schema default value
> MUST be reported.*
>
>
>
> (emphasis mine).
>
>
>
> This is where I think there is a mistake in the RFC. Why would only data
> nodes explicitly set *by the client* be reported? Why not explictly set
> data *by the server* as well? There are at least 3 arguments to qualify
> that as a mistake:
>
>    1. Firstly, what is the point of the definition highlighting that if a
>    NETCONF server defines data (to values that are not the schema default
>    ones) it is also explicitly set data, if that specific case is then
>    excluded from the explicit mode paragraph?
>    2. Secondly, if the NETCONF server does not report this data which is
>    not in the YANG schema, where should one be aware of the existence of this
>    data? (other than by using another mode). Having read the RFC multiple
>    times, it seems logical and intuitive to me that, in *any* mode, one
>    should be able to find *all* data on the server by combining the
>    NETCONF server report after a get AND the corresponding YANG schema.
>    3. Thirdly, in the trim mode, this data would indeed be reported.
>    Isn't it weird and counter-intuitive that the trim mode be more verbose
>    than the explicit mode?
>
> Please note that the RFC examples fails to address this particular
> situation. Maybe they should be expanded as well?
>
>
>
> To me, a correct and simpler formulation of the paragraph would be to
> remove "by the client":
>
> *When data is retrieved from a server using the 'explicit' basic mode, and
> the <with-defaults> parameter is not present, data nodes MUST be reported
> if explicitly set.  Non-configuration data nodes containing the schema
> default value MUST be reported.*
>
>
>
> the reader can then read the definition for precisions.
>
>
>
> Or, if one wants to be more precise and paraphrase the "explicitly set
> data" definition:
>
> *When data is retrieved from a server using the 'explicit' basic mode, and
> the <with-defaults> parameter is not present, data nodes MUST be reported
> if explicitly set. Data nodes containing the schema default value MUST be
> reported if set by the a NETCONF client or other management application by
> the way of an explicit management operation, and MUST NOT be reported if
> set by the NETCONF server. Non-configuration data nodes containing the
> schema default value MUST be reported.*
>
>
>
> Additionaly, the *3.3.  'explicit' Retrieval Mode* paragraph is also
> ambiguous:
>
> *When data is retrieved with a <with-defaults> parameter equal to
> 'explicit', a data node that was set by a client to its schema default
> value MUST be reported.  A conceptual data node that would be set by the
> server to the schema default value MUST NOT be reported. Non-configuration
> data nodes containing the schema default value MUST be reported.*
>
>
>
> What about data that was set by the NETCONF server to a value other than
> the schema default value? I believe it should be reported, according to the
> "explicitly set data" definition, and for the same reasons as the cricicism
> of the 2.3.1 paragraph. Thus, this part too could be expanded, e.g. to:
>
> *When data is retrieved with a <with-defaults> parameter equal to
> 'explicit', a data node that was set by a client to its schema default
> value MUST be reported.  A conceptual data node that would be set by the
> server MUST be reported, expect if set **to the schema default value, in
> which case it MUST NOT be reported*. Non-configuration data nodes
> containing the schema default value MUST be reported.
>
>
>
> I hope I was clear enough in my explanations. Please note that this
> ambiguity is not only problematic in theory but also in practice, for
> various reasons that I can detail further if necessary.
>
>
>
> Best regards,
>
>
>
>
>
> *Dylan SADOUN*
>
> +336 47 53 54 50
>
> dylan.sadoun@orange.com
>
>
>
> OF/DTSI/DTR/RSB/DIP/TAC CO
>
> *DTR* : Direction Technique des Réseaux
>
> *RSB* : Réseaux et Services Broadband
>
> *DIP* : Département IP
>
> *TAC CO* : TAC Collecte
>
>
>
>