Re: [netmod] RFC 7950 - Import without revision

Martin Bjorklund <mbj@tail-f.com> Wed, 08 March 2017 00:58 UTC

Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A21F81294BB for <netmod@ietfa.amsl.com>; Tue, 7 Mar 2017 16:58:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.359
X-Spam-Level:
X-Spam-Status: No, score=-0.359 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DATE_IN_PAST_06_12=1.543, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
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 vk3mCNMTGJWH for <netmod@ietfa.amsl.com>; Tue, 7 Mar 2017 16:58:22 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 39C501294B6 for <netmod@ietf.org>; Tue, 7 Mar 2017 16:58:22 -0800 (PST)
Received: from localhost (unknown [50.225.114.198]) by mail.tail-f.com (Postfix) with ESMTPSA id AE6301AE0332; Wed, 8 Mar 2017 01:58:20 +0100 (CET)
Date: Tue, 07 Mar 2017 18:03:33 +0100 (CET)
Message-Id: <20170307.180333.800041089281624577.mbj@tail-f.com>
To: rwilton@cisco.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <c13a86d6-0389-843d-d5eb-fe56ec5486ef@cisco.com>
References: <c13a86d6-0389-843d-d5eb-fe56ec5486ef@cisco.com>
X-Mailer: Mew version 6.5 on Emacs 24.3 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/_6i8LXdJ8lj3I_AC8XiFBqgyrQk>
Cc: netmod@ietf.org
Subject: Re: [netmod] RFC 7950 - Import without revision
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 08 Mar 2017 00:58:23 -0000

Robert Wilton <rwilton@cisco.com> wrote:
> in RFC 7950, The last paragraph, section 5.1.1 "Import and Include by
> Revision" states:
> 
> "If a module is not imported with a specific revision, it is undefined
> which revision is used."
> 
> But I was wondering if the above text is misleading, since section
> 5.6.5: "Implementing a Module" has the following two paragraphs:
> 
>    If a server implements a module A that imports a module C without
>    specifying the revision date of module C and the server does not
>    implement C (e.g., if C only defines some typedefs), the server MUST
>    list module C in the "/modules-state/module" list from
>    "ietf-yang-library" [RFC7895 <https://tools.ietf.org/html/rfc7895>],
>    and it MUST set the leaf
>    "conformance-type" to "import" for this module.
> 
>    If a server lists a module C in the "/modules-state/module" list from
>    "ietf-yang-library" and there are other modules Ms listed that import
>    C without specifying the revision date of module C, the server MUST
>    use the definitions from the most recent revision of C listed for
>    modules Ms.
> 
>    The reason for these rules is that clients need to be able to know
>    the specific data model structure and types of all leafs and
>    leaf-lists implemented in a server.
> 
> This seems to imply that import without specifying the revision would
> mean that the latest revision listed in ietf-yang-library must be the
> one that is imported.  Is that correct, or am I misinterpreting the
> text?

This is correct.

> Hence, should the last paragraph of section 5.1.1 be deleted?

No I don't think it should.  From the perspective of a given module
that imports another module w/o revision, it is undefined which
revision is used - however in any given server the revision used is
deterministic.


/martin