Andy Bierman <a...@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'.


/martin

> 
> 
> Andy
> 
> On Wed, Jan 30, 2019 at 11:03 AM Martin Bjorklund <m...@tail-f.com> wrote:
> 
> > Hi,
> >
> > Ladislav Lhotka <lho...@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 mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to