--- 1/draft-ietf-isis-yang-isis-cfg-21.txt 2018-07-16 08:13:14.303063769 -0700 +++ 2/draft-ietf-isis-yang-isis-cfg-22.txt 2018-07-16 08:13:14.487068176 -0700 @@ -1,62 +1,62 @@ IS-IS Working Group S. Litkowski Internet-Draft Orange Intended status: Standards Track D. Yeung -Expires: January 3, 2019 Arrcus, Inc +Expires: January 17, 2019 Arrcus, Inc A. Lindem Cisco Systems J. Zhang Juniper Networks L. Lhotka CZ.NIC - July 2, 2018 + July 16, 2018 YANG Data Model for IS-IS protocol - draft-ietf-isis-yang-isis-cfg-21 + draft-ietf-isis-yang-isis-cfg-22 Abstract This document defines a YANG data model that can be used to configure and manage IS-IS protocol on network elements. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- - Drafts is at http://datatracker.ietf.org/drafts/current/. + Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on January 3, 2019. + This Internet-Draft will expire on January 17, 2019. Copyright Notice Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents - (http://trustee.ietf.org/license-info) in effect on the date of + (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 @@ -68,44 +68,46 @@ 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 23 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 24 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.9. Operational States . . . . . . . . . . . . . . . . . . . 24 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 25 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 26 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 27 - 7. Security Considerations . . . . . . . . . . . . . . . . . . . 94 - 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 95 - 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 95 - 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 95 + 7. Security Considerations . . . . . . . . . . . . . . . . . . . 95 + 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 96 + 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 96 + 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 96 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 96 - 11.1. From version -19 to version -20 . . . . . . . . . . . . 96 - 11.2. From version -18 to version -19 . . . . . . . . . . . . 96 - 11.3. From version -17 to version -18 . . . . . . . . . . . . 96 - 11.4. From version -16 to version -17 . . . . . . . . . . . . 96 - 11.5. From version -15 to version -16 . . . . . . . . . . . . 96 - 11.6. From version -14 to version -15 . . . . . . . . . . . . 97 - 11.7. From version -13 to version -14 . . . . . . . . . . . . 97 - 11.8. From version -12 to version -13 . . . . . . . . . . . . 97 - 11.9. From version -09 to version -12 . . . . . . . . . . . . 97 - 11.10. From version -08 to version -09 . . . . . . . . . . . . 98 - 11.11. From version -07 to version -08 . . . . . . . . . . . . 98 - 11.12. From version -05 to version -07 . . . . . . . . . . . . 98 - 11.13. From version -03 to version -05 . . . . . . . . . . . . 98 - 11.14. From version -02 to version -03 . . . . . . . . . . . . 99 - 11.15. From version -01 to version -02 . . . . . . . . . . . . 99 - 11.16. From version -00 to version -01 . . . . . . . . . . . . 99 - 12. Normative References . . . . . . . . . . . . . . . . . . . . 100 - Appendix A. Example of IS-IS configuration in XML . . . . . . . 101 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 103 + 11.1. From version -21 to version -22 . . . . . . . . . . . . 96 + 11.2. From version -20 to version -21 . . . . . . . . . . . . 96 + 11.3. From version -19 to version -20 . . . . . . . . . . . . 96 + 11.4. From version -18 to version -19 . . . . . . . . . . . . 97 + 11.5. From version -17 to version -18 . . . . . . . . . . . . 97 + 11.6. From version -16 to version -17 . . . . . . . . . . . . 97 + 11.7. From version -15 to version -16 . . . . . . . . . . . . 97 + 11.8. From version -14 to version -15 . . . . . . . . . . . . 97 + 11.9. From version -13 to version -14 . . . . . . . . . . . . 98 + 11.10. From version -12 to version -13 . . . . . . . . . . . . 98 + 11.11. From version -09 to version -12 . . . . . . . . . . . . 98 + 11.12. From version -08 to version -09 . . . . . . . . . . . . 98 + 11.13. From version -07 to version -08 . . . . . . . . . . . . 98 + 11.14. From version -05 to version -07 . . . . . . . . . . . . 99 + 11.15. From version -03 to version -05 . . . . . . . . . . . . 99 + 11.16. From version -02 to version -03 . . . . . . . . . . . . 99 + 11.17. From version -01 to version -02 . . . . . . . . . . . . 99 + 11.18. From version -00 to version -01 . . . . . . . . . . . . 100 + 12. Normative References . . . . . . . . . . . . . . . . . . . . 101 + Appendix A. Example of IS-IS configuration in XML . . . . . . . 102 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 104 1. Introduction This document defines a YANG data model for IS-IS routing protocol. The data model covers configuration of an IS-IS routing protocol instance as well as operational states. 1.1. Tree diagram @@ -148,26 +150,25 @@ +--ro tag* uint64 +--ro route-type? enumeration augment /if:interfaces/if:interface: +--rw clns-mtu? uint16 augment /rt:routing/rt:control-plane-protocols/ | rt:control-plane-protocol: +--rw isis +--rw enable? boolean {admin-control}? +--rw level-type? level +--rw system-id? system-id - +--rw maximum-area-addresses? - | uint8 {maximum-area-addresses}? + +--rw maximum-area-addresses? uint8 {maximum-area-addresses}? +--rw area-address* area-address +--rw mpls - | +--rw ipv4-router-id? inet:ipv4-address {ipv4-router-id}? - | +--rw ipv6-router-id? inet:ipv6-address {ipv6-router-id}? + | +--rw te-rid {te-rid}? + | | ... | +--rw ldp | ... +--rw auto-cost {auto-cost}? | +--rw reference-bandwidth? uint32 | +--rw enable? boolean +--rw lsp-mtu? uint16 +--rw lsp-lifetime? uint16 +--rw lsp-refresh? | rt-types:timer-value-seconds16 {lsp-refresh}? +--rw graceful-restart {graceful-restart}? @@ -206,25 +207,26 @@ | +--rw (granularity)? | ... +--rw overload | +--rw status? boolean +--rw overload-max-metric {overload-max-metric}? | +--rw timeout? rt-types:timer-value-seconds16 +--rw fast-reroute {fast-reroute}? | +--rw lfa {lfa}? | +--ro protected-routes | | ... - | +--ro nonprotected-routes + | +--ro unprotected-routes | | ... | +--ro protection-statistics* [frr-protection-method] | ... +--rw spf-control + | +--rw paths? uint16 {max-ecmp}? | +--rw ietf-spf-delay {ietf-spf-delay}? | ... +--rw topologies {multi-topology}? | +--rw topology* [name] | ... +--rw interfaces | +--rw interface* [name] | ... +--ro spf-log | +--ro event* [id] @@ -644,37 +646,37 @@ | | | +--rw remote-lfa {remote-lfa}? | | | +--rw enable? boolean | | +--rw level-2 | | +--rw candidate-disabled? boolean | | +--rw enable? boolean | | +--rw remote-lfa {remote-lfa}? | | +--rw enable? boolean | +--rw topologies {multi-topology}? | | +--rw topology* [name] | | +--rw name - | | | -> ../../../../../../../../rt:ribs/rib/name + | | -> ../../../../../../../../rt:ribs/rib/name | | +--rw metric | | +--rw value? wide-metric | | +--rw level-1 | | | +--rw value? wide-metric | | +--rw level-2 | | +--rw value? wide-metric | +--ro adjacencies | | +--ro adjacency* [] - | | +--ro neighbor-systype? level + | | +--ro neighbor-sys-type? level | | +--ro neighbor-sysid? system-id | | +--ro neighbor-extended-circuit-id? - | | | extended-circuit-id + | | extended-circuit-id | | +--ro neighbor-snpa? snpa | | +--ro usage? level | | +--ro hold-timer? - | | | rt-types:timer-value-seconds16 + | | rt-types:timer-value-seconds16 | | +--ro neighbor-priority? uint8 | | +--ro lastuptime? yang:timestamp | | +--ro state? adj-state-type | +--ro event-counters | | +--ro adjacency-changes? uint32 | | +--ro adjacency-number? uint32 | | +--ro init-fails? uint32 | | +--ro adjacency-rejects? uint32 | | +--ro id-len-mismatch? uint32 | | +--ro max-area-addresses-mismatch? uint32 @@ -817,26 +819,26 @@ | | +--ro metric? wide-metric | | +--ro tag* uint32 | | +--ro tag64* uint64 | | +--ro external-prefix-flag? boolean | | +--ro readvertisement-flag? boolean | | +--ro node-flag? boolean | | +--ro ipv4-source-router-id? inet:ipv4-address | | +--ro ipv6-source-router-id? inet:ipv6-address | +--ro mt-is-neighbor | | +--ro neighbor* [] - | | +--ro MT-ID? uint16 + | | +--ro mt-id? uint16 | | +--ro neighbor-id? system-id | | +--ro metric? wide-metric | +--ro mt-extended-ipv4-reachability | | +--ro prefixes* [] - | | +--ro MT-ID? uint16 + | | +--ro mt-id? uint16 | | +--ro up-down? boolean | | +--ro ip-prefix? inet:ipv4-address | | +--ro prefix-len? uint8 | | +--ro metric? wide-metric | | +--ro tag* uint32 | | +--ro tag64* uint64 | | +--ro external-prefix-flag? boolean | | +--ro readvertisement-flag? boolean | | +--ro node-flag? boolean | | +--ro ipv4-source-router-id? inet:ipv4-address @@ -1231,21 +1233,22 @@ Some IS-IS specific routes attributes are added to route objects of the ietf-routing module by augmenting "/rt:routing- state/rt:ribs/rt:rib/rt:routes/rt:route". The modules defined in this document use some groupings from ietf- keychain [I-D.ietf-rtgwg-yang-key-chain]. 6. IS-IS YANG Module - file "ietf-yang@2018-07-02.yang" + file "ietf-isis@2018-07-16.yang" + module ietf-isis { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; prefix isis; import ietf-routing { prefix "rt"; reference "RFC 8349 - A YANG Data Model for Routing Management (NMDA Version)"; @@ -1317,21 +1320,21 @@ <mailto:yiqu@cisco.com> Jeff Tantsura <mailto:jefftant.ietf@gmail.com> "; description "The YANG module defines a generic configuration model for IS-IS common across all of the vendor implementations."; - revision 2018-07-02 { + revision 2017-07-16 { description "Initial revision."; reference "RFC XXXX"; } /* Identities */ identity isis { base rt:routing-protocol; description "Identity for the IS-IS routing protocol."; @@ -1442,30 +1446,32 @@ feature prefix-tag64 { description "Support for 64-bit prefix tags"; reference "RFC5130 - A Policy Control Mechanism in IS-IS Using Administrative Tags"; } feature auto-cost { description "Use an automated assignment of metrics."; } - feature ipv4-router-id { - description - "Support of IPv4 router ID configuration under IS-IS."; - } - feature ipv6-router-id { + feature te-rid { description - "Support of IPv6 router ID configuration under IS-IS."; + "Traffic-Engineering Router-ID."; + reference "RFC5305 - IS-IS Extensions for Traffic Engineering + RFC6119 - IPv6 Traffic Engineering in IS-IS"; } + feature max-ecmp { + description + "Setting maximum number of ECMP paths."; + } feature multi-topology { description "Multitopology routing support."; reference "RFC5120 - M-IS-IS: Multi Topology Routing in IS-IS"; } feature nlpid-control { description "This feature controls the advertisement of support NLPID within IS-IS configuration."; } @@ -2471,32 +2482,36 @@ description "Maximum areas supported."; } leaf-list area-address { type area-address; description "List of areas supported by the protocol instance."; } container mpls { + container te-rid { + if-feature te-rid; + description + "Stable ISIS Router IP Address used for Traffic + Engineering"; leaf ipv4-router-id { - if-feature ipv4-router-id; type inet:ipv4-address; description "Router ID value that would be used in TLV 134."; } leaf ipv6-router-id { - if-feature ipv6-router-id; type inet:ipv6-address; description "Router ID value that would be used in TLV 140."; } + } container ldp { container igp-sync { if-feature ldp-igp-sync; description "This container may be augmented with global parameters for igp-ldp-sync."; } description "LDP configuration."; } description "MPLS configuration"; @@ -3918,20 +3931,28 @@ uses isis-global-cfg; container fast-reroute { if-feature fast-reroute; uses fast-reroute-global-cfg; uses fast-reroute-global-state; description "IP Fast ReRoute (IPFRR) global container"; } container spf-control { + leaf paths { + if-feature max-ecmp; + type uint16 { + range "1..32"; + } + description + "Maximum number of Equal-Cost Multi-Path (ECMP) paths."; + } container ietf-spf-delay { if-feature ietf-spf-delay; uses ietf-spf-delay-cfg; uses ietf-spf-delay-state; description "IETF SPF delay algorithm container"; } description "SPF computation-related information container"; } container topologies { @@ -4529,62 +4553,72 @@ This document also requests one new YANG module name in the YANG Module Names registry ([RFC6020]) with the following suggestion: name: ietf-isis namespace: urn:ietf:params:xml:ns:yang:ietf-isis prefix: isis reference: RFC XXXX 11. Change log for ietf-isis YANG module -11.1. From version -19 to version -20 +11.1. From version -21 to version -22 + + o TE router-id modeling alignment with OSPF. + + o Add max-ecmp + feature in spf-control container (alignment with + OSPF). + +11.2. From version -20 to version -21 + + o Model revision date fix + +11.3. From version -19 to version -20 o Moved to Yang 1.1 o Lower case enumerations o Add RFC references to features - o Remove segment-routing feature o Modified BFD activation modeling -11.2. From version -18 to version -19 +11.4. From version -18 to version -19 o Align with draft-ietf-netmod-rfc8022bis. o Modify address family types as per draft-ietf-rtgwg-routing-types- 17. -11.3. From version -17 to version -18 +11.5. From version -17 to version -18 o NMDA compliancy. o Set some default values. o Align with iana-rt-types module. -11.4. From version -16 to version -17 +11.6. From version -16 to version -17 o Cosmetic fixes. o Use of rt-types model. -11.5. From version -15 to version -16 +11.7. From version -15 to version -16 o Alignment with last IETF key chain model. o lsp-log "change" leaf moved as an identity. o Incremental SPF removed from spf-log types. -11.6. From version -14 to version -15 +11.8. From version -14 to version -15 o Alignment with OSPF model done: * Added spf-control container with IETF SPF delay algorithm as a feature. * Added graceful-restart options. * Added nsr as a feature. @@ -4597,98 +4631,98 @@ * Added auto-cost container. * Moved reference-bandwidth under auto-cost container. * Added IS-IS local RIB as operational state. * Added decode-completed and raw-data leaves in the LSDB model. * Modified the notification header. -11.7. From version -13 to version -14 +11.9. From version -13 to version -14 o Segment Routing extensions are now in a separate document. -11.8. From version -12 to version -13 +11.10. From version -12 to version -13 o Move feature nlpid-control to container rather than list. o Rename multi-topology to topologies to align with OSPF. o Rename bfd/enabled to bfd/enable for consistency reason. o Add support for NSR with a feature. -11.9. From version -09 to version -12 +11.11. From version -09 to version -12 o Rename node-tag container to node-tags. -11.10. From version -08 to version -09 +11.12. From version -08 to version -09 o Added container before af list. o Added container before topology list. o Aligned LFA if per level cfg. o Align to draft-ietf-netmod-routing-cfg-23. -11.11. From version -07 to version -08 +11.13. From version -07 to version -08 o Remove selector from system-id type. o Add some default values. o Moved lists to containers+groupings for per level configuration. o remove routing-instance as per core routing model v21. o added BFD leaf (no more BFD protocol model). o changed keychain module reference. -11.12. From version -05 to version -07 +11.14. From version -05 to version -07 o Move Overload config from list to container. o Move Overload-max-metric config from list to container. o Move preference config from list to container. o Add Node flag in config. o Removed BFD config => moved to isis-bfd module. o Remove call to routing policy model. -11.13. From version -03 to version -05 +11.15. From version -03 to version -05 o Correct invalid references to previous versions of core routing model. o Remove BFD config and replace by groupings from ietf-bfd. o Adding routing-policy support through routing-policy model. -11.14. From version -02 to version -03 +11.16. From version -02 to version -03 o Reviewed config and op state groupings. o Add default value to lfa candidate-disabled. o Add enable leaf to isis container to reflect admin state. o Move to VRF centric only. o Segment routing is part os a separate module. -11.15. From version -01 to version -02 +11.17. From version -01 to version -02 o Adding IPFRR. o Adding igp-ldp-sync. o Adding segment-routing. o Adding instance reference to operational states. o Move AF type from string to identity. @@ -4700,21 +4734,21 @@ o Added modification information in lsp-log. o Removing igp-ldp-sync timer in IS-IS. o Defining hierarchy for operational states. o Adding clns-mtu. o Adding key-chain. -11.16. From version -00 to version -01 +11.18. From version -00 to version -01 o Interface metric move from af container to interface container. o Hello-padding on interface moved to hello-padding-disable with empty type. o three-way-handshake removed. o route preference changed to a choice. @@ -4744,60 +4778,60 @@ Management", draft-ietf-netmod-routing-cfg-25 (work in progress), November 2016. [I-D.ietf-rtgwg-yang-key-chain] Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang, "Routing Key Chain YANG Data Model", draft-ietf-rtgwg- yang-key-chain-24 (work in progress), April 2017. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, - DOI 10.17487/RFC2119, March 1997, . + DOI 10.17487/RFC2119, March 1997, + . [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, - DOI 10.17487/RFC3688, January 2004, . + DOI 10.17487/RFC3688, January 2004, + . [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)", RFC 5120, - DOI 10.17487/RFC5120, February 2008, . + DOI 10.17487/RFC5120, February 2008, + . [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for IP Fast Reroute: Loop-Free Alternates", RFC 5286, - DOI 10.17487/RFC5286, September 2008, . + DOI 10.17487/RFC5286, September 2008, + . [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP Synchronization", RFC 5443, DOI 10.17487/RFC5443, March 2009, . [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, - DOI 10.17487/RFC6020, October 2010, . + DOI 10.17487/RFC6020, October 2010, + . [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, . [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, . [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration Protocol (NETCONF) Access Control Model", RFC 6536, - DOI 10.17487/RFC6536, March 2012, . + DOI 10.17487/RFC6536, March 2012, + . [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", RFC 7490, DOI 10.17487/RFC7490, April 2015, . Appendix A. Example of IS-IS configuration in XML This section gives an example of configuration of an IS-IS instance on a device. The example is written in XML. @@ -4848,26 +4882,24 @@ Loopback0 200 0 true Eth1 level-2 - point-to-point - + point-to-point 167890 - Loopback0