Re: [mpls] Robert Wilton's Discuss on draft-ietf-mpls-base-yang-15: (with DISCUSS and COMMENT)

Tarek Saad <tsaad.net@gmail.com> Tue, 20 October 2020 14:57 UTC

Return-Path: <tsaad.net@gmail.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 26A5E3A1096; Tue, 20 Oct 2020 07:57:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id X6nir9_4H7MJ; Tue, 20 Oct 2020 07:57:25 -0700 (PDT)
Received: from mail-io1-xd2f.google.com (mail-io1-xd2f.google.com [IPv6:2607:f8b0:4864:20::d2f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 19FB23A0FFB; Tue, 20 Oct 2020 07:57:24 -0700 (PDT)
Received: by mail-io1-xd2f.google.com with SMTP id p15so3810689ioh.0; Tue, 20 Oct 2020 07:57:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:thread-topic:thread-index:date:message-id :references:accept-language:content-language :content-transfer-encoding:mime-version; bh=qGSPFPuqhCW0iOkjwGvC0ppV9+8CwupBXuwhvpWY3vw=; b=BbPt0rNRO2K7knkYjj7u1PepfOTH0bNeoBsFTouj8OJC98cKA1fDzmUUMlWVk0sypO /3CgC+Y8LmyGda3HezzK7qKlITPqg8Hrv/PvqtsG5BZpg6/nQ5GQPLtCl0Zt3YzJ6fY3 KL9RsZIN3pfjXcCrg9K4oWLwTgL0wcaiW3JiBOdM832pb+87UydYD42HqCE/gCQAZcHK ue9YuykPyDg44TdZx7JMR8kPTVh/ztD8HkHXhTWYDB0lzjqaO5zu8o12JkOuJmOGC4dm ABFifE+euPzEmBJ/0nYH2MmiZ2Pww43Mpar993nyTSyozEOizOM63LX/KaghJXXk6L+S RuwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:thread-topic:thread-index :date:message-id:references:accept-language:content-language :content-transfer-encoding:mime-version; bh=qGSPFPuqhCW0iOkjwGvC0ppV9+8CwupBXuwhvpWY3vw=; b=FB6tZh3C9w8HomvyoDwa6G0DCCJJRDFNPBqnj8zbsJVJvH23tQ1mpbNWvaFQT0L04T 3vPx+XWEuMXpjmwOOJjTJDkxnZLMKYoPw0qjCC4B66XB84A/8fLzoX0nGYdnVP4ypS8s l0WxQYsCVPd/GX0J5/wYvcviZFYlKkRP85hHLXyHF8wXqZQqT2NYsqM3Z3igQGw8tvlM CsyQ0JDDfTYSJW+pD2GC6CRJeZ4E6x6zP80AISxDYKbDs4QvN/dRTSWK8RP1RqasXx2W gc+Cr1DrkYCJueEoKyCyXW6lPSHjUJ1XYdpZHRAkJgOOFHt652vGIgx4/xpEUpAS2ezy MdaA==
X-Gm-Message-State: AOAM532GTYFNBtV3OTENVAMtYaKRV65CE7SnVKFnifSrkEyANFfN1nJO m3KVMo9QVzBDUtHDb6cvL0M=
X-Google-Smtp-Source: ABdhPJzq+az0XHkfhwEKNXDkMWyF3puXPc/AP9nAC+kxmRtiovIY2CU0Ycd90jfBRaiZY98k5pNOCg==
X-Received: by 2002:a6b:93d6:: with SMTP id v205mr2435741iod.188.1603205843211; Tue, 20 Oct 2020 07:57:23 -0700 (PDT)
Received: from DM5PR1901MB2150.namprd19.prod.outlook.com ([2603:1036:4:9e::5]) by smtp.gmail.com with ESMTPSA id r3sm1852059iog.55.2020.10.20.07.57.21 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Oct 2020 07:57:22 -0700 (PDT)
From: Tarek Saad <tsaad.net@gmail.com>
To: Robert Wilton <rwilton@cisco.com>, The IESG <iesg@ietf.org>
CC: "draft-ietf-mpls-base-yang@ietf.org" <draft-ietf-mpls-base-yang@ietf.org>, "mpls-chairs@ietf.org" <mpls-chairs@ietf.org>, "mpls@ietf.org" <mpls@ietf.org>, Loa Andersson <loa@pi.nu>
Thread-Topic: Robert Wilton's Discuss on draft-ietf-mpls-base-yang-15: (with DISCUSS and COMMENT)
Thread-Index: ATE2MTQyPDeUIQ36u5VjMYNhXZofQw==
X-MS-Exchange-MessageSentRepresentingType: 1
Date: Tue, 20 Oct 2020 14:57:21 +0000
Message-ID: <DM5PR1901MB215086DD4CC5D76F939D6CBFFC1F0@DM5PR1901MB2150.namprd19.prod.outlook.com>
References: <159973789624.25904.12671134973766580701@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/LtOv0O_2lc_Gt4dVfrkvTWFLzWY>
Subject: Re: [mpls] Robert Wilton's Discuss on draft-ietf-mpls-base-yang-15: (with DISCUSS and COMMENT)
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Oct 2020 14:57:31 -0000

Hi Rob,

Thanks for your thorough review and comments. We have posted rev -16 (https://tools.ietf.org/html/draft-ietf-mpls-base-yang-16)  of the document and have addressed all your comments. 
Please see inline for responses… [TS]

Regards,
Tarek

On 9/10/20, 7:38 AM, "Robert Wilton via Datatracker" <noreply@ietf.org> wrote:

    Robert Wilton has entered the following ballot position for
    draft-ietf-mpls-base-yang-15: Discuss

    When responding, please keep the subject line intact and reply to all
    email addresses included in the To and CC lines. (Feel free to cut this
    introductory paragraph, however.)


    Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
    for more information about IESG DISCUSS and COMMENT positions.


    The document, along with other ballot positions, can be found here:
    https://datatracker.ietf.org/doc/draft-ietf-mpls-base-yang/



    ----------------------------------------------------------------------
    DISCUSS:
    ----------------------------------------------------------------------

    Hi,

    Thank for you this YANG module.  It is great to see IETF progressing publishing
    more YANG configuration/management models, to thank you for the time and effort
    that you have put into this.

    I support Roman's discuss regarding the security considerations, but would also
    like to add one of my own:

    In my experience, having some instance data examples (e.g., see Appendix D of
    RFC 8022) greatly helps readers understand the structure of the YANG module and
[TS]:XXX

    get a good feel for how the YANG model is used.  Was adding instance data
    examples considered for this document?  Do the authors that think it would be
    possible to add some examples?

    I've also added some comments on the YANG model below that probably need to be
    addressed but I didn't want to overload the main discuss point.

    Regards,
    Rob


    ----------------------------------------------------------------------
    COMMENT:
    ----------------------------------------------------------------------

    I also have some comments on the YANG module itself:

      feature mpls {
        description
          "Indicates support for MPLS switching.";
        reference
          "RFC3031";
      }

    Is the MPLS feature really required?  I.e. is it plausible that a device would
    implement this YANG module without supporting MPLS switching?  If not, then
    just implementing the module should probably be sufficient without a separate
    feature.
[TS]: agreed and removed feature.

    Alternatively, it might be worth looking at the ISIS YANG module that define a
    feature to control with ISIS can be administratively controlled.  E.g.
    draft-ietf-isis-yang-isis-cfg-42, feature admin-control.  On a related point:

         augment /rt:routing:
           +--rw mpls {mpls}?
               ...
              +--rw interface* [name]
                 +--rw name                      if:interface-ref
                 +--rw enabled?                  boolean
                 +--rw maximum-labeled-packet?   uint32

    Is the "enabled" leaf definitely required here?  Isn't having the interface
    under the MPLS list sufficient to indicate that MPLS is enabled?  If you really
    want this leaf then I would change its name to "enable" rather than "enabled",
    change it's default to true, and consider putting it under a feature like
    admin-control from the ISIS YANG module.
[TS]: leave it - consistent with other modules.

         augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route:
           +--ro mpls-enabled?         boolean {mpls}?
           +--ro local-label?          rt-types:mpls-label {mpls}?
           +--ro destination-prefix?   -> ../local-label {mpls}?
           +--ro route-context?        string {mpls}?

    Is "local-label" clearly enough associated with MPLS in the IP RIB?  E.g.
    should this be mpls-local-label, or under an mpls container? Presumably the
    mpls-enabled leaf shouldn't appear under the MPLS RIB?  It might be cleaner to
    split this into two augments, one for the MPLS RIB, and one for other RIBS.

[TS]: module-name will be always used as distinguisher - mpls:local-label (destination-prefix does not include ip-xx)

    The mpls-operations-type is defined, but not actually used by this module.  I
    wanted to check that this is expected.  I also note that the operations-type
    doesn't include a "no-operation" case statement which I thought might
    potentially be useful (but I'm not an MPLS expert).

    Regarding  grouping label-blocks:

    Ben's comment is right that the must statements associated with the
    start-label/end-label have the wrong sense.  There should also only be one of
    them (since they would always fail/pass in unison), and I would recommend just
    keeping the end-label must statement.
[TS]: we corrected the check.

    I wasn't sure whether the unique statement is really helpful.  Am I right in
    assuming that the blocks should be disjoint and non overlapping? If so, the
    unique statement doesn't achieve this, and although it could probably be done
    in a must statement, it would be tricky to express and get right.  However, if
    this is a constraint then it would certainly be helpful for the description of
    label-block to mention this.

    Regarding grouping rib-active-route-mpls-input:

    I know that this has been discussed with yang-doctors and the authors of the
    base RIB YANG module that is being extended but seeing the YANG I'm not quite
    sure we have the best outcome, since users of the RPC would be required to
    specify both destination-address and local-label as input parameters.  Possibly
    a better choice would to make this a choice so that a client could query either
    using a destination-address or a local-label (with both using the same type
    definition)?
[TS]: since mandatory is not set on it, I presume the user of RPC is ok to specify one.

Regards,
Tarek