Re: [netmod] [Technical Errata Reported] RFC7950 (6855)

Randy Presuhn <randy_presuhn@alumni.stanford.edu> Thu, 17 February 2022 22:53 UTC

Return-Path: <randy_presuhn@alumni.stanford.edu>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F00523A0C34 for <netmod@ietfa.amsl.com>; Thu, 17 Feb 2022 14:53:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.611
X-Spam-Level:
X-Spam-Status: No, score=-2.611 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.714, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Lz-055sw2sdp for <netmod@ietfa.amsl.com>; Thu, 17 Feb 2022 14:53:21 -0800 (PST)
Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 64D743A09AF for <netmod@ietf.org>; Thu, 17 Feb 2022 14:53:21 -0800 (PST)
Received: by mail-pj1-f47.google.com with SMTP id v8-20020a17090a634800b001bb78857ccdso8390848pjs.1 for <netmod@ietf.org>; Thu, 17 Feb 2022 14:53:21 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=WFMHdRDcAFC1le9Ry/Z/aQGKSKR2yk7eT3LcU0U7PPk=; b=TmKkezuaFjM+VDkAAb68OdeexKdpk71Xz4NxHdL3jp8fPQvyhKJfO1st8L2amJ2Dl0 pxLaxSYDQjlsuMWBxmgZ/RIWj8asgkSQ/Vt7c9yHVa2pO1KJaUkeJ+7o7EIdfNuf2P8Q NkjHTqycMHFUnWZ2BPZLlXTmMuuHm2ID0NOqAIcFo45D9t71MKGFswnDEqaLNUNBAD83 oYK1hEw7rV8+1IlyVRSTJNTWrPiHe78KLERIoQVHsbFij2xGC6NjE1wYG54UwPDDNNs+ GAhWocDV4FZQLpSv65Xt63tabLA7bX4JYl7wcSxyN+lN7TYPmZbeVRlCiBHn5kxUeTmJ Jplg==
X-Gm-Message-State: AOAM532Fx+PW2Bp0GTvoazpFjHqz77VjzLt9NwYmRIJ51urgBf7c3j9j j0AfwiuwEuUFMXTPpSwufc8nVw==
X-Google-Smtp-Source: ABdhPJzbGpXw5Mw7WCdSVk8Bf/12bsetbfRBe2S4OGgd7eaBZrWDQQgD+/akh45Yin9sEqSO54/Btw==
X-Received: by 2002:a17:902:e541:b0:14d:880d:7805 with SMTP id n1-20020a170902e54100b0014d880d7805mr4786224plf.108.1645138400800; Thu, 17 Feb 2022 14:53:20 -0800 (PST)
Received: from ?IPV6:2601:646:9300:607:c06e:432:26ef:2b02? ([2601:646:9300:607:c06e:432:26ef:2b02]) by smtp.gmail.com with ESMTPSA id q13sm650562pfj.44.2022.02.17.14.53.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Feb 2022 14:53:20 -0800 (PST)
Message-ID: <e03ebb9b-b166-4ecc-8fee-5d03752cdfa1@alumni.stanford.edu>
Date: Thu, 17 Feb 2022 14:53:18 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1
Content-Language: en-US
To: "SADOVNIKOV, ALEXEI" <AS549R@att.com>, RFC Errata System <rfc-editor@rfc-editor.org>, "mbj@tail-f.com" <mbj@tail-f.com>, "warren@kumari.net" <warren@kumari.net>, "rwilton@cisco.com" <rwilton@cisco.com>, "joelja@bogus.com" <joelja@bogus.com>, "kent+ietf@watsen.net" <kent+ietf@watsen.net>, "lberger@labn.net" <lberger@labn.net>
Cc: "netmod@ietf.org" <netmod@ietf.org>
References: <20220217185035.13A2F4C1D9@rfc-editor.org> <c342b121-efe9-30f0-22dd-f931e1378e79@alumni.stanford.edu> <8843E673-6323-4384-90B2-E3C75D519BB8@att.com>
From: Randy Presuhn <randy_presuhn@alumni.stanford.edu>
In-Reply-To: <8843E673-6323-4384-90B2-E3C75D519BB8@att.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ISZ8_4_mPVLwbJdOR7KXsrD5Gx0>
Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (6855)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Feb 2022 22:53:27 -0000

Hi -

On 2022-02-17 1:01 PM, SADOVNIKOV, ALEXEI wrote:
> Randy,
> 
> I definitively see that point, and the line of sparing usage can be 
> somewhat subjective.
> 
> In this case, I think use of “MUST” is justified RFC 2119 “actually 
> required for interoperation or to limit behavior which has potential for 
> causing harm”.
> 
> Missing “MUST” statement does leave it open for interpretation, and

That is simply not true.  The existing text, e.g. "If the container
defines RPC or action input or output parameters, these subelements
are encoded in the same order as they are defined within the
'container' statement"  leaves no room whatsoever for interpretation.

> misinterpretation will result in harm – XML payload which encapsulated 
> without following these ordering rule can be rejected during 
> decapsulation which does follow the rule.  The XML payload is exchanged 
> between client and server, often different implementations, hence 
> different interpretation by different developers will lead to 
> communication failure.

The existing text is unambiguous, and provides no options in ordering.

> As such, I do not see how proposed errata is at odds with sparing usage 
> provision, when it meets the described reason for usage.
> 
> In other sections of this RFC (7.7.8., 7.8.5. and 7.9.5) “MUST” already 
> used for same purpose; it is difficult to see how it is any more 
> important in where ‘MUST’ is used vs to where it is not.
> 
> Having said all that, the suggested errata can be reduced to exclude 
> section 7.5.7 and second paragraph of 7.8.5 – in both of this cases the 
> exact meaning can be referred from section 7.14.4 (as long as “MUST” is 
> present in there).  Would that resolve your concern of sparing usage?

Such text-diddling seems utterly pointless to me.

Randy

--------------------
> Best regards,
> 
> *Alexei Sadovnikov*
> 
> Principal System Architect
> 
> Business Solutions
> 
> AT&T Business
> 
> *AT&T Services, Inc.*
> 
> 550 Cochituate Road, Framingham, MA 01701
> 
> m  781.249.1516 |  o  781.249.1516 | _as549r@att.com 
> <mailto:as549r@att.com>_
> 
> This e-mail and any files transmitted with it are AT&T property, are 
> confidential, and are intended solely for the use of the individual or 
> entity to whom this e-mail is addressed. If you are not one of the named 
> recipient(s),  or otherwise have reason to believe that you have 
> received this message in error, please notify the sender and delete this 
> message immediately from your computer. Any other use, retention, 
> dissemination, forwarding, printing, or copying of this e-mail is 
> strictly prohibited.
> 
> *From: *Randy Presuhn <randy_presuhn@alumni.stanford.edu>
> *Date: *Thursday, February 17, 2022 at 2:55 PM
> *To: *RFC Errata System <rfc-editor@rfc-editor.org>, "mbj@tail-f.com" 
> <mbj@tail-f.com>, "warren@kumari.net" <warren@kumari.net>, 
> "rwilton@cisco.com" <rwilton@cisco.com>, "joelja@bogus.com" 
> <joelja@bogus.com>, "kent+ietf@watsen.net" <kent+ietf@watsen.net>, 
> "lberger@labn.net" <lberger@labn.net>
> *Cc: *as549r <AS549R@att.com>, "netmod@ietf.org" <netmod@ietf.org>
> *Subject: *Re: [netmod] [Technical Errata Reported] RFC7950 (6855)
> 
> Hi -
> 
> This seems like a remarkably pointless change, and arguably
> 
> at odds with section 6 of RFC 2119. ("Imperatives of the type
> 
> defined in this memo must be used with care and sparingly.")
> 
> Randy
> 
> On 2022-02-17 10:50 AM, RFC Errata System wrote:
> 
>  > The following errata report has been submitted for RFC7950,
> 
>  > "The YANG 1.1 Data Modeling Language".
> 
>  >
> 
>  > --------------------------------------
> 
>  > You may review the report below and at:
> 
>  > 
> https://urldefense.com/v3/__https://www.rfc-editor.org/errata/eid6855__;!!BhdT!gZbsQDBeTveBJPSYBpHQOJS8wjZSUsguzZ6KwXq4NAiJ1cAOZgcko9_3wb4pLOxeGCFKcQFoi9XajHOG-NeqWtpDMmnMUI4$ 
> <https://urldefense.com/v3/__https:/www.rfc-editor.org/errata/eid6855__;!!BhdT!gZbsQDBeTveBJPSYBpHQOJS8wjZSUsguzZ6KwXq4NAiJ1cAOZgcko9_3wb4pLOxeGCFKcQFoi9XajHOG-NeqWtpDMmnMUI4$> 
> 
> 
>  >
> 
>  > --------------------------------------
> 
>  > Type: Technical
> 
>  > Reported by: Alexei Sadovnikov <as549r@att.com <mailto:as549r@att.com>>
> 
>  >
> 
>  > Section: GLOBAL
> 
>  >
> 
>  > Original Text
> 
>  > -------------
> 
>  > 7.5.  The "container" Statement
> 
>  > 7.5.7.  XML Encoding Rules
> 
>  >
> 
>  >     A container node is encoded as an XML element.  The element's local
> 
>  >     name is the container's identifier, and its namespace is the module's
> 
>  >     XML namespace (see Section 7.1.3).
> 
>  >
> 
>  >     The container's child nodes are encoded as subelements to the
> 
>  >     container element.  If the container defines RPC or action input or
> 
>  >     output parameters, these subelements are encoded in the same order as
> 
>  >     they are defined within the "container" statement.  Otherwise, the
> 
>  >     subelements are encoded in any order.
> 
>  >
> 
>  > 7.8. The "list" Statement
> 
>  > 7.8.5.  XML Encoding Rules
> 
>  >
> 
>  >     The list's key nodes are encoded as subelements to the list's
> 
>  >     identifier element, in the same order as they are defined within the
> 
>  >     "key" statement.
> 
>  >
> 
>  >     The rest of the list's child nodes are encoded as subelements to the
> 
>  >     list element, after the keys.  If the list defines RPC or action
> 
>  >     input or output parameters, the subelements are encoded in the same
> 
>  >     order as they are defined within the "list" statement.  Otherwise,
> 
>  >     the subelements are encoded in any order.
> 
>  >     . . . . .
> 
>  >
> 
>  > 7.14.  The "rpc" Statement
> 
>  > 7.14.4.  NETCONF XML Encoding Rules
> 
>  >
> 
>  >     . . . . .
> 
>  >
> 
>  >     Input parameters are encoded as child XML elements to the rpc node's
> 
>  >     XML element, in the same order as they are defined within the "input"
> 
>  >     statement.
> 
>  >
> 
>  >     If the RPC operation invocation succeeded and no output parameters
> 
>  >     are returned, the <rpc-reply> contains a single <ok/> element defined
> 
>  >     in [RFC6241].  If output parameters are returned, they are encoded as
> 
>  >     child elements to the <rpc-reply> element defined in [RFC6241], in
> 
>  >     the same order as they are defined within the "output" statement.
> 
>  >
> 
>  >
> 
>  > 7.15.  The "action" Statement
> 
>  > 7.15.2.  NETCONF XML Encoding Rules
> 
>  >
> 
>  >     . . . . .
> 
>  >
> 
>  >     The <action> element contains a hierarchy of nodes that identifies
> 
>  >     the node in the datastore.  It MUST contain all containers and list
> 
>  >     nodes in the direct path from the top level down to the list or
> 
>  >     container containing the action.  For lists, all key leafs MUST also
> 
>  >     be included.  The innermost container or list contains an XML element
> 
>  >     that carries the name of the defined action.  Within this element,
> 
>  >     the input parameters are encoded as child XML elements, in the same
> 
>  >     order as they are defined within the "input" statement.
> 
>  >
> 
>  >     . . . . .
> 
>  >
> 
>  >     If the action operation invocation succeeded and no output parameters
> 
>  >     are returned, the <rpc-reply> contains a single <ok/> element defined
> 
>  >     in [RFC6241].  If output parameters are returned, they are encoded as
> 
>  >     child elements to the <rpc-reply> element defined in [RFC6241], in
> 
>  >     the same order as they are defined within the "output" statement.
> 
>  >
> 
>  >
> 
>  > Corrected Text
> 
>  > --------------
> 
>  > 7.5.  The "container" Statement
> 
>  > 7.5.7.  XML Encoding Rules
> 
>  >
> 
>  >     . . . . .
> 
>  >
> 
>  >     The container's child nodes are encoded as subelements to the
> 
>  >     container element.  If the container defines RPC or action input or
> 
>  >     output parameters, these subelements MUST be encoded in the same
> 
> order as
> 
>  >     they are defined within the "container" statement.  Otherwise, the
> 
>  >     subelements are encoded in any order.
> 
>  >
> 
>  > 7.8. The "list" Statement
> 
>  > 7.8.5.  XML Encoding Rules
> 
>  >
> 
>  >     The list's key nodes MUST be encoded as subelements to the list's
> 
>  >     identifier element, in the same order as they are defined within the
> 
>  >     "key" statement.
> 
>  >
> 
>  >     The rest of the list's child nodes are encoded as subelements to the
> 
>  >     list element, after the keys.  If the list defines RPC or action
> 
>  >     input or output parameters, the subelements MUST be encoded in
> 
> the same
> 
>  >     order as they are defined within the "list" statement.  Otherwise,
> 
>  >     the subelements are encoded in any order.
> 
>  >     . . . . .
> 
>  >
> 
>  > 7.14.  The "rpc" Statement
> 
>  > 7.14.4.  NETCONF XML Encoding Rules
> 
>  >
> 
>  >     . . . . .
> 
>  >
> 
>  >     Input parameters MUST be encoded as child XML elements to the rpc
> 
> node's
> 
>  >     XML element, in the same order as they are defined within the "input"
> 
>  >     statement.
> 
>  >
> 
>  >     If the RPC operation invocation succeeded and no output parameters
> 
>  >     are returned, the <rpc-reply> contains a single <ok/> element defined
> 
>  >     in [RFC6241].  If output parameters are returned, they MUST be
> 
> encoded as
> 
>  >     child elements to the <rpc-reply> element defined in [RFC6241], in
> 
>  >     the same order as they are defined within the "output" statement.
> 
>  >
> 
>  >
> 
>  > 7.15.  The "action" Statement
> 
>  > 7.15.2.  NETCONF XML Encoding Rules
> 
>  >
> 
>  >     . . . . .
> 
>  >
> 
>  >     The <action> element contains a hierarchy of nodes that identifies
> 
>  >     the node in the datastore.  It MUST contain all containers and list
> 
>  >     nodes in the direct path from the top level down to the list or
> 
>  >     container containing the action.  For lists, all key leafs MUST also
> 
>  >     be included.  The innermost container or list contains an XML element
> 
>  >     that carries the name of the defined action.  Within this element,
> 
>  >     the input parameters MUST be encoded as child XML elements, in
> 
> the same
> 
>  >     order as they are defined within the "input" statement.
> 
>  >
> 
>  >     . . . . .
> 
>  >
> 
>  >     If the action operation invocation succeeded and no output parameters
> 
>  >     are returned, the <rpc-reply> contains a single <ok/> element defined
> 
>  >     in [RFC6241].  If output parameters are returned, they MUST be
> 
> encoded as
> 
>  >     child elements to the <rpc-reply> element defined in [RFC6241], in
> 
>  >     the same order as they are defined within the "output" statement.
> 
>  >
> 
>  > Notes
> 
>  > -----
> 
>  > The RFC 2119 keywords are missing in description of ordering for XML
> 
> encoding rules for RPC, actions and references thereto and in additional
> 
> instance of list keys encoding.
> 
>  >
> 
>  > Although the text of RFC suggests reading this as if "MUST" was
> 
> present, without keyword it is open to interpretation if the sentences
> 
> actually mean "MUST" or "SHOULD" or may be even "MAY".
> 
>  >
> 
>  > In other places discussing ordering, for example 7.7.8., 7.8.5. and
> 
> 7.9.5. the "MUST" is actually present, hence proposed errata would make
> 
> ordering description usage of keywords consistent.
> 
>  >
> 
>  > Instructions:
> 
>  > -------------
> 
>  > This erratum is currently posted as "Reported". If necessary, please
> 
>  > use "Reply All" to discuss whether it should be verified or
> 
>  > rejected. When a decision is reached, the verifying party
> 
>  > can log in to change the status and edit the report, if necessary.
> 
>  >
> 
>  > --------------------------------------
> 
>  > RFC7950 (draft-ietf-netmod-rfc6020bis-14)
> 
>  > --------------------------------------
> 
>  > Title               : The YANG 1.1 Data Modeling Language
> 
>  > Publication Date    : August 2016
> 
>  > Author(s)           : M. Bjorklund, Ed.
> 
>  > Category            : PROPOSED STANDARD
> 
>  > Source              : Network Modeling
> 
>  > Area                : Operations and Management
> 
>  > Stream              : IETF
> 
>  > Verifying Party     : IESG
> 
>  >
> 
>  > _______________________________________________
> 
>  > netmod mailing list
> 
>  > netmod@ietf.org <mailto:netmod@ietf.org>
> 
>  > 
> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/netmod__;!!BhdT!gZbsQDBeTveBJPSYBpHQOJS8wjZSUsguzZ6KwXq4NAiJ1cAOZgcko9_3wb4pLOxeGCFKcQFoi9XajHOG-NeqWtpD91awGhs$ 
> <https://urldefense.com/v3/__https:/www.ietf.org/mailman/listinfo/netmod__;!!BhdT!gZbsQDBeTveBJPSYBpHQOJS8wjZSUsguzZ6KwXq4NAiJ1cAOZgcko9_3wb4pLOxeGCFKcQFoi9XajHOG-NeqWtpD91awGhs$> 
> 
>