Re: [netmod] features in import
Martin Bjorklund <mbj@tail-f.com> Thu, 31 January 2019 10: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 EFD42128CE4 for <netmod@ietfa.amsl.com>; Thu, 31 Jan 2019 02:58:33 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 VzfsZcpD9wMJ for <netmod@ietfa.amsl.com>; Thu, 31 Jan 2019 02:58:31 -0800 (PST)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 9064A130EBA for <netmod@ietf.org>; Thu, 31 Jan 2019 02:58:31 -0800 (PST)
Received: from localhost (h-4-215.A165.priv.bahnhof.se [158.174.4.215]) by mail.tail-f.com (Postfix) with ESMTPSA id 1042F1AE0397; Thu, 31 Jan 2019 11:58:29 +0100 (CET)
Date: Thu, 31 Jan 2019 11:58:28 +0100
Message-Id: <20190131.115828.2130777685875370834.mbj@tail-f.com>
To: andy@yumaworks.com
Cc: lhotka@nic.cz, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CABCOCHTh7Kn+_bJwgp=CzQunXG2ZFea3Lc+wTvX-unSPEOzxOg@mail.gmail.com>
References: <CABCOCHRTOY_W6Z3Sc7ejm0j=vEdAE221wLveH8w04ekHQnc4Zw@mail.gmail.com> <20190131.094407.267764793396247491.mbj@tail-f.com> <CABCOCHTh7Kn+_bJwgp=CzQunXG2ZFea3Lc+wTvX-unSPEOzxOg@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / 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/hNZ0UEmry6KXZydgFV4fqUJKlPw>
Subject: Re: [netmod] features in import
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 31 Jan 2019 10:58:34 -0000
Andy Bierman <andy@yumaworks.com> wrote: > On Thu, Jan 31, 2019 at 12:44 AM Martin Bjorklund <mbj@tail-f.com> wrote: > > > Andy Bierman <andy@yumaworks.com> wrote: > > > Hi, > > > > > > I do not agree these changes should be made at this late date. > > > It seems to me that in order to support a feature you have to implement > > it, > > > and therefore if any features are set then the module is implemented, not > > > imported. > > > > But this is not what RFC 7950 says about implement: > > > > A server implements a module if it implements the module's data > > nodes, RPCs, actions, notifications, and deviations. > > > > > All features should be set to false in an import-only module. > > > > > > IMO this interpretation holds for typedef modules like iana-crypt-hash. > > > We list that as implemented (because it is) and the features that are > > > supported are set. > > > > If a module consists only of typedefs, there is no problem. > > Conformance "import" or "import-only" modules exist in YL b/c modules > > may have a mix of typedefs and data nodes etc. > > > > So in the case that Lada brought up, a server would have to list the > > module as implemented with a certain set of features; and then also > > deviate all nodes/rpc/notifc etc as 'not-implemented'. > > > > > So what. Using deviate(not-supported) to cherry-pick what you want to > implement > out of a module is how it is supposed to work. > > A server has to implement a feature to advertise it. As per 7950, this is not true, as I pointed out earlier. Note that with current YL (RFC 7895), it *is* in fact possible to handle this case; you can list the features supported for an import-only module. The new YL removes this possibility (by mistake). /martin > Therefore the module containing the feature cannot be import-only. > > > > > /martin > > > > > Andy > > > > > > > > > > > Andy > > > > > > On Wed, Jan 30, 2019 at 11:03 AM Martin Bjorklund <mbj@tail-f.com> > > wrote: > > > > > > > Hi, > > > > > > > > Ladislav Lhotka <lhotka@nic.cz> wrote: > > > > > Hi, > > > > > > > > > > unlike RFC 7895, 7895bis doesn't provide the "feature" leaf list for > > > > > import-only modules. But is it really so that features have no use in > > > > > such modules? > > > > > > > > > > For example, an enum can depend on a feature, and if it is inside a > > > > > typedef, it can also be in an import-only module. What if that > > feature > > > > > is defined in the same module? > > > > > > > > I think you're right, and that this is an unfortunate omission. > > > > > > > > The fix is simple though; we would have to add the leaf-list features > > > > to import-only. Probably refactor the "feature" leaf-list into a > > > > grouping so it works like the grouping location-leaf-list: > > > > > > > > grouping feature-leaf-list { > > > > leaf-list feature { > > > > type yang:yang-identifier; > > > > description > > > > "List of all YANG feature names from this module that are > > > > supported by the server, regardless whether they are defined > > > > in the module or any included submodule."; > > > > } > > > > } > > > > > > > > And then "uses feature-leaf-list": > > > > > > > > OLD: > > > > > > > > grouping module-implementation-parameters { > > > > description > > > > "Parameters for describing the implementation of a module."; > > > > > > > > leaf-list feature { > > > > type yang:yang-identifier; > > > > description > > > > "List of all YANG feature names from this module that are > > > > supported by the server, regardless whether they are defined > > > > in the module or any included submodule."; > > > > } > > > > > > > > NEW: > > > > > > > > grouping module-implementation-parameters { > > > > description > > > > "Parameters for describing the implementation of a module."; > > > > > > > > uses feature-leaf-list; > > > > > > > > > > > > And in the list "import-only": > > > > > > > > OLD: > > > > > > > > uses location-leaf-list; > > > > > > > > uses feature-leaf-list; > > > > > > > > > > > > > > > > /martin > > > > > > > > _______________________________________________ > > > > netmod mailing list > > > > netmod@ietf.org > > > > https://www.ietf.org/mailman/listinfo/netmod > > > > > >
- [netmod] features in import Ladislav Lhotka
- Re: [netmod] features in import Martin Bjorklund
- Re: [netmod] features in import Andy Bierman
- Re: [netmod] features in import Martin Bjorklund
- Re: [netmod] features in import Robert Wilton
- Re: [netmod] features in import Ladislav Lhotka
- Re: [netmod] features in import Andy Bierman
- Re: [netmod] features in import Martin Bjorklund
- Re: [netmod] features in import Robert Wilton
- Re: [netmod] features in import Robert Wilton
- Re: [netmod] features in import Andy Bierman