Re: [netconf] AUTH48 changes to RFC 8526 <draft-ietf-netconf-nmda-netconf-08>

Kent Watsen <kent@watsen.net> Sat, 09 February 2019 00:27 UTC

Return-Path: <01000168cfa72fb5-603b1c0f-a195-4e46-abb4-a1d01c30184e-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 7F664130EC1 for <netconf@ietfa.amsl.com>; Fri, 8 Feb 2019 16:27:50 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 kmRe1foSnyhX for <netconf@ietfa.amsl.com>; Fri, 8 Feb 2019 16:27:48 -0800 (PST)
Received: from a8-83.smtp-out.amazonses.com (a8-83.smtp-out.amazonses.com [54.240.8.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 38A65130ECD for <netconf@ietf.org>; Fri, 8 Feb 2019 16:27:48 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=ug7nbtf4gccmlpwj322ax3p6ow6yfsug; d=amazonses.com; t=1549672067; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:Feedback-ID; bh=n7Oq/GW27Oc1gFBNQf9PFkaNpEB8CMDFiWKapbqGHDo=; b=EN4SSq5r+odAFdY3r/kloHm+VGoc/QctBAaeeblYapAy6XXEcpxZ2Mx+bf+NveGW B3fbklcwFT0UVE+oBVx6kyfJGB3I6NzzQjIqqhptDb5HCauxhYp9heL/lq3AZZ7BT/B foepHYtzOHv3oZ/quiOb2ri5sNcvANkURh4zcflY=
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
From: Kent Watsen <kent@watsen.net>
In-Reply-To: <00f901d4bfcc$dce33b60$4001a8c0@gateway.2wire.net>
Date: Sat, 9 Feb 2019 00:27:47 +0000
Cc: Mahesh Jethanandani <mjethanandani@gmail.com>, Netconf <netconf@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-ID: <01000168cfa72fb5-603b1c0f-a195-4e46-abb4-a1d01c30184e-000000@email.amazonses.com>
References: <E27BF6D6-8FC9-491A-A338-9830D750F3A7@gmail.com> <20190206214947.hzvp3ccswjxvxesu@anna.jacobs.jacobs-university.de> <D1C795C4-C79F-4E2E-899A-184A9E34ED6A@gmail.com> <991B70D8B4112A4699D5C00DDBBF878A6BCF0FE6@dggeml510-mbx.china.huawei.com> <FEED2E09-F652-44C4-AB3F-DC8B3D4344A2@gmail.com> <01000168caca357c-d61d3242-b8ab-44ea-9afd-d9d0084cfc4c-000000@email.amazonses.com> <00f901d4bfcc$dce33b60$4001a8c0@gateway.2wire.net>
To: tom petch <ietfc@btconnect.com>
X-Mailer: Apple Mail (2.3445.102.3)
X-SES-Outgoing: 2019.02.09-54.240.8.83
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/drt2xUKb_mdVVsOjIDgnwkYSAT0>
Subject: Re: [netconf] AUTH48 changes to RFC 8526 <draft-ietf-netconf-nmda-netconf-08>
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
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: Sat, 09 Feb 2019 00:27:51 -0000

Hi Tom,

Ack.   Actually, I wrote a similar thing to Mahesh last night after sending my message to the list.   The English may be more correct with Rohit suggestion but, as you say, it is a little less mechanical and may confuse some.   That said, while “nor” is somewhat uncommon, “neither” is widely used and (I think) hard to misinterpret.   I’m still of the opinion that we should leave it to the RFC Editor at this point.

Kent



> On Feb 8, 2019, at 11:40 AM, tom petch <ietfc@btconnect.com>; wrote:
> 
> ----- Original Message -----
> From: "Kent Watsen" <kent@watsen.net>;
> Sent: Friday, February 08, 2019 1:47 AM
> 
> These are semantically identical statements.
> Let’s ask the RFC Editor for their opinion.
> FWIW, I prefer Rohit’s suggested replacement.
> 
> <tp>
> 
> I find the original formulation much clearer. I can rewrite it as
> 
> match if
> origin NOT derived from filter
> AND
> origin NOT equal to filter
> 
> so if cable is derived from ADSL, then I can slot in the values and get
> 
> filter cable
> origin ADSL
> ADSL NOT derived from cable true
> AND
> ADSL NOT equal to cable true
> i.e. true
> 
> filter ADSL
> origin cable
> cable NOT derived from ADSL false
> AND
> cable NOT equal to ADSL true
> i.e. false
> 
> which I find clear ( and I assume is what you intend).
> 
> With neither ..  nor, I cannot do that, or not as straightforwardly, and
> so find unclear.
> 
> Tom Petch
> 
> Kent // as co-author
> 
>> On Feb 7, 2019, at 7:29 PM, Mahesh Jethanandani
> <mjethanandani@gmail.com>; wrote:
>> 
>> Authors of the draft,
>> 
>> Do we want to accept or reject this late comment?
>> 
>>> On Feb 6, 2019, at 6:06 PM, Rohit R Ranade <rohitrranade@huawei.com
> <mailto:rohitrranade@huawei.com>> wrote:
>>> 
>>>>          leaf-list negated-origin-filter {
>>>>            type or:origin-ref;
>>>>            description
>>>>              "Filter based on the 'origin' annotation.  A
>>>>               configuration node matches the filter if its
> 'origin'
>>>>               annotation is not derived from and not equal to any
> of
>>>>               the given filter values.";
>>>>          }
>>> 
>>> 
>>> Sorry for the late comment.  I think this should be “neither
> derived-from nor equal to any of the given filter values”
>>> 
>>> I think if it is derived-from but not matching the filter value, this
> filter should apply.
>>> 
>>> With Regards,
>>> Rohit
>>> 
>>> From: netconf [mailto:netconf-bounces@ietf.org
> <mailto:netconf-bounces@ietf.org>] On Behalf Of Mahesh Jethanandani
>>> Sent: 07 February 2019 03:46
>>> To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de
> <mailto:j.schoenwaelder@jacobs-university.de>>
>>> Cc: Netconf <netconf@ietf.org <mailto:netconf@ietf.org>>
>>> Subject: Re: [netconf] AUTH48 changes to RFC 8526
> <draft-ietf-netconf-nmda-netconf-08>
>>> 
>>> 
>>> 
>>> 
>>> On Feb 6, 2019, at 1:49 PM, Juergen Schoenwaelder
> <j.schoenwaelder@jacobs-university.de
> <mailto:j.schoenwaelder@jacobs-university.de>> wrote:
>>> 
>>> Mahesh,
>>> 
>>> can we assume that this edit is accepted and we can resume the AUTH48
>>> process?
>>> 
>>> Yes.
>>> 
>>> This closes the one week review period. No comments were received on
> the further clarifications proposed by the authors. As such, we will now
> let the RFC Editor know to proceed with making the proposed changes.
>>> 
>>> Thanks.
>>> 
>>> 
>>> 
>>> /js
>>> 
>>> On Tue, Jan 29, 2019 at 10:54:54AM -0800, Mahesh Jethanandani wrote:
>>> 
>>> NETCONF WG,
>>> 
>>> During the AUTH48 review of draft-ietf-netconf-nmda-netconf-08, the
> authors found a couple of things that needed further clarification. The
> edits are reflected in this e-mail using OLD: and NEW:. Since the
> changes are technical changes, we needed to make sure that the WG was ok
> with the changes. This starts a one week review period terminating next
> Tuesday, February 5 to provide any comments you might have. If providing
> comments, please be specific in the changes you would like to see,
> preferably using your own OLD: and NEW:. If no comments are received, it
> will be deemed that the changes are fine with the WG. The two set of
> changes are in the YANG model itself, and in Section 3.1.1.4.
>>> 
>>> In the YANG model:
>>> 
>>> OLD:
>>> 
>>>       choice origin-filters {
>>>         when 'derived-from-or-self(datastore, "ds:operational")';
>>>         if-feature "origin";
>>>         description
>>>           "Filters based on the 'origin' annotation.";
>>>         leaf-list origin-filter {
>>>           type or:origin-ref;
>>>           description
>>>             "Filter based on the 'origin' annotation.  A node
> matches
>>>              the filter if its 'origin' annotation is derived from
> or
>>>              equal to any of the given filter values.";
>>>         }
>>>         leaf-list negated-origin-filter {
>>>           type or:origin-ref;
>>>           description
>>>             "Filter based on the 'origin' annotation.  A node
> matches
>>>              the filter if its 'origin' annotation is not derived
>>>              from and not equal to any of the given filter values.";
>>>         }
>>>       }
>>> 
>>> NEW:
>>> 
>>>       choice origin-filters {
>>>         when 'derived-from-or-self(datastore, "ds:operational")';
>>>         if-feature origin;
>>>         description
>>>           "Filters configuration nodes based on the 'origin'
>>>            annotation.  Configuration nodes that do not have an
>>>            'origin' annotation are treated as if they have the
>>>            'origin' annotation 'or:unknown'.
>>> 
>>>            System state nodes are not affected by origin-filters and
>>>            thus not filtered.  Note that system state nodes can be
>>>            filtered with the 'config-filter' leaf.";
>>> 
>>>         leaf-list origin-filter {
>>>           type or:origin-ref;
>>>           description
>>>             "Filter based on the 'origin' annotation.  A
>>>              configuration node matches the filter if its 'origin'
>>>              annotation is derived from or equal to any of the given
>>>              filter values.";
>>>         }
>>>         leaf-list negated-origin-filter {
>>>           type or:origin-ref;
>>>           description
>>>             "Filter based on the 'origin' annotation.  A
>>>              configuration node matches the filter if its 'origin'
>>>              annotation is not derived from and not equal to any of
>>>              the given filter values.";
>>>         }
>>>       }
>>> 
>>> OLD:
>>> 
>>>       leaf config-filter {
>>>         type boolean;
>>>         description
>>>           "Filter for nodes with the given value for their
>>>            'config' property.  If this leaf is not present, all
>>>            nodes are selected.
>>> 
>>>            For example, when this leaf is set to 'true', only
> 'config
>>>            true' nodes are selected.";
>>>       }
>>> 
>>> NEW:
>>> 
>>>       leaf config-filter {
>>>         type boolean;
>>>         description
>>>           "Filter for nodes with the given value for their 'config'
>>>            property.  When this leaf is set to 'true', only 'config
>>>            true' nodes are selected and, when set to ‘false’, only
>>>            ‘config false’ nodes are selected.  If this leaf is not
>>>            present, no nodes are filtered.";
>>>       }
>>> 
>>> Add the following example to 3.1.1.4:
>>> 
>>>   In order to not retrieve any system state nodes, the
>>>   "config-filter" can be used:
>>> 
>>>   <rpc message-id="103"
>>>        xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
>>>     <get-data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-nmda"
>>>               xmlns:ds="urn:ietf:params:xml:ns:yang:ietf-datastores"
>>>               xmlns:or="urn:ietf:params:xml:ns:yang:ietf-origin">
>>>       <datastore>ds:operational</datastore>
>>>       <subtree-filter>
>>>         <bgp xmlns="http://example.com/ns/bgp
> <http://example.com/ns/bgp> <http://example.com/ns/bgp
> <http://example.com/ns/bgp>>"/>
>>>       </subtree-filter>
>>>       <config-filter>true</config-filter>
>>>       <origin-filter>or:intended</origin-filter>
>>>       <origin-filter>or:system</origin-filter>
>>>       <with-origin/>
>>>     </get-data>
>>>   </rpc>
>>> 
>>>   <rpc-reply message-id="103"
>>>              xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
>>>     <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-nmda">
>>>       <bgp xmlns="http://example.com/ns/bgp
> <http://example.com/ns/bgp> <http://example.com/ns/bgp
> <http://example.com/ns/bgp>>"
>>>            xmlns:or="urn:ietf:params:xml:ns:yang:ietf-origin"
>>>            or:origin="or:intended">
>>>         <peer>
>>>           <name>2001:db8::2:3</name>
>>>           <local-port or:origin="or:system">60794</local-port>
>>>         </peer>
>>>       </bgp>
>>>     </data>
>>>   </rpc-reply>
>>> 
>>> Thanks.
>>> 
>>> Mahesh Jethanandani // as shepherd
>>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> netconf mailing list
>>> netconf@ietf.org <mailto:netconf@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/netconf
> <https://www.ietf.org/mailman/listinfo/netconf>
>>> 
>>> 
>>> --
>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen |
> Germany
>>> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/
> <https://www.jacobs-university.de/>>
>>> 
>>> Mahesh Jethanandani
>>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>> Mahesh Jethanandani
>> mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>
>> 
>> 
>> 
>> _______________________________________________
>> netconf mailing list
>> netconf@ietf.org <mailto:netconf@ietf.org>
>> https://www.ietf.org/mailman/listinfo/netconf
> <https://www.ietf.org/mailman/listinfo/netconf>
> 
> 
> 
> ------------------------------------------------------------------------
> --------
> 
> 
>> _______________________________________________
>> netconf mailing list
>> netconf@ietf.org
>> https://www.ietf.org/mailman/listinfo/netconf
>> 
>