draft-ietf-isis-yang-isis-cfg-19.txt   draft-ietf-isis-yang-isis-cfg-20.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: May 24, 2018 Arrcus, Inc Expires: November 26, 2018 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
November 20, 2017 May 25, 2018
YANG Data Model for IS-IS protocol YANG Data Model for IS-IS protocol
draft-ietf-isis-yang-isis-cfg-19 draft-ietf-isis-yang-isis-cfg-20
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
skipping to change at page 1, line 44 skipping to change at page 1, line 44
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 http://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 May 24, 2018. This Internet-Draft will expire on November 26, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 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 (http://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
skipping to change at page 2, line 29 skipping to change at page 2, line 29
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Tree diagram . . . . . . . . . . . . . . . . . . . . . . 3
2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3
2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 9 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 9
2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10
2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10
2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12
2.5. Authentication Parameters . . . . . . . . . . . . . . . . 22 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 23
2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23
2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 23 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 23
2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9. Operational States . . . . . . . . . . . . . . . . . . . 23 2.9. Operational States . . . . . . . . . . . . . . . . . . . 24
3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 24 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 24
4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25
5. Interaction with Other YANG Modules . . . . . . . . . . . . . 29 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 26
6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 30 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 26
7. Security Considerations . . . . . . . . . . . . . . . . . . . 104 7. Security Considerations . . . . . . . . . . . . . . . . . . . 101
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 105 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 102
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 105 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 102
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 105 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 103
11. Change log for ietf-isis YANG module . . . . . . . . . . . . 106 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 103
11.1. From version -18 to version -19 . . . . . . . . . . . . 106 11.1. From version -19 to version -20 . . . . . . . . . . . . 103
11.2. From version -17 to version -18 . . . . . . . . . . . . 106 11.2. From version -18 to version -19 . . . . . . . . . . . . 103
11.3. From version -16 to version -17 . . . . . . . . . . . . 106 11.3. From version -17 to version -18 . . . . . . . . . . . . 103
11.4. From version -15 to version -16 . . . . . . . . . . . . 106 11.4. From version -16 to version -17 . . . . . . . . . . . . 104
11.5. From version -14 to version -15 . . . . . . . . . . . . 106 11.5. From version -15 to version -16 . . . . . . . . . . . . 104
11.6. From version -13 to version -14 . . . . . . . . . . . . 107 11.6. From version -14 to version -15 . . . . . . . . . . . . 104
11.7. From version -12 to version -13 . . . . . . . . . . . . 107 11.7. From version -13 to version -14 . . . . . . . . . . . . 104
11.8. From version -09 to version -12 . . . . . . . . . . . . 107 11.8. From version -12 to version -13 . . . . . . . . . . . . 105
11.9. From version -08 to version -09 . . . . . . . . . . . . 107 11.9. From version -09 to version -12 . . . . . . . . . . . . 105
11.10. From version -07 to version -08 . . . . . . . . . . . . 107 11.10. From version -08 to version -09 . . . . . . . . . . . . 105
11.11. From version -05 to version -07 . . . . . . . . . . . . 108 11.11. From version -07 to version -08 . . . . . . . . . . . . 105
11.12. From version -03 to version -05 . . . . . . . . . . . . 108 11.12. From version -05 to version -07 . . . . . . . . . . . . 105
11.13. From version -02 to version -03 . . . . . . . . . . . . 108 11.13. From version -03 to version -05 . . . . . . . . . . . . 106
11.14. From version -01 to version -02 . . . . . . . . . . . . 108 11.14. From version -02 to version -03 . . . . . . . . . . . . 106
11.15. From version -00 to version -01 . . . . . . . . . . . . 109 11.15. From version -01 to version -02 . . . . . . . . . . . . 106
12. Normative References . . . . . . . . . . . . . . . . . . . . 110 11.16. From version -00 to version -01 . . . . . . . . . . . . 107
Appendix A. Example of IS-IS configuration in XML . . . . . . . 111 12. Normative References . . . . . . . . . . . . . . . . . . . . 107
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 113 Appendix A. Example of IS-IS configuration in XML . . . . . . . 108
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 111
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 9 skipping to change at page 4, line 9
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/rt:control-plane-protocol augment /rt:routing/rt:control-plane-protocols/rt:control-plane-protoc
: ol:
+--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? uint8 {maximum-area-addresses}? +--rw maximum-area-addresses? uint8 {maximum-area-addresses}?
+--rw area-address* area-address +--rw area-address* area-address
+--rw mpls +--rw mpls
| +--rw ipv4-router-id? inet:ipv4-address {ipv4-router-id}? | +--rw ipv4-router-id? inet:ipv4-address {ipv4-router-id}?
| +--rw ipv6-router-id? inet:ipv6-address {ipv6-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? rt-types:timer-value-seconds16 {ls +--rw lsp-refresh? rt-types:timer-value-seconds16 {l
p-refresh}? sp-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 level-2
| ... | ...
+--rw metric-type +--rw metric-type
| +--rw value? enumeration | +--rw value? enumeration
| +--rw level-1 | +--rw level-1
| | ... | | ...
| +--rw level-2
| ...
+--rw default-metric
| +--rw value? wide-metric
| +--rw level-1
| | ...
| +--rw level-2
| ...
+--rw afs {nlpid-control}?
| +--rw af* [af]
| ...
+--rw preference
| +--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 protection-statistics* [frr-protection-method]
| ...
+--rw spf-control
| +--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]
| ...
+--ro lsp-log
| +--ro event* [id]
| ...
+--ro hostnames
| +--ro hostname* [system-id]
| ...
+--ro database
| +--ro level-db* [level]
| ...
| +--rw level-2 +--ro local-rib
| ... | +--ro route* [prefix]
+--rw default-metric | ...
| +--rw value? wide-metric +--ro system-counters
| +--rw level-1 +--ro level* [level]
| | ... ...
| +--rw level-2
| ... rpcs:
+--rw afs {nlpid-control}? +---x clear-adjacency
| +--rw af* [af] | +---w input
| ... | +---w routing-protocol-instance-name instance-state-ref
+--rw preference | +---w level? level
| +--rw (granularity)? | +---w interface? string
| ... +---x clear-database
+--rw overload +---w input
| +--rw status? boolean +---w routing-protocol-instance-name instance-state-ref
+--rw overload-max-metric {overload-max-metric}? +---w level? level
| +--rw timeout? rt-types:timer-value-seconds16
+--rw fast-reroute {fast-reroute}? notifications:
| +--rw lfa {lfa}? +---n database-overload
| +--ro protected-routes | +--ro routing-instance? string
| | ... | +--ro routing-protocol-name? string
| +--ro nonprotected-routes | +--ro isis-level? level
| | ... | +--ro overload? enumeration
| +--ro protection-statistics* [frr-protection-method] +---n lsp-too-large
| ... | +--ro routing-instance? string
+--rw spf-control | +--ro routing-protocol-name? string
| +--rw ietf-spf-delay {ietf-spf-delay}? | +--ro isis-level? level
| ... | +--ro interface-name? string
+--rw topologies {multi-topology}? | +--ro interface-level? level
| +--rw topology* [name] | +--ro extended-circuit-id? extended-circuit-id
| ... | +--ro pdu-size? uint32
+--rw interfaces | +--ro lsp-id? lsp-id
| +--rw interface* [name] +---n if-state-change
| ... | +--ro routing-instance? string
+--ro spf-log | +--ro routing-protocol-name? string
| +--ro event* [id] | +--ro isis-level? level
| ... | +--ro interface-name? string
+--ro lsp-log | +--ro interface-level? level
| +--ro event* [id] | +--ro extended-circuit-id? extended-circuit-id
| ... | +--ro state? if-state-type
+--ro hostnames +---n corrupted-lsp-detected
| +--ro hostname* [system-id] | +--ro routing-instance? string
| ... | +--ro routing-protocol-name? string
+--ro database | +--ro isis-level? level
| +--ro level-db* [level] | +--ro lsp-id? lsp-id
| ... +---n attempt-to-exceed-max-sequence
+--ro local-rib | +--ro routing-instance? string
| +--ro route* [prefix] | +--ro routing-protocol-name? string
| ... | +--ro isis-level? level
+--ro system-counters | +--ro lsp-id? lsp-id
+--ro level* [level] +---n id-len-mismatch
... | +--ro routing-instance? string
rpcs: | +--ro routing-protocol-name? string
+---x clear-adjacency | +--ro isis-level? level
| +--ro input | +--ro interface-name? string
| +--ro routing-protocol-instance-name instance-state-ref | +--ro interface-level? level
| +--ro level? level | +--ro extended-circuit-id? extended-circuit-id
| +--ro interface? string | +--ro pdu-field-len? uint8
+---x clear-database | +--ro raw-pdu? binary
+--ro input +---n max-area-addresses-mismatch
+--ro routing-protocol-instance-name instance-state-ref | +--ro routing-instance? string
+--ro level? level | +--ro routing-protocol-name? string
notifications: | +--ro isis-level? level
+---n database-overload | +--ro interface-name? string
| +--ro routing-instance? string | +--ro interface-level? level
| +--ro routing-protocol-name? string | +--ro extended-circuit-id? extended-circuit-id
| +--ro isis-level? level | +--ro max-area-addresses? uint8
| +--ro overload? enumeration | +--ro raw-pdu? binary
+---n lsp-too-large +---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 pdu-size? uint32 | +--ro lsp-id? lsp-id
| +--ro lsp-id? lsp-id +---n sequence-number-skipped
+---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 lsp-id? lsp-id
| +--ro state? if-state-type +---n authentication-type-failure
+---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 interface-name? string
| +--ro lsp-id? lsp-id | +--ro interface-level? level
+---n attempt-to-exceed-max-sequence | +--ro extended-circuit-id? extended-circuit-id
| +--ro routing-instance? string | +--ro raw-pdu? binary
| +--ro routing-protocol-name? string +---n authentication-failure
| +--ro isis-level? level | +--ro routing-instance? string
| +--ro lsp-id? lsp-id | +--ro routing-protocol-name? string
+---n id-len-mismatch | +--ro isis-level? level
| +--ro routing-instance? string | +--ro interface-name? string
| +--ro routing-protocol-name? string | +--ro interface-level? level
| +--ro isis-level? level | +--ro extended-circuit-id? extended-circuit-id
| +--ro interface-name? string | +--ro raw-pdu? binary
| +--ro interface-level? level +---n version-skew
| +--ro extended-circuit-id? extended-circuit-id | +--ro routing-instance? string
| +--ro pdu-field-len? uint8 | +--ro routing-protocol-name? string
| +--ro raw-pdu? binary | +--ro isis-level? level
+---n max-area-addresses-mismatch | +--ro interface-name? string
| +--ro routing-instance? string | +--ro interface-level? level
| +--ro routing-protocol-name? string | +--ro extended-circuit-id? extended-circuit-id
| +--ro isis-level? level | +--ro protocol-version? uint8
| +--ro interface-name? string | +--ro raw-pdu? binary
| +--ro interface-level? level +---n area-mismatch
| +--ro extended-circuit-id? extended-circuit-id | +--ro routing-instance? string
| +--ro max-area-addresses? uint8 | +--ro routing-protocol-name? string
| +--ro raw-pdu? binary | +--ro isis-level? level
+---n own-lsp-purge | +--ro interface-name? string
| +--ro routing-instance? string | +--ro interface-level? level
| +--ro routing-protocol-name? string | +--ro extended-circuit-id? extended-circuit-id
| +--ro isis-level? level | +--ro raw-pdu? binary
| +--ro interface-name? string +---n rejected-adjacency
| +--ro interface-level? level | +--ro routing-instance? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro routing-protocol-name? string
| +--ro lsp-id? lsp-id | +--ro isis-level? level
+---n sequence-number-skipped | +--ro interface-name? string
| +--ro routing-instance? string | +--ro interface-level? level
| +--ro routing-protocol-name? string | +--ro extended-circuit-id? extended-circuit-id
| +--ro isis-level? level | +--ro raw-pdu? binary
| +--ro interface-name? string | +--ro reason? string
| +--ro interface-level? level +---n protocols-supported-mismatch
| +--ro extended-circuit-id? extended-circuit-id | +--ro routing-instance? string
| +--ro lsp-id? lsp-id | +--ro routing-protocol-name? string
+---n authentication-type-failure | +--ro isis-level? level
| +--ro routing-instance? string | +--ro interface-name? string
| +--ro routing-protocol-name? string | +--ro interface-level? level
| +--ro isis-level? level | +--ro extended-circuit-id? extended-circuit-id
| +--ro interface-name? string | +--ro raw-pdu? binary
| +--ro interface-level? level | +--ro protocols* uint8
| +--ro extended-circuit-id? extended-circuit-id +---n lsp-error-detected
| +--ro raw-pdu? binary | +--ro routing-instance? string
+---n authentication-failure | +--ro routing-protocol-name? string
| +--ro routing-instance? string | +--ro isis-level? level
| +--ro routing-protocol-name? string | +--ro interface-name? string
| +--ro isis-level? level | +--ro interface-level? level
| +--ro interface-name? string | +--ro extended-circuit-id? extended-circuit-id
| +--ro interface-level? level | +--ro lsp-id? lsp-id
| +--ro extended-circuit-id? extended-circuit-id | +--ro raw-pdu? binary
| +--ro raw-pdu? binary | +--ro error-offset? uint32
+---n version-skew | +--ro tlv-type? uint8
| +--ro routing-instance? string +---n adjacency-state-change
| +--ro routing-protocol-name? string | +--ro routing-instance? string
| +--ro isis-level? level | +--ro routing-protocol-name? string
| +--ro interface-name? string | +--ro isis-level? level
| +--ro interface-level? level | +--ro interface-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-level? level
| +--ro protocol-version? uint8 | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro neighbor? string
+---n area-mismatch | +--ro neighbor-system-id? system-id
| +--ro routing-instance? string | +--ro state? adj-state-type
| +--ro routing-protocol-name? string | +--ro reason? string
| +--ro isis-level? level +---n lsp-received
| +--ro interface-name? string | +--ro routing-instance? string
| +--ro interface-level? level | +--ro routing-protocol-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro isis-level? level
| +--ro raw-pdu? binary | +--ro interface-name? string
+---n rejected-adjacency | +--ro interface-level? level
| +--ro routing-instance? string | +--ro extended-circuit-id? extended-circuit-id
| +--ro routing-protocol-name? string | +--ro lsp-id? lsp-id
| +--ro isis-level? level | +--ro sequence? uint32
| +--ro interface-name? string | +--ro received-timestamp? yang:timestamp
| +--ro interface-level? level | +--ro neighbor-system-id? system-id
| +--ro extended-circuit-id? extended-circuit-id +---n lsp-generation
| +--ro raw-pdu? binary +--ro routing-instance? string
| +--ro reason? string +--ro routing-protocol-name? string
+---n protocols-supported-mismatch +--ro isis-level? level
| +--ro routing-instance? string +--ro lsp-id? lsp-id
| +--ro routing-protocol-name? string +--ro sequence? uint32
| +--ro isis-level? level +--ro send-timestamp? yang:timestamp
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary
| +--ro protocols* uint8
+---n lsp-error-detected
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id
| +--ro raw-pdu? binary
| +--ro error-offset? uint32
| +--ro tlv-type? uint8
+---n adjacency-state-change
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro neighbor? string
| +--ro neighbor-system-id? system-id
| +--ro state? adj-state-type
| +--ro reason? string
+---n lsp-received
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id
| +--ro sequence? uint32
| +--ro received-timestamp? yang:timestamp
| +--ro neighbor-system-id? system-id
+---n lsp-generation
+--ro routing-instance? string
+--ro routing-protocol-name? string
+--ro isis-level? level
+--ro lsp-id? lsp-id
+--ro sequence? uint32
+--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 12, line 29 skipping to change at page 12, line 29
defined in the "ietf-interfaces" YANG model. defined in the "ietf-interfaces" YANG model.
Each interface has some interface-specific parameters that may have a Each interface has some interface-specific parameters that may have a
different per level value as described in previous section. An different per level value as described in previous section. An
interface-specific parameter always override an IS-IS global interface-specific parameter always override an IS-IS global
parameter. parameter.
Some parameters like hello-padding are defined as containers to allow Some parameters like hello-padding are defined as containers to allow
easy extension by vendor specific modules. easy extension by vendor specific modules.
+--rw interfaces +--rw interfaces
| +--rw interface* [name] | +--rw interface* [name]
| +--rw name if:interface-ref | +--rw name if:interface-ref
| +--rw level-type? level | +--rw level-type? level
| +--rw lsp-pacing-interval? rt-types:timer-value-millis | +--rw lsp-pacing-interval? rt-types:timer-value-milli
econds seconds
| +--rw lsp-retransmit-interval? rt-types:timer-value-second | +--rw lsp-retransmit-interval? rt-types:timer-value-secon
s16 ds16
| +--rw passive? boolean | +--rw passive? boolean
| +--rw csnp-interval? rt-types:timer-value-second | +--rw csnp-interval? rt-types:timer-value-secon
s16 ds16
| +--rw hello-padding | +--rw hello-padding
| | +--rw enable? boolean | | +--rw enable? boolean
| +--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-re | | | | +--rw key-chain? key-chain:key-chain-r
f ef
| | | +--:(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-re | | | +--rw key-chain? key-chain:key-chain-r
f ef
| | +--:(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
| | +--rw value? uint16 | | +--rw value? uint16
| | +--rw level-1 | | +--rw level-1
| | | +--rw value? uint16 | | | +--rw value? uint16
| | +--rw level-2 | | +--rw level-2
| | +--rw value? uint16 | | +--rw value? uint16
| +--rw priority | +--rw priority
| | +--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
| +--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
| +--rw bfd {bfd}? | +--rw bfd {bfd}?
| | +--rw enable? boolean | | +--rw enable? boolean
| +--rw afs {nlpid-control}? | | +--rw local-multiplier? multiplier
| | +--rw af* [af] | | +--rw (interval-config-type)?
| | +--rw af iana-rt-types:address-family | | +--:(tx-rx-intervals)
| +--rw mpls | | | +--rw desired-min-tx-interval? uint32
| | +--rw ldp | | | +--rw required-min-rx-interval? uint32
| | +--rw igp-sync? boolean {ldp-igp-sync}? | | +--:(single-interval) {single-minimum-interval}?
| +--rw fast-reroute {fast-reroute}? | | +--rw min-interval? uint32
| | +--rw lfa {lfa}? | +--rw afs {nlpid-control}?
| | +--rw candidate-disabled? boolean | | +--rw af* [af]
| | +--rw enable? boolean | | +--rw af iana-rt-types:address-family
| | +--rw remote-lfa {remote-lfa}? | +--rw mpls
| | | +--rw enable? boolean | | +--rw ldp
| | +--rw level-1 | | +--rw igp-sync? boolean {ldp-igp-sync}?
| | | +--rw candidate-disabled? boolean | +--rw fast-reroute {fast-reroute}?
| | | +--rw enable? boolean | | +--rw lfa {lfa}?
| | | +--rw remote-lfa {remote-lfa}? | | +--rw candidate-disabled? boolean
| | | +--rw enable? boolean | | +--rw enable? boolean
| | +--rw level-2 | | +--rw remote-lfa {remote-lfa}?
| | +--rw candidate-disabled? boolean | | | +--rw enable? boolean
| | +--rw enable? boolean | | +--rw level-1
| | +--rw remote-lfa {remote-lfa}? | | | +--rw candidate-disabled? boolean
| | +--rw enable? boolean | | | +--rw enable? boolean
| +--rw topologies {multi-topology}? | | | +--rw remote-lfa {remote-lfa}?
| | +--rw topology* [name] | | | +--rw enable? boolean
| | +--rw name leafref | | +--rw level-2
| | +--rw metric | | +--rw candidate-disabled? boolean
| | +--rw value? wide-metric | | +--rw enable? boolean
| | +--rw level-1 | | +--rw remote-lfa {remote-lfa}?
| | | +--rw value? wide-metric | | +--rw enable? boolean
| | +--rw level-2 | +--rw topologies {multi-topology}?
| | +--rw value? wide-metric | | +--rw topology* [name]
| +--ro adjacencies | | +--rw name -> ../../../../../../../../rt:ribs/ri
| | +--ro adjacency* b/name
| | +--ro neighbor-systype? level | | +--rw metric
| | +--ro neighbor-sysid? system-id | | +--rw value? wide-metric
| | +--ro neighbor-extended-circuit-id? extended-circuit | | +--rw level-1
-id | | | +--rw value? wide-metric
| | +--ro neighbor-snpa? snpa | | +--rw level-2
| | +--ro usage? level | | +--rw value? wide-metric
| | +--ro hold-timer? rt-types:timer-v | +--ro adjacencies
alue-seconds16 | | +--ro adjacency* []
| | +--ro neighbor-priority? uint8 | | +--ro neighbor-systype? level
| | +--ro lastuptime? yang:timestamp | | +--ro neighbor-sysid? system-id
| | +--ro state? adj-state-type | | +--ro neighbor-extended-circuit-id? extended-circui
| +--ro event-counters t-id
| | +--ro adjacency-changes? uint32 | | +--ro neighbor-snpa? snpa
| | +--ro adjacency-number? uint32 | | +--ro usage? level
| | +--ro init-fails? uint32 | | +--ro hold-timer? rt-types:timer-
| | +--ro adjacency-rejects? uint32 value-seconds16
| | +--ro id-len-mismatch? uint32 | | +--ro neighbor-priority? uint8
| | +--ro max-area-addresses-mismatch? uint32 | | +--ro lastuptime? yang:timestamp
| | +--ro authentication-type-fails? uint32 | | +--ro state? adj-state-type
| | +--ro authentication-fails? uint32 | +--ro event-counters
| | +--ro lan-dis-changes? uint32 | | +--ro adjacency-changes? uint32
| +--ro packet-counters | | +--ro adjacency-number? uint32
| +--ro level* [level] | | +--ro init-fails? uint32
| +--ro level level-number | | +--ro adjacency-rejects? uint32
| +--ro iih | | +--ro id-len-mismatch? uint32
| | +--ro in? uint32 | | +--ro max-area-addresses-mismatch? uint32
| | +--ro out? uint32 | | +--ro authentication-type-fails? uint32
| +--ro ish | | +--ro authentication-fails? uint32
| | +--ro in? uint32 | | +--ro lan-dis-changes? uint32
| | +--ro out? uint32 | +--ro packet-counters
| +--ro esh | +--ro level* [level]
| | +--ro in? uint32 | +--ro level level-number
| | +--ro out? uint32 | +--ro iih
| +--ro lsp | | +--ro in? uint32
| | +--ro in? uint32 | | +--ro out? uint32
| | +--ro out? uint32 | +--ro ish
| +--ro psnp | | +--ro in? uint32
| | +--ro in? uint32 | | +--ro out? uint32
| | +--ro out? uint32 | +--ro esh
| +--ro csnp | | +--ro in? uint32
| | +--ro in? uint32 | | +--ro out? uint32
| | +--ro out? uint32 | +--ro lsp
| +--ro unknown | | +--ro in? uint32
| +--ro in? uint32 | | +--ro out? uint32
| +--ro out? uint32 | +--ro psnp
+--ro spf-log | | +--ro in? uint32
| +--ro event* [id] | | +--ro out? uint32
| +--ro id uint32 | +--ro csnp
| +--ro spf-type? enumeration | | +--ro in? uint32
| +--ro level? level-number | | +--ro out? uint32
| +--ro schedule-timestamp? yang:timestamp | +--ro unknown
| +--ro start-timestamp? yang:timestamp | +--ro in? uint32
| +--ro end-timestamp? yang:timestamp | +--ro out? uint32
| +--ro trigger-lsp* [lsp] +--ro spf-log
| +--ro lsp lsp-id | +--ro event* [id]
| +--ro sequence? uint32 | +--ro id uint32
+--ro lsp-log | +--ro spf-type? enumeration
| +--ro event* [id] | +--ro level? level-number
| +--ro id uint32 | +--ro schedule-timestamp? yang:timestamp
| +--ro level? level-number | +--ro start-timestamp? yang:timestamp
| +--ro lsp | +--ro end-timestamp? yang:timestamp
| | +--ro lsp? lsp-id | +--ro trigger-lsp* [lsp]
| | +--ro sequence? uint32 | +--ro lsp lsp-id
| +--ro received-timestamp? yang:timestamp | +--ro sequence? uint32
| +--ro change? identityref +--ro lsp-log
+--ro hostnames | +--ro event* [id]
| +--ro hostname* [system-id] | +--ro id uint32
| +--ro system-id system-id | +--ro level? level-number
| +--ro hostname? string | +--ro lsp
+--ro database | | +--ro lsp? lsp-id
| +--ro level-db* [level] | | +--ro sequence? uint32
| +--ro level level-number | +--ro received-timestamp? yang:timestamp
| +--ro lsp* [lsp-id] | +--ro change? identityref
| +--ro decoded-completed? boolean +--ro hostnames
| +--ro raw-data? yang:hex-string | +--ro hostname* [system-id]
| +--ro lsp-id lsp-id | +--ro system-id system-id
| +--ro checksum? uint16 | +--ro hostname? string
| +--ro remaining-lifetime? uint16 +--ro database
| +--ro sequence? uint32 | +--ro level-db* [level]
| +--ro attributes? bits | +--ro level level-number
| +--ro ipv4-addresses* inet:ipv4-address | +--ro lsp* [lsp-id]
| +--ro ipv6-addresses* inet:ipv6-address | +--ro decoded-completed? boolean
| +--ro ipv4-te-routerid? inet:ipv4-address | +--ro raw-data? yang:hex-string
| +--ro ipv6-te-routerid? inet:ipv6-address | +--ro lsp-id lsp-id
| +--ro protocol-supported* uint8 | +--ro checksum? uint16
| +--ro dynamic-hostname? string | +--ro remaining-lifetime? uint16
| +--ro authentication | +--ro sequence? uint32
| | +--ro authentication-type? string | +--ro attributes? bits
| | +--ro authentication-key? string | +--ro ipv4-addresses* inet:ipv4-address
| +--ro mt-entries | +--ro ipv6-addresses* inet:ipv6-address
| | +--ro topology* | +--ro ipv4-te-routerid? inet:ipv4-address
| | +--ro MT-ID? uint16 | +--ro ipv6-te-routerid? inet:ipv6-address
| | +--ro attributes? bits | +--ro protocol-supported* uint8
| +--ro router-capabilities* | +--ro dynamic-hostname? string
| | +--ro flags? bits | +--ro authentication
| | +--ro node-tags {node-tag}? | | +--ro authentication-type? string
| | | +--ro node-tag* | | +--ro authentication-key? string
| | | +--ro tag? uint32 | +--ro mt-entries
| | +--ro binary? binary | | +--ro topology* []
| +--ro is-neighbor | | +--ro MT-ID? uint16
| | +--ro neighbor* | | +--ro attributes? bits
| | +--ro neighbor-id? system-id | +--ro router-capabilities* []
| | +--ro i-e? boolean | | +--ro flags? bits
| | +--ro default-metric? std-metric | | +--ro node-tags {node-tag}?
| | +--ro delay-metric | | | +--ro node-tag* []
| | | +--ro metric? std-metric | | | +--ro tag? uint32
| | | +--ro supported? boolean | | +--ro binary? binary
| | +--ro expense-metric | +--ro is-neighbor
| | | +--ro metric? std-metric | | +--ro neighbor* []
| | | +--ro supported? boolean | | +--ro neighbor-id? system-id
| | +--ro error-metric | | +--ro i-e? boolean
| | +--ro metric? std-metric | | +--ro default-metric? std-metric
| | +--ro supported? boolean | | +--ro delay-metric
| +--ro extended-is-neighbor | | | +--ro metric? std-metric
| | +--ro neighbor* | | | +--ro supported? boolean
| | +--ro neighbor-id? system-id | | +--ro expense-metric
| | +--ro metric? wide-metric | | | +--ro metric? std-metric
| +--ro ipv4-internal-reachability | | | +--ro supported? boolean
| | +--ro prefixes* | | +--ro error-metric
| | +--ro up-down? boolean | | +--ro metric? std-metric
| | +--ro i-e? boolean | | +--ro supported? boolean
| | +--ro ip-prefix? inet:ipv4-address | +--ro extended-is-neighbor
| | +--ro prefix-len? uint8 | | +--ro neighbor* []
| | +--ro default-metric? std-metric | | +--ro neighbor-id? system-id
| | +--ro delay-metric | | +--ro metric? wide-metric
| | | +--ro metric? std-metric | +--ro ipv4-internal-reachability
| | | +--ro supported? boolean | | +--ro prefixes* []
| | +--ro expense-metric | | +--ro up-down? boolean
| | | +--ro metric? std-metric | | +--ro i-e? boolean
| | | +--ro supported? boolean | | +--ro ip-prefix? inet:ipv4-address
| | +--ro error-metric | | +--ro prefix-len? uint8
| | +--ro metric? std-metric | | +--ro default-metric? std-metric
| | +--ro supported? boolean | | +--ro delay-metric
| +--ro ipv4-external-reachability | | | +--ro metric? std-metric
| | +--ro prefixes* | | | +--ro supported? boolean
| | +--ro up-down? boolean | | +--ro expense-metric
| | +--ro i-e? boolean | | | +--ro metric? std-metric
| | +--ro ip-prefix? inet:ipv4-address | | | +--ro supported? boolean
| | +--ro prefix-len? uint8 | | +--ro error-metric
| | +--ro default-metric? std-metric | | +--ro metric? std-metric
| | +--ro delay-metric | | +--ro supported? boolean
| | | +--ro metric? std-metric | +--ro ipv4-external-reachability
| | | +--ro supported? boolean | | +--ro prefixes* []
| | +--ro expense-metric | | +--ro up-down? boolean
| | | +--ro metric? std-metric | | +--ro i-e? boolean
| | | +--ro supported? boolean | | +--ro ip-prefix? inet:ipv4-address
| | +--ro error-metric | | +--ro prefix-len? uint8
| | +--ro metric? std-metric | | +--ro default-metric? std-metric
| | +--ro supported? boolean | | +--ro delay-metric
| +--ro extended-ipv4-reachability | | | +--ro metric? std-metric
| | +--ro prefixes* | | | +--ro supported? boolean
| | +--ro up-down? boolean | | +--ro expense-metric
| | +--ro ip-prefix? inet:ipv4-address | | | +--ro metric? std-metric
| | +--ro prefix-len? uint8 | | | +--ro supported? boolean
| | +--ro metric? wide-metric | | +--ro error-metric
| | +--ro tag* uint32 | | +--ro metric? std-metric
| | +--ro tag64* uint64 | | +--ro supported? boolean
| | +--ro external-prefix-flag? boolean | +--ro extended-ipv4-reachability
| | +--ro readvertisement-flag? boolean | | +--ro prefixes* []
| | +--ro node-flag? boolean | | +--ro up-down? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address | | +--ro ip-prefix? inet:ipv4-address
| | +--ro ipv6-source-router-id? inet:ipv6-address | | +--ro prefix-len? uint8
| +--ro mt-is-neighbor | | +--ro metric? wide-metric
| | +--ro neighbor* | | +--ro tag* uint32
| | +--ro MT-ID? uint16 | | +--ro tag64* uint64
| | +--ro neighbor-id? system-id | | +--ro external-prefix-flag? boolean
| | +--ro metric? wide-metric | | +--ro readvertisement-flag? boolean
| +--ro mt-extended-ipv4-reachability | | +--ro node-flag? boolean
| | +--ro prefixes* | | +--ro ipv4-source-router-id? inet:ipv4-address
| | +--ro MT-ID? uint16 | | +--ro ipv6-source-router-id? inet:ipv6-address
| | +--ro up-down? boolean | +--ro mt-is-neighbor
| | +--ro ip-prefix? inet:ipv4-address | | +--ro neighbor* []
| | +--ro prefix-len? uint8 | | +--ro MT-ID? uint16
| | +--ro metric? wide-metric | | +--ro neighbor-id? system-id
| | +--ro tag* uint32 | | +--ro metric? wide-metric
| | +--ro tag64* uint64 | +--ro mt-extended-ipv4-reachability
| | +--ro external-prefix-flag? boolean | | +--ro prefixes* []
| | +--ro readvertisement-flag? boolean | | +--ro MT-ID? uint16
| | +--ro node-flag? boolean | | +--ro up-down? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address | | +--ro ip-prefix? inet:ipv4-address
| | +--ro ipv6-source-router-id? inet:ipv6-address | | +--ro prefix-len? uint8
| +--ro mt-ipv6-reachability | | +--ro metric? wide-metric
| | +--ro prefixes* | | +--ro tag* uint32
| | +--ro MT-ID? uint16 | | +--ro tag64* uint64
| | +--ro up-down? boolean | | +--ro external-prefix-flag? boolean
| | +--ro ip-prefix? inet:ipv6-address | | +--ro readvertisement-flag? boolean
| | +--ro prefix-len? uint8 | | +--ro node-flag? boolean
| | +--ro metric? wide-metric | | +--ro ipv4-source-router-id? inet:ipv4-address
| | +--ro tag* uint32 | | +--ro ipv6-source-router-id? inet:ipv6-address
| | +--ro tag64* uint64 | +--ro mt-ipv6-reachability
| | +--ro external-prefix-flag? boolean | | +--ro prefixes* []
| | +--ro readvertisement-flag? boolean | | +--ro MT-ID? uint16
| | +--ro node-flag? boolean | | +--ro up-down? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address | | +--ro ip-prefix? inet:ipv6-address
| | +--ro ipv6-source-router-id? inet:ipv6-address | | +--ro prefix-len? uint8
| +--ro ipv6-reachability | | +--ro metric? wide-metric
| +--ro prefixes* | | +--ro tag* uint32
| +--ro up-down? boolean | | +--ro tag64* uint64
| +--ro ip-prefix? inet:ipv6-address | | +--ro external-prefix-flag? boolean
| +--ro prefix-len? uint8 | | +--ro readvertisement-flag? boolean
| +--ro metric? wide-metric | | +--ro node-flag? boolean
| +--ro tag* uint32 | | +--ro ipv4-source-router-id? inet:ipv4-address
| +--ro tag64* uint64 | | +--ro ipv6-source-router-id? inet:ipv6-address
| +--ro external-prefix-flag? boolean | +--ro ipv6-reachability
| +--ro readvertisement-flag? boolean | +--ro prefixes* []
| +--ro node-flag? boolean | +--ro up-down? boolean
| +--ro ipv4-source-router-id? inet:ipv4-address | +--ro ip-prefix? inet:ipv6-address
| +--ro ipv6-source-router-id? inet:ipv6-address | +--ro prefix-len? uint8
+--ro local-rib | +--ro metric? wide-metric
| +--ro route* [prefix] | +--ro tag* uint32
| +--ro prefix inet:ip-prefix | +--ro tag64* uint64
| +--ro next-hops | +--ro external-prefix-flag? boolean
| | +--ro next-hop* [next-hop] | +--ro readvertisement-flag? boolean
| | +--ro outgoing-interface? if:interface-ref | +--ro node-flag? boolean
| | +--ro next-hop inet:ip-address | +--ro ipv4-source-router-id? inet:ipv4-address
| +--ro metric? uint32 | +--ro ipv6-source-router-id? inet:ipv6-address
| +--ro level? level-number +--ro local-rib
| +--ro route-tag? uint32 | +--ro route* [prefix]
+--ro system-counters | +--ro prefix inet:ip-prefix
+--ro level* [level] | +--ro next-hops
+--ro level level-number | | +--ro next-hop* [next-hop]
+--ro corrupted-lsps? uint32 | | +--ro outgoing-interface? if:interface-ref
+--ro authentication-type-fails? uint32 | | +--ro next-hop inet:ip-address
+--ro authentication-fails? uint32 | +--ro metric? uint32
+--ro database-overload? uint32 | +--ro level? level-number
+--ro own-lsp-purge? uint32 | +--ro route-tag? uint32
+--ro manual-address-drop-from-area? uint32 +--ro system-counters
+--ro max-sequence? uint32 +--ro level* [level]
+--ro sequence-number-skipped? uint32 +--ro level level-number
+--ro id-len-mismatch? uint32 +--ro corrupted-lsps? uint32
+--ro partition-changes? uint32 +--ro authentication-type-fails? uint32
+--ro lsp-errors? uint32 +--ro authentication-fails? uint32
+--ro spf-runs? uint32 +--ro database-overload? uint32
rpcs: +--ro own-lsp-purge? uint32
+---x clear-adjacency +--ro manual-address-drop-from-area? uint32
| +--ro input +--ro max-sequence? uint32
| +--ro routing-protocol-instance-name instance-state-ref +--ro sequence-number-skipped? uint32
| +--ro level? level +--ro id-len-mismatch? uint32
| +--ro interface? string +--ro partition-changes? uint32
+---x clear-database +--ro lsp-errors? uint32
+--ro input +--ro spf-runs? uint32
+--ro routing-protocol-instance-name instance-state-ref
+--ro level? level rpcs:
notifications: +---x clear-adjacency
+---n database-overload | +---w input
| +--ro routing-instance? string | +---w routing-protocol-instance-name instance-state-ref
| +--ro routing-protocol-name? string | +---w level? level
| +--ro isis-level? level | +---w interface? string
| +--ro overload? enumeration +---x clear-database
+---n lsp-too-large +---w input
| +--ro routing-instance? string +---w routing-protocol-instance-name instance-state-ref
| +--ro routing-protocol-name? string +---w level? level
| +--ro isis-level? level
| +--ro interface-name? string notifications:
| +--ro interface-level? level +---n database-overload
| +--ro extended-circuit-id? extended-circuit-id | +--ro routing-instance? string
| +--ro pdu-size? uint32 | +--ro routing-protocol-name? string
| +--ro lsp-id? lsp-id | +--ro isis-level? level
+---n if-state-change | +--ro overload? enumeration
| +--ro routing-instance? string +---n lsp-too-large
| +--ro routing-protocol-name? string | +--ro routing-instance? string
| +--ro isis-level? level | +--ro routing-protocol-name? string
| +--ro interface-name? string | +--ro isis-level? level
| +--ro interface-level? level | +--ro interface-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-level? level
| +--ro state? if-state-type | +--ro extended-circuit-id? extended-circuit-id
+---n corrupted-lsp-detected | +--ro pdu-size? uint32
| +--ro routing-instance? string | +--ro lsp-id? lsp-id
| +--ro routing-protocol-name? string +---n if-state-change
| +--ro isis-level? level | +--ro routing-instance? string
| +--ro lsp-id? lsp-id | +--ro routing-protocol-name? string
+---n attempt-to-exceed-max-sequence | +--ro isis-level? level
| +--ro routing-instance? string | +--ro interface-name? string
| +--ro routing-protocol-name? string | +--ro interface-level? level
| +--ro isis-level? level | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro state? if-state-type
+---n id-len-mismatch +---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 interface-name? string | +--ro lsp-id? lsp-id
| +--ro interface-level? level +---n attempt-to-exceed-max-sequence
| +--ro extended-circuit-id? extended-circuit-id | +--ro routing-instance? string
| +--ro pdu-field-len? uint8 | +--ro routing-protocol-name? string
| +--ro raw-pdu? binary | +--ro isis-level? level
+---n max-area-addresses-mismatch | +--ro lsp-id? lsp-id
| +--ro routing-instance? string +---n id-len-mismatch
| +--ro routing-protocol-name? string | +--ro routing-instance? string
| +--ro isis-level? level | +--ro routing-protocol-name? string
| +--ro interface-name? string | +--ro isis-level? level
| +--ro interface-level? level | +--ro interface-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-level? level
| +--ro max-area-addresses? uint8 | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro pdu-field-len? uint8
+---n own-lsp-purge | +--ro raw-pdu? binary
| +--ro routing-instance? string +---n max-area-addresses-mismatch
| +--ro routing-protocol-name? string | +--ro routing-instance? string
| +--ro isis-level? level | +--ro routing-protocol-name? string
| +--ro interface-name? string | +--ro isis-level? level
| +--ro interface-level? level | +--ro interface-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-level? level
| +--ro lsp-id? lsp-id | +--ro extended-circuit-id? extended-circuit-id
+---n sequence-number-skipped | +--ro max-area-addresses? uint8
| +--ro routing-instance? string | +--ro raw-pdu? binary
| +--ro routing-protocol-name? string +---n own-lsp-purge
| +--ro isis-level? level | +--ro routing-instance? string
| +--ro interface-name? string | +--ro routing-protocol-name? string
| +--ro interface-level? level | +--ro isis-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-name? string
| +--ro lsp-id? lsp-id | +--ro interface-level? level
+---n authentication-type-failure | +--ro extended-circuit-id? extended-circuit-id
| +--ro routing-instance? string | +--ro lsp-id? lsp-id
| +--ro routing-protocol-name? string +---n sequence-number-skipped
| +--ro isis-level? level | +--ro routing-instance? string
| +--ro interface-name? string | +--ro routing-protocol-name? string
| +--ro interface-level? level | +--ro isis-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-name? string
| +--ro raw-pdu? binary | +--ro interface-level? level
+---n authentication-failure | +--ro extended-circuit-id? extended-circuit-id
| +--ro routing-instance? string | +--ro lsp-id? lsp-id
| +--ro routing-protocol-name? string +---n authentication-type-failure
| +--ro isis-level? level | +--ro routing-instance? string
| +--ro interface-name? string | +--ro routing-protocol-name? string
| +--ro interface-level? level | +--ro isis-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-name? string
| +--ro raw-pdu? binary | +--ro interface-level? level
+---n version-skew | +--ro extended-circuit-id? extended-circuit-id
| +--ro routing-instance? string | +--ro raw-pdu? binary
| +--ro routing-protocol-name? string +---n authentication-failure
| +--ro isis-level? level | +--ro routing-instance? string
| +--ro interface-name? string | +--ro routing-protocol-name? string
| +--ro interface-level? level | +--ro isis-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-name? string
| +--ro protocol-version? uint8 | +--ro interface-level? level
| +--ro raw-pdu? binary | +--ro extended-circuit-id? extended-circuit-id
+---n area-mismatch | +--ro raw-pdu? binary
| +--ro routing-instance? string +---n version-skew
| +--ro routing-protocol-name? string | +--ro routing-instance? string
| +--ro isis-level? level | +--ro routing-protocol-name? string
| +--ro interface-name? string | +--ro isis-level? level
| +--ro interface-level? level | +--ro interface-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-level? level
| +--ro raw-pdu? binary | +--ro extended-circuit-id? extended-circuit-id
+---n rejected-adjacency | +--ro protocol-version? uint8
| +--ro routing-instance? string | +--ro raw-pdu? binary
| +--ro routing-protocol-name? string +---n area-mismatch
| +--ro isis-level? level | +--ro routing-instance? string
| +--ro interface-name? string | +--ro routing-protocol-name? string
| +--ro interface-level? level | +--ro isis-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-name? string
| +--ro raw-pdu? binary | +--ro interface-level? level
| +--ro reason? string | +--ro extended-circuit-id? extended-circuit-id
+---n protocols-supported-mismatch | +--ro raw-pdu? binary
| +--ro routing-instance? string +---n rejected-adjacency
| +--ro routing-protocol-name? string | +--ro routing-instance? string
| +--ro isis-level? level | +--ro routing-protocol-name? string
| +--ro interface-name? string | +--ro isis-level? level
| +--ro interface-level? level | +--ro interface-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-level? level
| +--ro raw-pdu? binary | +--ro extended-circuit-id? extended-circuit-id
| +--ro protocols* uint8 | +--ro raw-pdu? binary
+---n lsp-error-detected | +--ro reason? string
| +--ro routing-instance? string +---n protocols-supported-mismatch
| +--ro routing-protocol-name? string | +--ro routing-instance? string
| +--ro isis-level? level | +--ro routing-protocol-name? string
| +--ro interface-name? string | +--ro isis-level? level
| +--ro interface-level? level | +--ro interface-name? string
| +--ro extended-circuit-id? extended-circuit-id | +--ro interface-level? level
| +--ro lsp-id? lsp-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro error-offset? uint32 | +--ro protocols* uint8
| +--ro tlv-type? uint8 +---n lsp-error-detected
+---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 lsp-id? lsp-id
| +--ro neighbor? string | +--ro raw-pdu? binary
| +--ro neighbor-system-id? system-id | +--ro error-offset? uint32
| +--ro state? adj-state-type | +--ro tlv-type? uint8
| +--ro reason? string +---n adjacency-state-change
+---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 neighbor? string
| +--ro lsp-id? lsp-id | +--ro neighbor-system-id? system-id
| +--ro sequence? uint32 | +--ro state? adj-state-type
| +--ro received-timestamp? yang:timestamp | +--ro reason? string
| +--ro neighbor-system-id? system-id +---n lsp-received
+---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 interface-name? string
+--ro lsp-id? lsp-id | +--ro interface-level? level
+--ro sequence? uint32 | +--ro extended-circuit-id? extended-circuit-id
+--ro send-timestamp? yang:timestamp | +--ro lsp-id? lsp-id
| +--ro sequence? uint32
| +--ro received-timestamp? yang:timestamp
| +--ro neighbor-system-id? system-id
+---n lsp-generation
+--ro routing-instance? string
+--ro routing-protocol-name? string
+--ro isis-level? level
+--ro lsp-id? lsp-id
+--ro sequence? uint32
+--ro send-timestamp? yang:timestamp
2.5. Authentication Parameters 2.5. Authentication Parameters
The module enables authentication configuration through the IETF key- The module enables authentication configuration through the IETF key-
chain module ([I-D.ietf-rtgwg-yang-key-chain]). The IS-IS module chain module ([I-D.ietf-rtgwg-yang-key-chain]). The IS-IS module
imports the "ietf-key-chain" module and reuses some groupings to imports the "ietf-key-chain" module and reuses some groupings to
allow global and per interface configuration of authentication. If a allow global and per interface configuration of authentication. If a
global authentication is configured, an implementation SHOULD global authentication is configured, an implementation SHOULD
authenticate PSNPs, CSNPs and LSPs with the authentication parameters authenticate PSNPs, CSNPs and LSPs with the authentication parameters
supplied. The authentication of hello PDUs can be activated on a per supplied. The authentication of hello PDUs can be activated on a per
skipping to change at page 24, line 41 skipping to change at page 25, line 5
3. RPC Operations 3. RPC Operations
The "ietf-isis" module defines two RPC operations: The "ietf-isis" module defines two RPC operations:
o clear-isis-database: reset the content of a particular IS-IS o clear-isis-database: reset the content of a particular IS-IS
database and restart database synchronization with the neighbors. database and restart database synchronization with the neighbors.
o clear-isis-adjacency: restart a particular set of IS-IS o clear-isis-adjacency: restart a particular set of IS-IS
adjacencies. adjacencies.
rpcs:
+---x clear-adjacency
| +--ro input
| +--ro routing-protocol-instance-name instance-state-ref
| +--ro level? level
| +--ro interface? string
+---x clear-database
+--ro input
+--ro routing-protocol-instance-name instance-state-ref
+--ro level? level
4. Notifications 4. Notifications
The "ietf-isis" module introduces some notifications : The "ietf-isis" module introduces some notifications :
database-overload : raised when overload condition is changed. database-overload : raised when overload condition is changed.
lsp-too-large : raised when the system tries to propagate a too lsp-too-large : raised when the system tries to propagate a too
large PDU. large PDU.
corrupted-lsp-detected : raised when the system find that an LSP corrupted-lsp-detected : raised when the system find that an LSP
skipping to change at page 26, line 20 skipping to change at page 26, line 20
receives a LSP with a parse error. receives a LSP with a parse error.
adjacency-change : This notification is sent when an IS-IS adjacency-change : This notification is sent when an IS-IS
adjacency moves to Up state or to Down state. adjacency moves to Up state or to Down state.
lsp-received : This notification is sent when a LSP is received. lsp-received : This notification is sent when a LSP is received.
lsp-generation : This notification is sent when a LSP is lsp-generation : This notification is sent when a LSP is
regenerated. regenerated.
notifications:
+---n database-overload
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro overload? enumeration
+---n lsp-too-large
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-size? uint32
| +--ro lsp-id? lsp-id
+---n if-state-change
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro state? if-state-type
+---n corrupted-lsp-detected
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro lsp-id? lsp-id
+---n attempt-to-exceed-max-sequence
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro lsp-id? lsp-id
+---n id-len-mismatch
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-field-len? uint8
| +--ro raw-pdu? binary
+---n max-area-addresses-mismatch
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro max-area-addresses? uint8
| +--ro raw-pdu? binary
+---n own-lsp-purge
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id
+---n sequence-number-skipped
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id
+---n authentication-type-failure
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary
+---n authentication-failure
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary
+---n version-skew
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro protocol-version? uint8
| +--ro raw-pdu? binary
+---n area-mismatch
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary
+---n rejected-adjacency
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary
| +--ro reason? string
+---n protocols-supported-mismatch
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary
| +--ro protocols* uint8
+---n lsp-error-detected
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id
| +--ro raw-pdu? binary
| +--ro error-offset? uint32
| +--ro tlv-type? uint8
+---n adjacency-state-change
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro neighbor? string
| +--ro neighbor-system-id? system-id
| +--ro state? adj-state-type
| +--ro reason? string
+---n lsp-received
| +--ro routing-instance? string
| +--ro routing-protocol-name? string
| +--ro isis-level? level
| +--ro interface-name? string
| +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id
| +--ro sequence? uint32
| +--ro received-timestamp? yang:timestamp
| +--ro neighbor-system-id? system-id
+---n lsp-generation
+--ro routing-instance? string
+--ro routing-protocol-name? string
+--ro isis-level? level
+--ro lsp-id? lsp-id
+--ro sequence? uint32
+--ro send-timestamp? yang:timestamp
5. Interaction with Other YANG Modules 5. Interaction with Other YANG Modules
The "isis" configuration container augments the "/rt:routing/ The "isis" configuration container augments the "/rt:routing/
rt:control-plane-protocols/control-plane-protocol" container of the rt:control-plane-protocols/control-plane-protocol" container of the
ietf-routing [I-D.ietf-netmod-routing-cfg] module by defining IS-IS ietf-routing [I-D.ietf-netmod-routing-cfg] module by defining IS-IS
specific parameters. specific parameters.
The "isis" module augments "/if:interfaces/if:interface" with ISO The "isis" module augments "/if:interfaces/if:interface" with ISO
specific parameters. specific parameters.
skipping to change at page 30, line 10 skipping to change at page 26, line 44
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-isis@2017-11-20.yang" <CODE BEGINS> file "ietf-isis@2018-05-25.yang"
module ietf-isis { module ietf-isis {
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
Management (NMDA Version)";
} }
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6021 - Common YANG Data Types";
} }
import ietf-yang-types { import ietf-yang-types {
prefix yang; prefix yang;
reference "RFC 6021 - Common YANG Data Types";
} }
import ietf-interfaces { import ietf-interfaces {
prefix "if"; prefix "if";
reference "RFC 8343 - A YANG Data Model for Interface
Management (NDMA Version)";
} }
import ietf-key-chain { import ietf-key-chain {
prefix "key-chain"; prefix "key-chain";
reference "RFC 8177 - YANG Data Model for Key Chains";
} }
import ietf-routing-types { import ietf-routing-types {
prefix "rt-types"; prefix "rt-types";
reference "RFC 8291 - Common YANG Data Types for the
Routing Area";
} }
import iana-routing-types { import iana-routing-types {
prefix "iana-rt-types"; prefix "iana-rt-types";
reference "RFC 8291 - Common YANG Data Types for the
Routing Area";
}
import ietf-bfd-types {
prefix "bfd-types";
reference "RFC XXXX - YANG Data Model for Bidirectional
Forwarding Detection (BFD)";
} }
organization organization
"IETF ISIS Working Group"; "IETF IS-IS Working Group";
contact contact
"WG List: &lt;mailto:isis-wg@ietf.org&gt; "WG List: &lt;mailto:isis-wg@ietf.org&gt;
Editor: Stephane Litkowski Editor: Stephane Litkowski
&lt;mailto:stephane.litkowski@orange.com&gt; &lt;mailto:stephane.litkowski@orange.com&gt;
Derek Yeung Derek Yeung
&lt;mailto:derek@arrcus.com&gt; &lt;mailto:derek@arrcus.com&gt;
Acee Lindem Acee Lindem
skipping to change at page 31, line 28 skipping to change at page 28, line 34
&lt;mailto:kkoushik@brocade.com&gt; &lt;mailto:kkoushik@brocade.com&gt;
Yingzhen Qu Yingzhen Qu
&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
ISIS common across all of the vendor implementations."; IS-IS common across all of the vendor implementations.";
revision 2017-11-20 { revision 2017-05-25 {
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 ISIS routing protocol."; description "Identity for the IS-IS routing protocol.";
} }
identity isis-adjacency-change { identity isis-adjacency-change {
description "Identity for the ISIS routing protocol description "Identity for the IS-IS routing protocol
adjacency state."; adjacency state.";
} }
identity clear-isis-database { identity clear-isis-database {
description "Identity for the ISIS routing protocol description "Identity for the IS-IS routing protocol
database reset action."; database reset action.";
} }
identity clear-isis-adjacency { identity clear-isis-adjacency {
description "Identity for the ISIS routing protocol description "Identity for the IS-IS routing protocol
adjacency reset action."; adjacency reset action.";
} }
identity lsp-log-reason { identity lsp-log-reason {
description "Base identity for an LSP change description "Base identity for an LSP change
log reason."; log reason.";
} }
identity refresh { identity refresh {
base lsp-log-reason; base lsp-log-reason;
skipping to change at page 32, line 33 skipping to change at page 29, line 38
description description
"Identity used when the LSP log reason is "Identity used when the LSP log reason is
a change in the content of the LSP."; a change in the content of the LSP.";
} }
/* Feature definitions */ /* Feature definitions */
feature ietf-spf-delay { feature ietf-spf-delay {
description description
"Support of IETF SPF delay algorithm."; "Support of IETF SPF delay algorithm.";
reference "RFC XXXX - SPF Back-off algorithm for link
state IGPs";
} }
feature bfd { feature bfd {
description description
"Support of BFD for IS-IS links."; "Support for BFD detection of IS-IS neighbor reachability.";
reference "RFC 5880 - Bidirectional Forwarding Detection (BFD)
RFC 5881 - Bidirectional Forwarding Detection
(BFD) for IPv4 and IPv6 (Single Hop)";
} }
feature key-chain { feature key-chain {
description description
"Support of keychain for authentication."; "Support of keychain for authentication.";
}
feature segment-routing {
description
"Support of segment-routing.";
} }
feature node-flag { feature node-flag {
description description
"Support of node-flag advertisement "Support of node-flag advertisement
as prefix attribute"; as prefix attribute";
reference "RFC7794 - IS-IS Prefix Attributes for
Extended IP and IPv6 Reachability";
} }
feature node-tag { feature node-tag {
description description
"Support of node tag."; "Support of node tag.";
reference "RFC7917 - Advertising Node Administrative Tags
in IS-IS";
} }
feature ldp-igp-sync { feature ldp-igp-sync {
description description
"Support of RFC5443."; "Support of synchronization between IS-IS and LDP.";
reference "RFC5443 - LDP IGP Synchronization";
} }
feature fast-reroute { feature fast-reroute {
description description
"Support of IPFRR."; "Support of IP Fast Reroute.";
} }
feature nsr { feature nsr {
description description
"Support of "Support of
Non Stop Routing."; Non Stop Routing.";
} }
feature lfa { feature lfa {
description description
"Support of Loop Free Alternates."; "Support of Loop Free Alternates.";
reference "RFC5286 - Basic Specification of IP Fast-Reroute:
Loop-free Alternates";
} }
feature remote-lfa { feature remote-lfa {
description description
"Support of remote Loop Free Alternates."; "Support of remote Loop Free Alternates.";
reference "RFC7490 - Remote Loop-Free Alternate Fast Reroute";
} }
feature overload-max-metric { feature overload-max-metric {
description description
"Support of overload by setting "Support of overload by setting
all links to max metric."; all links to max metric.";
} }
feature prefix-tag { feature prefix-tag {
description description
"Add 32bit tag to prefixes"; "Add 32bit tag to prefixes";
reference "RFC5130 - A Policy Control Mechanism in
IS-IS Using Administrative Tags";
} }
feature prefix-tag64 { feature prefix-tag64 {
description description
"Add 64bit tag to prefixes"; "Add 64bit tag to prefixes";
reference "RFC5130 - A Policy Control Mechanism in
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 { feature ipv4-router-id {
description description
"Support of IPv4 router ID configuration under ISIS."; "Support of IPv4 router ID configuration under IS-IS.";
} }
feature ipv6-router-id { feature ipv6-router-id {
description description
"Support of IPv6 router ID configuration under ISIS."; "Support of IPv6 router ID configuration under IS-IS.";
} }
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";
} }
feature nlpid-control { feature nlpid-control {
description description
"This feature controls the advertisement "This feature controls the advertisement
of support NLPID within ISIS configuration."; of support NLPID within IS-IS configuration.";
} }
feature graceful-restart { feature graceful-restart {
description description
"Graceful restart support as per RFC5306."; "Graceful restart support.";
reference "RFC5306 - Restart Signaling in IS-IS";
} }
feature lsp-refresh { feature lsp-refresh {
description description
"Configuration of LSP refresh interval."; "Configuration of LSP refresh interval.";
} }
feature maximum-area-addresses { feature maximum-area-addresses {
description description
"Support of maximum-area-addresses config."; "Support of maximum-area-addresses config.";
skipping to change at page 34, line 32 skipping to change at page 32, line 4
feature lsp-refresh { feature lsp-refresh {
description description
"Configuration of LSP refresh interval."; "Configuration of LSP refresh interval.";
} }
feature maximum-area-addresses { feature maximum-area-addresses {
description description
"Support of maximum-area-addresses config."; "Support of maximum-area-addresses config.";
} }
feature admin-control { feature admin-control {
description description
"Control administrative state of ISIS."; "Control administrative state of IS-IS.";
} }
/* Type definitions */ /* Type definitions */
typedef instance-state-ref { typedef instance-state-ref {
type leafref { type leafref {
path "/rt:routing-state/" path "/rt:routing-state/"
+"rt:control-plane-protocols/rt:control-plane-protocol/" +"rt:control-plane-protocols/rt:control-plane-protocol/"
+"rt:name"; +"rt:name";
} }
description description
"This type is used for leaves that reference state data of "This type is used for leaves that reference state data of
an ISIS protocol instance."; an IS-IS protocol instance.";
} }
typedef circuit-id { typedef circuit-id {
type uint8; type uint8;
description description
"This type defines the circuit ID "This type defines the circuit ID
associated with an interface."; associated with an interface.";
} }
typedef extended-circuit-id { typedef extended-circuit-id {
type uint32; type uint32;
description description
skipping to change at page 36, line 6 skipping to change at page 33, line 25
description description
"This enum describes L2 only capability."; "This enum describes L2 only capability.";
} }
enum "level-all" { enum "level-all" {
description description
"This enum describes both levels capability."; "This enum describes both levels capability.";
} }
} }
default "level-all"; default "level-all";
description description
"This type defines ISIS level of an object."; "This type defines IS-IS level of an object.";
} }
typedef adj-state-type { typedef adj-state-type {
type enumeration { type enumeration {
enum "Up" { enum "up" {
description description
"This state describes that "This state describes that
adjacency is established."; adjacency is established.";
} }
enum "Down" { enum "down" {
description description
"This state describes that "This state describes that
adjacency is NOT established."; adjacency is NOT established.";
} }
enum "Init" { enum "init" {
description description
"This state describes that "This state describes that
adjacency is establishing."; adjacency is establishing.";
} }
enum "Failed" { enum "failed" {
description description
"This state describes that "This state describes that
adjacency is failed."; adjacency is failed.";
} }
} }
description description
"This type defines states of an adjacency"; "This type defines states of an adjacency";
} }
typedef if-state-type { typedef if-state-type {
type enumeration { type enumeration {
enum "Up" { enum "up" {
description description
"Up state."; "Up state.";
} }
enum "Down" { enum "down" {
description description
"Down state"; "Down state";
} }
} }
description description
"This type defines states of an interface"; "This type defines states of an interface";
} }
typedef level-number { typedef level-number {
type uint8 { type uint8 {
range "1 .. 2"; range "1 .. 2";
} }
description description
"This type defines a current ISIS level."; "This type defines a current IS-IS level.";
} }
typedef lsp-id { typedef lsp-id {
type string { type string {
pattern pattern
'[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]' '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]'
+'{4}\.[0-9][0-9]-[0-9][0-9]'; +'{4}\.[0-9][0-9]-[0-9][0-9]';
} }
description description
"This type defines ISIS LSP ID using pattern, "This type defines IS-IS LSP ID using pattern,
system id looks like : 0143.0438.AeF0.02-01"; system id looks like : 0143.0438.AeF0.02-01";
} }
typedef area-address { typedef area-address {
type string { type string {
pattern '[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}'; pattern '[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}';
} }
description description
"This type defines the area address format."; "This type defines the area address format.";
} }
skipping to change at page 37, line 46 skipping to change at page 35, line 18
"This type defines Subnetwork Point "This type defines Subnetwork Point
of Attachement format."; of Attachement format.";
} }
typedef system-id { typedef system-id {
type string { type string {
pattern pattern
'[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}'; '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}';
} }
description description
"This type defines ISIS system id using pattern, "This type defines IS-IS system id using pattern,
system id looks like : 0143.0438.AeF0"; system id looks like : 0143.0438.AeF0";
} }
typedef wide-metric { typedef wide-metric {
type uint32 { type uint32 {
range "0 .. 16777215"; range "0 .. 16777215";
} }
description description
"This type defines wide style format "This type defines wide style format
of ISIS metric."; of IS-IS metric.";
} }
typedef std-metric { typedef std-metric {
type uint8 { type uint8 {
range "0 .. 63"; range "0 .. 63";
} }
description description
"This type defines old style format "This type defines old style format
of ISIS metric."; of IS-IS metric.";
} }
typedef mesh-group-state { typedef mesh-group-state {
type enumeration { type enumeration {
enum "meshInactive" { enum "meshinactive" {
description description
"Interface is not part of a mesh group."; "Interface is not part of a mesh group.";
} }
enum "meshSet" { enum "meshset" {
description description
"Interface is part of a mesh group."; "Interface is part of a mesh group.";
} }
enum "meshBlocked" { enum "meshblocked" {
description description
"LSPs must not be flooded over that interface."; "LSPs must not be flooded over that interface.";
} }
} }
description description
"This type describes meshgroup state of an interface"; "This type describes meshgroup state of an interface";
} }
/* Grouping definitions for configuration and ops state */ /* Grouping definitions for configuration and ops state */
skipping to change at page 39, line 22 skipping to change at page 36, line 40
"Circuit ID of the neighbor"; "Circuit ID of the neighbor";
} }
leaf neighbor-snpa { leaf neighbor-snpa {
type snpa; type snpa;
description description
"SNPA of the neighbor"; "SNPA of the neighbor";
} }
leaf usage { leaf usage {
type level; type level;
description description
"How is the adjacency used ? "Define the level(s) activated on the adjacency.
On a p2p link this might be level 1 and 2, On a p2p link this might be level 1 and 2,
but on a LAN, the usage will be level 1 but on a LAN, the usage will be level 1
between peers at L1 or level 2 between between peers at L1 or level 2 between
peers at L2."; peers at L2.";
} }
leaf hold-timer { leaf hold-timer {
type rt-types:timer-value-seconds16; type rt-types:timer-value-seconds16;
units seconds; units seconds;
description description
"The holding time in seconds for this "The holding time in seconds for this
skipping to change at page 44, line 47 skipping to change at page 42, line 19
"This group describes common instance specific "This group describes common instance specific
data for notifications."; data for notifications.";
leaf routing-instance { leaf routing-instance {
type string; type string;
description description
"Describes the name of the routing-instance instance."; "Describes the name of the routing-instance instance.";
} }
leaf routing-protocol-name { leaf routing-protocol-name {
type string; type string;
description description
"Describes the name of the ISIS instance."; "Describes the name of the IS-IS instance.";
} }
leaf isis-level { leaf isis-level {
type level; type level;
description description
"Describes the ISIS level of the instance."; "Describes the IS-IS level of the instance.";
} }
} }
grouping notification-interface-hdr { grouping notification-interface-hdr {
description description
"This group describes common interface specific "This group describes common interface specific
data for notifications."; data for notifications.";
leaf interface-name { leaf interface-name {
type string; type string;
description description
"Describes the name of the ISIS interface."; "Describes the name of the IS-IS interface.";
} }
leaf interface-level { leaf interface-level {
type level; type level;
description description
"Describes the ISIS level of the interface."; "Describes the IS-IS level of the interface.";
} }
leaf extended-circuit-id { leaf extended-circuit-id {
type extended-circuit-id; type extended-circuit-id;
description description
"Describes the extended circuit-id of the interface."; "Describes the extended circuit-id of the interface.";
} }
} }
grouping route-content { grouping route-content {
description description
"This group add isis-specific route properties."; "This group add isis-specific route properties.";
leaf metric { leaf metric {
type uint32; type uint32;
description description
"This leaf describes ISIS metric of a route."; "This leaf describes IS-IS metric of a route.";
} }
leaf-list tag { leaf-list tag {
type uint64; type uint64;
description description
"This leaf describes list of tags associated "This leaf describes list of tags associated
with the route. The leaf describes both with the route. The leaf describes both
32bits and 64bits tags."; 32bits and 64bits tags.";
} }
leaf route-type { leaf route-type {
type enumeration { type enumeration {
skipping to change at page 46, line 32 skipping to change at page 43, line 51
enum l2-down-external { enum l2-down-external {
description "Level 2 external route description "Level 2 external route
and leaked to a lower level"; and leaked to a lower level";
} }
enum l1-down-external { enum l1-down-external {
description "Level 1 external route description "Level 1 external route
and leaked to a lower level"; and leaked to a lower level";
} }
} }
description description
"This leaf describes the type of ISIS route."; "This leaf describes the type of IS-IS route.";
} }
} }
grouping admin-control { grouping admin-control {
leaf enable { leaf enable {
if-feature admin-control; if-feature admin-control;
type boolean; type boolean;
default true; default true;
description description
"Control the administrative "Control the administrative
skipping to change at page 48, line 30 skipping to change at page 45, line 50
related to a single component failure."; related to a single component failure.";
} }
description description
"Grouping for IETF SPF delay configuration."; "Grouping for IETF SPF delay configuration.";
} }
grouping ietf-spf-delay-state { grouping ietf-spf-delay-state {
leaf current-state { leaf current-state {
type enumeration { type enumeration {
enum "QUIET" { enum "quiet" {
description "QUIET state"; description "QUIET state";
} }
enum "SHORT_WAIT" { enum "short-wait" {
description "SHORT_WAIT state"; description "SHORT_WAIT state";
} }
enum "LONG_WAIT" { enum "long-wait" {
description "LONG_WAIT state"; description "LONG_WAIT state";
} }
} }
config false; config false;
description description
"Current state of the algorithm."; "Current SPF backoff algorithm state.";
} }
leaf remaining-time-to-learn { leaf remaining-time-to-learn {
type rt-types:timer-value-milliseconds; type rt-types:timer-value-milliseconds;
units "msec"; units "msec";
config false; config false;
description description
"Remaining time until time-to-learn timer fires."; "Remaining time until time-to-learn timer fires.";
} }
leaf remaining-hold-down { leaf remaining-hold-down {
type rt-types:timer-value-milliseconds; type rt-types:timer-value-milliseconds;
skipping to change at page 50, line 30 skipping to change at page 47, line 50
leaf route-tag { leaf route-tag {
type uint32; type uint32;
description "Route tag for this route."; description "Route tag for this route.";
} }
} }
} }
} }
grouping isis-node-tag-cfg { grouping isis-node-tag-cfg {
description description
"ISIS node tag config."; "IS-IS node tag config.";
container node-tags { container node-tags {
if-feature node-tag; if-feature node-tag;
list node-tag { list node-tag {
key tag; key tag;
leaf tag { leaf tag {
type uint32; type uint32;
description description
"Node tag value."; "Node tag value.";
} }
description description
skipping to change at page 53, line 25 skipping to change at page 50, line 45
description description
"This leaf defines the protocol "This leaf defines the protocol
preference for external routes."; preference for external routes.";
} }
} }
case coarse { case coarse {
leaf default { leaf default {
type uint8; type uint8;
description description
"This leaf defines the protocol "This leaf defines the protocol
preference for all ISIS routes."; preference for all IS-IS routes.";
} }
} }
description description
"Choice for implementation of route preference."; "Choice for implementation of route preference.";
} }
description description
"This grouping defines how route preference is configured."; "This grouping defines how route preference is configured.";
} }
grouping hello-authentication-cfg { grouping hello-authentication-cfg {
skipping to change at page 56, line 17 skipping to change at page 53, line 37
description description
"remote LFA configuration."; "remote LFA configuration.";
} }
description description
"Grouping for LFA "Grouping for LFA
interface configuration"; interface configuration";
} }
grouping isis-global-cfg { grouping isis-global-cfg {
description description
"Defines the ISIS global configuration."; "Defines the IS-IS global configuration.";
uses admin-control; uses admin-control;
leaf level-type { leaf level-type {
type level; type level;
default "level-all"; default "level-all";
description description
"This leaf describes the type of ISIS node. "This leaf describes the type of IS-IS node.
A node can be level-1-only, level-2-only A node can be level-1-only, level-2-only
or level-1-2. or level-1-2.
"; ";
} }
leaf system-id { leaf system-id {
type system-id; type system-id;
description description
"This leaf defines the system-id of the node."; "This leaf defines the system-id of the node.";
} }
skipping to change at page 61, line 38 skipping to change at page 59, line 9
} }
grouping isis-if-cfg { grouping isis-if-cfg {
description description
"Grouping for interface cfg."; "Grouping for interface cfg.";
leaf level-type { leaf level-type {
type level; type level;
default "level-all"; default "level-all";
description description
"This leaf defines the associated ISIS "This leaf defines the associated IS-IS
level of the interface."; level of the interface.";
} }
leaf lsp-pacing-interval { leaf lsp-pacing-interval {
type rt-types:timer-value-milliseconds; type rt-types:timer-value-milliseconds;
units "milliseconds"; units "milliseconds";
default 33; default 33;
description description
"This leaf defines the interval between "This leaf defines the interval between
LSP transmissions in milli-seconds"; LSP transmissions in milli-seconds";
} }
skipping to change at page 62, line 12 skipping to change at page 59, line 32
units "seconds"; units "seconds";
description description
"This leaf defines the interval between "This leaf defines the interval between
retransmission of LSP"; retransmission of LSP";
} }
leaf passive { leaf passive {
type boolean; type boolean;
default "false"; default "false";
description description
"This leaf defines if interface is in "This leaf defines if interface is in
passive mode (ISIS not running, passive mode (IS-IS not running,
but network is advertised)."; but network is advertised).";
} }
leaf csnp-interval { leaf csnp-interval {
type rt-types:timer-value-seconds16; type rt-types:timer-value-seconds16;
units "seconds"; units "seconds";
default 10; default 10;
description description
"This leaf defines the interval of CSNP "This leaf defines the interval of CSNP
messages."; messages.";
} }
container hello-padding { container hello-padding {
leaf enable { leaf enable {
type boolean; type boolean;
default "true"; default "true";
description description
"Status of Hello-padding activation. "Status of Hello-padding activation.
By default, the implementation shall By default, the implementation shall
pad HELLOs."; pad HELLOs.";
} }
description description
"This container handles ISIS hello padding "This container handles IS-IS hello padding
configuration."; configuration.";
} }
leaf mesh-group-enable { leaf mesh-group-enable {
type mesh-group-state; type mesh-group-state;
description description
"Describes the mesh group state of "Describes the mesh group state of
the interface."; the interface.";
} }
leaf mesh-group { leaf mesh-group {
when "../mesh-group-enable = 'meshSet'" { when "../mesh-group-enable = 'meshset'" {
description description
"Only valid when mesh-group-enable "Only valid when mesh-group-enable
equals meshSet"; equals to meshset";
} }
type uint8; type uint8;
description description
"Describes the mesh group ID of "Describes the mesh group ID of
the interface."; the interface.";
} }
leaf interface-type { leaf interface-type {
type interface-type; type interface-type;
default "broadcast"; default "broadcast";
description description
"This leaf defines the type of adjacency "This leaf defines the type of adjacency
to be established on the interface. to be established on the interface.
This is affecting the type of hello This is affecting the type of hello
message that would be used."; message that would be used.";
} }
skipping to change at page 65, line 15 skipping to change at page 62, line 34
description "level-1 specific cfg"; description "level-1 specific cfg";
} }
container level-2 { container level-2 {
uses metric-cfg; uses metric-cfg;
description "level-2 specific cfg"; description "level-2 specific cfg";
} }
description "Metric configuration."; description "Metric configuration.";
} }
container bfd { container bfd {
if-feature bfd; if-feature bfd;
leaf enable { description "BFD Client Configuration.";
type boolean; uses bfd-types:client-cfg-parms;
default false;
description " reference "draft-ietf-bfd-yang-xx.txt:
Enables BFD on the interface YANG Data Model for Bidirectional Forwarding
"; Detection (BFD)";
}
description
"BFD configuration.";
} }
container afs { container afs {
if-feature nlpid-control; if-feature nlpid-control;
list af { list af {
key af; key af;
leaf af { leaf af {
type iana-rt-types:address-family; type iana-rt-types:address-family;
description description
"Address-family"; "Address-family";
skipping to change at page 66, line 4 skipping to change at page 63, line 20
container ldp { container ldp {
leaf igp-sync { leaf igp-sync {
if-feature ldp-igp-sync; if-feature ldp-igp-sync;
type boolean; type boolean;
default false; default false;
description description
"Enables IGP/LDP sync."; "Enables IGP/LDP sync.";
} }
description description
"LDP protocol related configurations."; "LDP protocol related configurations.";
} }
description description
"Container for MPLS specific configuration "Container for MPLS specific configuration
for ISIS."; for IS-IS.";
} }
} }
grouping isis-if-topologies-cfg { grouping isis-if-topologies-cfg {
description description
"ISIS interface topology cfg."; "IS-IS interface topology cfg.";
container metric { container metric {
uses metric-cfg; uses metric-cfg;
container level-1 { container level-1 {
uses metric-cfg; uses metric-cfg;
description "level-1 specific cfg"; description "level-1 specific cfg";
} }
container level-2 { container level-2 {
uses metric-cfg; uses metric-cfg;
description "level-2 specific cfg"; description "level-2 specific cfg";
} }
skipping to change at page 66, line 38 skipping to change at page 64, line 5
grouping system-counters { grouping system-counters {
container system-counters { container system-counters {
config false; config false;
list level { list level {
key level; key level;
leaf level { leaf level {
type level-number; type level-number;
description description
"This leaf describes the ISIS level."; "This leaf describes the IS-IS level.";
} }
leaf corrupted-lsps { leaf corrupted-lsps {
type uint32; type uint32;
description description
"Number of corrupted in-memory LSPs detected. "Number of corrupted in-memory LSPs detected.
LSPs received from the wire with a bad LSPs received from the wire with a bad
checksum are silently dropped and not counted. checksum are silently dropped and not counted.
LSPs received from the wire with parse errors LSPs received from the wire with parse errors
are counted by lsp-errors."; are counted by lsp-errors.";
} }
skipping to change at page 70, line 11 skipping to change at page 67, line 27
grouping packet-counters { grouping packet-counters {
container packet-counters { container packet-counters {
config false; config false;
list level { list level {
key level; key level;
leaf level { leaf level {
type level-number; type level-number;
description description
"This leaf describes the ISIS level."; "This leaf describes the IS-IS level.";
} }
container iih { container iih {
leaf in { leaf in {
type uint32; type uint32;
description description
"Received PDUs."; "Received PDUs.";
} }
leaf out { leaf out {
type uint32; type uint32;
description description
skipping to change at page 77, line 51 skipping to change at page 75, line 20
"This leaf describes the IPv4 prefix"; "This leaf describes the IPv4 prefix";
} }
leaf prefix-len { leaf prefix-len {
type uint8; type uint8;
description description
"This leaf describes the IPv4 prefix len in bits"; "This leaf describes the IPv4 prefix len in bits";
} }
leaf default-metric { leaf default-metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS default metric value"; "This leaf describes the IS-IS default metric value";
} }
container delay-metric { container delay-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS delay metric value"; "This leaf describes the IS-IS delay metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description description
"This leaf describes if the metric is supported."; "This leaf describes if the metric is supported.";
} }
description description
"This container defines the ISIS delay metric."; "This container defines the IS-IS delay metric.";
} }
container expense-metric { container expense-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS expense metric value"; "This leaf describes the IS-IS expense metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description description
"This leaf describes if the metric is supported."; "This leaf describes if the metric is supported.";
} }
description description
"This container defines the ISIS expense metric."; "This container defines the IS-IS expense metric.";
} }
container error-metric { container error-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS error metric value"; "This leaf describes the IS-IS error metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description description
"This leaf describes if the metric is supported."; "This leaf describes if the metric is supported.";
} }
description description
"This container defines the ISIS error metric."; "This container defines the IS-IS error metric.";
} }
} }
grouping prefix-ipv4-extended { grouping prefix-ipv4-extended {
description description
"This group defines attributes of an "This group defines attributes of an
IPv4 extended prefix."; IPv4 extended prefix.";
leaf up-down { leaf up-down {
type boolean; type boolean;
description description
"This leaf expresses the value of up/down bit."; "This leaf expresses the value of up/down bit.";
skipping to change at page 79, line 30 skipping to change at page 76, line 47
} }
leaf prefix-len { leaf prefix-len {
type uint8; type uint8;
description description
"This leaf describes the IPv4 prefix len in bits"; "This leaf describes the IPv4 prefix len in bits";
} }
leaf metric { leaf metric {
type wide-metric; type wide-metric;
description description
"This leaf describes the ISIS metric value"; "This leaf describes the IS-IS metric value";
} }
leaf-list tag { leaf-list tag {
type uint32; type uint32;
description description
"This leaf describes a list of tags associated with "This leaf describes a list of tags associated with
the prefix."; the prefix.";
} }
leaf-list tag64 { leaf-list tag64 {
type uint64; type uint64;
description description
skipping to change at page 80, line 20 skipping to change at page 77, line 37
"This leaf describes the IPv6 prefix"; "This leaf describes the IPv6 prefix";
} }
leaf prefix-len { leaf prefix-len {
type uint8; type uint8;
description description
"This leaf describes the IPv4 prefix len in bits"; "This leaf describes the IPv4 prefix len in bits";
} }
leaf metric { leaf metric {
type wide-metric; type wide-metric;
description description
"This leaf describes the ISIS metric value"; "This leaf describes the IS-IS metric value";
} }
leaf-list tag { leaf-list tag {
type uint32; type uint32;
description description
"This leaf describes a list of tags associated with "This leaf describes a list of tags associated with
the prefix."; the prefix.";
} }
leaf-list tag64 { leaf-list tag64 {
type uint64; type uint64;
description description
skipping to change at page 80, line 35 skipping to change at page 78, line 4
"This leaf describes a list of tags associated with "This leaf describes a list of tags associated with
the prefix."; the prefix.";
} }
leaf-list tag64 { leaf-list tag64 {
type uint64; type uint64;
description description
"This leaf describes a list of 64-bit tags associated with "This leaf describes a list of 64-bit tags associated with
the prefix."; the prefix.";
} }
uses prefix-attributes-extension; uses prefix-attributes-extension;
} }
grouping neighbor-extended { grouping neighbor-extended {
description description
"This group defines attributes of an "This group defines attributes of an
ISIS extended neighbor."; IS-IS extended neighbor.";
leaf neighbor-id { leaf neighbor-id {
type system-id; type system-id;
description description
"This leaf describes the system-id of the neighbor."; "This leaf describes the system-id of the neighbor.";
} }
leaf metric { leaf metric {
type wide-metric; type wide-metric;
description description
"This leaf describes the ISIS metric value"; "This leaf describes the IS-IS metric value";
} }
} }
grouping neighbor { grouping neighbor {
description description
"This group defines attributes of an "This group defines attributes of an
ISIS standard neighbor."; IS-IS standard neighbor.";
leaf neighbor-id { leaf neighbor-id {
type system-id; type system-id;
description description
"This leaf describes the system-id of the neighbor."; "This leaf describes the system-id of the neighbor.";
} }
leaf i-e { leaf i-e {
type boolean; type boolean;
description description
"This leaf expresses the value of I/E bit."; "This leaf expresses the value of I/E bit.";
} }
leaf default-metric { leaf default-metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS default metric value"; "This leaf describes the IS-IS default metric value";
} }
container delay-metric { container delay-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS delay metric value"; "This leaf describes the IS-IS delay metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description description
"This leaf describes if the metric is supported."; "This leaf describes if the metric is supported.";
} }
description description
"This container defines the ISIS delay metric."; "This container defines the IS-IS delay metric.";
} }
container expense-metric { container expense-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS delay expense value"; "This leaf describes the IS-IS delay expense value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description description
"This leaf describes if the metric is supported."; "This leaf describes if the metric is supported.";
} }
description description
"This container defines the ISIS expense metric."; "This container defines the IS-IS expense metric.";
} }
container error-metric { container error-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description description
"This leaf describes the ISIS error metric value"; "This leaf describes the IS-IS error metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description description
"This leaf describes if the metric is supported."; "This leaf describes if the metric is supported.";
} }
description description
"This container defines the ISIS error metric."; "This container defines the IS-IS error metric.";
} }
} }
grouping lsp-entry { grouping lsp-entry {
description description
"This group defines attributes of an "This group defines attributes of an
ISIS LSP database entry."; IS-IS LSP database entry.";
leaf decoded-completed { leaf decoded-completed {
type boolean; type boolean;
description description
"The IS-IS body is fully decoded."; "The IS-IS body is fully decoded.";
} }
leaf raw-data { leaf raw-data {
type yang:hex-string; type yang:hex-string;
description description
"The complete LSP in network byte "The complete LSP in network byte
skipping to change at page 84, line 5 skipping to change at page 81, line 23
} }
} }
description description
"This leaf describes attributes of the LSP."; "This leaf describes attributes of the LSP.";
} }
leaf-list ipv4-addresses { leaf-list ipv4-addresses {
type inet:ipv4-address; type inet:ipv4-address;
description description
"This leaf describes the IPv4 addresses of the node. "This leaf describes the IPv4 addresses of the node.
ISIS reference is TLV 132."; IS-IS reference is TLV 132.";
} }
leaf-list ipv6-addresses { leaf-list ipv6-addresses {
type inet:ipv6-address; type inet:ipv6-address;
description description
"This leaf describes the IPv6 interface "This leaf describes the IPv6 interface
addresses of the node. addresses of the node.
ISIS reference is TLV 232."; IS-IS reference is TLV 232.";
} }
leaf ipv4-te-routerid { leaf ipv4-te-routerid {
type inet:ipv4-address; type inet:ipv4-address;
description description
"This leaf describes the IPv4 Traffic Engineering "This leaf describes the IPv4 Traffic Engineering
router ID of the node. router ID of the node.
ISIS reference is TLV 134."; IS-IS reference is TLV 134.";
} }
leaf ipv6-te-routerid { leaf ipv6-te-routerid {
type inet:ipv6-address; type inet:ipv6-address;
description description
"This leaf describes the IPv6 Traffic Engineering "This leaf describes the IPv6 Traffic Engineering
router ID of the node. router ID of the node.
ISIS reference is TLV 140."; IS-IS reference is TLV 140.";
} }
leaf-list protocol-supported { leaf-list protocol-supported {
type uint8; type uint8;
description description
"This leaf describes the list of "This leaf describes the list of
supported protocols. supported protocols.
ISIS reference is TLV 129."; IS-IS reference is TLV 129.";
} }
leaf dynamic-hostname { leaf dynamic-hostname {
type string; type string;
description description
"This leaf describes the name of the node. "This leaf describes the name of the node.
ISIS reference is TLV 137."; IS-IS reference is TLV 137.";
} }
container authentication { container authentication {
leaf authentication-type { leaf authentication-type {
type string; type string;
description description
"This leaf describes the authentication type "This leaf describes the authentication type
to be used."; to be used.";
} }
leaf authentication-key { leaf authentication-key {
type string; type string;
description description
"This leaf describes the authentication key "This leaf describes the authentication key
to be used. For security reason, the to be used. For security reason, the
authentication key MUST NOT be presented authentication key MUST NOT be presented
in plaintext format. Authors recommends in plaintext format. Authors recommends
to use MD5 hash to present the authentication-key."; to use MD5 hash to present the authentication-key.";
} }
description "This container describes authentication description "This container describes authentication
information of the node. ISIS reference is TLV 10."; information of the node. IS-IS reference is TLV 10.";
} }
container mt-entries { container mt-entries {
list topology { list topology {
leaf MT-ID { leaf MT-ID {
type uint16 { type uint16 {
range "0 .. 4095"; range "0 .. 4095";
} }
description description
skipping to change at page 86, line 6 skipping to change at page 83, line 24
} }
description description
"This leaf describes attributes of the LSP "This leaf describes attributes of the LSP
for the associated topology."; for the associated topology.";
} }
description description
"List of topologies supported."; "List of topologies supported.";
} }
description description
"This container describes the topology supported. "This container describes the topology supported.
ISIS reference is TLV 229."; IS-IS reference is TLV 229.";
} }
list router-capabilities { list router-capabilities {
leaf flags { leaf flags {
type bits { type bits {
bit flooding { bit flooding {
position 0; position 0;
description description
"If the S bit is set(1), "If the S bit is set(1),
the IS-IS Router CAPABILITY TLV the IS-IS Router CAPABILITY TLV
skipping to change at page 87, line 14 skipping to change at page 84, line 34
leaf binary { leaf binary {
type binary; type binary;
description description
"This leaf describes the capability of the node. "This leaf describes the capability of the node.
Format is binary according to the protocol encoding."; Format is binary according to the protocol encoding.";
} }
description description
"This container describes the capabilities of the node. "This container describes the capabilities of the node.
This container may be extended with detailed This container may be extended with detailed
information. information.
ISIS reference is TLV 242."; IS-IS reference is TLV 242.";
} }
container is-neighbor { container is-neighbor {
list neighbor { list neighbor {
uses neighbor; uses neighbor;
description description
"List of neighbors."; "List of neighbors.";
} }
description description
"This leaf describes list of ISIS neighbors. "This leaf describes list of IS-IS neighbors.
ISIS reference is TLV 2."; IS-IS reference is TLV 2.";
} }
container extended-is-neighbor { container extended-is-neighbor {
list neighbor { list neighbor {
uses neighbor-extended; uses neighbor-extended;
description description
"List of neighbors."; "List of neighbors.";
} }
description description
"This container describes list of ISIS extended "This container describes list of IS-IS extended
neighbors. neighbors.
ISIS reference is TLV 22."; IS-IS reference is TLV 22.";
} }
container ipv4-internal-reachability { container ipv4-internal-reachability {
list prefixes { list prefixes {
uses prefix-ipv4-std; uses prefix-ipv4-std;
description description
"List of prefixes."; "List of prefixes.";
} }
description description
"This container describes list of IPv4 internal "This container describes list of IPv4 internal
reachability information. reachability information.
ISIS reference is TLV 128."; IS-IS reference is TLV 128.";
} }
container ipv4-external-reachability { container ipv4-external-reachability {
list prefixes { list prefixes {
uses prefix-ipv4-std; uses prefix-ipv4-std;
description description
"List of prefixes."; "List of prefixes.";
} }
description description
"This container describes list of IPv4 external "This container describes list of IPv4 external
reachability information. reachability information.
ISIS reference is TLV 130."; IS-IS reference is TLV 130.";
} }
container extended-ipv4-reachability { container extended-ipv4-reachability {
list prefixes { list prefixes {
uses prefix-ipv4-extended; uses prefix-ipv4-extended;
description description
"List of prefixes."; "List of prefixes.";
} }
description description
"This container describes list of IPv4 extended "This container describes list of IPv4 extended
reachability information. reachability information.
ISIS reference is TLV 135."; IS-IS reference is TLV 135.";
} }
container mt-is-neighbor { container mt-is-neighbor {
list neighbor { list neighbor {
leaf MT-ID { leaf MT-ID {
type uint16 { type uint16 {
range "0 .. 4095"; range "0 .. 4095";
} }
description description
"This leaf defines the identifier "This leaf defines the identifier
of a topology."; of a topology.";
} }
uses neighbor-extended; uses neighbor-extended;
description description
"List of neighbors."; "List of neighbors.";
} }
description description
skipping to change at page 88, line 43 skipping to change at page 86, line 15
} }
description description
"This leaf defines the identifier "This leaf defines the identifier
of a topology."; of a topology.";
} }
uses neighbor-extended; uses neighbor-extended;
description description
"List of neighbors."; "List of neighbors.";
} }
description description
"This container describes list of ISIS multi-topology "This container describes list of IS-IS multi-topology
neighbors. neighbors.
ISIS reference is TLV 223."; IS-IS reference is TLV 223.";
} }
container mt-extended-ipv4-reachability { container mt-extended-ipv4-reachability {
list prefixes { list prefixes {
leaf MT-ID { leaf MT-ID {
type uint16 { type uint16 {
range "0 .. 4095"; range "0 .. 4095";
} }
description description
"This leaf defines the identifier "This leaf defines the identifier
skipping to change at page 89, line 19 skipping to change at page 86, line 39
} }
uses prefix-ipv4-extended; uses prefix-ipv4-extended;
description description
"List of prefixes."; "List of prefixes.";
} }
description description
"This container describes list of IPv4 "This container describes list of IPv4
reachability information in multi-topology reachability information in multi-topology
environment. environment.
ISIS reference is TLV 235."; IS-IS reference is TLV 235.";
} }
container mt-ipv6-reachability { container mt-ipv6-reachability {
list prefixes { list prefixes {
leaf MT-ID { leaf MT-ID {
type uint16 { type uint16 {
range "0 .. 4095"; range "0 .. 4095";
} }
description description
"This leaf defines the identifier "This leaf defines the identifier
of a topology."; of a topology.";
} }
uses prefix-ipv6-extended; uses prefix-ipv6-extended;
description description
"List of prefixes."; "List of prefixes.";
} }
description description
"This container describes list of IPv6 "This container describes list of IPv6
reachability information in multi-topology reachability information in multi-topology
environment. environment.
ISIS reference is TLV 237."; IS-IS reference is TLV 237.";
} }
container ipv6-reachability { container ipv6-reachability {
list prefixes { list prefixes {
uses prefix-ipv6-extended; uses prefix-ipv6-extended;
description description
"List of prefixes."; "List of prefixes.";
} }
description description
"This container describes list of IPv6 "This container describes list of IPv6
reachability information. reachability information.
IS-IS reference is TLV 236.";
ISIS reference is TLV 236.";
} }
} }
grouping lsdb { grouping lsdb {
container database { container database {
config false; config false;
list level-db { list level-db {
key level; key level;
leaf level { leaf level {
skipping to change at page 90, line 31 skipping to change at page 87, line 49
key lsp-id; key lsp-id;
uses lsp-entry; uses lsp-entry;
description description
"List of LSPs in LSDB."; "List of LSPs in LSDB.";
} }
description description
"This container describes the list of LSPs "This container describes the list of LSPs
in the level x database."; in the level x database.";
} }
description description
"This container describes ISIS Link State "This container describes IS-IS Link State
databases."; databases.";
} }
description description
"Grouping for LSDB description."; "Grouping for LSDB description.";
} }
/* Augmentations */ /* Augmentations */
augment "/rt:routing/" augment "/rt:routing/"
+"rt:ribs/rt:rib/rt:routes/rt:route" { +"rt:ribs/rt:rib/rt:routes/rt:route" {
when "rt:source-protocol = 'isis:isis'" { when "rt:source-protocol = 'isis:isis'" {
description "ISIS-specific route attributes."; description "IS-IS-specific route attributes.";
} }
uses route-content; uses route-content;
description description
"This augments route object in RIB with ISIS-specific "This augments route object in RIB with IS-IS-specific
attributes."; attributes.";
} }
augment "/if:interfaces/if:interface" { augment "/if:interfaces/if:interface" {
leaf clns-mtu { leaf clns-mtu {
type uint16; type uint16;
description description
"Defines CLNS MTU of the interface."; "Defines CLNS MTU of the interface.";
} }
description "ISO interface config."; description "ISO interface config.";
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
skipping to change at page 91, line 21 skipping to change at page 88, line 38
} }
augment "/rt:routing/rt:control-plane-protocols/" augment "/rt:routing/rt:control-plane-protocols/"
+"rt:control-plane-protocol" { +"rt:control-plane-protocol" {
when "rt:type = 'isis:isis'" { when "rt:type = 'isis:isis'" {
description description
"This augment is only valid when routing protocol "This augment is only valid when routing protocol
instance type is isis."; instance type is isis.";
} }
description description
"This augments a routing protocol instance with ISIS "This augments a routing protocol instance with IS-IS
specific parameters."; specific parameters.";
container isis { container isis {
must "count(area-address) > 0" { must "count(area-address) > 0" {
error-message "At least one area-address error-message "At least one area-address
must be configured."; must be configured.";
description description
"Enforce configuration of at least one area."; "Enforce configuration of at least one area.";
} }
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
"IPFRR."; "IPFRR.";
} }
container spf-control { container spf-control {
container ietf-spf-delay { container ietf-spf-delay {
skipping to change at page 93, line 22 skipping to change at page 90, line 43
description description
"List of topologies."; "List of topologies.";
} }
description description
"Container for multi-topology"; "Container for multi-topology";
} }
uses adjacency-state; uses adjacency-state;
uses event-counters; uses event-counters;
uses packet-counters; uses packet-counters;
description description
"List of ISIS interfaces."; "List of IS-IS interfaces.";
} }
description description
"This container defines ISIS interface specific "This container defines IS-IS interface specific
configuration objects."; configuration objects.";
} }
uses spf-log; uses spf-log;
uses lsp-log; uses lsp-log;
uses hostname-db; uses hostname-db;
uses lsdb; uses lsdb;
uses local-rib; uses local-rib;
uses system-counters; uses system-counters;
description description
"This container defines ISIS specific configuration "This container defines IS-IS specific configuration
objects."; objects.";
} }
} }
/* RPC methods */ /* RPC methods */
rpc clear-adjacency { rpc clear-adjacency {
description description
"This RPC request clears a particular "This RPC request clears a particular
set of ISIS adjacencies. If the operation set of IS-IS adjacencies. If the operation
fails for ISIS internal reason, then fails for IS-IS internal reason, then
error-tag and error-app-tag should be set error-tag and error-app-tag should be set
to a meaningful value."; to a meaningful value.";
input { input {
leaf routing-protocol-instance-name { leaf routing-protocol-instance-name {
type instance-state-ref; type instance-state-ref;
mandatory "true"; mandatory "true";
description description
"Name of the ISIS protocol instance whose ISIS "Name of the IS-IS protocol instance whose IS-IS
information is being queried. information is being queried.
If the ISIS instance with name equal to the If the IS-IS instance with name equal to the
value of this parameter doesn't exist, then this value of this parameter doesn't exist, then this
operation SHALL fail with error-tag 'data-missing' operation SHALL fail with error-tag 'data-missing'
and error-app-tag and error-app-tag
'routing-protocol-instance-not-found'."; 'routing-protocol-instance-not-found'.";
} }
leaf level { leaf level {
type level; type level;
description description
"ISIS level of the adjacency to be cleared. "IS-IS level of the adjacency to be cleared.
If ISIS level is level-1-2, both level 1 and level 2 If IS-IS level is level-1-2, both level 1 and level 2
adjacencies would be cleared. adjacencies would be cleared.
If the value provided is different from the one If the value provided is different from the one
authorized in the enum type, then this authorized in the enum type, then this
operation SHALL fail with error-tag 'data-missing' operation SHALL fail with error-tag 'data-missing'
and error-app-tag and error-app-tag
'bad-isis-level'. 'bad-isis-level'.
"; ";
} }
leaf interface { leaf interface {
type string; type string;
description description
"Name of the ISIS interface. "Name of the IS-IS interface.
If the ISIS interface with name equal to the If the IS-IS interface with name equal to the
value of this parameter doesn't exist, then this value of this parameter doesn't exist, then this
operation SHALL fail with error-tag 'data-missing' operation SHALL fail with error-tag 'data-missing'
and error-app-tag and error-app-tag
'isis-interface-not-found'."; 'isis-interface-not-found'.";
} }
} }
} }
rpc clear-database { rpc clear-database {
description description
"This RPC request clears a particular "This RPC request clears a particular
ISIS database. If the operation IS-IS database. If the operation
fails for ISIS internal reason, then fails for IS-IS internal reason, then
error-tag and error-app-tag should be set error-tag and error-app-tag should be set
to a meaningful value."; to a meaningful value.";
input { input {
leaf routing-protocol-instance-name { leaf routing-protocol-instance-name {
type instance-state-ref; type instance-state-ref;
mandatory "true"; mandatory "true";
description description
"Name of the ISIS protocol instance whose ISIS "Name of the IS-IS protocol instance whose IS-IS
information is being queried. information is being queried.
If the ISIS instance with name equal to the If the IS-IS instance with name equal to the
value of this parameter doesn't exist, then this value of this parameter doesn't exist, then this
operation SHALL fail with error-tag 'data-missing' operation SHALL fail with error-tag 'data-missing'
and error-app-tag and error-app-tag
'routing-protocol-instance-not-found'."; 'routing-protocol-instance-not-found'.";
} }
leaf level { leaf level {
type level; type level;
description description
"ISIS level of the adjacency to be cleared. "IS-IS level of the adjacency to be cleared.
If ISIS level is level-1-2, both level 1 and level 2 If IS-IS level is level-1-2, both level 1 and level 2
adjacencies would be cleared. adjacencies would be cleared.
If the value provided is different from the one If the value provided is different from the one
authorized in the enum type, then this authorized in the enum type, then this
operation SHALL fail with error-tag 'data-missing' operation SHALL fail with error-tag 'data-missing'
and error-app-tag and error-app-tag
'bad-isis-level'. 'bad-isis-level'.
"; ";
} }
} }
} }
/* Notifications */ /* Notifications */
notification database-overload { notification database-overload {
uses notification-instance-hdr; uses notification-instance-hdr;
skipping to change at page 96, line 10 skipping to change at page 93, line 31
enum "on" { enum "on" {
description description
"The system is in overload condition."; "The system is in overload condition.";
} }
} }
description description
"Describes the new overload state of the instance."; "Describes the new overload state of the instance.";
} }
description description
"This notification is sent when an ISIS instance "This notification is sent when an IS-IS instance
overload condition changes."; overload condition changes.";
} }
notification lsp-too-large { notification lsp-too-large {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf pdu-size { leaf pdu-size {
type uint32; type uint32;
description description
skipping to change at page 102, line 39 skipping to change at page 100, line 12
leaf neighbor-system-id { leaf neighbor-system-id {
type system-id; type system-id;
description description
"Describes the system-id of the neighbor."; "Describes the system-id of the neighbor.";
} }
leaf state { leaf state {
type adj-state-type; type adj-state-type;
description description
"This leaf describes the new state of the "This leaf describes the new state of the
ISIS adjacency."; IS-IS adjacency.";
} }
leaf reason { leaf reason {
type string; type string;
description description
"If the adjacency is going to DOWN, "If the adjacency is going to DOWN,
this leaf provides a reason for the adjacency this leaf provides a reason for the adjacency
going down. The reason is provided as a text. going down. The reason is provided as a text.
If the adjacency is going to UP, no reason is If the adjacency is going to UP, no reason is
provided."; provided.";
} }
description description
"This notification is sent when an ISIS adjacency "This notification is sent when an IS-IS adjacency
moves to Up state or to Down state."; moves to Up state or to Down state.";
} }
notification lsp-received { notification lsp-received {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf lsp-id { leaf lsp-id {
type lsp-id; type lsp-id;
description description
skipping to change at page 106, line 7 skipping to change at page 103, line 24
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 -18 to version -19 11.1. 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
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.2. From version -17 to version -18 11.3. 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.3. From version -16 to version -17 11.4. 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.4. From version -15 to version -16 11.5. 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.5. From version -14 to version -15 11.6. 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 107, line 15 skipping to change at page 104, line 46
* 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.6. From version -13 to version -14 11.7. 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.7. From version -12 to version -13 11.8. 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.8. From version -09 to version -12 11.9. From version -09 to version -12
o Rename node-tag container to node-tags. o Rename node-tag container to node-tags.
11.9. From version -08 to version -09 11.10. 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.10. From version -07 to version -08 11.11. 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.11. From version -05 to version -07 11.12. 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.12. From version -03 to version -05 11.13. 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.13. From version -02 to version -03 11.14. 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.14. From version -01 to version -02 11.15. 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 109, line 21 skipping to change at page 107, line 7
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.15. From version -00 to version -01 11.16. 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.
 End of changes. 186 change blocks. 
1134 lines changed or deleted 1026 lines changed or added

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