On Wed, Jul 29, 2015 at 09:34:17AM +0200, Martin Bjorklund wrote:
> Hi,
> 
> Andy Bierman <a...@yumaworks.com> wrote:
>
> > I do not agree that YANG extensions should be used for IETF standards track
> > modules.
> 
> I strongly disagree.  This was one of the two original ideas behind
> extension statements (the other was that vendors could add their own
> stuff).

An extension defines certain semantics. For example:

  extension default-deny-write {
    description
          "Used to indicate that the data model node
           represents a sensitive security system parameter.

           If present, and the NACM module is enabled (i.e.,
           /nacm/enable-nacm object equals 'true'), the NETCONF server
           will only allow the designated 'recovery session' to have
           write access to the node.  An explicit access control rule is
           required for all other users.

           The 'default-deny-write' extension MAY appear within a data
           definition statement.  It is ignored otherwise.";
  }

If a data model writer uses an extension, then the semantics
associated with the extension are embedded in the data model. The
extension can be seen as a shorthand for copying the semantics
directly into the description clause. In other words, an
implementation has to implement the semantics no matter which
tool is used.

Whether tools understand the semantics of an extension statement or
not is a tool implementation issue. If a YANG tool does not support
default-deny-write, an implementation still needs to provide the
behaviour called out for if a data model uses this extension.

Given this interpretation of extensions, I do not really understand
the discussion here.

/js

PS: Perhaps we should change

       If a YANG compiler does not support a particular extension, which
       appears in a YANG module as an unknown-statement (see Section 13),
       the entire unknown-statement MAY be ignored by the compiler.

    to 

       If a YANG parser does not support a particular extension, which
       appears in a YANG module as an unknown-statement (see Section 13),
       the entire unknown-statement MAY be ignored by the parser. Note
       that even in this case the semantics associated with the extension
       still apply (as if they were part of a description statement).

    and consistently use YANG parser everywhere instead of sometimes YANG
    parser and sometimes YANG compiler.

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to