Re: [mpls] Last Call: <draft-ietf-mpls-base-yang-14.txt> (A YANG Data Model for MPLS Base) to Proposed Standard

tom petch <ietfc@btconnect.com> Mon, 24 August 2020 11:23 UTC

Return-Path: <ietfc@btconnect.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 A58693A0CC9; Mon, 24 Aug 2020 04:23:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.001
X-Spam-Level:
X-Spam-Status: No, score=-0.001 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.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 sdlVzTQdSvXo; Mon, 24 Aug 2020 04:23:23 -0700 (PDT)
Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2132.outbound.protection.outlook.com [40.107.20.132]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 371213A0CC8; Mon, 24 Aug 2020 04:23:22 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DAUoHTDtux0zNRmTFejvflzu1+4Runs6aH37l7CCO1CE/PiSGwG9prYtJUBQN+CLBAoivPCn7wQ5YxMcUvUQapaCp8Q9hvR4Wwz+oXxJDpkcnPBGASpkcLcrMyQGKNiV8qEE4GA0UwejZQYC45RuuC9rpcvjLFfEzy+TFUO8biPZZhzA1DIYY4WJAu6dckzqJw4ejJ8GzIyWk8gO9wxS3p9+USR5CDaoVK7FK4Ga9qoUQuLAPofy3o1s3vBul+LJVZe6Sz+B7lXnIuENXda8HLshY56qSw+eDvf56NGaX7ePnWELkxNCUyrYoBtUBKnRjShz89gKbfKLOzUm+75f/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NBwKlgQuGxRQ/xOQoj5DewXQQrubKkTmFKrTw0rc9eg=; b=daqVzL+zqYxzr4+4R/4AfW6ytjgrB9TpeZN8H4UShy72NYgye01OX9yXqsd7NzKAAKHxbSmaDl8zyD1wuJ3Lq2ML1oMM49G/HkxNHZJykYVjCJ3s0jhpzmouJebcFxUsB6JY2IadjJxAMgIYX5G/ZkgJ2v53QgqwMDsCht2Ashs/UEaLsjuF1lx3Cbey5RoDMSAv25GdRkFrV+J15qkcOEQanRm1WY62D/aX/B1cfFmGUMW/7m9nwpP5uBqPpL0koaFZB9W3FaxVW1oo/uioUAugDllEC5IMLhVEME6WF2GpPavmgqmIGbPnVfWZBMBYeRWkoWhE86MJMYQ9JVmX7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NBwKlgQuGxRQ/xOQoj5DewXQQrubKkTmFKrTw0rc9eg=; b=XJt5cXT8bl1eVZoTL5hQt1jSwIOp/3qlyrYVVREYEUU0wT/zYys1X+rRff360fridY/GPTSBYXgW+OJnygzTOxFoD8+TniPfJ9xbIDCdJnnHttcLQzWuS/YoHQu2Bq16eLqYoA77YMN5k4wuXyvK8mwGwK2JWNdellZijqL8jmo=
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com (2603:10a6:20b:134::11) by AM5PR0701MB2370.eurprd07.prod.outlook.com (2603:10a6:203:11::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.10; Mon, 24 Aug 2020 11:23:20 +0000
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::b570:437a:db46:400a]) by AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::b570:437a:db46:400a%9]) with mapi id 15.20.3326.017; Mon, 24 Aug 2020 11:23:20 +0000
From: tom petch <ietfc@btconnect.com>
To: Tarek Saad <tsaad.net@gmail.com>, "Acee Lindem (acee)" <acee@cisco.com>
CC: "mpls@ietf.org" <mpls@ietf.org>, "mpls-chairs@ietf.org" <mpls-chairs@ietf.org>, "draft-ietf-mpls-base-yang@ietf.org" <draft-ietf-mpls-base-yang@ietf.org>
Thread-Topic: Last Call: <draft-ietf-mpls-base-yang-14.txt> (A YANG Data Model for MPLS Base) to Proposed Standard
Thread-Index: AQHWdLUoAAsve0/gsk2miVdjbBmQ/qlCupkTgABYiQCABBEHlg==
Date: Mon, 24 Aug 2020 11:23:20 +0000
Message-ID: <AM7PR07MB624822843BD0C193BFA6B79EA0560@AM7PR07MB6248.eurprd07.prod.outlook.com>
References: <159664704561.10058.12590600409549515735@ietfa.amsl.com> <5F2BBFAC.7060203@btconnect.com> <DM5PR1901MB2150AE0A6D7445416CD9ADFFFC5F0@DM5PR1901MB2150.namprd19.prod.outlook.com> <AM7PR07MB62488C19E98C6F76845E48A8A05B0@AM7PR07MB6248.eurprd07.prod.outlook.com>, <DM5PR1901MB2150FFE9A5B9ACA9B923F3E6FC5B0@DM5PR1901MB2150.namprd19.prod.outlook.com>
In-Reply-To: <DM5PR1901MB2150FFE9A5B9ACA9B923F3E6FC5B0@DM5PR1901MB2150.namprd19.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=btconnect.com;
x-originating-ip: [86.148.49.170]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 2285c66c-5456-43cd-3f23-08d848201b2c
x-ms-traffictypediagnostic: AM5PR0701MB2370:
x-microsoft-antispam-prvs: <AM5PR0701MB2370A2E562EA19EB956B20B2A0560@AM5PR0701MB2370.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:5516;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 8A65bFdw4/nye8O1mPrwxgL4WoYysXb3Zr+xZpg2qer5op3k+NNTrV+NYXAyrVI8eYc6Eg2CuCNwfQK1xhxm/nMgD/bbCKMpgTBBcKNV7lBmyDMA/WbCxpU6Zl3Ms4qHcJt5tHN44SKuuGRjlr/p1VASJAQ3cuKT9gBn9M+vfldmYv2pDgpVIxxpitBtZUQdCXagEowCgvVNOCArj4LGuI1o64En0tjU/3QEA7aCac0PmME4zvsuyPt1x/8+SFQM//1dYIn3dWA6wkocp6SWQbCOND9t1r222xDNO/vg9/Tu/JoTPfEL4Vfyawcn9Cw3N/AGNPhUq8spq9Ve9k5rl55xV/5vmus45QQe0jRJO9WZkm8jIc3mLKr/lqnz6tepEgoLhNefahBnQiUIRyaGDg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR07MB6248.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(136003)(346002)(376002)(366004)(39860400002)(54906003)(110136005)(86362001)(7696005)(186003)(71200400001)(9686003)(8676002)(8936002)(55016002)(478600001)(33656002)(966005)(53546011)(91956017)(76116006)(66946007)(66574015)(4326008)(5660300002)(66446008)(52536014)(66476007)(66556008)(2906002)(6506007)(64756008)(83380400001)(26005)(316002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata: uhHR3hV06s2yGhMKIL/GDnfo8RYBhm4+TsCxfM9ITlwf8ToIcP5J9+eoEMjjfhabTFempVfEDm3Nj7SmfK6G1SuDjqMeWuuoBkuUBVc41Qe5qA5+RRvdFsGwdiYtTSa8lPqgenZfekNmIbYeOp4/ujnFLFcSiSSxGtwWajMXdsreEklHt9veLKo74rT12eHT/7ANgKDpo3Na7VtYroD1H15y86Endkvl713GhBb+ngMcQef/Jw5l+hW+kYm8YhTFd8VMOyjcgyh2mpPVHyQ9Qx4bkPKHe7BubcMbDLF/YsRroAzLk77TOoH9//TrtPBLymG4NybyoRg/iQDf0oMZOUF7z3uiMdJZmnAMg3ECBQOMdj6UMMUUHJeMWjqvmfC1FvS230p/LoPwWf2ouEu8B116kAGOap9qoNbdG/bdtqwi6Z49CCz5nfqhBIK+nxdGlfXdRGsHJITc1k4NUW3urmxlMovbCiFnnxUGIRscdxr7cFIUZ3PVjutPKXKtUkZ63uuA7BFJIRIQWAZN03rTzI65gzQ7F3AaQRNMKNs3xdcARKaUlp1MhH+qcIiH5dK3EVORrNOsr/HteQP19tQG5N8X52TpN9uIeWcV6UzB87uRgWKMsmUGmw0UwaUda+mF+9pQjPYBJ+uKrbG93qnxCg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR07MB6248.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2285c66c-5456-43cd-3f23-08d848201b2c
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2020 11:23:20.4176 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5BYnSlzv/h835tvkM9BaHcXTaoUM6VKU2AjtYqMIaUwHmM4qS/ekhQgpogh1BhB+4g0qQGH5H57ijUvxkWZ4eQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0701MB2370
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/aJhYMiW4vHQbVDmuifFNt_eYGPY>
Subject: Re: [mpls] Last Call: <draft-ietf-mpls-base-yang-14.txt> (A YANG Data Model for MPLS Base) to Proposed Standard
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: Mon, 24 Aug 2020 11:23:26 -0000

From: Tarek Saad <tsaad.net@gmail.com>
Sent: 21 August 2020 22:01

Hi Tom,

Thanks again. Please see responses inline..

On 8/21/20, 12:14 PM, "tom petch" <ietfc@btconnect.com> wrote:

    From: mpls <mpls-bounces@ietf.org> on behalf of Tarek Saad <tsaad.net@gmail.com>
    Sent: 17 August 2020 17:40

    Thanks Acee and Tom.
    I'm merging the discussion on the other thread (titled: [mpls] [netmod] [Technical Errata) and providing the update.
    We have uploaded a new revision https://tools.ietf.org/html/draft-ietf-mpls-base-yang-15 that addresses the comments previously raised.
    Please let us know if there are further comments.

    <tp>
    Tarek

    I think that the YANG 'when' clauses are slightly misplaced.  You have
    augment
    uses
    when
    which makes the 'augment' unconditional and the 'uses' conditioned.  Look at RFC8349 and it has

[TS]: Indeed, our intent is to make the 'augment' unconditional (applicable to all RIBs) and the specific grouping 'uses' conditional.
For example in the below snippet below, the leafs 'mpls-enabled' and 'local-label' are unconditionally augmented to all RIBs, but ' destination-prefix' of 'rib-mpls-properties ' is only applicable to native MPLS RIB - address-family=mpls).

<tp2>
Tarek
I am not sure if we are on the same wavelength.  I was looking at the next hop or input augments which go
augment 
description [omitted by me last time]
uses
when
so 'when' is a child of uses and makes that conditional whereas the description is not conditional and so will always be added and there is nothing else in the augment for these three cases AFAICT.
I get the difference between the augment to all RIBs (strictly speaking this is conditional, on if-feature mpls) and the augment specific to AF mpls but still think it should be
augment
when
description
uses
so 'when' is a child of augment and so nothing is added when the YANG 'when' evaluates to false.

Tom Petch.

  augment "/rt:routing/rt:ribs/rt:rib/rt:routes/rt:route" {
    if-feature "mpls";
    description
      "This augmentation is applicable to all MPLS routes.";
    leaf mpls-enabled {
      type boolean;
      default "false";
      description
        "Indicates whether MPLS is enabled for this route.";
    }
    leaf local-label {
      when "../mpls-enabled = 'true'";
      type rt-types:mpls-label;
      description
        "MPLS local label associated with the route.";
    }
    uses rib-mpls-properties {
      /* MPLS AF aaugmentation to native MPLS RIB */
      when "derived-from-or-self(../../rt:address-family, "
         + "'mpls:mpls')" {
        description
          "This augment is valid only for routes of native MPLS
           RIB.";
      }
    }
  }     .

    augment
    when
    uses

    'present in the AF RIB(s) in the MPLS Architecture'
    I do not understand.  RFC3031 does not use 'RIB' nor 'AF' nor do I think the terms were in use then.  RIB v routing table was a contentious point in the genesis of RFC8349 and I think we should only talk of RIBs when we use it in the RFC8349 sense.  I think you are saying that all routes in all RIBS are augmented with the label information needed for MPLS forwarding but I do not see that in the words.
[TS]: Yes, your reading is correct. I tried to clarify this in section 2.1 and illustrated it in section 2.3 (see below):

>>>>
2.1.  Model Overview

   This document models MPLS labeled routes as an augmentation of the
   generic routing RIB data model as defined in [RFC8349].  For example,
   IP prefix routes (e.g. routes stored in IPv4 or IPv6 RIBs) are
   augmented to carry additional data to enable it for MPLS forwarding.
<<<<

>>>>
2.3.  Model Design
....
                                +-----------------+
                                | MPLS base model |
                                +-----------------+
                              ____/  |  |_____  |________
                             /       |        \          \
                            /        |         \          \
                           o         o          o          +
                    +---------+  +---------+  +--------+ +-----------+
                    | RIB(v4) |  | RIB(v6) |  | RIB(x) | | RIB(mpls) |
                    +---------+  +---------+  +--------+ +-----------+


           +: created by the MPLS base model
           o: augmented by the MPLS base model

        Figure 2: Relationship between MPLS model and RIB instances

   As shown in Figure 2, the MPLS base YANG model augments defined
   instance(s) of AF RIB(s) with additional data that enables MPLS
   forwarding for destination prefix(es) store in such RIB(s).  For
   example, an IPv4 prefix stored in RIB(v4) is augmented to carry a
<<<<

    (!RFC8349})

    RFC6991 needs adding to the Normative References
[TS]: thanks, will be corrected.


    leaf start-label
    must '. >= ../end-label'
    "The start label must be less than or equal to end-label"
    umm

    augment .../route
    if-feature "mpls";
    "This augmentation is applicable to all MPLS routes"
    true but incomplete IMHO
    "This augmentation is applicable to all routes in all RIBs on a device with the feature MPLS enabled"
    and I think this important in understanding what the YANG is trying to do, which I did not with -14
[TS]: ack, I can update this description accordingly.

    /aaugmentation/augmentation/
[TS]: thanks for reporting this.

Regards,
Tarek

    I am still digesting this I-D.  I am not clear what the plans of the AD are right now in terms of timescale.

    In passing, I pointed out to the BFD WG that their YANG model stopped being compatible with the MPLS YANG model in 2018, when /config got removed from /mpls/interface.  They are having a closer look.

    Tom Petch

    Regards,
    Tarek (for co-authors)

    On 8/6/20, 4:31 AM, "tom petch" <daedulus@btconnect.com> wrote:


        This I-D breaks a MUST in RFC8349 Routing Management) and, as such, will
        not interoperate with devices that implement RFC8349 correctly.

        RFC8349 provides a YANG action to return the active route for a
        destination address but omits the destination address, saying that
        modules using this must augment the input with a leaf
        destination-address.  This I-D augments the input with a leaf
        local-label so implementations of RFC8349 that 'know' there will be a
        leaf destination-address will fail to interoperate with this I-D.

        The authors said, at WGLC, that RFC8349 is wrong, that MPLS has label
        not address and so the I-D must provide an augment with a label and
        RFC8349 should change.  I disagree; I think that this is reading too
        many semantics into an identifier.

        Tom Petch

        On 05/08/2020 18:04, The IESG wrote:
        >
        > The IESG has received a request from the Multiprotocol Label Switching WG
        > (mpls) to consider the following document: - 'A YANG Data Model for MPLS Base'
        >    <draft-ietf-mpls-base-yang-14.txt> as Proposed Standard
        >
        > The IESG plans to make a decision in the next few weeks, and solicits final
        > comments on this action. Please send substantive comments to the
        > last-call@ietf.org mailing lists by 2020-08-19. Exceptionally, comments may
        > be sent to iesg@ietf.org instead. In either case, please retain the beginning
        > of the Subject line to allow automated sorting.
        >
        > Abstract
        >
        >
        >     This document contains a specification of the MPLS base YANG model.
        >     The MPLS base YANG model serves as a base framework for configuring
        >     and managing an MPLS switching subsystem on an MPLS-enabled router.
        >     It is expected that other MPLS YANG models (e.g.  MPLS Label Switched
        >     Path (LSP) Static, LDP or RSVP-TE YANG models) will augment the MPLS
        >     base YANG model.
        >
        >
        >
        >
        > The file can be obtained via
        > https://datatracker.ietf.org/doc/draft-ietf-mpls-base-yang/
        >
        >
        >
        > No IPR declarations have been submitted directly on this I-D.
        >
        >
        >
        >
        >
        > _______________________________________________
        > IETF-Announce mailing list
        > IETF-Announce@ietf.org
        > https://www.ietf.org/mailman/listinfo/ietf-announce
        > .
        >
    _______________________________________________
    mpls mailing list
    mpls@ietf.org
    https://www.ietf.org/mailman/listinfo/mpls