Re: [netmod] [Technical Errata Reported] RFC8342 (5514)

Robert Wilton <> Mon, 08 October 2018 13:51 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 51266130DC0 for <>; Mon, 8 Oct 2018 06:51:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.502
X-Spam-Status: No, score=-14.502 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, 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 WesVxkNvLfA2 for <>; Mon, 8 Oct 2018 06:51:30 -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 E6C4C12F1A5 for <>; Mon, 8 Oct 2018 06:51:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=5221; q=dns/txt; s=iport; t=1539006689; x=1540216289; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=QSRasHdx0I8Ne2J10TqMWXlwouV9kcynLabNvG/MzYU=; b=CxCdm+p0cdnf7TMTajCIn5eT8O2mPbd4Zntk0wP4ijMd7xmUpUZfJnsU 7ESPTz/ejbMfgNKVN+7CMxqqr7l9X0Vblt7WecGtq3BAJl7OIoiUojbr1 oAI5r+HXmV/uEKFeZNAWUmnm3mcKMswMngRaQanfO6GEni+hA7DS0XHVZ 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.54,357,1534809600"; d="scan'208";a="7084078"
Received: from (HELO ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Oct 2018 13:51:26 +0000
Received: from [] ( []) by (8.15.2/8.15.2) with ESMTP id w98DpQGG026383; Mon, 8 Oct 2018 13:51:27 GMT
To: Lou Berger <>, Andy Bierman <>, Ignas Bagdonas <>, NetMod WG <>, Warren Kumari <>, RFC Errata System <>
References: <> <> <> <> <> <> <> <> <> <> <>
From: Robert Wilton <>
Message-ID: <>
Date: Mon, 08 Oct 2018 14:51:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <>
Subject: Re: [netmod] [Technical Errata Reported] RFC8342 (5514)
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 08 Oct 2018 13:51:32 -0000

Hi Lou,

On 08/10/2018 13:57, Lou Berger wrote:
> Hi Rob/All,
> Keep in mind that the document says what it says and that to change 
> text really requires a new version.
> On 10/8/2018 6:01 AM, Robert Wilton wrote:
>> So there seem to be two available solutions here:
>> (i) The server MUST provide an origin value for the top level datanode,
> This is pretty close to what Andy previously quoted:
>      md:annotation origin {
>        type origin-ref;
>        description
>          "The 'origin' annotation can be present on any configuration
>           data node in the operational state datastore.  It specifies
>           from where the node originated.  If not specified for a given
>           configuration data node, then the origin is the same as the
>           origin of its parent node in the data tree.  The origin for
>           any top-level configuration data nodes must be specified.";
>      }
> I think it's clear that the reviewers, notably myself as shepherd, 
> missed that this is a lowercase "must" and should have asked for 
> clarification during the review process.
So I think that the logic for it being must rather than MUST is that it 
is in a YANG module, and we didn't want to tie the YANG module to RFC 
2119 language.

> Having an errata saying this "must" really is a "MUST" is quite 
> reasonable from my perspective.
I'm not convinced that this has to change.

>> but for NP containers it can use whatever origin value it likes - since
>> the origin value imparts no direct meaning other than the default origin
>> that descendants acquire if they haven't provided an explicit origin.
>> In this case we would probably add a line of text to clarify this
>> behavior of choosing a suitable origin value for top level NP 
>> containers.
> I guess I'd need to see that specific language to understand if a new 
> requirement or recommended behavior is being prescribed.  If it is, we 
> need a new document to do so.
The additional sentence (added at the paragraph above) could be 
something along the lines of:

"For top level nodes that are non-presence containers, where the origin 
has no direct meaning other than as a hierarchical default origin, the 
server may choose any convenient origin value".

But equally, perhaps the existing test is sufficient without requiring 
any changes at all.  Then the errata that is required is the one that 
Rohit submitted.


>> (ii) The requirement is weakened as Juergen has described previously.
>> Solution (i) minimizes the impact of the change to the RFC, but probably
>> constrains server implementations slightly more than is strictly 
>> required.
>> Solution (ii) gives a bit more flexibility to server implementations but
>> in theory could break client implementation that rely on a top level
>> origin always being provided.  Although, in reality I would expect a
>> robust client implementation to either not care, or choose a suitable
>> default origin (e.g. "unknown") if an explicit origin hasn't been 
>> provided.
>> If solution (ii) is beyond the scope of what is allowed in an errata
>> then it would seem that we should go with solution (i) instead. But how
>> do we get to a final decision?
> Either we agree that s/must/MUST in an errata or start a new (update 
> or bis) draft  to update the behavior.  It would also be fine to flag 
> the issue in the errata without specific resolution, with the 
> understanding that the issue would need to be resolved, in an update 
> or bis, at some point in the future.
> Lou
>> Thanks,
>> Rob
>> On 07/10/2018 18:09, Juergen Schoenwaelder wrote:
>>> On Sun, Oct 07, 2018 at 09:49:57AM -0700, Andy Bierman wrote:
>>>> Can somebody explain the rationale for the highlighted text from 
>>>> 5.3.4?
>>> Note the difference between "applies to" and "carries". A non-presence
>>> container has no relevance for configuration and hence an origin value
>>> does not *apply* to a non-presence container. Still, a non-presence
>>> container can *carry* an origin attribute.
>>>> There are many top-level configuration NP-containers defined already.
>>>> It is clearly more efficient to have 1 origin attribute in the 
>>>> top-level
>>>> container than in each of the child nodes.
>>> There is no requirement to produce efficient encodings. This is up to
>>> implementations, the cost of calculating a minimal encodings may be
>>> high for systems that like to stream information. That said, even
>>> toplevel origin attributes are not sufficient to guarantee an
>>> efficient encoding. If most child nodes have an origin different than
>>> what is stated in the toplevel container, you gain little.
>>> The requirement really is that an origin must be defined for all
>>> configuration data nodes (except np-containers). The way how this
>>> is done    is up to implementations. If implementations want to set
>>> default    origins    at the toplevel, so be it.
>>> /js
> .