* draft-ietf-lisp-yang-11 early yang-doctor review. ** Minor - Enumerations are not extensible and so should only be used when all the values are known and will not need to be added to. So, auth-algorithm-type should use identities and not an enumeration, as it almost for sure will need to be added to in the future. An example of this is present in RFC8177 (keychains) which has identities derived from a base identity "crypto-algorithm". - "type string" is a very inclusive UTF-8 string, along with all legal UTF-8 characters it includes tabs, spaces, newlines and carriage returns. This may not be what you actually want for things like "eid-id"s or "auth-key-id". You probably want to use a more restricted typedef variation of string (using a pattern to restrict its values). - Node name consistency, you probably should be consistent with the name for nodes of the same type. For example type "eid-id", sometimes the name is "id" other times "eid-id" is used. - TTL is limited to minute units. This may be overly restrictive. Couldn't there be some use (perhaps not common) e.g., perhaps when debugging, or in future versions of the protocol where seconds granularity might be useful? Changing these nodes later is non-backwards compatible and thus very painful to do. ** geo coordinates - It might be worth considering using the grouping in the geo-location module for specifying coordinates. The only drawback here would be if geo-location causes the publication to be delayed b/c lisp-yang finishes first. In any case the description for the coordinate nodes should echo more of the info from the LCAF RFC, in particular that the coordinate system used is WGS-84). - I found a lisp geo draft and it seems to specify a bit more detail than is covered in this module (e.g., the kilometer bit, radius, uncertainty). Not sure if that would be appropriate to add or not. ** Nits - Invalid example XML for LISP Map-Server.. The config namespace should not be "http://tail-f.com/ns/config/1.0". - Correct module vs model language. - OLD: This module is the base LISP module that is augmented in multiple models to represent various LISP device roles. - NEW: This is the base LISP module. It is further augmented by the LISP device role specific modules defined elsewhere in this document. - Yang comments need some grammar fixes. - e.g., 'This augments *the* LISP decices list ...' - I got some warning from validation tools, but I'm not sure if they are valid, please double check though. - Pyang nits: #+begin_src bash for f in *.yang; do echo $f; \ pyang --ietf --max-line-length 69 $f ; \ done ietf-lisp-address-types@2019-02-23.yang ietf-lisp-etr@2019-02-23.yang ietf-lisp-etr@2019-02-23.yang:86: warning: line length 70 exceeds 69 characters ietf-lisp-etr@2019-02-23.yang:106: warning: line length 70 exceeds 69 characters ietf-lisp-etr@2019-02-23.yang:157: warning: line length 71 exceeds 69 characters ietf-lisp-etr@2019-02-23.yang:164: warning: line length 70 exceeds 69 characters ietf-lisp-etr@2019-02-23.yang:171: warning: line length 72 exceeds 69 characters ietf-lisp-etr@2019-02-23.yang:179: warning: line length 72 exceeds 69 characters ietf-lisp-itr@2019-02-23.yang ietf-lisp-itr@2019-02-23.yang:125: warning: line length 70 exceeds 69 characters ietf-lisp-mapresolver@2019-02-23.yang ietf-lisp-mapresolver@2019-02-23.yang:91: warning: line length 72 exceeds 69 characters ietf-lisp-mapserver@2019-03-05.yang ietf-lisp-mapserver@2019-03-05.yang:204: warning: line length 70 exceeds 69 characters ietf-lisp@2019-03-05.yang ietf-lisp@2019-03-05.yang:431: warning: line length 70 exceeds 69 characters ietf-lisp@2019-03-05.yang:485: warning: line length 71 exceeds 69 characters ietf-lisp@2019-03-05.yang:490: warning: line length 71 exceeds 69 characters #+end_src