Re: [netmod] upcoming adoptions

Robert Wilton <> Fri, 08 September 2017 13:41 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 49F4F12421A; Fri, 8 Sep 2017 06:41:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Status: No, score=-14.5 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, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id m_BRm5-OFoNg; Fri, 8 Sep 2017 06:41:48 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 268A6132153; Fri, 8 Sep 2017 06:41:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=10574; q=dns/txt; s=iport; t=1504878108; x=1506087708; h=subject:to:references:from:message-id:date:mime-version: in-reply-to; bh=YOVV7nMujIRDY4INdBntoo9gHRdodxaQoMLRfTrWqsc=; b=aI5dUVdmVRN1QKjGmCwlkboZoui+ELWSe2pKENoE+tfrCSb18/Kg25RU frtb7/Rul9ZrLR3DChOI+Et0w6cnkGy9OgyRFzC/9IeRIE4BwIg5hAYwq D4Djotc5E4hoLzwGAeOFqYUyLdxgbjReQgN46sDsQO+VcZti6NZZh4Va2 E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.42,361,1500940800"; d="scan'208,217";a="657323023"
Received: from (HELO ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Sep 2017 13:41:43 +0000
Received: from [] ( []) by (8.14.5/8.14.5) with ESMTP id v88DfhZa021397; Fri, 8 Sep 2017 13:41:43 GMT
To: Andy Bierman <>, Martin Bjorklund <>, NETCONF Working Group <>, "" <>
References: <20170908105648.ur5ihv3gvypd7d7f@elstar.local> <> <20170908123853.4jmy24gvbe2agiif@elstar.local>
From: Robert Wilton <>
Message-ID: <>
Date: Fri, 08 Sep 2017 14:41:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0
MIME-Version: 1.0
In-Reply-To: <20170908123853.4jmy24gvbe2agiif@elstar.local>
Content-Type: multipart/alternative; boundary="------------FE742A098328E6ED03524D8B"
Content-Language: en-US
Archived-At: <>
Subject: Re: [netmod] upcoming adoptions
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 08 Sep 2017 13:41:50 -0000

On 08/09/2017 13:38, Juergen Schoenwaelder wrote:
> On Fri, Sep 08, 2017 at 01:19:03PM +0100, Robert Wilton wrote:
>> In the same vane, I think that you could regard RFC 6087 and 6087bis as one
>> long list of CLRs ...
> No. There are guidelines that have a clear technical reason. An example:
>     The 'preceding-sibling' and 'following-sibling' axes SHOULD NOT used.
>     A server is only required to maintain the relative XML document order
>     of all instances of a particular user-ordered list or leaf-list.
Yes, but even this rule has problems.  Does this mean an implementation 
does not need to support "preceding-sibling and following-sibling"?  
Given this is only a "SHOULD NOT", it means that there might be some 
modules may still use them.  Likewise for the rest of the XPath "SHOULD 
NOT" rules.  Will YANG implementations fragment on which subsets of 
Xpath they regard as sane and choose to implement?

[As an aside: I actually think that it would be better to restrict the 
usage of Xpath to a much smaller subset that makes sense, but that 
should be done in 7950bis rather than 6087bis.]

Besides, 6087bis has many softer rules as well, a few examples give 
below (I'm not even sure why the last one is a rule).  There don't 
obviously appear to be any technical reasons for any of these, but I 
don't object to any of these since they are provide sensible guidance, 
or try to encourage consistent modelling conventions in IETF YANG models.


  Identifiers SHOULD follow a consistent naming pattern throughout the
    module.  Only lower-case letters, numbers, and dashes SHOULD be used
    in identifier names.


  Definitions for future use SHOULD NOT be specified in a module.


    The signed numeric data types (i.e., 'int8', 'int16', 'int32', and
    'int64') SHOULD NOT be used unless negative values are allowed for
    the desired semantics.

> This is very different from guidelines how things should be named that
> do not have a real technical reason. In SMIv2 land, we had this weird
> rule that names of counters should end with a plural 's' and tools
> started to implement this and to complain if there was no plural s.
> (Actually, tools checked whether the last character is an s, which of
> course does not mean there is a plural form.) And of course, there are
> irregular nouns in English wrt. plural forms.
As per ex1 above, perhaps YANG tools will start to assume that 
identifiers cannot contain uppercase characters.

It might be better if a lot of the guidance in 6087bis is changed to 
avoid using RFC 2119 language precisely so that it can't be subsequently 
interpreted as a formal rule.

But I still see guidance on how to consistently name counters and list 
elements is good way of helping achieve consistency, and make the models 
read better.  This doesn't mean that tools should interpret these as rules.

> I do not want rules that say '-state' should not be used. There may
> be valid reasons to use '-state'.
Yes there might, but most likely when someone uses "-state" in the name 
of a container they will be doing the wrong thing, and it may cause them 
problems down the line.  Warning them of the potential problems now so 
that they make an informed decision seems generally helpful to 
humanity.  This does not mean that it needs to be a rule, or is even 
allowed to be interpreted as such.


> /js