Re: [netmod] features in import

Andy Bierman <andy@yumaworks.com> Thu, 31 January 2019 10:46 UTC

Return-Path: <andy@yumaworks.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 1371A130EBA for <netmod@ietfa.amsl.com>; Thu, 31 Jan 2019 02:46:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.042
X-Spam-Level:
X-Spam-Status: No, score=-2.042 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 Rs9b1TYabw7d for <netmod@ietfa.amsl.com>; Thu, 31 Jan 2019 02:46:29 -0800 (PST)
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1AB84128CE4 for <netmod@ietf.org>; Thu, 31 Jan 2019 02:46:29 -0800 (PST)
Received: by mail-lf1-x12d.google.com with SMTP id l10so1925240lfh.9 for <netmod@ietf.org>; Thu, 31 Jan 2019 02:46:28 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=U+qzgTw1/2F4TZM7fhpI1gepIjxDrTyIoC3LFalvgTM=; b=C0PKTdtN1RjKC+7fMavRubGO6seDmnDm+7OWyDX7Pp6A0VN99B3Qygi8HrmQTTz/qH i/Zd2B7RfSwcYxBJkozMb5D4czbGkc8CfNJqD60vVIpq9oigZLZmOQbeDEm64HZXcOih 5CR/nJRpuGNlrX/3GsILVIzMB8n+WA7VJa36Xg2N/CP54wMfv+zAEXwBbNP9yozW+F+y d28hXse5AXgszlTWl+pRGmeaafb044OA+/ssbDEGMdfie2o/HQFYiZGLJFqxVa/BQ8Mm YafttJtYokHvwJFJpxcNwOJGVmX+J9h1nfOTGnTwQ+myQj9G2/J3tRjcqcG764+7kILo sGoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=U+qzgTw1/2F4TZM7fhpI1gepIjxDrTyIoC3LFalvgTM=; b=COjpj5IJTXJ8Jc/ACOJhFkalhtBjNC+7zdCZFEa6NXjEf6kaOzEgIfKYO6ioiOn6J+ 7kNXLdNFYqxim3PlHDEXP/LOif+lwELESwLLEkAtXTznPT70dYGABTbwSVeSqm/sDreL uu0JS7dm8s5Wdv3Sjz6CAciBAGZAmGk5x2dSgrGTpIxR0/NEJGfBmZNA1AExBxKkmnjU Od2w9P9tx4aD6CxaigLBuYQAGAAZKy30wLWfp8C6mJp8JHpoxR3aDuu3FMYjRrp+/e+0 pARqDKyTYt3y+0Ln8EqznLibNA/1TL0lEQd1Q8hjappjmi7Ptx/CxyBku12gr1gqnWXo WIpw==
X-Gm-Message-State: AJcUukc/4rg6O/EYH3Bs0FGZIXpkIU9psPVT1gKfusrOuBPi/TxuWpG4 CnUsDczE2wOH6l/OpXT0XtyrtPBiB3vpzP4muJJPKETf
X-Google-Smtp-Source: ALg8bN7xHvdX6QC5j2ee0irTraXkmXiY+V2G9Bu1Dni2QKHlKvSzLgcWomt8KFXYk3lrYoGqregniKbz6nhJHAOlnJ4=
X-Received: by 2002:a19:40cc:: with SMTP id n195mr26325168lfa.40.1548931586992; Thu, 31 Jan 2019 02:46:26 -0800 (PST)
MIME-Version: 1.0
References: <874l9qjhto.fsf@nic.cz> <20190130.200250.2298112466859908310.mbj@tail-f.com> <CABCOCHRTOY_W6Z3Sc7ejm0j=vEdAE221wLveH8w04ekHQnc4Zw@mail.gmail.com> <20190131.094407.267764793396247491.mbj@tail-f.com>
In-Reply-To: <20190131.094407.267764793396247491.mbj@tail-f.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 31 Jan 2019 02:46:15 -0800
Message-ID: <CABCOCHTh7Kn+_bJwgp=CzQunXG2ZFea3Lc+wTvX-unSPEOzxOg@mail.gmail.com>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: Ladislav Lhotka <lhotka@nic.cz>, NetMod WG <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000000645a90580bebd4f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ZEJnTB8Kt00nnjBzTmQ-12smTHw>
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:46:32 -0000

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