Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09

"Rajiv Asati (rajiva)" <rajiva@cisco.com> Thu, 20 January 2022 23:09 UTC

Return-Path: <rajiva@cisco.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 2BFBB3A25A4; Thu, 20 Jan 2022 15:09:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.595
X-Spam-Level:
X-Spam-Status: No, score=-9.595 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, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=h8scqCKQ; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=C93ofWwf
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 gy7v8Zw30uOR; Thu, 20 Jan 2022 15:09:26 -0800 (PST)
Received: from rcdn-iport-7.cisco.com (rcdn-iport-7.cisco.com [173.37.86.78]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F1C9F3A25A3; Thu, 20 Jan 2022 15:09:25 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=61825; q=dns/txt; s=iport; t=1642720165; x=1643929765; h=from:to:subject:date:message-id:references:in-reply-to: mime-version; bh=PU0w/d4EoLFFrsWrGiTg1orZ7UQwSiFxtrlwMnxyO50=; b=h8scqCKQIWS5kkQAUQx1I+eJDEycZpuwQi4SyyX+DBWbzh4R/Ho+VSPu zJUPqIjySfNydF/ZpA+TsC/tw8wDWPDuZZ8XYbC9wfJYHYdNK2+f0m6zW WGyGrsp1+F+YLWqACtkfNu7ok+O3yFT5iITpo7LzJAuFmgET+dR6vgCcU k=;
IronPort-PHdr: A9a23:CEJJHxzfIyHmq7vXCzPZngc9DxPP8534PQ8Qv5wgjb8GMqGu5I/rM0GX4/JxxETIUoPW57Mh6aLWvqnsVHZG7cOHt3YPI5BJXgUO3MMRmQFoCcWZCEr9efjtaSFyHMlLWFJ/uX+hNk0AE8flbFqUqXq3vlYv
IronPort-Data: A9a23:gqNqMaDR66i3qhVW//Xhw5YqxClBgxIJ4kV8jS/XYbTApDN202cCz2VOCG2BM/aNMzDwLdFyPY218hgB7ZGBnIRlOVdlrnsFo1CmBibm6XV1Fqp7Vs+rBpWroHlPsoNOOrEsEOhuFiWG/k73auC6xZVB/fjgqoTUWbas1h9ZHWeIeA954f5Ss7ZRbrxA2LBVMCvV0T/GmPAzDXf+s9JC3s343IrYwP9nlKyaVDr1JTXSb9gT1LPVvyF94J7yuciMw3XErol8RoZWRs7Zx72/u2je5RpoVJWuk63wdQsBRbu60Qqm0yUNHfP9xEkZ4HVvjc7XN9JEAatToy+AndFvwf1GtIe7TkEiOaikdOE1AkYATHkuYfMfkFPACT3l2SCJ9GXDa3/36/RjEE9wOpcXks57G2hA6bkZJSwDKxWbg/nzxL6jD/hlgMtlJc3vFIISpn8myivWZd48TJbKX6Li4sdV2iw3m9pFEOzZetYYbzUpaw7PCyCjkH9/5IkWhuykgDz0dCdV7QzTrqss6G+Vxwt0uIUB+eH9IrSiLfi5VG7Bzo4ew1nEPw==
IronPort-HdrOrdr: A9a23:oACnpqMr2q2YZsBcT23155DYdb4zR+YMi2TDiHoRdfUFSKKlfp6V88jzjSWE9Ar5K0tQ5uxoWZPwD080kKQU3WB/B8bbYOCLghrMEGgm1/qe/9SCIVy+ygc+79YaT0EWMrSZZjIW4beYkWuF+pQbsaO6GcuT9IDjJgJWPHhXgtZbnmFE42igYylLbTgDIaB8OIuX58JBqTblU28QdN6HCn4MWPWGj8HXlbr9CCR2RyIP2U2rt3eF+bT6Gx+X0lM1SDVU24ov9mDDjkjQ+rijifem0RXRvlWjrKi+2eGRiOerNvb8zvT9GQ+czTpAo74RHYFqiQpF5d1HLmxayeUk7S1QZ/iboEmhAF1d6SGdqjUIlgxesEMLDTSj8CbeSQuTfkNhNyMJv/MrTvOSgXBQzO1UweZF2XmUuIFQCg6FlCPh58LQXxUvjUasp2E++NRjwkC3fLFuI4O5l7Zvtn+90a1wax7S+cQiCq1jHcvc7PFZfReTaG3YpHBmxJipUm4oFhmLT0AesojNugIm00xR3g8d3ogSj30A/JUyR91N4PnFKL1hkPVLQtUNZaxwCe8dSY+8C3DLQxjLLGWOSG6XWJ0vKjbIsdr68b817OaldNgBy4Yzgo3IVBdCuWs7ayvVeIWzNV1wg1nwqUmGLEHQI/Bllu5EU+fHNcjW2AW4OSQTr/c=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0BeEwB46ulh/51dJa1RCR4BAQsSDIIPC4EhMVYHd1o3MYRIg0cDhTmFDl2CJQOBE4l6hSeKaoEugSUDVAMIAQEBDQEBNQwEAQGBcIMVAheDQAIlNAkOAQIEAQEBEgEBBQEBAQIBBgSBCROFaA2GQgEBAQEDEhEKEwEBMAgPAgEGAhEDAQIhAQkCAgIfER0IAgQBEiKCYgGCDlcDLgEOkiWPNgGBOgKKH3qBMYEBgggBAQYEBIFKQYMCDQuCNwMGgTqDDoJ+VEoBAYcHJxyBSUSBFCgMEIIwNz6CIUIBAQIBgTFMBgeCazeCLpB4gS8dCQRDCAIEAlArSAIVBAEJKx+SLkeDHYlGP4NBiW+RcWsKg0WKfI5dhXgFLqd0lkQgjGqDTZArKggLDYRsAgQCBAUCDgEBBoFhO4FZcBU7KgGCPlEZD44gg3GEWTuFSnQCATUCAwMBCgEBAwmQOgEB
X-IronPort-AV: E=Sophos;i="5.88,303,1635206400"; d="scan'208,217";a="970708461"
Received: from rcdn-core-6.cisco.com ([173.37.93.157]) by rcdn-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 20 Jan 2022 23:09:24 +0000
Received: from mail.cisco.com (xbe-aln-002.cisco.com [173.36.7.17]) by rcdn-core-6.cisco.com (8.15.2/8.15.2) with ESMTPS id 20KN9OPF001085 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=OK); Thu, 20 Jan 2022 23:09:24 GMT
Received: from xfe-aln-001.cisco.com (173.37.135.121) by xbe-aln-002.cisco.com (173.36.7.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Thu, 20 Jan 2022 17:09:24 -0600
Received: from xfe-rtp-001.cisco.com (64.101.210.231) by xfe-aln-001.cisco.com (173.37.135.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Thu, 20 Jan 2022 17:09:23 -0600
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (64.101.32.56) by xfe-rtp-001.cisco.com (64.101.210.231) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14 via Frontend Transport; Thu, 20 Jan 2022 18:09:23 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mOvgXoXcAUpkGoL+8Sggev4RUIp1xDHD36rD0QtWGNuxVFR6b4UozDfpHedR9zP8qZ39thRTTQ2D1zyzMBtXgkBFntxjwVdc0ZPTKWIJbl0zjK11miQh73KZJE8FSBmgigDgBdhriSch+z2PxYVPcUp0hw2/5Uth3F+r/XkksQXuk6RE1bzlWK7cK6G/5Hd3BT8iPrlQKBo+O0l3GAKitv9YS4UtNFCIdWA3Khzs1HSxUpKqlP7Y1iKN1839+/WrNGK6YzJCC8/bGFCKvnVLfgoYyoWXyoNNn3CM+FAR645JrvsH3Kn0l6rUZUAgf2wYPC9cuAiKzSG6kajHQal0FQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PU0w/d4EoLFFrsWrGiTg1orZ7UQwSiFxtrlwMnxyO50=; b=W3JErDva1PsMlKero7pCI/22a9z6+H3Bmp8NnAFb3pm52wTuYB9ZR4+6KD40uxdqYP6C0kBsNYjZtGMfF96KY/sW8RhW5ZkK863TQAZ4LVTArhAhetN9MPq2DEHOyCvV1BP0+gsQUDio4iJXsqXXxnSXtEV1skQPuR3lbNhc/GN/0eXrru5sAn/EaSeqWKD84xzDpzaZGVD+LWf/Z0GieAp0iEnyeTGEZUHCsQvB8KKquH+Tfi+g2loNsSiCNE84decd/DXIBnMY/ErkgOu/TmPw0wmgWlNKq8tgXh1JI5AUNmPZgsVOCHv75R0P7jytXrdXHK7lBTRFwKCz6BIO4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com; s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PU0w/d4EoLFFrsWrGiTg1orZ7UQwSiFxtrlwMnxyO50=; b=C93ofWwfMcLGgR7cxihrWxhs2Dwwck8IXH7lEzYuoUWgnAQxfANBnlonqgQHdF1ZHW/5Lxhd2Oc2LWl1KuYQh6++eMepU0ByYDGljlczCyYJt8T3IfVavimd86OfxM3DggzAT8lH1ab+WSoVmL1LHEbU55jLfxDZ8DuufVniNrk=
Received: from BL0PR11MB3155.namprd11.prod.outlook.com (2603:10b6:208:68::10) by BL3PR11MB5716.namprd11.prod.outlook.com (2603:10b6:208:353::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Thu, 20 Jan 2022 23:09:21 +0000
Received: from BL0PR11MB3155.namprd11.prod.outlook.com ([fe80::49d:4e1c:b62a:de9e]) by BL0PR11MB3155.namprd11.prod.outlook.com ([fe80::49d:4e1c:b62a:de9e%4]) with mapi id 15.20.4888.016; Thu, 20 Jan 2022 23:09:21 +0000
From: "Rajiv Asati (rajiva)" <rajiva@cisco.com>
To: Renato Westphal <renato@opensourcerouting.org>, "draft-ietf-mpls-ldp-yang.all@ietf.org" <draft-ietf-mpls-ldp-yang.all@ietf.org>, "mpls@ietf.org" <mpls@ietf.org>
Thread-Topic: Review of draft-ietf-mpls-ldp-yang-09
Thread-Index: AQHYDhQrUZaOfnMZ30KPpmTU93+QFKxsNYgA
Date: Thu, 20 Jan 2022 23:09:21 +0000
Message-ID: <66F8F012-E804-49CE-8890-4941CC10AB61@cisco.com>
References: <CAB6ZmXEzijShLEHkNQuhFchvpZ8GRTuzf=76WMxF-PqRX5xQeQ@mail.gmail.com>
In-Reply-To: <CAB6ZmXEzijShLEHkNQuhFchvpZ8GRTuzf=76WMxF-PqRX5xQeQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/16.57.22011101
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cisco.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 5bebe4e1-e305-4afb-a050-08d9dc69e47d
x-ms-traffictypediagnostic: BL3PR11MB5716:EE_
x-microsoft-antispam-prvs: <BL3PR11MB5716FC0440D760BFFFFB180AC75A9@BL3PR11MB5716.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7219;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: xLnsDaEyRaebJFE8m5JKKiKTqZLqz/ia3jdXJAbVAx05XdMrdxt4FsGvse2EvN0u0KqJxdHTbU0HlJfrtBYlApa93tKZw2NLcWIk/LrjWt13W5TgITXgdf4D+BZLNcvFRvlBDZOAjO6sOJvmcetlCS5E27JBy+YXhzy3OPxJuSteIoMx8NhVPhAzRUgz4Z83cyiab+WT1Bn0uSz+AnPRBuGbQ1maX6PuTmeHe1dBM4F6YZeOxKYz7w15SxsBu86NI284vxTA1JMaL2oaKfHhDdhDgrVGlZrFXfqBFjTd2Ju1BXkRYlSXd+Q96CAepb7TyOj5ThFelYoFumKSedm3ESHR3MTWYzgco3NHX44O0IRXwBSnhnqd57pPI8c+BqBz+fuHIfbIyLvgtKc6AzXPjB2/wan50T9LpYEqM/vK4fFXvVxE1PUlMeFey8uzflJFtcYqL/U/4RnDqeVtimxvBfq1teAlSE2R/y+DCuaM19+vqgFKYPOWgQhMxvGh8CTHQCyr1LUUoAi76eGfPERSbga/zsDVo5NehA9lPSkoBoIwmnYbXyQnmqkwsSQ441qPpYNiw7IrzknWvJnVeyfcrwL8m4dfZoqNmLM/aPKGSTSGDVCe1ev9pWrS/v2MuVHuq3Q5/gRETOm0j1KGMwQ0/id2JKjPR4Pod4fnVNjhDi1ZFKxmPxNsGpXXuglOmSqRVX4hySQmDAmDeab56FNxX0ZjkKWb2Tjt9T/ODycehz9OoRYvlMkKNonzA1sPGWMKVgfBUkmC0ROcmfj2w/FTkAjbB8A71WoFNhGudOPZJGmw6L9t/DLtQlJCzabq+ONA
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BL0PR11MB3155.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(8936002)(2906002)(38100700002)(66556008)(166002)(66574015)(66476007)(76116006)(66446008)(9326002)(8676002)(508600001)(86362001)(66946007)(5660300002)(64756008)(71200400001)(53546011)(83380400001)(6506007)(316002)(6486002)(2616005)(966005)(33656002)(186003)(36756003)(122000001)(110136005)(38070700005)(6512007)(45980500001); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: nzUhQwd7m6eeg1Fd7vFlfHmDyNnX+rrELPJ8WEV1UxQBdMKCdhL/YJK7ZdPeJK4WTYnQuyH+7SRPPksHO7rr4DBPtiS7pmCiTi7s20OY3gKmOqCMy7riMEZX4ADbQY4CtjahPTnYIG+aEBXpCZMuuCjfpx62sMRp2bQRZdXBCMTLvHFoRslQHv01m06roEzWL9q8c/eH632S9PkwWKNZOeRbZYrtAKaFFKW9+0FdmSo6vZSjRVGL60JgTAFy4x8oP8rzry+zdzcqebKKAMdcZF+Z4kz5ioof6ZYTyUd4i5eov1GKLoThmPFK4zJf5VGBM1tkd1dUN4rdPX7v3pK0VjFWm+/l8Llw+gPleKuanJ2WXCgCYhV4yxXleaEOFVJFXDPjQ+SHsRhsM+MEn2yms0UW7E18L+TbDRgjQBrcAznPR9jezLuM4igdbcJ9UUkbMpnjD2JvPU+NMnrvU4VEdBuFre++CT/WJ5g6PsObgG7KkWS6N8/b7ukA4+JoPvME38Es1bvGQ/do071OCKlfO80n6ehkV6GlyViwbx24J6zYkpqb9N4rrxgXUmraBmMy6NjKoN8p4lPvNwFdRM3Yn2sKHMwblGljDRQ/Tm0ukc2CnhR7fOoNrA+D/qYVBGmNHCjZqnjVAjlhSKkw+RAKG4GVKYQSvphY9A5dMQiNqraAg38fJnmevvkyQijnd0joRWUY1Lt1d3qd7Bta/a3hqiuq1MsJQQnqRJGKiFliFRsIkMvdoOmtjazMWcJzmQE0+4wCio9zlypAoXvl5fDN1JL87/4c8XdPCiXtekje+v0UKM6fhTSGldbo2FK7Z6MsnO0Ek9NClRNsspyfq0UJIjlLalzka+wqTe5MeLillGNcGny89mfsGixZ6uqJrQVCPrD3tlKzxijJJWEl2Xd6P7ORb2va7d/vSjccX7s9eDnuFsr70Qhvw5w7Op6ZI/ct7Ba4CarBMg+Ri7bfx2cFSY0tiNDCcnrTuEUpcr6UiBU7s82OKCkG9+z73eP/33RvJ4I0O34xEZSC7pulXTNljPbMnl1nJZ7Wt0GQMA3g9gZJ7RMyomfuHltHcEB1A1dIFiE/tdNawnN0mT0tHCJGNzFciRQdfPENQTqe7InutTEhOWs83fCIK3kSdZ3zP1QVhfzKFF740t4WDLC6noBzhfLBu0kKt/Dq2Hw4PeQcMV5E12i1EzAQzA89cUelEpNaf9AIbA2fBVQIu5FJanraS/R3PpxPHKH7iCLdLVD9udlNAbbNIej7sY91kOA04H5DvhJ9cAUtlgdRzqfZyBBud/iSrc6A7zkTuk1xT0lcrxj6BclVMtfETW2JAsqH3LEyQ8SYtL06F49TvSl5akJdjcRds6QBgukmyNP4AOh9dEDK3W1kIj8ioCCT58l1f9iHr6SsByCT7L9FKuHosqvjlLkt0tN2c0C7I/yhAg9e30G7X1J7LPZZKjsTne9fGjcB0CxRr6Id0km+uIBE2rsTwb8dFKTEEiMNHVi2aJeouPdKSaI/6iK1Z/owt2IqcTMX0aKko7tqgV3TWuV50NpF5lI9d0+O7cstsojLKYYd2hxs9L9AJi2Jd79NmtBzbEN+uD9mrB3L2IoEpP8291Ld9NA+KWaoxsNT1MyheEapeqhXuGjA9crcITeQKp4ynUvcte2bSeulHFzMnmZxCfg3Ix9Jo23eUgNyjvmrP297KCCfpAJC/OxGVKLUdNCWxZvT
Content-Type: multipart/alternative; boundary="_000_66F8F012E80449CE88904941CC10AB61ciscocom_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL0PR11MB3155.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bebe4e1-e305-4afb-a050-08d9dc69e47d
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jan 2022 23:09:21.1344 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yOJ194yVLo4B3Vz34VZHyTiqpF/+nW4s7ELQgphwUN1CeBB6B0H+c/cFwjmWIqBCBlaguu1QY7I+ND5F5piFPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB5716
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.36.7.17, xbe-aln-002.cisco.com
X-Outbound-Node: rcdn-core-6.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/pbF9il9AfGQZIHRoc-rR4BE1IRw>
Subject: Re: [mpls] Review of draft-ietf-mpls-ldp-yang-09
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: Thu, 20 Jan 2022 23:09:31 -0000

Hi Renato,

Thanks for the feedback to the WG document. This really helps us to build a solid spec.

1. You are right about adjacency configuration (RW) and adjacency state (RO). The spec well covers all of those.

The flag you referred to is defined as ReadOnly (RO) for operational state, exactly as you pointed out, to capture the neighbor being active or passive. Not for config. Hello-adjacencies below is a container, btw, that includes both tx and rx adjacencies.

          |  |     |  |  +--ro hello-adjacencies
          |  |     |  |  |  +--ro hello-adjacency* [adjacent-address]

          |        |  |     +--ro flag*               identityref
< >

         container hello-adjacencies {
               …
             uses ldp:adjacency-state-attributes;

Config (RW) for targeted neighbor covers what you suggested well -
          |  +--rw targeted
          |     +--rw hello-holdtime?     uint16
          |     +--rw hello-interval?     uint16
          |     +--rw hello-accept
          |     |  +--rw enabled?                 boolean
          |     |  +--rw ldp-ext:neighbor-list?   neighbor-list-ref




2.  Targeted neighbor is not bound to an interface (per RFC5036), so that interface leaf you referred to is actually not part of targeted discovery container, rather basic discovery container (which indeed allows for one or more interfaces per neighbor).

         container hello-adjacencies {
           config false;
           description
             "Containing a list of Hello adjacencies.";
                                . . . . . .
             leaf interface {
               type if:interface-ref;
               description "Interface for this adjacency.";



3. You are right that a neighbor can be discovered via both basic and extended discovery. What you point out is well covered in the tree in two distinct places – one for basic and the other for extended/targeted. Pls see section 6.1 and figure 5.

         +--rw discovery
            +--rw interfaces
            |  +--rw interface* [interface]
            |     +--rw address-families
            |        +--rw ipv4
            |           +--ro hello-adjacencies
            |              +--ro hello-adjacencies* [adjacent-address]
            |                 +--ro adjacent-address
            |                    . . . .
            |                    . . . .
            +--rw targeted
               +--rw address-families
                  +--rw ipv4
                     +--ro hello-adjacencies
                        +--ro hello-adjacencies*
                        |                  [local-address adjacent-address]
                        +--ro local-address
                           +--ro adjacent-address
                              . . . .
                              . . . .




Also, page#52 clarifies the following for local-address -

                   leaf local-address {
                     type inet:ipv4-address;
                     description
                       "The local address used as the source address to
                        send targeted Hello messages.
                        If the value is not specified, the
                        transport-address is used as the source
                        address.";


4. Good point about a good “deployment” practice for different protocols to leverage the same router-id. However, LDP protocol (RFC5036) specifies LSR-ID and allows it to be different, if/as needed (independent of that, one can choose different LSR ID for different VRFs on a node).

Thankfully, the team agreed to keep the default along the line of what you pointed.


5. Well, think of IPv6-only node, which unfortunately needs to have IPv4 for OOB management access. That would result in LDP IPv4 AFI being enabled by default, and hence, would need to be explicitly disabled via this container.

I will let my co-authors add further clarification.

6. Yes, it does apply.
And  that configuration will allow for the targeted adjacency to be created for 1.1.1.1, but peering relationship will be denied.  If the intent is to not let the targeted adjacency be created, then policy could be created to deny 1.1.1.1.

Wrt custom hello/hold timers per targeted neighbors, AFAIK, RFC5036 doesn’t specify that, nor do any of the implementations.
Only custom hello/hold timers global config.


7. AFAIK, this is because of RFC5036 that specifies 5s to be the lowest hello interval.  😊

https://datatracker.ietf.org/doc/html/rfc5036#section-3.5.2


8. Thanks for reviewing so diligently and pointing these typos out.
Thankfully, our amazing RFC Editor team has fixed all of them (I just checked their version) except interface’s counters (within the statistics container), which I believe is correct (since it is about the node, not about the peer).

--
Cheers,
Rajiv Asati
CTO, CX APJC

“Focus on what we can do with what we have, not the other way around.”


From: Renato Westphal <renato@opensourcerouting.org>
Date: Thursday, January 20, 2022 at 10:41 AM
To: "draft-ietf-mpls-ldp-yang.all@ietf.org" <draft-ietf-mpls-ldp-yang.all@ietf.org>, "mpls@ietf.org" <mpls@ietf.org>
Subject: Review of draft-ietf-mpls-ldp-yang-09
Resent-From: <alias-bounces@ietf.org>
Resent-To: Himanshu Shah <hshah@ciena.com>, <sesale@juniper.net>, Rajiv Asati <rajiva@cisco.com>, <skraza@cisco.com>, <tsaad.net@gmail.com>, John Scudder <jgs@juniper.net>, <jescia.chenxia@huawei.com>, <xufeng.liu.ietf@gmail.com>, "N.Leymann@telekom.de" <n.leymann@telekom.de>, Alvaro Retana <aretana.ietf@gmail.com>, <martin.vigoureux@nokia.com>, Loa Andersson <loa@pi.nu>, 'Mach Chen' <mach.chen@huawei.com>, DEBORAH BRUNGARD <db3546@att.com>
Resent-Date: Thursday, January 20, 2022 at 10:41 AM

Hi all,

I've implemented the ietf-mpls-ldp YANG module recently and I thought it would be a good idea to provide some feedback to the module authors.

Overall I think the current module hierarchy is really good, it captures exactly what one should expect from an LDP implementation. I couldn't think of anything that is missing. I also liked the split between a base module and an extended one.

I only have a few points/questions to make:

1) I find the "adjacency-flag-base" identity (and the ones derived from it) to be confusing:

  identity adjacency-flag-base {
    description "Base type for adjacency flags.";
  }

  identity adjacency-flag-active {
    base adjacency-flag-base;
    description
      "This adjacency is configured and actively created.";
  }

  identity adjacency-flag-passive {
    base adjacency-flag-base;
    description
      "This adjacency is not configured and passively accepted.";
  }

The way I see it, no adjacency can be explicitly configured -- they are all created dynamically upon receipt of hello packets.

Targeted neighbors, on the other hand, can be either configured explicitly or created on demand (upon receipt of hello packets with the 'R' bit set -- "Request Send Targeted Hellos"). So wouldn't it be better to move the active/passive attribute from adjacencies to targeted neighbors?

2) I think the following state leaf is problematic for targeted adjacencies:

  leaf interface {
    type if:interface-ref;
    description "Interface for this adjacency.";
   }

The reason being that it's theoretically possible for one adjacency to receive hello packets from the same targeted neighbor on multiple different interfaces.

3) In some parts of the module tree, there are adjacency lists indexed like this:

  +--ro ldp:hello-adjacency* [local-address adjacent-address]
     +--ro ldp:local-address       inet:ipv4-address
     +--ro ldp:adjacent-address    inet:ipv4-address

One problem is that it's perfectly possible to have two different adjacencies with the same local and adjacent addresses, one being a link adjacency and the other an extended adjacency. Adding an "adjacency-type" key would probably be necessary to guarantee disambiguation in such cases.

Also, it'd be good to clarify whether the local-address leaf refers to the hello's source address or to the advertised transport address (when it's present).

4) I wonder if the following leaf is necessary:

  leaf lsr-id {
    type rt-types:router-id;
    description
      "Specify the value to act as the LDP LSR ID.
       If this attribute is not specified, LDP uses the router
       ID as determined by the system.";
  }

Shouldn't the router-id leaf from the ietf-routing module be enough for this purpose?

5) I'd like to know what's the rationale behind the following presence container:

  container address-families {
    description
      "Per-vrf per-af params.";
    container ipv4 {
      presence
        "Present if IPv4 is enabled.";
      [...]
    }
  }

Since not having that container explicitly enabled in the configuration won't prevent an LDPv4 neighborship to be formed, wouldn't a regular non-presence container be enough here? The "presence" statement doesn't seem to add any meaning to the existence of the container.

Also, the "per-vrf" comment in the description seems unnecessary.

6) I have one question about configuration precedence. Here's an example configuration:

      "control-plane-protocol": [
        {
          "type": "ietf-mpls-ldp:mpls-ldp",
          "name": "main",
          "ietf-mpls-ldp:mpls-ldp": {
            "global": {
              [snip]
            },
            "discovery": {
              "interfaces": {
                [snip]
              },
              "targeted": {
                "hello-accept": {
                  "enabled": true
                },
                "address-families": {
                  "ipv4": {
                    "target": [
                      {
                        "adjacent-address": "1.1.1.1",
                        "enabled": false
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      ]

In that configuration, the "1.1.1.1" targeted neighbor is explicitly configured and disabled. Also, the global "hello-accept" setting is enabled.

When a hello packet from "1.1.1.1" is received, should a dynamic targeted neighbor be created for it? I think the answer boils down to whether the targeted neighbor configuration applies to dynamic targeted neighbors as well.

Also, having the ability to configure custom hello timers for targeted neighbors could be useful for some operators.

7) I think some timer ranges are too restrictive. Example:

  leaf hello-holdtime {
    type uint16 {
      range 15..3600;
    }
    [snip]
  }
  leaf hello-interval {
    type uint16 {
      range 5..1200;
    }
    [snip]
  }

While a hello holdtime of 15 seconds is a sane default, I don't think we should prohibit the operator from configuring smaller values.

The OSPF and IS-IS modules, for instance, use rt-types:timer-value-seconds16 for leafs like these.

8) A couple of trivial typo fixes:
  * Page 30: s/On or more flags/One or more flags/
  * Page 30: s/extended discoveris/extended discoveries/
  * Page 42: s/since the the state/since the state/
  * Page 42: s/interface's counters/peer's counters/
  * Page 54: s/targettted adjacency/targeted adjacency/

Regards,
--
Renato Westphal