Re: [netmod] upcoming adoptions

Ladislav Lhotka <> Fri, 08 September 2017 14:23 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 73123132925 for <>; Fri, 8 Sep 2017 07:23:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Status: No, score=-7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-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 3coiJPlMcAcz for <>; Fri, 8 Sep 2017 07:23:27 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 9879C132153 for <>; Fri, 8 Sep 2017 07:23:27 -0700 (PDT)
Received: from birdie20 (unknown [IPv6:2001:1488:fffe:6:78e3:97ff:fea0:ae2b]) by (Postfix) with ESMTPSA id DBF2F622DC for <>; Fri, 8 Sep 2017 16:23:25 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=default; t=1504880605; bh=mbsKLNm66aINI+1LT90QBytuFMNtM5JaoNGNhXmPq3A=; h=From:To:Date; b=PCqy/b3eSqPsQr7yL6QLp487FvElVF/2EuWKbMXq7m64rhb8BTzZ1yYgZnnMfwjnf GH4MQ/PxF5m1ZGOYDahlbUqnz6abAr53GbB+i4id3QRlgK5bd1xc0qkby212hf7Obx WsDcR8FkHQlDisqKGzYIO3bzTmWUqudAySB1qYLU=
Message-ID: <>
From: Ladislav Lhotka <>
Date: Fri, 08 Sep 2017 16:23:59 +0200
In-Reply-To: <>
References: <20170908105648.ur5ihv3gvypd7d7f@elstar.local> <> <20170908123853.4jmy24gvbe2agiif@elstar.local> <>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.24.5
Mime-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
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 14:23:31 -0000

Robert Wilton píše v Pá 08. 09. 2017 v 14:41 +0100:
> 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.

In fact, 6087bis has a different text:

   The 'preceding-sibling' and 'following-sibling' axes SHOULD NOT used,
   however they MAY be used if document order is not relevant to the
   outcome of the expression.

The 'preceding-sibling' and 'following-sibling' axes do have their uses,
certainly in user-ordered but also in system-ordered lists.

In contrast, 'preceding' and 'following' are really useless in YANG context. 

>  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.]

I think it was a good decision to rely on an existing well-known standard
without making YANG-specific modifications. Tool authors can make certain
assumptions - for example, in my Yangson library 'preceding' and 'following'
axes aren't supported and raise an exception. 

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.

I very much agree with this, the use of 2119 keywords sometimes makes things


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.



netmod mailing list
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67