Skip to main content

Early Review of draft-ietf-opsawg-l3sm-l3nm-03
review-ietf-opsawg-l3sm-l3nm-03-yangdoctors-early-krejci-2020-05-11-00

Request Review of draft-ietf-opsawg-l3sm-l3nm-03
Requested revision 03 (document currently at 18)
Type Early Review
Team YANG Doctors (yangdoctors)
Deadline 2020-05-11
Requested 2020-04-18
Requested by Joe Clarke
Authors Samier Barguil , Oscar Gonzalez de Dios , Mohamed Boucadair , Luis Angel Munoz , Alejandro Aguado
I-D last updated 2020-05-11
Completed reviews Yangdoctors Early review of -03 by Radek Krejčí (diff)
Intdir Last Call review of -08 by Ron Bonica (diff)
Yangdoctors Last Call review of -07 by Radek Krejčí (diff)
Rtgdir Last Call review of -10 by Andrew G. Malis (diff)
Opsdir Last Call review of -10 by Qin Wu (diff)
Secdir Last Call review of -10 by Rifaat Shekh-Yusef (diff)
Genart Early review of -14 by Pete Resnick (diff)
Comments
The authors have made substantial and continual progress on this module based on feedback from a number of sources.  They feel it is in decent shape -- at least enough to now request a YANG Doctor review.
Assignment Reviewer Radek Krejčí
State Completed
Request Early review on draft-ietf-opsawg-l3sm-l3nm by YANG Doctors Assigned
Posted at https://mailarchive.ietf.org/arch/msg/yang-doctors/dO9I3gdwFL7wL-cm-fpXSUhOlzY
Reviewed revision 03 (document currently at 18)
Result Ready w/issues
Completed 2020-05-11
review-ietf-opsawg-l3sm-l3nm-03-yangdoctors-early-krejci-2020-05-11-00
The I-D document contains a single YANG module ietf-l3vpn-ntw.

The module is quite complex, but despite I'm not an expert in the area, the
text of the draft seems very descriptive and helpful to understand all the
parts of the module tree. From my perspective, the most problematic part of the
module is the overall use of groupings and the current status of their
specification in the module.

Here are the specific issues:

- the module seems NMDA compliant, so it should be mentioned in Introduction
(or some other) section:

    The YANG data model in this document conforms to the Network
    Management Datastore Architecture (NMDA) defined in RFC 8342.

- the filename's revision part does not match the latest revision date
(2020-04-03) of the module:
  <CODE BEGINS>  file "ietf-l3vpn-ntw@2020-03.09.yang"

- all the imported modules must have their document (RFC) in the normative
references section, but RFC 6991, RFC 8294, RFC 8299 and RFC 8519 are missing.

- since RFC 8277 is referenced in the module, it should appear in the normative
references section.

- additional indentation (3 spaces on each line except the first one) in the
module's contact statement seems weird and unnecessary/unintentional.

- some of the descriptions in the module use RFC 2119 key words, so the
module's description is supposed to contain the following text:

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.

- typedef protocol-type;
  - Are you really sure that the list of the underlying protocols is fixed
  forever in all its instances? Having it in the form of identity would allow
  later augmenting of the list of possible values.

- the whole groupings part need a cleanup and maybe some structural changes:
  - most of the groupings are instantiated only once - having them defined this
  way makes sense only in case you believe they are useful for other modules to
  use. Splitting a complex module into groupings just for keeping its parts
  separated IMO decreases the readability and usability of the module - it is
  quite challenging to find a specific path or subtree because of intensive
  skipping from grouping to another. - there are also groupings that are not
  instantiated at all, if they are intended exclusively for use by other
  modules, I would prefer to have some note about it in their descriptions. -
  there are several comment out uses statements, there is also whole /* UNUSED
  */ part

- description of the service-status grouping seems to be invalid

- descriptions of {grouping site-bearer-params}/site-bearers/bearer/bearer-id
and {grouping vpn-route-targets}/vpn-polices nodes are empty

- I'm afraid about the usability of appendix A. The status of the
implementations will tent to change quite intensively and having such
information in RFC does not make much sense to me.