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

tom petch <> Wed, 09 January 2019 11:37 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 11F9512F1A6; Wed, 9 Jan 2019 03:37:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: 0.246
X-Spam-Status: No, score=0.246 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RATWARE_MS_HASH=2.148, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id JtbVbfSu2R9H; Wed, 9 Jan 2019 03:37:51 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 925C912950A; Wed, 9 Jan 2019 03:37:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1-btconnect-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uBRGM/jmN5URUP2rY55UQa5I4LM/uyFeCdz27WVVv+E=; b=MWWIgVz3l5FvAnm16fSCsRgYfYpgZCVbMnpcxaa/0WFL8/eyWKQn9eXyuvVE8S7xhT8BCQjPCDACJG8RhXGpNaI+ng+EzBZ35QS53yvPOvtdDhZ9EqXwdLM27O4zpj8cafO0Gjrdy0NTkDI23mFWS84yzEDIac2eLP8ZPbT57Po=
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1516.6; Wed, 9 Jan 2019 11:37:45 +0000
Received: from ([fe80::30b3:1ee4:df5f:7b38]) by ([fe80::30b3:1ee4:df5f:7b38%5]) with mapi id 15.20.1516.010; Wed, 9 Jan 2019 11:37:45 +0000
From: tom petch <>
To: "" <>, Ebben Aries <>, "" <>
CC: "" <>, "" <>
Thread-Topic: [Lsr] Yangdoctors last call review of draft-ietf-isis-yang-is-is-cfg-29
Thread-Index: AQHUooycHlP19WSsQ0KaVvaziE5yug==
Date: Wed, 9 Jan 2019 11:37:45 +0000
Message-ID: <01ab01d4a80f$aa07ca00$>
References: <> <03ff01d48641$8f8d8600$> <19850_1543334259_5BFD6973_19850_302_6_9E32478DFA9976438E7A22F69B08FF924B7768B5@OPEXCLILMA4.corporate.adroot.infra.ftgroup> <009101d4a135$a59c2780$> <009101d4a28c$905b2300$> <7264_1546852922_5C331A39_7264_253_1_9E32478DFA9976438E7A22F69B08FF924B78A3A5@OPEXCLILMA4.corporate.adroot.infra.ftgroup> <009901d4a779$cc96bfe0$> <1676_1547025526_5C35BC76_1676_161_1_9E32478DFA9976438E7A22F69B08FF924B78C4EC@OPEXCLILMA4.corporate.adroot.infra.ftgroup>
Accept-Language: en-GB, en-US
Content-Language: en-US
x-clientproxiedby: LO2P265CA0009.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:62::21) To (2603:10a6:20b:81::32)
authentication-results: spf=none (sender IP is );
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: Microsoft Outlook Express 6.00.2800.1106
x-originating-ip: []
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM6PR07MB4471; 6:M+aWI6SgvTPfqqOOsK9S6CHSgHVBayxfMylzR3c6mI9nK4LNjb4WawzF2EMHdxyn0SEVdQthLHq5AqkZX5Nyoy/33kbRUMNG7IAiFhGfRAeEipEm/wjIm5FRrE5jE7J59EWDae6l3STu5nb5VafoO6bx+NmoGFaHjkbe6CMQUvtzhEE+q00JY8F8NKqxxtve3rZvLFfHemHcYh7K4m13sLZ8wW5emuyfOdsiMO4HsadtcKSxTItO2aRFH+Q6GX9QzRrESikK/lVwrRoUVT3HuVsMET+qmJANGSQ6KODfSi8ocnPSSoiN9Cr1ri94gM5Aq3ghghhAFs8kPPBcdhSN36fDxEThVZVWPa2MrrGEfTtHqwpkbutrezQBbVUUC5KHFxH+X9e5c8kTomMFYnucRYrsq2izgIpYQY/JPV+cJqlu6rIOpJcNZ6pdjD8cxs2csITP1QdrMQwDbdQfZI4Whw==; 5:BeUtrK9It/fafduIJLYi8UkwY/9gLYlTJCuUGkYyfLOSQTimyfEVER/2O649fvIK1lhQGc1yhCFSe0z/3p9W91IdrQpFdQcKXBQGN/K3YIV9TGWPnIKouFs24ngPqfZqhWtNXun6Bm7VMIC/+zYuJ+3eyDeAhTbURBWUzxjSEU3cyM/HRIv5kIhxcvv/LEL2yIYAKj2KgEnQ8Pg0uNJbng==; 7:IeehViDs0zf+6PRM8obzlidRpGxVY9glRHN1qoqg7vWyIf+T1ltCPYkZRc6e0cNWC27HVM5M4JUiXOu0MfhjnrgxsS7C4vlDmOy9GRFtZAck4a7Q6jMK1oWdhsxrON3eQ19oll9b2XyceJTdzVikNw==
x-ms-office365-filtering-correlation-id: 742eab6d-352b-4ed5-beae-08d67626df91
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(2017052603328)(7193020); SRVR:AM6PR07MB4471;
x-ms-traffictypediagnostic: AM6PR07MB4471:
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(3230021)(908002)(999002)(5005026)(6040522)(8220060)(2401047)(8121501046)(93006095)(93001095)(3231475)(944501520)(52105112)(10201501046)(3002001)(6055026)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:AM6PR07MB4471; BCL:0; PCL:0; RULEID:; SRVR:AM6PR07MB4471;
x-forefront-prvs: 0912297777
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(39860400002)(136003)(366004)(396003)(376002)(346002)(51444003)(13464003)(199004)(189003)(966005)(53946003)(71200400001)(1556002)(5024004)(84392002)(44716002)(93886005)(256004)(478600001)(486006)(86362001)(2906002)(14444005)(53936002)(110136005)(81686011)(9686003)(33896004)(44736005)(76176011)(6512007)(6246003)(52116002)(386003)(81816011)(54906003)(53546011)(6506007)(6306002)(86152003)(186003)(476003)(2501003)(68736007)(4326008)(316002)(446003)(26005)(25786009)(102836004)(5660300001)(551544002)(106356001)(97736004)(4720700003)(1941001)(99286004)(229853002)(8676002)(6486002)(6436002)(62236002)(61296003)(3846002)(14496001)(66574012)(8936002)(4744004)(50226002)(105586002)(14454004)(6116002)(81156014)(305945005)(66066001)(7736002)(81166006)(71190400001)(74416001)(7726001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM6PR07MB4471;; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: h3W40mrJXI7CDxKkEWm4Zmkiq11e+Uq11pbKfbyNqH0mXxscj3y+w/NbSucpNjeSQfMpMVbadd1CP1+SGHRYSy1dVLPjeP1ytctv+NRv7D29p0sa7xNrsAycZNN1qwZzMLWNFdUKp4k2m4qWyN50ad7nPof/O6UtW4DIRSNMxKx9NCslKYJoy6l8bOGabuGwpkaSQKbReANKyV494EnF1ODZZqhkouc7gFbjk2+/Fp56Dc4DffVl+keSJ4igHLnx0V39qWoWESW/HsKqqqOcBRhJBiwGLAzHk8wM35PUdfxkbRrc5ZmJEoHGply77PCt
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 742eab6d-352b-4ed5-beae-08d67626df91
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jan 2019 11:37:44.7216 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR07MB4471
Archived-At: <>
Subject: Re: [Lsr] Yangdoctors last call review of draft-ietf-isis-yang-is-is-cfg-29
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 09 Jan 2019 11:37:54 -0000


Thanks for persisting.

On string lengths, I take your point about no user input to Operational
State; there, my concern is more about giving guidance to implementors
as to what they should cater for - as I said, this has been a topic of
lively discussion in other WG.  Even before that, whenever I see a
string, I think is there an implicit length restriction and if not,
should there be an explicit one which, as Juergen suggested, could be in
the description clause.  My experience is that those working with
networks think about size, about length; those coming from applications
tend to think 'What is a few terabytes between friends?' and are unaware
that sizes that may be commonplace in servers and associated storage can
create difficulties over a network.  Whatever, I leave this one up to

On references, I would like a change; you say this information is in the
base ISO spec.  Well, yes, to me that means that it should be a
Normative Reference.  I could not understand the description of e.g.
'i/e' and needed to look it up but seemingly cannot do so with the
listed references of the I-D.  Note that RFC such as RFC5305 and RFC6119
do reference International Standard 10589 and I think that this one
should too, perhaps in s.2.7 and s.5.

Tom Petch

----- Original Message -----
From: <>
Sent: Wednesday, January 09, 2019 9:18 AM

Hi Tom,

Please find inline answers.

-----Original Message-----
From: tom petch []
Sent: Tuesday, January 08, 2019 18:45

Ok.  Top-posting the ones that are not 'ok':

I said that I thought that LSP did not need expanding on first use and
then checked the RFC Editor list to find that it is not one they regard
as well-known and that LSR protocols use it differently to others, so I
suggest expanding LSP on first use.

[SLI] Already done for the next version.

On lengths of text messages, perhaps I am too sensitive to buffer
overrun attacks and the like and so want a maximum on many things (and
then people attach a friendly, 20Mbyte photo to their e-mail at
Christmas and
wonder why their ESP rejects the message so I do not congratulate them
on the latest addition to the family:-).  The IDR WG had a lively
discussion about maximum message lengths in 2017 and that has also
stayed in my mind.  I have seen the comments on this by Juergen and
Lada; perhaps as Juergen intimates, something in the Description would
help; and while the server may not be rogue, it may not have a perfect

[SLI] What I need to understand from your comment on string length
enforcement is if it applies to operational state or just config states
? I do not see any issue of not enforcing the operational state as there
is no input from the user there and so no attack vector, this is purely
internal to the implementation. For config statements, it makes sense as
there is an input from the user that can be anything.

On the length of password, I saw a Security AD wanting clarification on
this not too long ago so you may see this comment again from one such .
Likewise, MD5 tends to be a red flag although I see it appears in bgp

I like the sort of detail in ippm-twamp-yang, on algorithms, entropy and
such like (although I have not seen a review by Security AD/directorate
of that).

But I am left confused as to exactly what the cited object is doing.
Yes, TLV10 provides authentication for any PDU, but what are the fields
in the YANG module doing?  Is
       leaf authentication-type {
the first octet of TLV10?  Is
      leaf authentication-key {
the rest of TLV10?  And where is this 'presented' as the YANG module
says?  Are you thinking of a YANG client presenting the field to a user
at a terminal, one router presenting it to another, or what?

I am using RFC5310 as my source for TLV10 and wondering why that is not
a Normative Reference for this I-D

[SLI] TLV 10 is defined in the base ISO spec of IS-IS. RFC5310 just adds
the crypto auth as new types.
The authentication-type is the first byte of the TLV (called
Authentication Type as well).
The authentication-key cannot be mapped directly to the
authentication-value field. This is the case for ClearText password
authtype but not crypto which adds a keyID in front of the
authentication data.

On the I/E bit, the question is, which standard?  I have 30 Normative
references to choose from.   I found up/down in RFC5305, but only by
accident, and I have not found i/e yet so a reference would be good.

[SLI] I/E bit is part of the base ISO spec of IS-IS and relevant for
"legacy advertisements" of prefix and links. By the way, after checking,
the position of the i-e leaf is currently wrong and needs to be within
the metric (default, delay...). I will fix this.

Tom Petch

----- Original Message -----
Sent: Monday, January 07, 2019 9:22 AM

Hi Tom,

Thanks for your comments.
I wish you an happy new year !

Please find inline comments.


-----Original Message-----
From: tom petch []
Sent: Wednesday, January 02, 2019 12:17

Here are the rest of my comments on -29 with a slight tweak to the
subject line.  I would regard most of these (but not the first two) as
non-discussable, ie I won't complain if you disagree:-)

RFC1195 is in the YANG module but not the references of the I-D
[SLI] Will fix it

RFC5029 is in the YANG module but not the references of the I-D
[SLI] Will fix it

[SLI] Will fix it

expand on first use - LSP I think ok

        leaf best {           type boolean;
what is true and what false?  I can guess from the English semantics of
the name but would rather not guess.
[SLI] Will fix it
To replace the current description which is : ""Indicates if the
alternate is the preferred."", do you prefer: "Set to true when the
alternate is preferred, set to false otherwise" ?

        leaf non-best-reason {          type string;
suggest a maximum length, perhaps 127 or 255 ( unless you expect
screenshots or packet traces to be attached).  As it stands, you could
validly receive
a length of 18446744073709551615.
[SLI] Agree, will fix it

You have a mixture of
System-id system-id System id System ID System Id system id system ID
suggest consistency; system-id wfm
[SLI] Will fix it

You have a mixture of
here, perhaps lsp-id for the names and LSP ID in the text
[SLI] Will fix it

      case password {        leaf key {           type string;
perhaps better with a minimum length
[SLI] I agree that it could make sense but is it really something that
we should impose ?

        leaf i-e {          type boolean;
what is true and what false?  here I am reluctant even to guess
[SLI] This is coming from the standard, is it really worth repeating it
? Same for up/down bit.

/"Authentication keyto/  "Authentication key to/

"     the authentication key MUST NOT be presented in"
RFC2119 language means that RFC2119 boilerplate should be in the YANG
module (but without the [..] ie the reference must be plain text not an

[SLI] You are right, it is missing.

 It is recommended to use an MD5
           hash to present the authentication-key.";
Mmm I think that this may be a red flag to security AD or directorate as
being too vague as well as MD5 too weak; and I think this should be
explicitly called out in Security Considerations.

[SLI] I agree that there is a point to discuss here. The fact is that we
must not retrieve passwords in clear text. Maybe it is something with a
wider scope than IS-IS. How do the other models deal with passwords
retrieved through "get" or "get-config" ?

      list level-db {        key level;        leaf level {
A common convention is for a list of leaf thing to be named things i.e.
      list levels {         key level;        leaf level {

[SLI] ack

  rpc clear-adjacency {
          "Name of the IS-IS protocol instance whose IS-IS
           information is being queried.
queried or cleared?
[SLI] "cleared"

Tom Petch

----- Original Message -----
From: "tom petch" <>
Sent: Monday, December 31, 2018 6:21 PM

> Stephane
> A new and different comment.
>   grouping neighbor-gmpls-extensions {
> has a text reference to RFC5307 which does not appear in the
> for the I-D.  However, before adding it, I would like to know why it
> a good reference for switching capabilities (which is part of this
> grouping).  I think that the reference for switching capabilities
> be RFC7074 (which this I-D does not currently reference and should
> And that begs the  question, why is switching-capability an
> uint8 when only 12 values are valid and three are deprecated?
> So why not use
> draft-ietf-teas-yang-te-types?
> I have a number of additional comments on cfg-29 but this is the one
> that may take some discussion.
> Tom Petch
> ----- Original Message -----
> From: <>
> Hi Tom,
> Thanks for your comments. I will fix them asap.
> Regarding:
> " 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.";
> "
> What's your suggestion on this one ?
> Brgds,
> -----Original Message-----
> From: tom petch []
> Sent: Tuesday, November 27, 2018 12:11
> Subject: Re: [Lsr] Yangdoctors last call review of
> draft-ietf-isis-yang-isis-cfg-24
> Some quirks in-25
> I see lots of YANG reference statements - good - but no mention of
> in the I-D references - not so good.  My list is
> 5130
> 5305
> 5306
> 5880
> 5881
> 6119
> 6232
> 7794
> 7810
> 7917
> 8405
> Also perhaps
>     reference "RFC XXXX - YANG Data Model for Bidirectional
>                Forwarding Detection (BFD).Please replace YYYY with
>                                                          published RFC
> number for draft-ietf-bfd-yang.";
>     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.";
>       reference "draft-ietf-bfd-yang-xx.txt:
>                  YANG Data Model for Bidirectional Forwarding
>                  Detection (BFD)";
>     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
> 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
> is somewhat longer than the editor list of the I-D.
> I note that the augmentation of interfaces seems to have no
> and so will augment all interfaces. I think that this is a generic
> 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" <>
> 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
> >
> > - 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
> >   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
> 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
> >   alignment w/ the OSPF model)
> > - RPC 'clear-adjacency' has an input node of 'interface' however
> 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
> >
> 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
> as
> >   ietf-i2rs-rib
> >
> >
> > General comments on the draft + nits:
> > - Since YANG tree diagrams are used, please include an informative
> reference
> >   per
> > - 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
> >
> > - 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
> the
> >   above reference)
> > - Section 2.1: "Additional modules may be created this to
> needs
> >   slight rewording adjustment
> > - Section 3: The RPC operations are named 'clear-adjacency' and
> >   'clear-database' rather w/ reliance off namespacing for
> 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
> > per
> >
> > - Section 12: All modules imported within this module MUST be
> referenced
> >   within this section per
> >
> >   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
> 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.
> should
> >     rather be qualified as such:
> >     <type
> eLoopback</type>
> >     <type
> 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
> that
> >     this logic may need to be readjusted or not exist at all
> can
> >     still be set on implementations on loopback interfaces - which
> would
> >     default to 'broadcast' in the example here).  Could you not
> this
> >     with use of 'when' vs. 'must' as such:
> >
> >           when '../interface-type = "broadcast"' {
> >               description "Priority can only be set for broadcast
> interfaces.";
> >           }
> >
> >
> ..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
> >
> _________________________________________________