Re: [netmod] RFC 7950 - Import without revision

Martin Bjorklund <mbj@tail-f.com> Wed, 08 March 2017 15:28 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 9F6C71296E8 for <netmod@ietfa.amsl.com>; Wed, 8 Mar 2017 07:28:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham 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 Kqyp0LtkxlJG for <netmod@ietfa.amsl.com>; Wed, 8 Mar 2017 07:28: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 084161296E7 for <netmod@ietf.org>; Wed, 8 Mar 2017 07:28:22 -0800 (PST)
Received: from localhost (unknown [128.107.241.170]) by mail.tail-f.com (Postfix) with ESMTPSA id C679C1AE046D; Wed, 8 Mar 2017 16:28:20 +0100 (CET)
Date: Wed, 08 Mar 2017 16:28:19 +0100
Message-Id: <20170308.162819.1904846774500859732.mbj@tail-f.com>
To: rwilton@cisco.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <78a2d806-d975-55aa-6c3e-48b29a3cdd3f@cisco.com>
References: <c13a86d6-0389-843d-d5eb-fe56ec5486ef@cisco.com> <20170307.180333.800041089281624577.mbj@tail-f.com> <78a2d806-d975-55aa-6c3e-48b29a3cdd3f@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/W771YNbq2bdcXQ64leA91oJYpi8>
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 15:28:23 -0000

Robert Wilton <rwilton@cisco.com> wrote:
> 
> 
> On 07/03/2017 17:03, Martin Bjorklund wrote:
> > 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.
> I'm not sure what it really means for a YANG module to import another
> module outside the context of a client/server, it seems somewhat
> abstract.

It just means that the importing module has access to defintions in
the imported module.


/martin