Subject: [Netconf] AD review: draft-ietf-netconf-yang-library-04

From: Benoit Claise <[email-masked]>
Date: Fri, 1 Apr 2016 11:25:09 -0300

Dear all,

Here is my AD review of draft-ietf-netconf-yang-library-04

- terminology

    The following terms are defined in [RFC6020 <https://tools.ietf.org/html/rfc6020>]:

    o  module

    o  submodule

Should it be 6020bis.

    The following terms are defined in [RFC6020 <https://tools.ietf.org/html/rfc6020>bis]:

    o  module

    o  submodule

The module definition is different between RFC6020 and RFC6020bis

- module-set-id

    "This mandatory leaf contains a unique implementation-specific
    identifier representing the current set of modules and submodules."

    "There is no requirement that
    the same set always results in the same module-set-id value."

I guessed from the two sentences that the uniqueness is per server, but it was not clear.
Re-reading this section, I was missing:
OLD:
    This mandatory leaf contains a unique implementation-specific
    identifier representing the current set of modules and submodules.
NEW:
    This mandatory leaf contains a unique implementation-specific
    identifier representing the current set of modules and submodules
    on a specific server.

- Editorial:
OLD:

    If the value of this leaf changes, the server also generates a
    "yang-library-changed" notification, with the new value of
    "module-set-id".

NEW:
    If the value of this leaf changes, the server also generates a
    "yang-library-change" notification, with the new value of
    "module-set-id".

- YANG 1.0 and YANG 1.1
It was not clear to me if this supports both YANG 1.0 and YANG 1.1? And 
RFC6020bis referring to the YANG library while RFC6020 (obviously) does 
not, added to the confusion.
You should add that the YANG library can be used to list modules written 
with any YANG version.

- modules-state/module, section 2.1.2

    This mandatory list contains one entry for each YANG data model
    module supported by the server.  There MUST be an entry in this list
    for every YANG module that is used by the server.

You should add "for each revision of each YANG module supported by the 
server".
Same remark for:

      list module {
              key "name revision";
              description
                "Each entry represents one module currently
                 supported by the server." 

Also, I propose to add a sentence such as:

    While RFC6020bis mentions "A server MUST NOT implement more than one
    revision of a module", the conformance-type might list multiple
    identical YANG module with different version, to document whether a
    module is implemented or listed for import reasons.

Regards, Benoit