Re: [yang-doctors] Features and must-condition

Benoit Claise <bclaise@cisco.com> Wed, 24 January 2018 13:54 UTC

Return-Path: <bclaise@cisco.com>
X-Original-To: yang-doctors@ietfa.amsl.com
Delivered-To: yang-doctors@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8CDA91242EA for <yang-doctors@ietfa.amsl.com>; Wed, 24 Jan 2018 05:54:16 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 l9Fq4ExNbveI for <yang-doctors@ietfa.amsl.com>; Wed, 24 Jan 2018 05:54:14 -0800 (PST)
Received: from aer-iport-1.cisco.com (aer-iport-1.cisco.com [173.38.203.51]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A45E11241F8 for <yang-doctors@ietf.org>; Wed, 24 Jan 2018 05:54:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=7479; q=dns/txt; s=iport; t=1516802053; x=1518011653; h=subject:from:to:references:message-id:date:mime-version: in-reply-to; bh=cf+ig4HOnWOOlVS7R1jsQx10aUfHyeoMNjZ1kPMfPTQ=; b=hBWwsREwg4LDNdgtGknowUt6fGlqnIo04b/gky/N5AeJjJqKCzDXviQM 9fMrSb2UoeY8r6+/uDA/YONfZ5EHBLRcxfc33kz5105S3LQql4G5Lyjlz MLRrhqwcLqHSmdwtg7EdURt/uRpNgl6vuER542XnCOhE9XCMQqFFKZfRU g=;
X-IronPort-AV: E=Sophos;i="5.46,407,1511827200"; d="scan'208,217";a="1627052"
Received: from aer-iport-nat.cisco.com (HELO aer-core-4.cisco.com) ([173.38.203.22]) by aer-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jan 2018 13:54:12 +0000
Received: from [10.55.221.36] (ams-bclaise-nitro3.cisco.com [10.55.221.36]) by aer-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id w0ODsBnY026865; Wed, 24 Jan 2018 13:54:11 GMT
From: Benoit Claise <bclaise@cisco.com>
To: Andy Bierman <andy@yumaworks.com>, Ebben Aries <exa@juniper.net>, "Reshad Rahman (rrahman)" <rrahman@cisco.com>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
References: <9E242E7E-E87D-41C7-BFED-EB8185195F26@cisco.com> <20180110.223316.2175524120457720164.mbj@tail-f.com> <20180110220131.xmsorl4gwixqv77s@smtp.juniper.net> <16188AE1-697A-47E4-817B-CB6D7CE6D0B9@cisco.com> <20180110222610.qgdknjrkxdw65jbk@smtp.juniper.net> <20180110223801.hx23svra4xpuww2i@elstar.local> <CABCOCHQEsHGETaKnfa7bBM955h1L28WqqcT72MSRm4xcoNW1pw@mail.gmail.com> <20180110232830.6rqbhpw5s55kx6zo@elstar.local> <29599bf2-f920-355c-8b3f-a7d696380e73@cisco.com> <20180116174323.e2b4zr5ffgrycnei@elstar.local> <1101aeba-67ad-f8df-b8d0-30109b915129@cisco.com>
Message-ID: <283f5774-5995-6ae3-16b7-385b8ea270d1@cisco.com>
Date: Wed, 24 Jan 2018 14:54:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2
MIME-Version: 1.0
In-Reply-To: <1101aeba-67ad-f8df-b8d0-30109b915129@cisco.com>
Content-Type: multipart/alternative; boundary="------------B5CAD248AFF2729DC9045329"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/yang-doctors/wK_RSKNMfn57aFowhFfTGUjeBxQ>
Subject: Re: [yang-doctors] Features and must-condition
X-BeenThere: yang-doctors@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Email list of the yang-doctors directorate <yang-doctors.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/yang-doctors/>
List-Post: <mailto:yang-doctors@ietf.org>
List-Help: <mailto:yang-doctors-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/yang-doctors>, <mailto:yang-doctors-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jan 2018 13:54:17 -0000

Btw, along the same lines, in section 4.5

OLD:
    If a data definition is optional, depending on server support for a
    NETCONF or RESTCONF protocol capability, then a YANG 'feature'
    statement SHOULD be defined to indicate that the NETCONF or RESTCONF
    capability is supported within the data model.

NEW:
    If a feature or a set of data definitions is optional, depending on server support for a
    NETCONF or RESTCONF protocol capability, then a YANG 'feature'
    statement SHOULD be defined to indicate that the NETCONF or RESTCONF
    capability is supported within the data model.

It will also be in my AD review email.

Regards, B.
> Hi Jürgen,
>
> I like it.
> I'm busy with the RFC6087bis AD review and it will be part of the 
> feedback.
>
> Regards, Benoit
>> On Tue, Jan 16, 2018 at 06:03:05PM +0100, Benoit Claise wrote:
>>> On 1/11/2018 12:28 AM, Juergen Schoenwaelder wrote:
>>>> On Wed, Jan 10, 2018 at 02:49:48PM -0800, Andy Bierman wrote:
>>>>> The feature-per-leaf approach should not be approved by YD.
>>> Do we want to add a sentence in
>>> https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-15#section-4.17, 
>>>
>>> expressing that a feature-per-leaf is most likely the wrong approach?
>> This is difficult to describe. Perhaps something like this is a
>> reasonably small change to the existing text (which only talks about
>> too big features but not about too small features).
>>
>> OLD
>>
>>     The YANG "feature" statement is used to define a label for a set of
>>     optional functionality within a module.  The "if-feature" statement
>>     is used in the YANG statements associated with a feature.
>>
>>     The set of YANG features available in a module should be considered
>>     carefully.  The description-stmt within a feature-stmt MUST specify
>>     any interactions with other features.
>>
>>     If there is a large set of objects...
>>
>> NEW
>>
>>     The YANG "feature" statement is used to define a label for a set of
>>     optional functionality within a module.  The "if-feature" statement
>>     is used in the YANG statements associated with a feature. The
>>     description-stmt within a feature-stmt MUST specify any
>>     interactions with other features.
>>
>>     The set of YANG features defined in a module should be considered
>>     carefully. Very fine granular features increase interoperability
>>     complexity and should be avoided. A likely misuse of the feature
>>     mechanism is the tagging of individual leafs (e.g., counters) with
>>     separate features.
>>
>>     If there is a large set of objects...
>>
>> /js
>>
>