Re: [Lsr] Yangdoctors last call review of draft-ietf-isis-yang-isis-cfg-24

tom petch <ietfc@btconnect.com> Tue, 27 November 2018 11:10 UTC

Return-Path: <ietfc@btconnect.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61B7412E036; Tue, 27 Nov 2018 03:10:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.738
X-Spam-Level: *
X-Spam-Status: No, score=1.738 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-1.459, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RATWARE_MS_HASH=2.148, RATWARE_OUTLOOK_NONAME=2.95, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no 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 qIYhn837jjOE; Tue, 27 Nov 2018 03:10:57 -0800 (PST)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50113.outbound.protection.outlook.com [40.107.5.113]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A1749128CE4; Tue, 27 Nov 2018 03:10:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector1-btconnect-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=W+yd3nWTb4p1dIPGpcr51vPtRIkWEYzzsAdPXif1GGk=; b=JYZizIVWPB6f5RHatoSnZwy3UQ3BWpDIV24vEaD5zS315XUDhc08vq4nMGUVnSdRr6ev5LI4+fGYCLEaJxLxiXk4FdAshvLo9rDIFvmHPQBnlotHUjP2j8wIACeMjKlNGimwCkr7PxWWSV7d7Pip5rPC1I7WzK7NW9BO7xI+PR4=
Received: from VI1PR07MB5022.eurprd07.prod.outlook.com (20.177.202.206) by VI1PR07MB3392.eurprd07.prod.outlook.com (10.175.244.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1361.12; Tue, 27 Nov 2018 11:10:50 +0000
Received: from VI1PR07MB5022.eurprd07.prod.outlook.com ([fe80::929:bd11:beb6:b887]) by VI1PR07MB5022.eurprd07.prod.outlook.com ([fe80::929:bd11:beb6:b887%4]) with mapi id 15.20.1382.012; Tue, 27 Nov 2018 11:10:50 +0000
From: tom petch <ietfc@btconnect.com>
To: Ebben Aries <exa@juniper.net>, "yang-doctors@ietf.org" <yang-doctors@ietf.org>
CC: "draft-ietf-isis-yang-isis-cfg.all@ietf.org" <draft-ietf-isis-yang-isis-cfg.all@ietf.org>, "lsr@ietf.org" <lsr@ietf.org>, "Tarek Saad (tsaad)" <tsaad@cisco.com>
Thread-Topic: [Lsr] Yangdoctors last call review of draft-ietf-isis-yang-isis-cfg-24
Thread-Index: AQHUhkHafKiWVvfkhUKDIB9kEUVysw==
Date: Tue, 27 Nov 2018 11:10:50 +0000
Message-ID: <03ff01d48641$8f8d8600$4001a8c0@gateway.2wire.net>
References: <154025553381.13801.5009678921928527816@ietfa.amsl.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-clientproxiedby: LNXP265CA0011.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5e::23) To VI1PR07MB5022.eurprd07.prod.outlook.com (2603:10a6:803:9b::14)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ietfc@btconnect.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [86.139.215.184]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; VI1PR07MB3392; 6:Ap4nkJ4PKR/ekfd0nUaxg5ZPergSZqfXjycGHqJx5DqpV4W8vdxTcmKrN00ioY6VtGU7I12w7cFopH4wm2LXkLOhJnISR0SygYnnk2cEPQmp+iYNjU3WD2bT0GQHw9m9pFkvKYI10bMQIR5NphLfvmSA6PSBLvgzr3clHvJiFhHnBxz4MAYai5ydd9tEZ+JSvy5gApfOqzAsT5v7KZiFE6bBe2/QMqXERNgDalsRH0nP5cMq/EbtdyeppHASu63wtsfmnqXsHYoMactE/+6C2988JJND7OJ0hpv1L3ZxgxUIxgaZRx5Ckz4QYJXg3YjXE6tsyDGAMsXTTcUh/MIvph6yKfX6O0vJ7G6ctTgGFZummZz1N6Yu6b0sf0BcZkyncuiBjz1reyTBWfERIC1qBeSbWKeJa7AO38apmpZXijEJkXsFHcNKfOsvzM09eBp9DvxahUb75n3ftnBKH12zNw==; 5:LJe/WS8R+iXroyRr58ionyZcUS5KENv56L00neLSGZQWBtuIeLWCet+ElHhUCJf6th/1z9rrQd/42OOjEnpebA/sIHw43p/w+9+WOK1jk72ccQWqd0lt2gYOW0F/7tdu2E4m98bHJOhW8euFSnnm2wn2Cgj6QS+KdLPs9CBAo88=; 7:wZHWN1fRV6swAtnnlaD+JmJ8I9p4pK20YucnS3VnYuxpBgk3mhfbi6+8EWNqpFfxQYZBEvgJECLS1FX7jpCa++0pidN9MI3McMiV1KRbvlpBg8YEo4HbXIYu8jxSm5pV+TAjMYMyTWs0NBHwog+KYQ==
x-ms-office365-filtering-correlation-id: 7fe83488-fb11-4aed-7800-08d65458fd21
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390098)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7193020); SRVR:VI1PR07MB3392;
x-ms-traffictypediagnostic: VI1PR07MB3392:
x-microsoft-antispam-prvs: <VI1PR07MB3392E76C7AF3B7FC45D0E122A0D00@VI1PR07MB3392.eurprd07.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231443)(944501410)(52105112)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123558120)(20161123560045)(201708071742011)(7699051)(76991095); SRVR:VI1PR07MB3392; BCL:0; PCL:0; RULEID:; SRVR:VI1PR07MB3392;
x-forefront-prvs: 086943A159
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(136003)(366004)(346002)(376002)(39860400002)(13464003)(51444003)(199004)(189003)(2501003)(71190400001)(54906003)(4326008)(25786009)(14454004)(53936002)(14444005)(1556002)(14496001)(6246003)(478600001)(6306002)(68736007)(5660300001)(186003)(66066001)(7736002)(105586002)(6506007)(106356001)(8676002)(99286004)(81166006)(386003)(76176011)(81156014)(52116002)(256004)(1941001)(26005)(229853002)(102836004)(33896004)(9686003)(6436002)(2906002)(6116002)(476003)(316002)(486006)(966005)(71200400001)(86152003)(110136005)(6486002)(6512007)(86362001)(3846002)(44736005)(446003)(97736004)(305945005)(84392002)(8936002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR07MB3392; H:VI1PR07MB5022.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None (protection.outlook.com: btconnect.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: CKS3VJ9rLE1GLvaGxdur8bD9LvwcrZ+zK4R4XTgnciObeybN/UsS4x+hsDPDmEV6Vh+EtZPs+aWnUeDiKrGB6urcIDbTMuu2+fguWrF6H0ihJ6f2VnMSD2Xf1bC+UXSVS8nb8TaZsYx9iuuvqmQy/zcrEknSrMBJnHr7V0yYEilGWSmiTb0HE16aCBgZ3HikMtJgOoP5ZnvkvqeyflwA0zyjc4VAK37jA/gjRW1cVCZZNEtHMv+gEe5ZauQxTPUwIhv0xUNpyReyGy80kd35LJzeN12bAvx30N3eGlJ06bOnCFf/5yxcRON3K3YOQ8FyXtGEpkPwUEkRCYqjWhR+e3jexnfFgbqCg8vpK5n4Jwg=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <282418FE446B7249998519574B0022A8@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fe83488-fb11-4aed-7800-08d65458fd21
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Nov 2018 11:10:50.7193 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB3392
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/XPXSb6DCJ1GHjIJkQfGTSTOT4Jg>
Subject: Re: [Lsr] Yangdoctors last call review of draft-ietf-isis-yang-isis-cfg-24
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Nov 2018 11:11:00 -0000

Some quirks in-25

I see lots of YANG reference statements - good - but no mention of them
in the I-D references - not so good.  My list is

5130
5305
5306
5880
5881
6119
6232
7794
7810
7917
8405

Also perhaps
OLD
    reference "RFC XXXX - YANG Data Model for Bidirectional
               Forwarding Detection (BFD).Please replace YYYY with
                                                         published RFC
number for draft-ietf-bfd-yang.";

NEW
    reference "RFC YYYY - YANG Data Model for Bidirectional
               Forwarding Detection (BFD).

-- Note to RFC Editor Please replace YYYY with published RFC
number for draft-ietf-bfd-yang.";

OLD
      reference "draft-ietf-bfd-yang-xx.txt:
                 YANG Data Model for Bidirectional Forwarding
                 Detection (BFD)";
NEW
    reference "RFC YYYY - YANG Data Model for Bidirectional
               Forwarding Detection (BFD).

-- Note to RFC Editor Please replace YYYY with published RFC
number for draft-ietf-bfd-yang.";


Line length is within the RFC limit but the effect is to spread many of
the description clauses over multiple lines with indentation of 56
characters, not user friendly
e.g.
                                        description
                                                "List of max LSP
bandwidths for different
                                                 priorities.";


Acknowledgements is TBD. I note that the editor list of the YANG module
is somewhat longer than the editor list of the I-D.

I note that the augmentation of interfaces seems to have no conditional
and so will augment all interfaces. I think that this is a generic issue
but do not see it being addressed anywhere.

In a similar vein, you are defining MPLS objects and I am unclear
whether or not those should be conditional, or part of the MPLS YANG
modules or both (copying Tarek for this)

Tom Petch

----- Original Message -----
From: "Ebben Aries" <exa@juniper.net>;
Sent: Tuesday, October 23, 2018 12:45 AM

> Reviewer: Ebben Aries
> Review result: On the Right Track
>
> 1 module in this draft:
> - ietf-isis@2018-08-09.yang
>
> No YANG compiler errors or warnings (from pyang 1.7.5 and yanglint
0.16.54)
>
> "ietf-isis@2018-08-09" module is compatible with the NMDA
architecture.
>
> Module ietf-isis@2018-08-09.yang:
> - Both the description and the draft name reference that this module
is
>   specific to configuration but contains operational state nodes in
addition
>   to RPCs and notifications.  Any wording suggesting this is only
>   configuration should be changed
> - Module description must contain most recent copyright notice per
>
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-3.1
> - Module description reads "common across all of the vendor
implementations".
>   I don't think this needs to be called out as such as that is the
overall
>   intention of *all* IETF models
> - This module contains '22' features (and the respective OSPF module
currently
>   contains '26').  While it is understood the purpose of these
features in the
>   module, take precaution as to complexity for clients if they need to
>   understand >= quantity of features per module in use on a
>   network-element.  We are going to end up w/ feature explosion to
convey
>   *all* possible features of each network-element leading to
divergence back
>   towards native models at the end of the day.  A large amount of
these
>   feature names could be defined within a more global namespace (e.g.
nsr) but
>   this gives us a granular yet cumbersome approach (e.g. feature
isis:nsr,
>   ospf:nsr, etc..)
> - RPC 'clear-adjacency' does not have any input leaf that covers
clearing a
>   specific neighbor/adjacency (See comments below as well regarding
RPC
>   alignment w/ the OSPF model)
> - RPC 'clear-adjacency' has an input node of 'interface' however this
is just
>   a string type.  Is there any reason this is not a
leafref/if:interface-ref
>   (much like in the OSPF model)
> - Child nodes within a container or list SHOULD NOT replicate the
parent
>   identifier per
>
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-4.3.
1.
>
>   A case in point is the list /afs/af that has a leaf of 'af'
>       <afs>
>         <af>
>           <af>ipv4</af>
>           <enable>true</enable>
>         </af>
>       </afs>
>
>   Not only is this replication, but we should likely not abbreviate
'afs' if
>   we are using the expanded 'address-family' in other IETF models such
as
>   ietf-i2rs-rib
>
>
> General comments on the draft + nits:
> - Since YANG tree diagrams are used, please include an informative
reference
>   per
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-3.4
> - Section 1.1 does not need to exist since this would be covered by
the
>   reference mentioned above
> - Reference to NMDA compliance should be contained within Section 1
(vs.
>   Section 2) per
>
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-3.5
> - Section 2: It seems reference should be given to the location of
where the
>   ietf-routing module is defined (As well as reference to NMDA RFC in
the
>   above reference)
> - Section 2.1: "Additional modules may be created this to support..."
needs
>   slight rewording adjustment
> - Section 3: The RPC operations are named 'clear-adjacency' and
>   'clear-database' rather w/ reliance off namespacing for uniqueness.
This
>   section refers to 'clear-isis-database' and 'clear-isis-adjacency'
> - Section 4: Notification name mismatch in this section from actual
naming
>   within the module (e.g. 'adjacency-change' should rather be
>   'adjacency-state-change')
> - Section 7: Security Considerations will need updating to be
patterned after
>   the latest version of the template at
>   https://trac.ietf.org/trac/ops/wiki/yang-security-guidelines per
>
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-3.7
> - Section 12: All modules imported within this module MUST be
referenced
>   within this section per
>
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-3.9.
>   There are quite a few missing from this section right now
> - Appendix A: Some of the XML elements are off in alignment
> - Appendix A: Examples must be validated.  The example given has the
following
>   issues:
>   - /routing[name='SLI'] and /routing/description are invalid data
nodes and
>     do not exist.  I'm not sure why they are in the XML example here
>   - The example is meant to reference configuration however
>     /routing/interfaces is a r/o container
>   - The control-plane-protocol 'type' needs to be qualified - e.g.
>     <type
xmlns:isis="urn:ietf:params:xml:ns:yang:ietf-isis">isis:isis</type>
>   - The area-address does not validate against the pattern regex and
must end
>     with a '.'  e.g.
>     <area-address>49.0001.0000.</area-address>
>   - metric-type/value is set to 'wide' which is invalid.  This should
rather
>     be 'wide-only'
>   - isis/afs/af/af is set to 'ipv4-unicast' which is invalid.  This
should
>     rather be 'ipv4' per iana-routing-types
>   - /interfaces/interface/type must be populated and is invalid.  This
should
>     rather be qualified as such:
>     <type
xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:softwar
eLoopback</type>
>     <type
xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:etherne
tCsmacd</type>
>   - /interfaces/interface/link-up-down-trap-enable must have a value
>     associated as such:
>     <link-up-down-trap-enable>enabled</link-up-down-trap-enable>
>   - NP container 'priority' has a must statement checking if an
interface-type
>     is set to 'broadcast' however if you take the XML example from
this
>     section, it will fail to validate even if <priority> is not
defined
>     underneath an interface-type of 'point-to-point'.  It seems to me
that
>     this logic may need to be readjusted or not exist at all (priority
can
>     still be set on implementations on loopback interfaces - which
would
>     default to 'broadcast' in the example here).  Could you not solve
this
>     with use of 'when' vs. 'must' as such:
>
>           when '../interface-type = "broadcast"' {
>               description "Priority can only be set for broadcast
interfaces.";
>           }
>
>
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-4.18
.2.
>
>   - /interfaces/interface/ipv4/mtu must contain a valid value (and
likely not
>     need to be defined for Loopback0)
>   - 'isis/mpls-te/ipv4-router-id' is invalid and should rather be
>     'isis/mpls/te-rid/ipv4-router-id'
>   - 'isis/afs/af/enabled' is invalid and should rather be
'isis/afs/af/enable'
>   - Examples should use IPv6 addresses where appropriate per
>
https://tools.ietf.org/html/draft-ietf-netmod-rfc6087bis-20#section-3.12
.
> - Looking at the latest revision of ietf-ospf
(draft-ietf-ospf-yang-17) and
>   some comments performed earlier this year, I would suggest that for
where
>   there are similarities that descriptions should be aligned both
within the
>   same module and across modules
>
>   Examples:
>
>   # ietf-isis
>   container node-tags {
>     if-feature node-tag;
>     list node-tag {
>       leaf tag {
>         type uint32;
>         description "Node tag value.";
>       }
>       description "List of tags.";
>     }
>     description "Node Tag container";
>   }
>   ...
>   container node-tags {
>     if-feature node-tag;
>     list node-tag {
>       key tag;
>       leaf tag {
>         type uint32;
>         description
>           "Node tag value.";
>       }
>       description
>         "List of tags.";
>     }
>     description
>       "Container for node tags.";
>   }
>
>   # ietf-ospf
>   container node-tags {
>     if-feature node-tag;
>     list node-tag {
>       key tag;
>       leaf tag {
>         type uint32;
>           description
>             "Node tag value.";
>       }
>       description
>         "List of tags.";
>     }
>     description
>       "Container for node admin tags.";
>   }
>
>   * Note: This is seen for other like leafs as well (e.g. short-delay,
>     long-delay, etc..)
> - Suggest alignment of attributes across RPCs from ietf-isis and
ietf-ospf
>   (e.g. ietf-ospf currently defines generic actions with a
>   'routing-protocol-name' as an argument vs. protocol specific with
>   'routing-protocol-instance-name')
>
>
> _______________________________________________
> Lsr mailing list
> Lsr@ietf.org
> https://www.ietf.org/mailman/listinfo/lsr