draft-ietf-isis-yang-isis-cfg-21.txt   draft-ietf-isis-yang-isis-cfg-22.txt 
IS-IS Working Group S. Litkowski IS-IS Working Group S. Litkowski
Internet-Draft Orange Internet-Draft Orange
Intended status: Standards Track D. Yeung Intended status: Standards Track D. Yeung
Expires: January 3, 2019 Arrcus, Inc Expires: January 17, 2019 Arrcus, Inc
A. Lindem A. Lindem
Cisco Systems Cisco Systems
J. Zhang J. Zhang
Juniper Networks Juniper Networks
L. Lhotka L. Lhotka
CZ.NIC CZ.NIC
July 2, 2018 July 16, 2018
YANG Data Model for IS-IS protocol YANG Data Model for IS-IS protocol
draft-ietf-isis-yang-isis-cfg-21 draft-ietf-isis-yang-isis-cfg-22
Abstract Abstract
This document defines a YANG data model that can be used to configure This document defines a YANG data model that can be used to configure
and manage IS-IS protocol on network elements. and manage IS-IS protocol on network elements.
Requirements Language Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- 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 Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." 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 Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents 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 publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
skipping to change at page 2, line 38 skipping to change at page 2, line 38
2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12
2.5. Authentication Parameters . . . . . . . . . . . . . . . . 23 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 23
2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23
2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 24 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 24
2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.9. Operational States . . . . . . . . . . . . . . . . . . . 24 2.9. Operational States . . . . . . . . . . . . . . . . . . . 24
3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 25 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 25
4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25
5. Interaction with Other YANG Modules . . . . . . . . . . . . . 26 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 26
6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 27 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 27
7. Security Considerations . . . . . . . . . . . . . . . . . . . 94 7. Security Considerations . . . . . . . . . . . . . . . . . . . 95
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 95 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 96
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 95 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 96
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 95 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 96
11. Change log for ietf-isis YANG module . . . . . . . . . . . . 96 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 96
11.1. From version -19 to version -20 . . . . . . . . . . . . 96 11.1. From version -21 to version -22 . . . . . . . . . . . . 96
11.2. From version -18 to version -19 . . . . . . . . . . . . 96 11.2. From version -20 to version -21 . . . . . . . . . . . . 96
11.3. From version -17 to version -18 . . . . . . . . . . . . 96 11.3. From version -19 to version -20 . . . . . . . . . . . . 96
11.4. From version -16 to version -17 . . . . . . . . . . . . 96 11.4. From version -18 to version -19 . . . . . . . . . . . . 97
11.5. From version -15 to version -16 . . . . . . . . . . . . 96 11.5. From version -17 to version -18 . . . . . . . . . . . . 97
11.6. From version -14 to version -15 . . . . . . . . . . . . 97 11.6. From version -16 to version -17 . . . . . . . . . . . . 97
11.7. From version -13 to version -14 . . . . . . . . . . . . 97 11.7. From version -15 to version -16 . . . . . . . . . . . . 97
11.8. From version -12 to version -13 . . . . . . . . . . . . 97 11.8. From version -14 to version -15 . . . . . . . . . . . . 97
11.9. From version -09 to version -12 . . . . . . . . . . . . 97 11.9. From version -13 to version -14 . . . . . . . . . . . . 98
11.10. From version -08 to version -09 . . . . . . . . . . . . 98 11.10. From version -12 to version -13 . . . . . . . . . . . . 98
11.11. From version -07 to version -08 . . . . . . . . . . . . 98 11.11. From version -09 to version -12 . . . . . . . . . . . . 98
11.12. From version -05 to version -07 . . . . . . . . . . . . 98 11.12. From version -08 to version -09 . . . . . . . . . . . . 98
11.13. From version -03 to version -05 . . . . . . . . . . . . 98 11.13. From version -07 to version -08 . . . . . . . . . . . . 98
11.14. From version -02 to version -03 . . . . . . . . . . . . 99 11.14. From version -05 to version -07 . . . . . . . . . . . . 99
11.15. From version -01 to version -02 . . . . . . . . . . . . 99 11.15. From version -03 to version -05 . . . . . . . . . . . . 99
11.16. From version -00 to version -01 . . . . . . . . . . . . 99 11.16. From version -02 to version -03 . . . . . . . . . . . . 99
12. Normative References . . . . . . . . . . . . . . . . . . . . 100 11.17. From version -01 to version -02 . . . . . . . . . . . . 99
Appendix A. Example of IS-IS configuration in XML . . . . . . . 101 11.18. From version -00 to version -01 . . . . . . . . . . . . 100
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 103 12. Normative References . . . . . . . . . . . . . . . . . . . . 101
Appendix A. Example of IS-IS configuration in XML . . . . . . . 102
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 104
1. Introduction 1. Introduction
This document defines a YANG data model for IS-IS routing protocol. This document defines a YANG data model for IS-IS routing protocol.
The data model covers configuration of an IS-IS routing protocol The data model covers configuration of an IS-IS routing protocol
instance as well as operational states. instance as well as operational states.
1.1. Tree diagram 1.1. Tree diagram
skipping to change at page 4, line 8 skipping to change at page 4, line 11
The IS-IS YANG module augments the "control-plane-protocol" list in The IS-IS YANG module augments the "control-plane-protocol" list in
ietf-routing module with specific IS-IS parameters. ietf-routing module with specific IS-IS parameters.
The module is designed as per NMDA (Network Management Datastore The module is designed as per NMDA (Network Management Datastore
Architecture). Architecture).
The figure below describes the overall structure of the isis YANG The figure below describes the overall structure of the isis YANG
module: module:
module: ietf-isis module: ietf-isis
augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route: augment /rt:routing/rt:ribs/rt:rib/rt:routes/rt:route:
+--ro metric? uint32 +--ro metric? uint32
+--ro tag* uint64 +--ro tag* uint64
+--ro route-type? enumeration +--ro route-type? enumeration
augment /if:interfaces/if:interface: augment /if:interfaces/if:interface:
+--rw clns-mtu? uint16 +--rw clns-mtu? uint16
augment /rt:routing/rt:control-plane-protocols/ augment /rt:routing/rt:control-plane-protocols/
| rt:control-plane-protocol: | rt:control-plane-protocol:
+--rw isis +--rw isis
+--rw enable? boolean {admin-control}? +--rw enable? boolean {admin-control}?
+--rw level-type? level +--rw level-type? level
+--rw system-id? system-id +--rw system-id? system-id
+--rw maximum-area-addresses? +--rw maximum-area-addresses? uint8 {maximum-area-addresses}?
| uint8 {maximum-area-addresses}? +--rw area-address* area-address
+--rw area-address* area-address +--rw mpls
+--rw mpls | +--rw te-rid {te-rid}?
| +--rw ipv4-router-id? inet:ipv4-address {ipv4-router-id}? | | ...
| +--rw ipv6-router-id? inet:ipv6-address {ipv6-router-id}? | +--rw ldp
| +--rw ldp | ...
| ... +--rw auto-cost {auto-cost}?
+--rw auto-cost {auto-cost}? | +--rw reference-bandwidth? uint32
| +--rw reference-bandwidth? uint32 | +--rw enable? boolean
| +--rw enable? boolean +--rw lsp-mtu? uint16
+--rw lsp-mtu? uint16 +--rw lsp-lifetime? uint16
+--rw lsp-lifetime? uint16 +--rw lsp-refresh?
+--rw lsp-refresh? | rt-types:timer-value-seconds16 {lsp-refresh}?
| rt-types:timer-value-seconds16 {lsp-refresh}? +--rw graceful-restart {graceful-restart}?
+--rw graceful-restart {graceful-restart}? | +--rw enable? boolean
| +--rw enable? boolean | +--rw restart-interval? rt-types:timer-value-seconds16
| +--rw restart-interval? rt-types:timer-value-seconds16 | +--rw helper-enable? boolean
| +--rw helper-enable? boolean +--rw nsr {nsr}?
+--rw nsr {nsr}? | +--rw enable? boolean
| +--rw enable? boolean +--rw node-tags {node-tag}?
+--rw node-tags {node-tag}? | +--rw node-tag* [tag]
| +--rw node-tag* [tag] | ...
| ... +--rw authentication
+--rw authentication | +--rw (authentication-type)?
| +--rw (authentication-type)? | | ...
| | ... | +--rw level-1
| +--rw level-1 | | ...
| | ...
| +--rw level-2
| ...
+--rw metric-type | +--rw level-2
| +--rw value? enumeration | ...
| +--rw level-1 +--rw metric-type
| | ... | +--rw value? enumeration
| +--rw level-2 | +--rw level-1
| ... | | ...
+--rw default-metric | +--rw level-2
| +--rw value? wide-metric | ...
| +--rw level-1 +--rw default-metric
| | ... | +--rw value? wide-metric
| +--rw level-2 | +--rw level-1
| ... | | ...
+--rw afs {nlpid-control}? | +--rw level-2
| +--rw af* [af] | ...
| ... +--rw afs {nlpid-control}?
+--rw preference | +--rw af* [af]
| +--rw (granularity)? | ...
| ... +--rw preference
+--rw overload | +--rw (granularity)?
| +--rw status? boolean | ...
+--rw overload-max-metric {overload-max-metric}? +--rw overload
| +--rw timeout? rt-types:timer-value-seconds16 | +--rw status? boolean
+--rw fast-reroute {fast-reroute}? +--rw overload-max-metric {overload-max-metric}?
| +--rw lfa {lfa}? | +--rw timeout? rt-types:timer-value-seconds16
| +--ro protected-routes +--rw fast-reroute {fast-reroute}?
| | ... | +--rw lfa {lfa}?
| +--ro nonprotected-routes | +--ro protected-routes
| | ... | | ...
| +--ro protection-statistics* [frr-protection-method] | +--ro unprotected-routes
| ... | | ...
+--rw spf-control | +--ro protection-statistics* [frr-protection-method]
| +--rw ietf-spf-delay {ietf-spf-delay}? | ...
| ... +--rw spf-control
+--rw topologies {multi-topology}? | +--rw paths? uint16 {max-ecmp}?
| +--rw topology* [name] | +--rw ietf-spf-delay {ietf-spf-delay}?
| ... | ...
+--rw interfaces +--rw topologies {multi-topology}?
| +--rw interface* [name] | +--rw topology* [name]
| ... | ...
+--ro spf-log +--rw interfaces
| +--ro event* [id] | +--rw interface* [name]
| ... | ...
+--ro lsp-log +--ro spf-log
| +--ro event* [id] | +--ro event* [id]
| ... | ...
+--ro hostnames +--ro lsp-log
| +--ro hostname* [system-id] | +--ro event* [id]
| ... | ...
+--ro database +--ro hostnames
| +--ro level-db* [level] | +--ro hostname* [system-id]
| ... | ...
+--ro local-rib +--ro database
| +--ro route* [prefix] | +--ro level-db* [level]
| ... | ...
+--ro system-counters +--ro local-rib
+--ro level* [level] | +--ro route* [prefix]
... | ...
+--ro system-counters
+--ro level* [level]
...
rpcs: rpcs:
+---x clear-adjacency +---x clear-adjacency
| +---w input | +---w input
| +---w routing-protocol-instance-name instance-state-ref | +---w routing-protocol-instance-name instance-state-ref
| +---w level? level | +---w level? level
| +---w interface? string | +---w interface? string
+---x clear-database +---x clear-database
+---w input +---w input
+---w routing-protocol-instance-name instance-state-ref +---w routing-protocol-instance-name instance-state-ref
+---w level? level +---w level? level
notifications: notifications:
+---n database-overload +---n database-overload
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro overload? enumeration | +--ro overload? enumeration
+---n lsp-too-large +---n lsp-too-large
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-size? uint32 | +--ro pdu-size? uint32
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n if-state-change +---n if-state-change
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro state? if-state-type | +--ro state? if-state-type
+---n corrupted-lsp-detected +---n corrupted-lsp-detected
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n attempt-to-exceed-max-sequence +---n attempt-to-exceed-max-sequence
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n id-len-mismatch +---n id-len-mismatch
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-field-len? uint8 | +--ro pdu-field-len? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n max-area-addresses-mismatch +---n max-area-addresses-mismatch
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro max-area-addresses? uint8 | +--ro max-area-addresses? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n own-lsp-purge +---n own-lsp-purge
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n sequence-number-skipped +---n sequence-number-skipped
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n authentication-type-failure +---n authentication-type-failure
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n authentication-failure +---n authentication-failure
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n version-skew +---n version-skew
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro protocol-version? uint8 | +--ro protocol-version? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n area-mismatch +---n area-mismatch
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n rejected-adjacency +---n rejected-adjacency
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro reason? string | +--ro reason? string
+---n protocols-supported-mismatch +---n protocols-supported-mismatch
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro protocols* uint8 | +--ro protocols* uint8
+---n lsp-error-detected +---n lsp-error-detected
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro error-offset? uint32 | +--ro error-offset? uint32
| +--ro tlv-type? uint8 | +--ro tlv-type? uint8
+---n adjacency-state-change +---n adjacency-state-change
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro neighbor? string | +--ro neighbor? string
| +--ro neighbor-system-id? system-id | +--ro neighbor-system-id? system-id
| +--ro state? adj-state-type | +--ro state? adj-state-type
| +--ro reason? string | +--ro reason? string
+---n lsp-received +---n lsp-received
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
| +--ro sequence? uint32 | +--ro sequence? uint32
| +--ro received-timestamp? yang:timestamp | +--ro received-timestamp? yang:timestamp
| +--ro neighbor-system-id? system-id | +--ro neighbor-system-id? system-id
+---n lsp-generation +---n lsp-generation
+--ro routing-instance? string +--ro routing-instance? string
+--ro routing-protocol-name? string +--ro routing-protocol-name? string
+--ro isis-level? level +--ro isis-level? level
+--ro lsp-id? lsp-id +--ro lsp-id? lsp-id
+--ro sequence? uint32 +--ro sequence? uint32
+--ro send-timestamp? yang:timestamp +--ro send-timestamp? yang:timestamp
2.1. IS-IS Configuration 2.1. IS-IS Configuration
The IS-IS configuration container is divided in: The IS-IS configuration container is divided in:
o Global parameters. o Global parameters.
o Per interface configuration (see Section 2.4). o Per interface configuration (see Section 2.4).
Additional modules may be created this to support any additional Additional modules may be created this to support any additional
skipping to change at page 11, line 9 skipping to change at page 11, line 16
| +--rw value? uint8 | +--rw value? uint8
| +--rw level-1 | +--rw level-1
| | +--rw value? uint8 | | +--rw value? uint8
| +--rw level-2 | +--rw level-2
| +--rw value? uint8 | +--rw value? uint8
Example: Example:
<priority> <priority>
<value>250</value> <value>250</value>
<level-1> <level-1>
<value>100</value> <value>100</value>
</level-1> </level-1>
<level-2> <level-2>
<value>200</value> <value>200</value>
</level-2> </level-2>
</priority> </priority>
An implementation SHOULD prefer a level specific parameter over a An implementation SHOULD prefer a level specific parameter over a
level-all parameter. As example, if the priority is 100 for the level-all parameter. As example, if the priority is 100 for the
level-1, 200 for the level-2 and 250 for the top level configuration, level-1, 200 for the level-2 and 250 for the top level configuration,
the implementation should use 100 for the level-1 and 200 for the the implementation should use 100 for the level-1 and 200 for the
level-2. level-2.
Some parameters like "overload bit" and "route preference" are not Some parameters like "overload bit" and "route preference" are not
modeled to support a per level configuration. If an implementation modeled to support a per level configuration. If an implementation
supports per level configuration for such parameter, this supports per level configuration for such parameter, this
implementation SHOULD augment the current model by adding both implementation SHOULD augment the current model by adding both
level-1 and level-2 containers and SHOULD reuse existing level-1 and level-2 containers and SHOULD reuse existing
configuration groupings. configuration groupings.
Example of augmentation: Example of augmentation:
augment "/rt:routing/" + augment "/rt:routing/" +
"rt:control-plane-protocols/rt:control-plane-protocol"+ "rt:control-plane-protocols/rt:control-plane-protocol"+
"/isis:isis/isis:overload" { "/isis:isis/isis:overload" {
when "rt:type = 'isis:isis'" { when "rt:type = 'isis:isis'" {
description description
"This augment IS-IS routing protocol when used"; "This augment IS-IS routing protocol when used";
} }
description description
"This augments IS-IS overload configuration "This augments IS-IS overload configuration
with per level configuration."; with per level configuration.";
container level-1 { container level-1 {
uses isis:overload-global-cfg; uses isis:overload-global-cfg;
description description
skipping to change at page 13, line 28 skipping to change at page 13, line 28
| +--rw mesh-group-enable? mesh-group-state | +--rw mesh-group-enable? mesh-group-state
| +--rw mesh-group? uint8 | +--rw mesh-group? uint8
| +--rw interface-type? interface-type | +--rw interface-type? interface-type
| +--rw enable? boolean {admin-control}? | +--rw enable? boolean {admin-control}?
| +--rw tag* uint32 {prefix-tag}? | +--rw tag* uint32 {prefix-tag}?
| +--rw tag64* uint64 {prefix-tag64}? | +--rw tag64* uint64 {prefix-tag64}?
| +--rw node-flag? boolean {node-flag}? | +--rw node-flag? boolean {node-flag}?
| +--rw hello-authentication | +--rw hello-authentication
| | +--rw (authentication-type)? | | +--rw (authentication-type)?
| | | +--:(key-chain) {key-chain}? | | | +--:(key-chain) {key-chain}?
| | | | +--rw key-chain? key-chain:key-chain-ref | | | | +--rw key-chain? key-chain:key-chain-ref
| | | +--:(password) | | | +--:(password)
| | | +--rw key? string | | | +--rw key? string
| | | +--rw crypto-algorithm? identityref | | | +--rw crypto-algorithm? identityref
| | +--rw level-1 | | +--rw level-1
| | | +--rw (authentication-type)? | | | +--rw (authentication-type)?
| | | +--:(key-chain) {key-chain}? | | | +--:(key-chain) {key-chain}?
| | | | +--rw key-chain? key-chain:key-chain-ref | | | | +--rw key-chain? key-chain:key-chain-ref
| | | +--:(password) | | | +--:(password)
| | | +--rw key? string | | | +--rw key? string
| | | +--rw crypto-algorithm? identityref | | | +--rw crypto-algorithm? identityref
| | +--rw level-2 | | +--rw level-2
| | +--rw (authentication-type)? | | +--rw (authentication-type)?
| | +--:(key-chain) {key-chain}? | | +--:(key-chain) {key-chain}?
| | | +--rw key-chain? key-chain:key-chain-ref | | | +--rw key-chain? key-chain:key-chain-ref
| | +--:(password) | | +--:(password)
| | +--rw key? string | | +--rw key? string
| | +--rw crypto-algorithm? identityref | | +--rw crypto-algorithm? identityref
| +--rw hello-interval | +--rw hello-interval
| | +--rw value? rt-types:timer-value-seconds16 | | +--rw value? rt-types:timer-value-seconds16
| | +--rw level-1 | | +--rw level-1
| | | +--rw value? rt-types:timer-value-seconds16 | | | +--rw value? rt-types:timer-value-seconds16
| | +--rw level-2 | | +--rw level-2
| | +--rw value? rt-types:timer-value-seconds16 | | +--rw value? rt-types:timer-value-seconds16
| +--rw hello-multiplier | +--rw hello-multiplier
skipping to change at page 15, line 7 skipping to change at page 15, line 7
| | | +--rw remote-lfa {remote-lfa}? | | | +--rw remote-lfa {remote-lfa}?
| | | +--rw enable? boolean | | | +--rw enable? boolean
| | +--rw level-2 | | +--rw level-2
| | +--rw candidate-disabled? boolean | | +--rw candidate-disabled? boolean
| | +--rw enable? boolean | | +--rw enable? boolean
| | +--rw remote-lfa {remote-lfa}? | | +--rw remote-lfa {remote-lfa}?
| | +--rw enable? boolean | | +--rw enable? boolean
| +--rw topologies {multi-topology}? | +--rw topologies {multi-topology}?
| | +--rw topology* [name] | | +--rw topology* [name]
| | +--rw name | | +--rw name
| | | -> ../../../../../../../../rt:ribs/rib/name | | -> ../../../../../../../../rt:ribs/rib/name
| | +--rw metric | | +--rw metric
| | +--rw value? wide-metric | | +--rw value? wide-metric
| | +--rw level-1 | | +--rw level-1
| | | +--rw value? wide-metric | | | +--rw value? wide-metric
| | +--rw level-2 | | +--rw level-2
| | +--rw value? wide-metric | | +--rw value? wide-metric
| +--ro adjacencies | +--ro adjacencies
| | +--ro adjacency* [] | | +--ro adjacency* []
| | +--ro neighbor-systype? level | | +--ro neighbor-sys-type? level
| | +--ro neighbor-sysid? system-id | | +--ro neighbor-sysid? system-id
| | +--ro neighbor-extended-circuit-id? | | +--ro neighbor-extended-circuit-id?
| | | extended-circuit-id | | extended-circuit-id
| | +--ro neighbor-snpa? snpa | | +--ro neighbor-snpa? snpa
| | +--ro usage? level | | +--ro usage? level
| | +--ro hold-timer? | | +--ro hold-timer?
| | | rt-types:timer-value-seconds16 | | rt-types:timer-value-seconds16
| | +--ro neighbor-priority? uint8 | | +--ro neighbor-priority? uint8
| | +--ro lastuptime? yang:timestamp | | +--ro lastuptime? yang:timestamp
| | +--ro state? adj-state-type | | +--ro state? adj-state-type
| +--ro event-counters | +--ro event-counters
| | +--ro adjacency-changes? uint32 | | +--ro adjacency-changes? uint32
| | +--ro adjacency-number? uint32 | | +--ro adjacency-number? uint32
| | +--ro init-fails? uint32 | | +--ro init-fails? uint32
| | +--ro adjacency-rejects? uint32 | | +--ro adjacency-rejects? uint32
| | +--ro id-len-mismatch? uint32 | | +--ro id-len-mismatch? uint32
| | +--ro max-area-addresses-mismatch? uint32 | | +--ro max-area-addresses-mismatch? uint32
skipping to change at page 18, line 36 skipping to change at page 18, line 36
| | +--ro metric? wide-metric | | +--ro metric? wide-metric
| | +--ro tag* uint32 | | +--ro tag* uint32
| | +--ro tag64* uint64 | | +--ro tag64* uint64
| | +--ro external-prefix-flag? boolean | | +--ro external-prefix-flag? boolean
| | +--ro readvertisement-flag? boolean | | +--ro readvertisement-flag? boolean
| | +--ro node-flag? boolean | | +--ro node-flag? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address | | +--ro ipv4-source-router-id? inet:ipv4-address
| | +--ro ipv6-source-router-id? inet:ipv6-address | | +--ro ipv6-source-router-id? inet:ipv6-address
| +--ro mt-is-neighbor | +--ro mt-is-neighbor
| | +--ro neighbor* [] | | +--ro neighbor* []
| | +--ro MT-ID? uint16 | | +--ro mt-id? uint16
| | +--ro neighbor-id? system-id | | +--ro neighbor-id? system-id
| | +--ro metric? wide-metric | | +--ro metric? wide-metric
| +--ro mt-extended-ipv4-reachability | +--ro mt-extended-ipv4-reachability
| | +--ro prefixes* [] | | +--ro prefixes* []
| | +--ro MT-ID? uint16 | | +--ro mt-id? uint16
| | +--ro up-down? boolean | | +--ro up-down? boolean
| | +--ro ip-prefix? inet:ipv4-address | | +--ro ip-prefix? inet:ipv4-address
| | +--ro prefix-len? uint8 | | +--ro prefix-len? uint8
| | +--ro metric? wide-metric | | +--ro metric? wide-metric
| | +--ro tag* uint32 | | +--ro tag* uint32
| | +--ro tag64* uint64 | | +--ro tag64* uint64
| | +--ro external-prefix-flag? boolean | | +--ro external-prefix-flag? boolean
| | +--ro readvertisement-flag? boolean | | +--ro readvertisement-flag? boolean
| | +--ro node-flag? boolean | | +--ro node-flag? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address | | +--ro ipv4-source-router-id? inet:ipv4-address
skipping to change at page 20, line 10 skipping to change at page 20, line 10
+--ro database-overload? uint32 +--ro database-overload? uint32
+--ro own-lsp-purge? uint32 +--ro own-lsp-purge? uint32
+--ro manual-address-drop-from-area? uint32 +--ro manual-address-drop-from-area? uint32
+--ro max-sequence? uint32 +--ro max-sequence? uint32
+--ro sequence-number-skipped? uint32 +--ro sequence-number-skipped? uint32
+--ro id-len-mismatch? uint32 +--ro id-len-mismatch? uint32
+--ro partition-changes? uint32 +--ro partition-changes? uint32
+--ro lsp-errors? uint32 +--ro lsp-errors? uint32
+--ro spf-runs? uint32 +--ro spf-runs? uint32
rpcs: rpcs:
+---x clear-adjacency +---x clear-adjacency
| +---w input | +---w input
| +---w routing-protocol-instance-name instance-state-ref | +---w routing-protocol-instance-name instance-state-ref
| +---w level? level | +---w level? level
| +---w interface? string | +---w interface? string
+---x clear-database +---x clear-database
+---w input +---w input
+---w routing-protocol-instance-name instance-state-ref +---w routing-protocol-instance-name instance-state-ref
+---w level? level +---w level? level
notifications: notifications:
+---n database-overload +---n database-overload
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro overload? enumeration | +--ro overload? enumeration
+---n lsp-too-large +---n lsp-too-large
| +--ro routing-instance? string | +--ro routing-instance? string
| +--ro routing-protocol-name? string | +--ro routing-protocol-name? string
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? string | +--ro interface-name? string
skipping to change at page 27, line 22 skipping to change at page 27, line 22
Some IS-IS specific routes attributes are added to route objects of Some IS-IS specific routes attributes are added to route objects of
the ietf-routing module by augmenting "/rt:routing- the ietf-routing module by augmenting "/rt:routing-
state/rt:ribs/rt:rib/rt:routes/rt:route". state/rt:ribs/rt:rib/rt:routes/rt:route".
The modules defined in this document use some groupings from ietf- The modules defined in this document use some groupings from ietf-
keychain [I-D.ietf-rtgwg-yang-key-chain]. keychain [I-D.ietf-rtgwg-yang-key-chain].
6. IS-IS YANG Module 6. IS-IS YANG Module
<CODE BEGINS> file "ietf-yang@2018-07-02.yang" <CODE BEGINS> file "ietf-isis@2018-07-16.yang"
module ietf-isis { module ietf-isis {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; namespace "urn:ietf:params:xml:ns:yang:ietf-isis";
prefix isis; prefix isis;
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
reference "RFC 8349 - A YANG Data Model for Routing reference "RFC 8349 - A YANG Data Model for Routing
Management (NMDA Version)"; Management (NMDA Version)";
skipping to change at page 29, line 11 skipping to change at page 29, line 12
&lt;mailto:yiqu@cisco.com&gt; &lt;mailto:yiqu@cisco.com&gt;
Jeff Tantsura Jeff Tantsura
&lt;mailto:jefftant.ietf@gmail.com&gt; &lt;mailto:jefftant.ietf@gmail.com&gt;
"; ";
description description
"The YANG module defines a generic configuration model for "The YANG module defines a generic configuration model for
IS-IS common across all of the vendor implementations."; IS-IS common across all of the vendor implementations.";
revision 2018-07-02 { revision 2017-07-16 {
description description
"Initial revision."; "Initial revision.";
reference "RFC XXXX"; reference "RFC XXXX";
} }
/* Identities */ /* Identities */
identity isis { identity isis {
base rt:routing-protocol; base rt:routing-protocol;
description "Identity for the IS-IS routing protocol."; description "Identity for the IS-IS routing protocol.";
skipping to change at page 31, line 40 skipping to change at page 31, line 43
feature prefix-tag64 { feature prefix-tag64 {
description description
"Support for 64-bit prefix tags"; "Support for 64-bit prefix tags";
reference "RFC5130 - A Policy Control Mechanism in reference "RFC5130 - A Policy Control Mechanism in
IS-IS Using Administrative Tags"; IS-IS Using Administrative Tags";
} }
feature auto-cost { feature auto-cost {
description description
"Use an automated assignment of metrics."; "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 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 { feature multi-topology {
description description
"Multitopology routing support."; "Multitopology routing support.";
reference "RFC5120 - M-IS-IS: Multi Topology Routing in IS-IS"; reference "RFC5120 - M-IS-IS: Multi Topology Routing in IS-IS";
} }
feature nlpid-control { feature nlpid-control {
description description
"This feature controls the advertisement "This feature controls the advertisement
of support NLPID within IS-IS configuration."; of support NLPID within IS-IS configuration.";
} }
skipping to change at page 53, line 16 skipping to change at page 53, line 21
description "Maximum areas supported."; description "Maximum areas supported.";
} }
leaf-list area-address { leaf-list area-address {
type area-address; type area-address;
description description
"List of areas supported by the protocol instance."; "List of areas supported by the protocol instance.";
} }
container mpls { container mpls {
leaf ipv4-router-id { container te-rid {
if-feature ipv4-router-id; if-feature te-rid;
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 description
"Router ID value that would be used in TLV 140."; "Stable ISIS Router IP Address used for Traffic
Engineering";
leaf ipv4-router-id {
type inet:ipv4-address;
description
"Router ID value that would be used in TLV 134.";
}
leaf ipv6-router-id {
type inet:ipv6-address;
description
"Router ID value that would be used in TLV 140.";
}
} }
container ldp { container ldp {
container igp-sync { container igp-sync {
if-feature ldp-igp-sync; if-feature ldp-igp-sync;
description description
"This container may be augmented with global "This container may be augmented with global
parameters for igp-ldp-sync."; parameters for igp-ldp-sync.";
} }
description "LDP configuration."; description "LDP configuration.";
} }
skipping to change at page 83, line 22 skipping to change at page 83, line 30
uses isis-global-cfg; uses isis-global-cfg;
container fast-reroute { container fast-reroute {
if-feature fast-reroute; if-feature fast-reroute;
uses fast-reroute-global-cfg; uses fast-reroute-global-cfg;
uses fast-reroute-global-state; uses fast-reroute-global-state;
description description
"IP Fast ReRoute (IPFRR) global container"; "IP Fast ReRoute (IPFRR) global container";
} }
container spf-control { 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 { container ietf-spf-delay {
if-feature ietf-spf-delay; if-feature ietf-spf-delay;
uses ietf-spf-delay-cfg; uses ietf-spf-delay-cfg;
uses ietf-spf-delay-state; uses ietf-spf-delay-state;
description "IETF SPF delay algorithm container"; description "IETF SPF delay algorithm container";
} }
description description
"SPF computation-related information container"; "SPF computation-related information container";
} }
container topologies { container topologies {
skipping to change at page 96, line 15 skipping to change at page 96, line 34
This document also requests one new YANG module name in the YANG This document also requests one new YANG module name in the YANG
Module Names registry ([RFC6020]) with the following suggestion: Module Names registry ([RFC6020]) with the following suggestion:
name: ietf-isis name: ietf-isis
namespace: urn:ietf:params:xml:ns:yang:ietf-isis namespace: urn:ietf:params:xml:ns:yang:ietf-isis
prefix: isis prefix: isis
reference: RFC XXXX reference: RFC XXXX
11. Change log for ietf-isis YANG module 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 Moved to Yang 1.1
o Lower case enumerations o Lower case enumerations
o Add RFC references to features o Add RFC references to features
o Remove segment-routing feature o Remove segment-routing feature
o Modified BFD activation modeling 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 Align with draft-ietf-netmod-rfc8022bis.
o Modify address family types as per draft-ietf-rtgwg-routing-types- o Modify address family types as per draft-ietf-rtgwg-routing-types-
17. 17.
11.3. From version -17 to version -18 11.5. From version -17 to version -18
o NMDA compliancy. o NMDA compliancy.
o Set some default values. o Set some default values.
o Align with iana-rt-types module. 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 Cosmetic fixes.
o Use of rt-types model. 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 Alignment with last IETF key chain model.
o lsp-log "change" leaf moved as an identity. o lsp-log "change" leaf moved as an identity.
o Incremental SPF removed from spf-log types. 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: o Alignment with OSPF model done:
* Added spf-control container with IETF SPF delay algorithm as a * Added spf-control container with IETF SPF delay algorithm as a
feature. feature.
* Added graceful-restart options. * Added graceful-restart options.
* Added nsr as a feature. * Added nsr as a feature.
skipping to change at page 97, line 34 skipping to change at page 98, line 17
* Added auto-cost container. * Added auto-cost container.
* Moved reference-bandwidth under auto-cost container. * Moved reference-bandwidth under auto-cost container.
* Added IS-IS local RIB as operational state. * Added IS-IS local RIB as operational state.
* Added decode-completed and raw-data leaves in the LSDB model. * Added decode-completed and raw-data leaves in the LSDB model.
* Modified the notification header. * 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. 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 Move feature nlpid-control to container rather than list.
o Rename multi-topology to topologies to align with OSPF. o Rename multi-topology to topologies to align with OSPF.
o Rename bfd/enabled to bfd/enable for consistency reason. o Rename bfd/enabled to bfd/enable for consistency reason.
o Add support for NSR with a feature. 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. 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 af list.
o Added container before topology list. o Added container before topology list.
o Aligned LFA if per level cfg. o Aligned LFA if per level cfg.
o Align to draft-ietf-netmod-routing-cfg-23. 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 Remove selector from system-id type.
o Add some default values. o Add some default values.
o Moved lists to containers+groupings for per level configuration. o Moved lists to containers+groupings for per level configuration.
o remove routing-instance as per core routing model v21. o remove routing-instance as per core routing model v21.
o added BFD leaf (no more BFD protocol model). o added BFD leaf (no more BFD protocol model).
o changed keychain module reference. 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 config from list to container.
o Move Overload-max-metric config from list to container. o Move Overload-max-metric config from list to container.
o Move preference config from list to container. o Move preference config from list to container.
o Add Node flag in config. o Add Node flag in config.
o Removed BFD config => moved to isis-bfd module. o Removed BFD config => moved to isis-bfd module.
o Remove call to routing policy model. 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 o Correct invalid references to previous versions of core routing
model. model.
o Remove BFD config and replace by groupings from ietf-bfd. o Remove BFD config and replace by groupings from ietf-bfd.
o Adding routing-policy support through routing-policy model. 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 Reviewed config and op state groupings.
o Add default value to lfa candidate-disabled. o Add default value to lfa candidate-disabled.
o Add enable leaf to isis container to reflect admin state. o Add enable leaf to isis container to reflect admin state.
o Move to VRF centric only. o Move to VRF centric only.
o Segment routing is part os a separate module. 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 IPFRR.
o Adding igp-ldp-sync. o Adding igp-ldp-sync.
o Adding segment-routing. o Adding segment-routing.
o Adding instance reference to operational states. o Adding instance reference to operational states.
o Move AF type from string to identity. o Move AF type from string to identity.
skipping to change at page 99, line 43 skipping to change at page 100, line 23
o Added modification information in lsp-log. o Added modification information in lsp-log.
o Removing igp-ldp-sync timer in IS-IS. o Removing igp-ldp-sync timer in IS-IS.
o Defining hierarchy for operational states. o Defining hierarchy for operational states.
o Adding clns-mtu. o Adding clns-mtu.
o Adding key-chain. 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 Interface metric move from af container to interface container.
o Hello-padding on interface moved to hello-padding-disable with o Hello-padding on interface moved to hello-padding-disable with
empty type. empty type.
o three-way-handshake removed. o three-way-handshake removed.
o route preference changed to a choice. o route preference changed to a choice.
skipping to change at page 100, line 38 skipping to change at page 101, line 19
Management", draft-ietf-netmod-routing-cfg-25 (work in Management", draft-ietf-netmod-routing-cfg-25 (work in
progress), November 2016. progress), November 2016.
[I-D.ietf-rtgwg-yang-key-chain] [I-D.ietf-rtgwg-yang-key-chain]
Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang, Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang,
"Routing Key Chain YANG Data Model", draft-ietf-rtgwg- "Routing Key Chain YANG Data Model", draft-ietf-rtgwg-
yang-key-chain-24 (work in progress), April 2017. yang-key-chain-24 (work in progress), April 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, <https://www.rfc- DOI 10.17487/RFC2119, March 1997,
editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, <https://www.rfc- DOI 10.17487/RFC3688, January 2004,
editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
Topology (MT) Routing in Intermediate System to Topology (MT) Routing in Intermediate System to
Intermediate Systems (IS-ISs)", RFC 5120, Intermediate Systems (IS-ISs)", RFC 5120,
DOI 10.17487/RFC5120, February 2008, <https://www.rfc- DOI 10.17487/RFC5120, February 2008,
editor.org/info/rfc5120>. <https://www.rfc-editor.org/info/rfc5120>.
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
IP Fast Reroute: Loop-Free Alternates", RFC 5286, IP Fast Reroute: Loop-Free Alternates", RFC 5286,
DOI 10.17487/RFC5286, September 2008, <https://www.rfc- DOI 10.17487/RFC5286, September 2008,
editor.org/info/rfc5286>. <https://www.rfc-editor.org/info/rfc5286>.
[RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP
Synchronization", RFC 5443, DOI 10.17487/RFC5443, March Synchronization", RFC 5443, DOI 10.17487/RFC5443, March
2009, <https://www.rfc-editor.org/info/rfc5443>. 2009, <https://www.rfc-editor.org/info/rfc5443>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, <https://www.rfc- DOI 10.17487/RFC6020, October 2010,
editor.org/info/rfc6020>. <https://www.rfc-editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<https://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<https://www.rfc-editor.org/info/rfc6242>. <https://www.rfc-editor.org/info/rfc6242>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, Protocol (NETCONF) Access Control Model", RFC 6536,
DOI 10.17487/RFC6536, March 2012, <https://www.rfc- DOI 10.17487/RFC6536, March 2012,
editor.org/info/rfc6536>. <https://www.rfc-editor.org/info/rfc6536>.
[RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N.
So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)",
RFC 7490, DOI 10.17487/RFC7490, April 2015, RFC 7490, DOI 10.17487/RFC7490, April 2015,
<https://www.rfc-editor.org/info/rfc7490>. <https://www.rfc-editor.org/info/rfc7490>.
Appendix A. Example of IS-IS configuration in XML Appendix A. Example of IS-IS configuration in XML
This section gives an example of configuration of an IS-IS instance This section gives an example of configuration of an IS-IS instance
on a device. The example is written in XML. on a device. The example is written in XML.
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing">
<name>SLI</name> <name>SLI</name>
<router-id>1.1.1.1</router-id> <router-id>1.1.1.1</router-id>
<description/> <description/>
<interfaces> <interfaces>
<interface> <interface>
<name>Loopback0</name> <name>Loopback0</name>
</interface> </interface>
<interface> <interface>
<name>Eth1</name> <name>Eth1</name>
</interface> </interface>
</interfaces> </interfaces>
<control-plane-protocols> <control-plane-protocols>
<control-plane-protocol> <control-plane-protocol>
<name>ISIS</name> <name>ISIS</name>
<description/> <description/>
<type>isis:isis</type> <type>isis:isis</type>
<isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> <isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis">
<enable>true</enable> <enable>true</enable>
<level-type>level-2</level-type> <level-type>level-2</level-type>
<system-id>87FC.FCDF.4432</system-id> <system-id>87FC.FCDF.4432</system-id>
<area-address>49.0001</area-address> <area-address>49.0001</area-address>
<mpls-te> <mpls-te>
<ipv4-router-id>1.1.1.1</ipv4-router-id> <ipv4-router-id>1.1.1.1</ipv4-router-id>
</mpls-te> </mpls-te>
<lsp-lifetime>65535</lsp-lifetime> <lsp-lifetime>65535</lsp-lifetime>
<lsp-refresh>65000</lsp-refresh> <lsp-refresh>65000</lsp-refresh>
<metric-type> <metric-type>
<value>wide</value> <value>wide</value>
</metric-type> </metric-type>
<default-metric> <default-metric>
<value>111111</value> <value>111111</value>
</default-metric> </default-metric>
<afs> <afs>
<af> <af>
<af>ipv4-unicast</af> <af>ipv4-unicast</af>
<enabled>true</enabled> <enabled>true</enabled>
</af> </af>
</afs> </afs>
<interfaces> <interfaces>
<interface> <interface>
<name>Loopback0</name> <name>Loopback0</name>
<tag>200</tag> <tag>200</tag>
<metric> <metric>
<value>0</value> <value>0</value>
</metric> </metric>
<passive>true</passive> <passive>true</passive>
</interface> </interface>
<interface> <interface>
<name>Eth1</name> <name>Eth1</name>
<level-type>level-2</level-type> <level-type>level-2</level-type>
<interface-type>point-to-point <interface-type>point-to-point</interface-type>
</interface-type> <metric>
<metric> <value>167890</value>
<value>167890</value> </metric>
</metric> </interface>
</interfaces>
</interface> </isis>
</interfaces> </control-plane-protocol>
</isis> </control-plane-protocols>
</control-plane-protocol> </routing>
</control-plane-protocols> <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
</routing> <interface>
<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> <name>Loopback0</name>
<interface> <description/>
<name>Loopback0</name> <type/>
<description/> <link-up-down-trap-enable/>
<type/> <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
<link-up-down-trap-enable/> <mtu/>
<ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> <address>
<mtu/> <ip>1.1.1.1</ip>
<address> <prefix-length>32</prefix-length>
<ip>1.1.1.1</ip> </address>
<prefix-length>32</prefix-length> </ipv4>
</address>
</ipv4>
</interface> </interface>
<interface> <interface>
<name>Eth1</name> <name>Eth1</name>
<description/> <description/>
<type/> <type/>
<link-up-down-trap-enable/> <link-up-down-trap-enable/>
<ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
<mtu/> <mtu/>
<address> <address>
<ip>10.0.0.1</ip> <ip>10.0.0.1</ip>
<prefix-length>30</prefix-length> <prefix-length>30</prefix-length>
</address> </address>
</ipv4> </ipv4>
</interface> </interface>
</interfaces> </interfaces>
</data> </data>
Authors' Addresses Authors' Addresses
Stephane Litkowski Stephane Litkowski
Orange Orange
Email: stephane.litkowski@orange.com Email: stephane.litkowski@orange.com
Derek Yeung Derek Yeung
Arrcus, Inc Arrcus, Inc
Email: derek@arrcus.com Email: derek@arrcus.com
Acee Lindem Acee Lindem
Cisco Systems Cisco Systems
Email: acee@cisco.com Email: acee@cisco.com
 End of changes. 63 change blocks. 
457 lines changed or deleted 483 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/