# Documents Module ietf-layer0-types Common YANG Data Types for Layer 0 Networks https://www.ietf.org/id/draft-ietf-ccamp-rfc9093-bis-12.html Module ietf-te-types Module ietf-te-packet-types Common YANG Data Types for Traffic Engineering https://datatracker.ietf.org/doc/html/draft-ietf-teas-rfc8776-update-13 Module ietf-te Module ietf-te-device A YANG Data Model for Traffic Engineering Tunnels, Label Switched Paths and Interfaces https://www.ietf.org/archive/id/draft-ietf-teas-yang-te-37.html Review Module ietf-wdm-tunnel A YANG Data Model for WDM Tunnels https://www.ietf.org/archive/id/draft-ietf-ccamp-wdm-tunnel-yang-03.html # Summary The '/te' subtree is massive and complex. Reading the drafts that contain modules used by ietf-wdm-tunnel was quite helpful to understand this draft. The ietf-wdm-tunnel module augments the ietf-te module using 95 separate augment statements. Some of these statements augment the same node in the '/te' subtree. There are 11 groupings used to define many of the nodes that are augmenting this subtree. Although complex, a developer familiar with all relevant standards documents should be able to implement this module. # Minor Issues 1) No 'prefixes in data nodes' section See example in ietf-te draft https://www.ietf.org/archive/id/draft-ietf-teas-yang-te-37.html#name-prefixes-in-data-node-names 2) YANG Tree section This huge list of augment summaries is difficult to understand. Suggestions: - combine augments-stmts where the same target is referenced - break into different sections (e.g. globals, tunnels, lsps) - move YANG tree to an appendix at the end of the document 3) Use of comments instead of description-stmt Tools often strip YANG comments. The comments should be moved into the description-stmt. The comments are better than the terse descriptions. Example: /* * Transceiver constraints for secondary reverse path * Applicable to starting, terminating and regenerator * transceivers. */ augment "/te:te/te:tunnels/te:tunnel/" + "te:secondary-reverse-paths/" + "te:secondary-reverse-path/" + "te:explicit-route-objects/" + "te:route-object-exclude-always/te:type/" + "te:numbered-node-hop/te:numbered-node-hop" { description "Augment TE secondary reverse path with transceiver configurations."; uses path-transceiver-config; } 4) Lack of descriptions and references The ietf-te-types and ietf-te modules provide excellent examples of good usage of descriptions and references. Only one object 'line-coding-bitrate' has a reference-stmt. Some descriptions contain only the leaf name without any dashes. 5) Commented out definitions There are several places where the specified data is within a comment. There are no explanations at all why these are in the module. Add explanations or preferably remove objects that are commented out Example: /* leaf inverse-multiplexing-mode { //type l0-types:inverse-multiplexing-mode; type string; description "The inverse multiplexing mode."; } */