Subject: Re: [lisp] Yangdoctors early review of draft-ietf-lisp-yang-11

From: "Alberto Rodriguez Natal (natal)" <[email-masked]>
Date: Tue, 20 Aug 2019 18:30:00 +0000

Chris, 

Thanks a lot for the review and apologies for the delayed response. We went through your comments and they make good sense to us. Please see inline for some replies from our end.

Thanks,
Alberto

On 7/25/19, 6:42 PM, "Christian Hopps via Datatracker" <[email-masked]> wrote:

    Reviewer: Christian Hopps
    Review result: On the Right Track

    * 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".

[AR] Agreed, we will update.

       - "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).
    
[AR] Good point, we’ll make this more restrictive.

       - 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.
    
[AR] Good catch, we’ll update.

       - 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.
    
[AR] That's a fair comment. We used minutes in the model, however, since RFC6833bis defines the TTLs in minutes. Do you think it would be reasonable to leave the TTL in minutes and aligned with 6833bis? 

    ** 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).
    
[AR] Thanks for pointing us to the geo-location module. After some discussion on this, we believe we prefer to follow (if you think it's ok) the format on RFC8060 since any other format would need to map to 8060. We would definitely update the description of the nodes to reflect more info from 8060 as you suggested.

       - 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.
    
[AR] We probably want to follow RFC 8060 here as well.

    ** Nits
    
      - Invalid example XML for LISP Map-Server.. The config namespace should not be
        "http://tail-f.com/ns/config/1.0".
    
[AR] Yes, agreed.

      - Correct module vs model language.
        - OLD: <t>This module is the base LISP module that is augmented in multiple
        models to represent various LISP device roles.</t>
        - NEW: <t>This is the base LISP module.  It is further augmented by the
        LISP device role specific modules defined elsewhere in this document.</t>
    
[AR] Yes, agreed.

      - Yang comments need some grammar fixes.
        - e.g., 'This augments *the* LISP decices list ...'
    
[AR] Agreed, will fix.

      - I got some warning from validation tools, but I'm not sure if they are
       valid, please double check though.
    
[AR] Thanks for the heads up, we will check and fix those.

        - Pyang nits:
          #+begin_src bash
            for f in *.yang; do echo $f; \
            pyang --ietf --max-line-length 69 $f ; \
            done
            [email-masked]
            [email-masked]
            [email-masked]:86: warning: line length 70 exceeds 69 characters
            [email-masked]:106: warning: line length 70 exceeds 69 characters
            [email-masked]:157: warning: line length 71 exceeds 69 characters
            [email-masked]:164: warning: line length 70 exceeds 69 characters
            [email-masked]:171: warning: line length 72 exceeds 69 characters
            [email-masked]:179: warning: line length 72 exceeds 69 characters
            [email-masked]
            [email-masked]:125: warning: line length 70 exceeds 69 characters
            [email-masked]
            [email-masked]:91: warning: line length 72 exceeds 69 characters
            [email-masked]
            [email-masked]:204: warning: line length 70 exceeds 69 characters
            [email-masked]
            [email-masked]:431: warning: line length 70 exceeds 69 characters
            [email-masked]:485: warning: line length 71 exceeds 69 characters
            [email-masked]:490: warning: line length 71 exceeds 69 characters
          #+end_src
    
[AR] Thanks a lot for including the pyang arguments you used, will help us to fix the nits.

---

From: Christian Hopps <[email-masked]>
Date: Tue, 20 Aug 2019 17:14:37 -0400

> On Aug 20, 2019, at 2:30 PM, Alberto Rodriguez Natal (natal) <[email-masked]> wrote:
> 

If it were me I'd probably use seconds and mention in the description that the RFC granularity is minutes; however, since you don't define a range (a good thing) one backward compatible way to be able to specify sub-minute values in the future would be to augment in a seconds (or sub-seconds) node and have the minutes value be 0, so I think you're OK if you want to leave it as minutes.

Thanks,
Chris.

---

From: "Alberto Rodriguez Natal (natal)" <[email-masked]>
Date: Wed, 21 Aug 2019 03:43:56 +0000

Thanks Chris, that makes sense. We'll leave it as minutes then. 

Best,
Alberto

On 8/20/19, 2:14 PM, "Christian Hopps" <[email-masked]> wrote:

    
    
    Thanks,
    Chris.