draft-ietf-isis-yang-isis-cfg-30.txt   draft-ietf-isis-yang-isis-cfg-31.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: July 22, 2019 Arrcus, Inc Expires: July 25, 2019 Arrcus, Inc
A. Lindem A. Lindem
Cisco Systems Cisco Systems
J. Zhang J. Zhang
Juniper Networks Juniper Networks
L. Lhotka L. Lhotka
CZ.NIC CZ.NIC
January 18, 2019 January 21, 2019
YANG Data Model for IS-IS protocol YANG Data Model for IS-IS Protocol
draft-ietf-isis-yang-isis-cfg-30 draft-ietf-isis-yang-isis-cfg-31
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", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
skipping to change at page 1, line 46 skipping to change at page 1, line 46
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 22, 2019. This Internet-Draft will expire on July 25, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 25 skipping to change at page 2, line 25
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
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 . . . . . . . . . . . . . . . . 9 2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10
2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10
2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 11 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12
2.5. Authentication Parameters . . . . . . . . . . . . . . . . 18 2.5. Authentication Parameters . . . . . . . . . . . . . . . 19
2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 18 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . 20
2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 18 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 20
2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.9. Operational States . . . . . . . . . . . . . . . . . . . 19 2.9. Operational States . . . . . . . . . . . . . . . . . . . 21
3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 20 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 21
4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 20 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 21
5. Interaction with Other YANG Modules . . . . . . . . . . . . . 21 5. Interaction with Other YANG Modules . . . . . . . . . . . . 23
6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 22 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 23
7. Security Considerations . . . . . . . . . . . . . . . . . . . 102 7. Security Considerations . . . . . . . . . . . . . . . . . . . 104
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 103 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 105
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 103 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 105
10. Change log for ietf-isis YANG module . . . . . . . . . . . . 103 10. Change log for ietf-isis YANG module . . . . . . . . . . . . 105
10.1. From version -29 to version -30 . . . . . . . . . . . . 103 10.1. From version -29 to version -30 . . . . . . . . . . . . 105
10.2. From version -28 to version -29 . . . . . . . . . . . . 104 10.2. From version -28 to version -29 . . . . . . . . . . . . 106
10.3. From version -27 to version -28 . . . . . . . . . . . . 104 10.3. From version -27 to version -28 . . . . . . . . . . . . 106
10.4. From version -26 to version -27 . . . . . . . . . . . . 104 10.4. From version -26 to version -27 . . . . . . . . . . . . 106
10.5. From version -25 to version -26 . . . . . . . . . . . . 104 10.5. From version -25 to version -26 . . . . . . . . . . . . 106
10.6. From version -24 to version -25 . . . . . . . . . . . . 104 10.6. From version -24 to version -25 . . . . . . . . . . . . 106
10.7. From version -22 to version -24 . . . . . . . . . . . . 105 10.7. From version -22 to version -24 . . . . . . . . . . . . 107
10.8. From version -21 to version -22 . . . . . . . . . . . . 106 10.8. From version -21 to version -22 . . . . . . . . . . . . 107
10.9. From version -20 to version -21 . . . . . . . . . . . . 106 10.9. From version -20 to version -21 . . . . . . . . . . . . 107
10.10. From version -19 to version -20 . . . . . . . . . . . . 106 10.10. From version -19 to version -20 . . . . . . . . . . . . 108
10.11. From version -18 to version -19 . . . . . . . . . . . . 106 10.11. From version -18 to version -19 . . . . . . . . . . . . 108
10.12. From version -17 to version -18 . . . . . . . . . . . . 106 10.12. From version -17 to version -18 . . . . . . . . . . . . 108
10.13. From version -16 to version -17 . . . . . . . . . . . . 106 10.13. From version -16 to version -17 . . . . . . . . . . . . 108
10.14. From version -15 to version -16 . . . . . . . . . . . . 107 10.14. From version -15 to version -16 . . . . . . . . . . . . 108
10.15. From version -14 to version -15 . . . . . . . . . . . . 107 10.15. From version -14 to version -15 . . . . . . . . . . . . 108
10.16. From version -13 to version -14 . . . . . . . . . . . . 107 10.16. From version -13 to version -14 . . . . . . . . . . . . 109
10.17. From version -12 to version -13 . . . . . . . . . . . . 107 10.17. From version -12 to version -13 . . . . . . . . . . . . 109
10.18. From version -09 to version -12 . . . . . . . . . . . . 108 10.18. From version -09 to version -12 . . . . . . . . . . . . 109
10.19. From version -08 to version -09 . . . . . . . . . . . . 108 10.19. From version -08 to version -09 . . . . . . . . . . . . 109
10.20. From version -07 to version -08 . . . . . . . . . . . . 108 10.20. From version -07 to version -08 . . . . . . . . . . . . 110
10.21. From version -05 to version -07 . . . . . . . . . . . . 108 10.21. From version -05 to version -07 . . . . . . . . . . . . 110
10.22. From version -03 to version -05 . . . . . . . . . . . . 108 10.22. From version -03 to version -05 . . . . . . . . . . . . 110
10.23. From version -02 to version -03 . . . . . . . . . . . . 109 10.23. From version -02 to version -03 . . . . . . . . . . . . 110
10.24. From version -01 to version -02 . . . . . . . . . . . . 109 10.24. From version -01 to version -02 . . . . . . . . . . . . 111
10.25. From version -00 to version -01 . . . . . . . . . . . . 109 10.25. From version -00 to version -01 . . . . . . . . . . . . 111
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 110 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 112
11.1. Normative References . . . . . . . . . . . . . . . . . . 110 11.1. Normative References . . . . . . . . . . . . . . . . . . 112
11.2. Informative References . . . . . . . . . . . . . . . . . 114 11.2. Informative References . . . . . . . . . . . . . . . . . 115
Appendix A. Example of IS-IS configuration in XML . . . . . . . 114 Appendix A. Example of IS-IS configuration in XML . . . . . . . 116
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 116 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 118
1. Introduction 1. Introduction
This document defines a YANG ([RFC7950]) data model for IS-IS routing This document defines a YANG ([RFC7950]) data model for IS-IS routing
protocol. 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.
A simplified tree representation of the data model is presented in A simplified tree representation of the data model is presented in
skipping to change at page 3, line 47 skipping to change at page 3, line 47
2. Design of the Data Model 2. Design of the Data Model
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 (defined in [RFC8349]) with specific IS-IS ietf-routing module (defined in [RFC8349]) with specific IS-IS
parameters. parameters.
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 augment
/rt:routing/rt:control-plane-protocols/rt:control-plane-protocol: /rt:routing/rt:control-plane-protocols/rt:control-plane-protocol:
+--rw isis +--rw isis
+--rw enable? boolean {admin-control}? +--rw enable? boolean {admin-control}?
+--rw level-type? level +--rw level-type? level
+--rw system-id? system-id +--rw system-id? system-id
+--rw maximum-area-addresses? uint8 {maximum-area-addresses}? +--rw maximum-area-addresses? uint8 {maximum-area-addresses}?
+--rw area-address* area-address +--rw area-address* area-address
+--rw lsp-mtu? uint16 +--rw lsp-mtu? uint16
+--rw lsp-lifetime? uint16 +--rw lsp-lifetime? uint16
+--rw lsp-refresh? rt-types:timer-value-seconds16 +--rw lsp-refresh? rt-types:timer-value-seconds16
{lsp-refresh}? {lsp-refresh}?
+--rw poi-tlv? boolean {poi-tlv}? +--rw poi-tlv? boolean {poi-tlv}?
+--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 metric-type +--rw metric-type
| +--rw value? enumeration | +--rw value? enumeration
| +--rw level-1 | +--rw level-1
| | ... | | ...
| +--rw level-2 | +--rw level-2
| ... | ...
+--rw default-metric +--rw default-metric
| +--rw value? wide-metric | +--rw value? wide-metric
| +--rw level-1 | +--rw level-1
| | ... | | ...
| +--rw level-2 | +--rw level-2
| ... | ...
+--rw auto-cost {auto-cost}? +--rw auto-cost {auto-cost}?
| +--rw enable? boolean | +--rw enable? boolean
| +--rw reference-bandwidth? uint32 | +--rw reference-bandwidth? uint32
+--rw authentication +--rw authentication
| +--rw (authentication-type)? | +--rw (authentication-type)?
| | ... | | ...
| +--rw level-1 | +--rw level-1
| | ... | | ...
| +--rw level-2 | +--rw level-2
| ... | ...
+--rw address-families {nlpid-control}? +--rw address-families {nlpid-control}?
| +--rw address-family-list* [address-family] | +--rw address-family-list* [address-family]
| ... | ...
+--rw mpls
| +--rw te-rid {te-rid}?
| | ...
| +--rw ldp
| ...
+--rw spf-control
| +--rw paths? uint16 {max-ecmp}?
| +--rw ietf-spf-delay {ietf-spf-delay}?
| ...
+--rw fast-reroute {fast-reroute}?
| +--rw lfa {lfa}?
+--rw preference
| +--rw (granularity)?
| ...
+--rw overload
| +--rw status? boolean
+--rw overload-max-metric {overload-max-metric}?
| +--rw timeout? rt-types:timer-value-seconds16
+--ro spf-log
| +--ro event* [id]
| ...
+--ro lsp-log
| +--ro event* [id]
| ...
+--ro hostnames
| +--ro hostname* [system-id]
| ...
+--ro database
| +--ro levels* [level]
| ...
+--ro local-rib
| +--ro route* [prefix]
| ...
+--ro system-counters
| +--ro level* [level]
| ...
+--ro protected-routes
| +--ro address-family-stats* [address-family prefix alternate]
| ...
+--ro unprotected-routes
| +--ro address-family-stats* [address-family prefix]
| ...
+--ro protection-statistics* [frr-protection-method]
| +--ro frr-protection-method string
| +--ro address-family-stats* [address-family]
| ...
+--rw mpls +--rw topologies {multi-topology}?
| +--rw te-rid {te-rid}? | +--rw topology* [name]
| | ... | ...
| +--rw ldp +--rw interfaces
| ... +--rw interface* [name]
+--rw spf-control ...
| +--rw paths? uint16 {max-ecmp}?
| +--rw ietf-spf-delay {ietf-spf-delay}?
| ...
+--rw fast-reroute {fast-reroute}?
| +--rw lfa {lfa}?
+--rw preference
| +--rw (granularity)?
| ...
+--rw overload
| +--rw status? boolean
+--rw overload-max-metric {overload-max-metric}?
| +--rw timeout? rt-types:timer-value-seconds16
+--ro spf-log
| +--ro event* [id]
| ...
+--ro lsp-log
| +--ro event* [id]
| ...
+--ro hostnames
| +--ro hostname* [system-id]
| ...
+--ro database
| +--ro levels* [level]
| ...
+--ro local-rib
| +--ro route* [prefix]
| ...
+--ro system-counters
| +--ro level* [level]
| ...
+--ro protected-routes
| +--ro address-family-stats* [address-family prefix alternate]
| ...
+--ro unprotected-routes
| +--ro address-family-stats* [address-family prefix]
| ...
+--ro protection-statistics* [frr-protection-method]
| +--ro frr-protection-method string
| +--ro address-family-stats* [address-family]
| ...
+--rw topologies {multi-topology}?
| +--rw topology* [name]
| ...
+--rw interfaces
+--rw interface* [name]
...
rpcs: rpcs:
+---x clear-adjacency +---x clear-adjacency
| +---w input | +---w input
| +---w routing-protocol-instance-name -> | +---w routing-protocol-instance-name ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +---w level? level | +---w level? level
| +---w interface? if:interface-ref | +---w interface? if:interface-ref
+---x clear-database +---x clear-database
+---w input +---w input
+---w routing-protocol-instance-name -> +---w routing-protocol-instance-name ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
+---w level? level +---w level? level
notifications: notifications:
+---n database-overload +---n database-overload
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro overload? enumeration | +--ro overload? enumeration
+---n lsp-too-large +---n lsp-too-large
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-size? uint32 | +--ro pdu-size? uint32
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n if-state-change +---n if-state-change
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro state? if-state-type | +--ro state? if-state-type
+---n corrupted-lsp-detected +---n corrupted-lsp-detected
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n attempt-to-exceed-max-sequence +---n attempt-to-exceed-max-sequence
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n id-len-mismatch +---n id-len-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-field-len? uint8 | +--ro pdu-field-len? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n max-area-addresses-mismatch +---n max-area-addresses-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro max-area-addresses? uint8 | +--ro max-area-addresses? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n own-lsp-purge +---n own-lsp-purge
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n sequence-number-skipped +---n sequence-number-skipped
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n authentication-type-failure +---n authentication-type-failure
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n authentication-failure +---n authentication-failure
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n version-skew +---n version-skew
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro protocol-version? uint8 | +--ro protocol-version? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n area-mismatch +---n area-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n rejected-adjacency +---n rejected-adjacency
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro reason? string | +--ro reason? string
+---n protocols-supported-mismatch +---n protocols-supported-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro protocols* uint8 | +--ro protocols* uint8
+---n lsp-error-detected +---n lsp-error-detected
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro error-offset? uint32 | +--ro error-offset? uint32
| +--ro tlv-type? uint8 | +--ro tlv-type? uint8
+---n adjacency-state-change +---n adjacency-state-change
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro neighbor? string | +--ro neighbor? string
| +--ro neighbor-system-id? system-id | +--ro neighbor-system-id? system-id
| +--ro state? adj-state-type | +--ro state? adj-state-type
| +--ro reason? string | +--ro reason? string
+---n lsp-received +---n lsp-received
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
| +--ro sequence? uint32 | +--ro sequence? uint32
| +--ro received-timestamp? yang:timestamp | +--ro received-timestamp? yang:timestamp
| +--ro neighbor-system-id? system-id | +--ro neighbor-system-id? system-id
+---n lsp-generation +---n lsp-generation
+--ro routing-protocol-name? -> +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
+--ro isis-level? level +--ro isis-level? level
+--ro lsp-id? lsp-id +--ro lsp-id? lsp-id
+--ro sequence? uint32 +--ro sequence? uint32
+--ro send-timestamp? yang:timestamp +--ro send-timestamp? yang:timestamp
2.1. IS-IS Configuration 2.1. IS-IS Configuration
The IS-IS configuration container is divided in: The IS-IS configuration 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 to support any additional Additional modules may be created to support any additional
parameters. These additional modules MUST augment the ietf-isis parameters. These additional modules MUST augment the ietf-isis
module. module.
The model implements features, thus some of the configuration The model implements features, thus some of the configuration
skipping to change at page 12, line 8 skipping to change at page 13, line 5
defined in the "ietf-interfaces" YANG model ([RFC8343]. defined in the "ietf-interfaces" YANG model ([RFC8343].
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? +--rw lsp-pacing-interval?
rt-types:timer-value-milliseconds rt-types:timer-value-milliseconds
+--rw lsp-retransmit-interval? +--rw lsp-retransmit-interval?
rt-types:timer-value-seconds16 rt-types:timer-value-seconds16
+--rw passive? boolean +--rw passive? boolean
+--rw csnp-interval? +--rw csnp-interval?
rt-types:timer-value-seconds16 rt-types:timer-value-seconds16
+--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? | | | +--rw key-chain?
key-chain:key-chain-ref key-chain:key-chain-ref
| | +--:(password) | | +--:(password)
| | +--rw key? string | | +--rw key? string
| | +--rw crypto-algorithm? identityref | | +--rw crypto-algorithm? identityref
| +--rw level-2 | +--rw level-2
| +--rw (authentication-type)? | +--rw (authentication-type)?
| +--:(key-chain) {key-chain}? | +--:(key-chain) {key-chain}?
| | +--rw key-chain? | | +--rw key-chain?
key-chain:key-chain-ref key-chain:key-chain-ref
| +--:(password) | +--:(password)
| +--rw key? string | +--rw key? string
| +--rw crypto-algorithm? identityref | +--rw crypto-algorithm? identityref
+--rw hello-interval +--rw hello-interval
| +--rw value? rt-types:timer-value-seconds16 | +--rw value? rt-types:timer-value-seconds16
| +--rw level-1 | +--rw level-1
| | +--rw value? rt-types:timer-value-seconds16 | | +--rw value? rt-types:timer-value-seconds16
| +--rw level-2 | +--rw level-2
| +--rw value? rt-types:timer-value-seconds16 | +--rw value? rt-types:timer-value-seconds16
+--rw hello-multiplier +--rw hello-multiplier
| +--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 local-multiplier? multiplier | +--rw local-multiplier? multiplier
| +--rw (interval-config-type)? | +--rw (interval-config-type)?
| +--:(tx-rx-intervals) | +--:(tx-rx-intervals)
| | +--rw desired-min-tx-interval? uint32 | | +--rw desired-min-tx-interval? uint32
| | +--rw required-min-rx-interval? uint32 | | +--rw required-min-rx-interval? uint32
| +--:(single-interval) {single-minimum-interval}? | +--:(single-interval) {single-minimum-interval}?
| +--rw min-interval? uint32 | +--rw min-interval? uint32
+--rw address-families {nlpid-control}? +--rw address-families {nlpid-control}?
| +--rw address-family-list* [address-family] | +--rw address-family-list* [address-family]
| +--rw address-family iana-rt-types:address-family | +--rw address-family iana-rt-types:address-family
+--rw mpls +--rw mpls
| +--rw ldp | +--rw ldp
| +--rw igp-sync? boolean {ldp-igp-sync}? | +--rw igp-sync? boolean {ldp-igp-sync}?
+--rw fast-reroute {fast-reroute}? +--rw fast-reroute {fast-reroute}?
| +--rw lfa {lfa}? | +--rw lfa {lfa}?
| +--rw candidate-enable? boolean | +--rw candidate-enable? boolean
| +--rw enable? boolean | +--rw enable? boolean
| +--rw remote-lfa {remote-lfa}? | +--rw remote-lfa {remote-lfa}?
| | +--rw enable? boolean | | +--rw enable? boolean
| +--rw level-1 | +--rw level-1
| | +--rw candidate-enable? boolean | | +--rw candidate-enable? boolean
| | +--rw enable? boolean | | +--rw enable? boolean
| | +--rw remote-lfa {remote-lfa}? | | +--rw remote-lfa {remote-lfa}?
| | +--rw enable? boolean | | +--rw enable? boolean
| +--rw level-2 | +--rw level-2
| +--rw candidate-enable? boolean | +--rw candidate-enable? boolean
| +--rw enable? boolean | +--rw enable? boolean
| +--rw remote-lfa {remote-lfa}? | +--rw remote-lfa {remote-lfa}?
| +--rw enable? boolean | +--rw enable? boolean
+--ro adjacencies +--ro adjacencies
| +--ro adjacency* [] | +--ro adjacency* []
| +--ro neighbor-sys-type? level | +--ro neighbor-sys-type? level
| +--ro neighbor-sysid? system-id | +--ro neighbor-sysid? system-id
| +--ro neighbor-extended-circuit-id? | +--ro neighbor-extended-circuit-id?
extended-circuit-id extended-circuit-id
| +--ro neighbor-snpa? snpa | +--ro neighbor-snpa? snpa
| +--ro usage? level | +--ro usage? level
| +--ro hold-timer? | +--ro hold-timer?
rt-types:timer-value-seconds16 rt-types:timer-value-seconds16
| +--ro neighbor-priority? uint8 | +--ro neighbor-priority? uint8
| +--ro lastuptime? yang:timestamp | +--ro lastuptime? yang:timestamp
| +--ro state? adj-state-type | +--ro state? adj-state-type
+--ro event-counters +--ro event-counters
| +--ro adjacency-changes? uint32 | +--ro adjacency-changes? uint32
| +--ro adjacency-number? uint32 | +--ro adjacency-number? uint32
| +--ro init-fails? uint32 | +--ro init-fails? uint32
| +--ro adjacency-rejects? uint32 | +--ro adjacency-rejects? uint32
| +--ro id-len-mismatch? uint32 | +--ro id-len-mismatch? uint32
| +--ro max-area-addresses-mismatch? uint32 | +--ro max-area-addresses-mismatch? uint32
| +--ro authentication-type-fails? uint32 | +--ro authentication-type-fails? uint32
| +--ro authentication-fails? uint32 | +--ro authentication-fails? uint32
| +--ro lan-dis-changes? uint32 | +--ro lan-dis-changes? uint32
+--ro packet-counters +--ro packet-counters
| +--ro level* [level] | +--ro level* [level]
| +--ro level level-number | +--ro level level-number
| +--ro iih | +--ro iih
| | +--ro in? uint32 | | +--ro in? uint32
| | +--ro out? uint32 | | +--ro out? uint32
| +--ro ish | +--ro ish
| | +--ro in? uint32 | | +--ro in? uint32
| | +--ro out? uint32 | | +--ro out? uint32
| +--ro esh | +--ro esh
| | +--ro in? uint32 | | +--ro in? uint32
| | +--ro out? uint32 | | +--ro out? uint32
| +--ro lsp | +--ro lsp
| | +--ro in? uint32 | | +--ro in? uint32
| | +--ro out? uint32 | | +--ro out? uint32
| +--ro psnp | +--ro psnp
| | +--ro in? uint32 | | +--ro in? uint32
| | +--ro out? uint32 | | +--ro out? uint32
| +--ro csnp | +--ro csnp
| | +--ro in? uint32 | | +--ro in? uint32
| | +--ro out? uint32 | | +--ro out? uint32
| +--ro unknown | +--ro unknown
| +--ro in? uint32 | +--ro in? uint32
| +--ro out? uint32 | +--ro out? uint32
+--rw topologies {multi-topology}? +--rw topologies {multi-topology}?
+--rw topology* [name] +--rw topology* [name]
+--rw name -> +--rw name ->
../../../../../../../../rt:ribs/rib/name ../../../../../../../../rt:ribs/rib/name
+--rw metric +--rw metric
+--rw value? wide-metric +--rw value? wide-metric
+--rw level-1 +--rw level-1
| +--rw value? wide-metric | +--rw value? wide-metric
+--rw level-2 +--rw level-2
+--rw value? wide-metric +--rw value? wide-metric
rpcs: rpcs:
+---x clear-adjacency +---x clear-adjacency
| +---w input | +---w input
| +---w routing-protocol-instance-name -> | +---w routing-protocol-instance-name ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +---w level? level | +---w level? level
| +---w interface? if:interface-ref | +---w interface? if:interface-ref
+---x clear-database +---x clear-database
+---w input +---w input
+---w routing-protocol-instance-name -> +---w routing-protocol-instance-name ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
+---w level? level +---w level? level
notifications: notifications:
+---n database-overload +---n database-overload
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro overload? enumeration | +--ro overload? enumeration
+---n lsp-too-large +---n lsp-too-large
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-size? uint32 | +--ro pdu-size? uint32
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n if-state-change +---n if-state-change
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro state? if-state-type | +--ro state? if-state-type
+---n corrupted-lsp-detected +---n corrupted-lsp-detected
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n attempt-to-exceed-max-sequence +---n attempt-to-exceed-max-sequence
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n id-len-mismatch +---n id-len-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro pdu-field-len? uint8 | +--ro pdu-field-len? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n max-area-addresses-mismatch +---n max-area-addresses-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro max-area-addresses? uint8 | +--ro max-area-addresses? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n own-lsp-purge +---n own-lsp-purge
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n sequence-number-skipped +---n sequence-number-skipped
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
+---n authentication-type-failure +---n authentication-type-failure
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n authentication-failure +---n authentication-failure
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n version-skew +---n version-skew
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro protocol-version? uint8 | +--ro protocol-version? uint8
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n area-mismatch +---n area-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
+---n rejected-adjacency +---n rejected-adjacency
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro reason? string | +--ro reason? string
+---n protocols-supported-mismatch +---n protocols-supported-mismatch
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro protocols* uint8 | +--ro protocols* uint8
+---n lsp-error-detected +---n lsp-error-detected
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
| +--ro raw-pdu? binary | +--ro raw-pdu? binary
| +--ro error-offset? uint32 | +--ro error-offset? uint32
| +--ro tlv-type? uint8 | +--ro tlv-type? uint8
+---n adjacency-state-change +---n adjacency-state-change
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro neighbor? string | +--ro neighbor? string
| +--ro neighbor-system-id? system-id | +--ro neighbor-system-id? system-id
| +--ro state? adj-state-type | +--ro state? adj-state-type
| +--ro reason? string | +--ro reason? string
+---n lsp-received +---n lsp-received
| +--ro routing-protocol-name? -> | +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
| +--ro isis-level? level | +--ro isis-level? level
| +--ro interface-name? if:interface-ref | +--ro interface-name? if:interface-ref
| +--ro interface-level? level | +--ro interface-level? level
| +--ro extended-circuit-id? extended-circuit-id | +--ro extended-circuit-id? extended-circuit-id
| +--ro lsp-id? lsp-id | +--ro lsp-id? lsp-id
| +--ro sequence? uint32 | +--ro sequence? uint32
| +--ro received-timestamp? yang:timestamp | +--ro received-timestamp? yang:timestamp
| +--ro neighbor-system-id? system-id | +--ro neighbor-system-id? system-id
+---n lsp-generation +---n lsp-generation
+--ro routing-protocol-name? -> +--ro routing-protocol-name? ->
/rt:routing/control-plane-protocols/control-plane-protocol/name /rt:routing/control-plane-protocols/control-plane-protocol/name
+--ro isis-level? level +--ro isis-level? level
+--ro lsp-id? lsp-id +--ro lsp-id? lsp-id
+--ro sequence? uint32 +--ro sequence? uint32
+--ro send-timestamp? yang:timestamp +--ro send-timestamp? yang:timestamp
2.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 ([RFC8177]). The IS-IS module imports the "ietf-key- chain module ([RFC8177]). The IS-IS module imports the "ietf-key-
chain" module and reuses some groupings to allow global and per chain" module and reuses some groupings to allow global and per
interface configuration of authentication. If a global interface configuration of authentication. If a global
authentication is configured, an implementation SHOULD authenticate authentication is configured, an implementation SHOULD authenticate
PSNPs (Partial Sequence Number Packets), CSNPs (Complete Sequence PSNPs (Partial Sequence Number Packets), CSNPs (Complete Sequence
Number Packets) and LSPs (Link State Packets) with the authentication Number Packets) and LSPs (Link State Packets) with the authentication
skipping to change at page 19, line 7 skipping to change at page 20, line 32
As IS-IS protocol is based on ISO protocol suite, some ISO parameters As IS-IS protocol is based on ISO protocol suite, some ISO parameters
may be required. may be required.
This module augments interface configuration model to support ISO This module augments interface configuration model to support ISO
configuration parameters. configuration parameters.
The clns-mtu can be defined under the interface. The clns-mtu can be defined under the interface.
2.8. IP FRR 2.8. IP FRR
This YANG model supports LFA (Loop Free Alternates) ([RFC5286]) and This YANG module supports LFA (Loop Free Alternates) ([RFC5286]) and
remote LFA ([RFC7490]) as IP FRR techniques. The "fast-reroute" remote LFA ([RFC7490]) as IP FRR techniques. The "fast-reroute"
container may be augmented by other models to support other IPFRR container may be augmented by other models to support other IPFRR
flavors (MRT, TILFA ...). flavors (MRT, TILFA ...).
The current version of the model supports activation of LFA and The current version of the model supports activation of LFA and
remote LFA at interface only. The global "lfa" container is present remote LFA at interface only. The global "lfa" container is present
but kept empty to allow augmentation with vendor specific properties but kept empty to allow augmentation with vendor specific properties
like policies. like policies.
Remote LFA is considered as a child of LFA. Remote LFA cannot be Remote LFA is considered as a child of LFA. Remote LFA cannot be
skipping to change at page 20, line 23 skipping to change at page 22, line 5
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.
if-state-change: raise when the state of an interface changes. if-state-change: raised when the state of an interface changes.
corrupted-lsp-detected: raised when the system find that an LSP corrupted-lsp-detected: raised when the system finds that an LSP
that was stored in memory has become corrupted. that was stored in memory has become corrupted.
attempt-to-exceed-max-sequence: This notification is sent when the attempt-to-exceed-max-sequence: This notification is sent when the
system wraps the 32-bit sequence counter of an LSP. system wraps the 32-bit sequence counter of an LSP.
id-len-mismatch: This notification is sent when we receive a PDU id-len-mismatch: This notification is sent when we receive a PDU
with a different value for the System ID length. with a different value for the System ID length.
max-area-addresses-mismatch: This notification is sent when we max-area-addresses-mismatch: This notification is sent when we
receive a PDU with a different value for the Maximum Area receive a PDU with a different value for the Maximum Area
skipping to change at page 21, line 32 skipping to change at page 23, line 12
adjacency-state-change: This notification is sent when an IS-IS adjacency-state-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.
5. Interaction with Other YANG Modules 5. Interaction with Other YANG Modules
The "isis" configuration container augments the "/rt:routing/ The "isis" container augments the "/rt:routing/rt:control-plane-
rt:control-plane-protocols/control-plane-protocol" container of the protocols/control-plane-protocol" container of the ietf-routing
ietf-routing [RFC8349] module by defining IS-IS specific parameters. [RFC8349] module by defining IS-IS specific parameters.
The "isis" module augments "/if:interfaces/if:interface" defined by The "isis" module augments "/if:interfaces/if:interface" defined by
[RFC8343] with ISO specific parameters. [RFC8343] with ISO specific parameters.
The "isis" operational state container augments the "/rt:routing- The "isis" operational state container augments the "/rt:routing-
state/rt:control-plane-protocols/control-plane-protocol" container of state/rt:control-plane-protocols/control-plane-protocol" container of
the ietf-routing module by defining IS-IS specific operational the ietf-routing module by defining IS-IS specific operational
states. states.
Some IS-IS specific routes attributes are added to route objects of Some IS-IS specific routes attributes are added to route objects of
skipping to change at page 22, line 10 skipping to change at page 23, line 38
The modules defined in this document use some groupings from ietf- The modules defined in this document use some groupings from ietf-
keychain [RFC8177]. keychain [RFC8177].
The module reuses types from [RFC6991] and [RFC8294]. The module reuses types from [RFC6991] and [RFC8294].
To support BFD for fast detection, the module relies on To support BFD for fast detection, the module relies on
[I-D.ietf-bfd-yang]. [I-D.ietf-bfd-yang].
6. IS-IS YANG Module 6. IS-IS YANG Module
<CODE BEGINS> file "ietf-isis@2019-01-18.yang" The following RFCs, drafts and external standards are not referenced
in the document text but are referenced in the ietf-isis.yang module:
[ISO-10589], [RFC1195], [RFC5029], [RFC5130], [RFC5305], [RFC5306],
[RFC5308], [RFC5880], [RFC5881], [RFC6119], [RFC6232], [RFC7794],
[RFC7810], [RFC7917], [RFC8405].
<CODE BEGINS> file "ietf-isis@2019-01-21.yang"
module ietf-isis { module ietf-isis {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; namespace "urn:ietf:params:xml:ns:yang:ietf-isis";
prefix isis; prefix isis;
import ietf-routing { import ietf-routing {
prefix "rt"; prefix "rt";
reference "RFC 8349 - A YANG Data Model for Routing reference "RFC 8349 - A YANG Data Model for Routing
Management (NMDA Version)"; Management (NMDA Version)";
} }
import ietf-inet-types { import ietf-inet-types {
prefix inet; prefix inet;
reference "RFC 6991 - Common YANG Data Types"; reference "RFC 6991 - Common YANG Data Types";
} }
skipping to change at page 24, line 7 skipping to change at page 25, line 42
"; ";
description description
"This YANG module defines the generic configuration and "This YANG module defines the generic configuration and
operational state for the IS-IS protocol. operational state for the IS-IS protocol.
It is intended that the module It is intended that the module
will be extended by vendors to define vendor-specific will be extended by vendors to define vendor-specific
IS-IS configuration parameters and policies, IS-IS configuration parameters and policies,
for example route maps or route policies. for example route maps or route policies.
This YANG model conforms to the Network Management This YANG module conforms to the Network Management
Datastore Architecture (NDMA) as described in RFC 8242. Datastore Architecture (NDMA) as described in RFC 8242.
Copyright (c) 2018 IETF Trust and the persons identified as Copyright (c) 2018 IETF Trust and the persons identified as
authors of the code. All rights reserved. authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents Relating to IETF Documents
skipping to change at page 24, line 30 skipping to change at page 26, line 17
This version of this YANG module is part of RFC XXXX; This version of this YANG module is part of RFC XXXX;
see the RFC itself for full legal notices. see the RFC itself for full legal notices.
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED',
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document
are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] are to be interpreted as described in BCP 14 [RFC2119] [RFC8174]
when, and only when, they appear in all capitals, as shown here. when, and only when, they appear in all capitals, as shown here.
"; ";
revision 2019-01-18 { revision 2019-01-21 {
description description
"Initial revision."; "Initial revision.";
reference "RFC XXXX"; reference "RFC XXXX";
} }
/* Identities */ /* Identities */
identity isis { identity isis {
base rt:routing-protocol; base rt:routing-protocol;
description "Identity for the IS-IS routing protocol."; description "Identity for the IS-IS routing protocol.";
skipping to change at page 74, line 12 skipping to change at page 75, line 51
description "minimum LSP bandwidth."; description "minimum LSP bandwidth.";
} }
leaf indication { leaf indication {
type uint8; type uint8;
description description
"The indication whether the interface supports Standard "The indication whether the interface supports Standard
or Arbitrary SONET/SDH."; or Arbitrary SONET/SDH.";
} }
} }
container psc-specific { container psc-specific {
when "../switching-capability >= 1 and ../switching-capability when "../switching-capability >= 1 and
<= 4";
../switching-capability <= 4";
description description
"Switching Capability-specific information applicable "Switching Capability-specific information applicable
when switching type is PSC1,PSC2,PSC3 or PSC4."; when switching type is PSC1,PSC2,PSC3 or PSC4.";
leaf minimum-lsp-bandwidth { leaf minimum-lsp-bandwidth {
type rt-types:bandwidth-ieee-float32; type rt-types:bandwidth-ieee-float32;
description "minimum LSP bandwidth."; description "minimum LSP bandwidth.";
} }
leaf mtu { leaf mtu {
type uint16; type uint16;
skipping to change at page 100, line 14 skipping to change at page 102, line 4
points to the start of the TLV. If the problem is with points to the start of the TLV. If the problem is with
the LSP header, the error-offset points to the errant the LSP header, the error-offset points to the errant
byte"; byte";
} }
leaf tlv-type { leaf tlv-type {
type uint8; type uint8;
description description
"If the problem is a malformed TLV, the tlv-type is set "If the problem is a malformed TLV, the tlv-type is set
to the type value of the suspicious TLV. Otherwise, to the type value of the suspicious TLV. Otherwise,
this leaf is not present."; this leaf is not present.";
} }
description description
"This notification is sent when the system receives an "This notification is sent when the system receives an
LSP with a parse error. The notification generation must LSP with a parse error. The notification generation must
be throttled with at least 5 seconds betweeen successive be throttled with at least 5 seconds betweeen successive
notifications."; notifications.";
} }
notification adjacency-state-change { notification adjacency-state-change {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf neighbor { leaf neighbor {
type string { type string {
skipping to change at page 103, line 34 skipping to change at page 105, line 24
Authors would like to thank Kiran Agrahara Sreenivasa, Dean Authors would like to thank Kiran Agrahara Sreenivasa, Dean
Bogdanovic, Yingzhen Qu, Yi Yang, Jeff Tanstura for their major Bogdanovic, Yingzhen Qu, Yi Yang, Jeff Tanstura for their major
contributions to the draft. contributions to the draft.
9. IANA Considerations 9. IANA Considerations
The IANA is requested to assign two new URIs from the IETF XML The IANA is requested to assign two new URIs from the IETF XML
registry ([RFC3688]). Authors are suggesting the following URI: registry ([RFC3688]). Authors are suggesting the following URI:
URI: urn:ietf:params:xml:ns:yang:ietf-isis URI: urn:ietf:params:xml:ns:yang:ietf-isis
Registrant Contact: IS-IS WG Registrant Contact: The IESG
XML: N/A, the requested URI is an XML namespace XML: N/A, the requested URI is an XML namespace
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
skipping to change at page 111, line 45 skipping to change at page 113, line 31
2008, <https://www.rfc-editor.org/info/rfc5305>. 2008, <https://www.rfc-editor.org/info/rfc5305>.
[RFC5306] Shand, M. and L. Ginsberg, "Restart Signaling for IS-IS", [RFC5306] Shand, M. and L. Ginsberg, "Restart Signaling for IS-IS",
RFC 5306, DOI 10.17487/RFC5306, October 2008, RFC 5306, DOI 10.17487/RFC5306, October 2008,
<https://www.rfc-editor.org/info/rfc5306>. <https://www.rfc-editor.org/info/rfc5306>.
[RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308, [RFC5308] Hopps, C., "Routing IPv6 with IS-IS", RFC 5308,
DOI 10.17487/RFC5308, October 2008, DOI 10.17487/RFC5308, October 2008,
<https://www.rfc-editor.org/info/rfc5308>. <https://www.rfc-editor.org/info/rfc5308>.
[RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP
Synchronization", RFC 5443, DOI 10.17487/RFC5443, March
2009, <https://www.rfc-editor.org/info/rfc5443>.
[RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010, (BFD)", RFC 5880, DOI 10.17487/RFC5880, June 2010,
<https://www.rfc-editor.org/info/rfc5880>. <https://www.rfc-editor.org/info/rfc5880>.
[RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection [RFC5881] Katz, D. and D. Ward, "Bidirectional Forwarding Detection
(BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881, (BFD) for IPv4 and IPv6 (Single Hop)", RFC 5881,
DOI 10.17487/RFC5881, June 2010, DOI 10.17487/RFC5881, June 2010,
<https://www.rfc-editor.org/info/rfc5881>. <https://www.rfc-editor.org/info/rfc5881>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
skipping to change at page 114, line 17 skipping to change at page 115, line 46
Back-Off Delay Algorithm for Link-State IGPs", RFC 8405, Back-Off Delay Algorithm for Link-State IGPs", RFC 8405,
DOI 10.17487/RFC8405, June 2018, DOI 10.17487/RFC8405, June 2018,
<https://www.rfc-editor.org/info/rfc8405>. <https://www.rfc-editor.org/info/rfc8405>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
11.2. Informative References 11.2. Informative References
[RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP
Synchronization", RFC 5443, DOI 10.17487/RFC5443, March
2009, <https://www.rfc-editor.org/info/rfc5443>.
[RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams",
BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018,
<https://www.rfc-editor.org/info/rfc8340>. <https://www.rfc-editor.org/info/rfc8340>.
Appendix A. Example of IS-IS configuration in XML Appendix A. Example of IS-IS configuration in XML
This section gives an example of configuration of an IS-IS instance This section gives an example of configuration of an IS-IS instance
on a device. The example is written in XML. on a device. The example is written in XML.
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing">
<name>SLI</name> <name>SLI</name>
<router-id>1.1.1.1</router-id> <router-id>1.1.1.1</router-id>
<control-plane-protocols> <control-plane-protocols>
<control-plane-protocol> <control-plane-protocol>
<name>ISIS-example</name> <name>ISIS-example</name>
<description/> <description/>
<type> <type>
<type xmlns:isis="urn:ietf:params:xml:ns:yang:ietf-isis"> <type
xmlns:isis="urn:ietf:params:xml:ns:yang:ietf-isis">
isis:isis isis:isis
</type> </type>
</type> </type>
<isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> <isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis">
<enable>true</enable> <enable>true</enable>
<level-type>level-2</level-type> <level-type>level-2</level-type>
<system-id>87FC.FCDF.4432</system-id> <system-id>87FC.FCDF.4432</system-id>
<area-address>49.0001</area-address> <area-address>49.0001</area-address>
<mpls> <mpls>
<te-rid> <te-rid>
skipping to change at page 115, line 31 skipping to change at page 117, line 16
<name>Loopback0</name> <name>Loopback0</name>
<tag>200</tag> <tag>200</tag>
<metric> <metric>
<value>0</value> <value>0</value>
</metric> </metric>
<passive>true</passive> <passive>true</passive>
</interface> </interface>
<interface> <interface>
<name>Eth1</name> <name>Eth1</name>
<level-type>level-2</level-type> <level-type>level-2</level-type>
<interface-type>point-to-point</interface-type>
<interface-type>point-to-point</interface-type>
<metric> <metric>
<value>167890</value> <value>167890</value>
</metric> </metric>
</interface> </interface>
</interfaces> </interfaces>
</isis> </isis>
</control-plane-protocol> </control-plane-protocol>
</control-plane-protocols> </control-plane-protocols>
</routing> </routing>
<interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"> <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
<interface> <interface>
<name>Loopback0</name> <name>Loopback0</name>
<description/> <description/>
<type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type"> <type
xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">
ianaift:softwareLoopback ianaift:softwareLoopback
</type> </type>
<link-up-down-trap-enable>enabled</link-up-down-trap-enable>
<link-up-down-trap-enable>enabled</link-up-down-trap-enable>
<ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
<address> <address>
<ip>192.0.2.1</ip> <ip>192.0.2.1</ip>
<prefix-length>32</prefix-length> <prefix-length>32</prefix-length>
</address> </address>
</ipv4> </ipv4>
<ipv6 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> <ipv6 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
<address> <address>
<ip>2001:DB8::1</ip> <ip>2001:DB8::1</ip>
<prefix-length>128</prefix-length> <prefix-length>128</prefix-length>
</address> </address>
</ipv6> </ipv6>
</interface> </interface>
<interface> <interface>
<name>Eth1</name> <name>Eth1</name>
<description/> <description/>
<type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type"> <type
xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">
ianaift:ethernetCsmacd ianaift:ethernetCsmacd
</type> </type>
<link-up-down-trap-enable>enabled</link-up-down-trap-enable>
<link-up-down-trap-enable>enabled</link-up-down-trap-enable>
<ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
<address> <address>
<ip>198.51.100.1</ip> <ip>198.51.100.1</ip>
<prefix-length>30</prefix-length> <prefix-length>30</prefix-length>
</address> </address>
</ipv4> </ipv4>
<ipv6 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip"> <ipv6 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
<address> <address>
<ip>2001:DB8:0:0:FF::1</ip> <ip>2001:DB8:0:0:FF::1</ip>
<prefix-length>64</prefix-length> <prefix-length>64</prefix-length>
 End of changes. 34 change blocks. 
676 lines changed or deleted 689 lines changed or added

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