draft-ietf-isis-yang-isis-cfg-18.txt   draft-ietf-isis-yang-isis-cfg-19.txt 
IS-IS Working Group S. Litkowski IS-IS Working Group S. Litkowski
Internet-Draft Orange Internet-Draft Orange
Intended status: Standards Track D. Yeung Intended status: Standards Track D. Yeung
Expires: January 26, 2018 Arrcus, Inc Expires: May 24, 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
July 25, 2017 November 20, 2017
YANG Data Model for IS-IS protocol YANG Data Model for IS-IS protocol
draft-ietf-isis-yang-isis-cfg-18 draft-ietf-isis-yang-isis-cfg-19
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 January 26, 2018. This Internet-Draft will expire on May 24, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 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
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 . . . . . . . . . . . . . . . . 15 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 22
2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 15 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 23
2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 16 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 23
2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.9. Operational States . . . . . . . . . . . . . . . . . . . 16 2.9. Operational States . . . . . . . . . . . . . . . . . . . 23
3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 17 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 24
4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 17 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 25
5. Interaction with Other YANG Modules . . . . . . . . . . . . . 22 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 29
6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 22 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 30
7. Security Considerations . . . . . . . . . . . . . . . . . . . 97 7. Security Considerations . . . . . . . . . . . . . . . . . . . 104
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 98 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 105
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 98 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 105
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 98 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 105
11. Change log for ietf-isis YANG module . . . . . . . . . . . . 98 11. Change log for ietf-isis YANG module . . . . . . . . . . . . 106
11.1. From version -17 to version -18 . . . . . . . . . . . . 98 11.1. From version -18 to version -19 . . . . . . . . . . . . 106
11.2. From version -16 to version -17 . . . . . . . . . . . . 98 11.2. From version -17 to version -18 . . . . . . . . . . . . 106
11.3. From version -15 to version -16 . . . . . . . . . . . . 99 11.3. From version -16 to version -17 . . . . . . . . . . . . 106
11.4. From version -14 to version -15 . . . . . . . . . . . . 99 11.4. From version -15 to version -16 . . . . . . . . . . . . 106
11.5. From version -13 to version -14 . . . . . . . . . . . . 99 11.5. From version -14 to version -15 . . . . . . . . . . . . 106
11.6. From version -12 to version -13 . . . . . . . . . . . . 99 11.6. From version -13 to version -14 . . . . . . . . . . . . 107
11.7. From version -09 to version -12 . . . . . . . . . . . . 100 11.7. From version -12 to version -13 . . . . . . . . . . . . 107
11.8. From version -08 to version -09 . . . . . . . . . . . . 100 11.8. From version -09 to version -12 . . . . . . . . . . . . 107
11.9. From version -07 to version -08 . . . . . . . . . . . . 100 11.9. From version -08 to version -09 . . . . . . . . . . . . 107
11.10. From version -05 to version -07 . . . . . . . . . . . . 100 11.10. From version -07 to version -08 . . . . . . . . . . . . 107
11.11. From version -03 to version -05 . . . . . . . . . . . . 100 11.11. From version -05 to version -07 . . . . . . . . . . . . 108
11.12. From version -02 to version -03 . . . . . . . . . . . . 101 11.12. From version -03 to version -05 . . . . . . . . . . . . 108
11.13. From version -01 to version -02 . . . . . . . . . . . . 101 11.13. From version -02 to version -03 . . . . . . . . . . . . 108
11.14. From version -00 to version -01 . . . . . . . . . . . . 101 11.14. From version -01 to version -02 . . . . . . . . . . . . 108
12. Normative References . . . . . . . . . . . . . . . . . . . . 102 11.15. From version -00 to version -01 . . . . . . . . . . . . 109
Appendix A. Example of IS-IS configuration in XML . . . . . . . 103 12. Normative References . . . . . . . . . . . . . . . . . . . . 110
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 105 Appendix A. Example of IS-IS configuration in XML . . . . . . . 111
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 113
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-state/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-protocol
: :
+--rw isis +--rw isis
+--rw enable? boolean {admin-control}? +--rw enable? boolean {admin-control}?
+--rw level-type? level +--rw level-type? level
skipping to change at page 13, line 49 skipping to change at page 13, line 49
| +--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 afs {nlpid-control}?
| | +--rw af* [af] | | +--rw af* [af]
| | +--rw af identityref | | +--rw af 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-disabled? boolean | | +--rw candidate-disabled? boolean
| | +--rw enable? boolean | | +--rw enable? boolean
| | +--rw remote-lfa {remote-lfa}? | | +--rw remote-lfa {remote-lfa}?
| | | +--rw enable? boolean | | | +--rw enable? boolean
| | +--rw level-1 | | +--rw level-1
skipping to change at page 15, line 25 skipping to change at page 15, line 25
| | +--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
+--ro spf-log
| +--ro event* [id]
| +--ro id uint32
| +--ro spf-type? enumeration
| +--ro level? level-number
| +--ro schedule-timestamp? yang:timestamp
| +--ro start-timestamp? yang:timestamp
| +--ro end-timestamp? yang:timestamp
| +--ro trigger-lsp* [lsp]
| +--ro lsp lsp-id
| +--ro sequence? uint32
+--ro lsp-log
| +--ro event* [id]
| +--ro id uint32
| +--ro level? level-number
| +--ro lsp
| | +--ro lsp? lsp-id
| | +--ro sequence? uint32
| +--ro received-timestamp? yang:timestamp
| +--ro change? identityref
+--ro hostnames
| +--ro hostname* [system-id]
| +--ro system-id system-id
| +--ro hostname? string
+--ro database
| +--ro level-db* [level]
| +--ro level level-number
| +--ro lsp* [lsp-id]
| +--ro decoded-completed? boolean
| +--ro raw-data? yang:hex-string
| +--ro lsp-id lsp-id
| +--ro checksum? uint16
| +--ro remaining-lifetime? uint16
| +--ro sequence? uint32
| +--ro attributes? bits
| +--ro ipv4-addresses* inet:ipv4-address
| +--ro ipv6-addresses* inet:ipv6-address
| +--ro ipv4-te-routerid? inet:ipv4-address
| +--ro ipv6-te-routerid? inet:ipv6-address
| +--ro protocol-supported* uint8
| +--ro dynamic-hostname? string
| +--ro authentication
| | +--ro authentication-type? string
| | +--ro authentication-key? string
| +--ro mt-entries
| | +--ro topology*
| | +--ro MT-ID? uint16
| | +--ro attributes? bits
| +--ro router-capabilities*
| | +--ro flags? bits
| | +--ro node-tags {node-tag}?
| | | +--ro node-tag*
| | | +--ro tag? uint32
| | +--ro binary? binary
| +--ro is-neighbor
| | +--ro neighbor*
| | +--ro neighbor-id? system-id
| | +--ro i-e? boolean
| | +--ro default-metric? std-metric
| | +--ro delay-metric
| | | +--ro metric? std-metric
| | | +--ro supported? boolean
| | +--ro expense-metric
| | | +--ro metric? std-metric
| | | +--ro supported? boolean
| | +--ro error-metric
| | +--ro metric? std-metric
| | +--ro supported? boolean
| +--ro extended-is-neighbor
| | +--ro neighbor*
| | +--ro neighbor-id? system-id
| | +--ro metric? wide-metric
| +--ro ipv4-internal-reachability
| | +--ro prefixes*
| | +--ro up-down? boolean
| | +--ro i-e? boolean
| | +--ro ip-prefix? inet:ipv4-address
| | +--ro prefix-len? uint8
| | +--ro default-metric? std-metric
| | +--ro delay-metric
| | | +--ro metric? std-metric
| | | +--ro supported? boolean
| | +--ro expense-metric
| | | +--ro metric? std-metric
| | | +--ro supported? boolean
| | +--ro error-metric
| | +--ro metric? std-metric
| | +--ro supported? boolean
| +--ro ipv4-external-reachability
| | +--ro prefixes*
| | +--ro up-down? boolean
| | +--ro i-e? boolean
| | +--ro ip-prefix? inet:ipv4-address
| | +--ro prefix-len? uint8
| | +--ro default-metric? std-metric
| | +--ro delay-metric
| | | +--ro metric? std-metric
| | | +--ro supported? boolean
| | +--ro expense-metric
| | | +--ro metric? std-metric
| | | +--ro supported? boolean
| | +--ro error-metric
| | +--ro metric? std-metric
| | +--ro supported? boolean
| +--ro extended-ipv4-reachability
| | +--ro prefixes*
| | +--ro up-down? boolean
| | +--ro ip-prefix? inet:ipv4-address
| | +--ro prefix-len? uint8
| | +--ro metric? wide-metric
| | +--ro tag* uint32
| | +--ro tag64* uint64
| | +--ro external-prefix-flag? boolean
| | +--ro readvertisement-flag? boolean
| | +--ro node-flag? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address
| | +--ro ipv6-source-router-id? inet:ipv6-address
| +--ro mt-is-neighbor
| | +--ro neighbor*
| | +--ro MT-ID? uint16
| | +--ro neighbor-id? system-id
| | +--ro metric? wide-metric
| +--ro mt-extended-ipv4-reachability
| | +--ro prefixes*
| | +--ro MT-ID? uint16
| | +--ro up-down? boolean
| | +--ro ip-prefix? inet:ipv4-address
| | +--ro prefix-len? uint8
| | +--ro metric? wide-metric
| | +--ro tag* uint32
| | +--ro tag64* uint64
| | +--ro external-prefix-flag? boolean
| | +--ro readvertisement-flag? boolean
| | +--ro node-flag? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address
| | +--ro ipv6-source-router-id? inet:ipv6-address
| +--ro mt-ipv6-reachability
| | +--ro prefixes*
| | +--ro MT-ID? uint16
| | +--ro up-down? boolean
| | +--ro ip-prefix? inet:ipv6-address
| | +--ro prefix-len? uint8
| | +--ro metric? wide-metric
| | +--ro tag* uint32
| | +--ro tag64* uint64
| | +--ro external-prefix-flag? boolean
| | +--ro readvertisement-flag? boolean
| | +--ro node-flag? boolean
| | +--ro ipv4-source-router-id? inet:ipv4-address
| | +--ro ipv6-source-router-id? inet:ipv6-address
| +--ro ipv6-reachability
| +--ro prefixes*
| +--ro up-down? boolean
| +--ro ip-prefix? inet:ipv6-address
| +--ro prefix-len? uint8
| +--ro metric? wide-metric
| +--ro tag* uint32
| +--ro tag64* uint64
| +--ro external-prefix-flag? boolean
| +--ro readvertisement-flag? boolean
| +--ro node-flag? boolean
| +--ro ipv4-source-router-id? inet:ipv4-address
| +--ro ipv6-source-router-id? inet:ipv6-address
+--ro local-rib
| +--ro route* [prefix]
| +--ro prefix inet:ip-prefix
| +--ro next-hops
| | +--ro next-hop* [next-hop]
| | +--ro outgoing-interface? if:interface-ref
| | +--ro next-hop inet:ip-address
| +--ro metric? uint32
| +--ro level? level-number
| +--ro route-tag? uint32
+--ro system-counters
+--ro level* [level]
+--ro level level-number
+--ro corrupted-lsps? uint32
+--ro authentication-type-fails? uint32
+--ro authentication-fails? uint32
+--ro database-overload? uint32
+--ro own-lsp-purge? uint32
+--ro manual-address-drop-from-area? uint32
+--ro max-sequence? uint32
+--ro sequence-number-skipped? uint32
+--ro id-len-mismatch? uint32
+--ro partition-changes? uint32
+--ro lsp-errors? uint32
+--ro spf-runs? uint32
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
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
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 22, line 38 skipping to change at page 30, line 10
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-07-25.yang" <CODE BEGINS> file "ietf-isis@2017-11-20.yang"
module ietf-isis { module ietf-isis {
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";
} }
skipping to change at page 24, line 11 skipping to change at page 31, line 30
&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."; ISIS common across all of the vendor implementations.";
revision 2017-07-25 { revision 2017-11-20 {
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 ISIS routing protocol.";
skipping to change at page 33, line 4 skipping to change at page 40, line 24
description description
"List of operational adjacencies."; "List of operational adjacencies.";
} }
description description
"This container lists the adjacencies of "This container lists the adjacencies of
the local node."; the local node.";
} }
description description
"Adjacency state"; "Adjacency state";
} }
grouping fast-reroute-global-state { grouping fast-reroute-global-state {
container protected-routes { container protected-routes {
config false; config false;
list af-stats { list af-stats {
key "af prefix alternate"; key "af prefix alternate";
leaf af { leaf af {
type identityref { type iana-rt-types:address-family;
base iana-rt-types:address-family;
}
description description
"Address-family"; "Address-family";
} }
leaf prefix { leaf prefix {
type string; type string;
description description
"Protected prefix."; "Protected prefix.";
} }
leaf alternate { leaf alternate {
type string; type string;
skipping to change at page 35, line 39 skipping to change at page 43, line 8
description description
"List of prefixes that are protected."; "List of prefixes that are protected.";
} }
container nonprotected-routes { container nonprotected-routes {
config false; config false;
list af-stats { list af-stats {
key "af prefix"; key "af prefix";
leaf af { leaf af {
type identityref { type iana-rt-types:address-family;
base iana-rt-types:address-family;
}
description description
"Address-family"; "Address-family";
} }
leaf prefix { leaf prefix {
type string; type string;
description description
"Protected prefix."; "Protected prefix.";
} }
description description
"Per AF statistics."; "Per AF statistics.";
skipping to change at page 36, line 22 skipping to change at page 43, line 37
config false; config false;
leaf frr-protection-method { leaf frr-protection-method {
type string; type string;
description description
"Protection method used."; "Protection method used.";
} }
list af-stats { list af-stats {
key af; key af;
leaf af { leaf af {
type identityref { type iana-rt-types:address-family;
base iana-rt-types:address-family;
}
description description
"Address-family"; "Address-family";
} }
leaf total-routes { leaf total-routes {
type uint32; type uint32;
description description
"Total prefixes."; "Total prefixes.";
} }
leaf unprotected-routes { leaf unprotected-routes {
type uint32; type uint32;
skipping to change at page 52, line 47 skipping to change at page 60, line 16
description "level-2 specific cfg"; description "level-2 specific cfg";
} }
description "Default metric global cfg."; description "Default metric global cfg.";
} }
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 identityref { type iana-rt-types:address-family;
base iana-rt-types:address-family;
}
description description
"Address-family"; "Address-family";
} }
leaf enable { leaf enable {
type boolean; type boolean;
description description
"Describes the activation state of the "Describes the activation state of the
AF."; AF.";
} }
description description
"This list permits activation "This list permits activation
of new address families."; of new address families.";
skipping to change at page 58, line 15 skipping to change at page 65, line 30
"; ";
} }
description description
"BFD configuration."; "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 identityref { type iana-rt-types:address-family;
base iana-rt-types:address-family;
}
description description
"Address-family"; "Address-family";
} }
description description
"List of AFs."; "List of AFs.";
} }
description description
"Container for address-families"; "Container for address-families";
} }
container mpls { container mpls {
skipping to change at page 83, line 26 skipping to change at page 90, line 40
description description
"This container describes ISIS Link State "This container describes ISIS Link State
databases."; databases.";
} }
description description
"Grouping for LSDB description."; "Grouping for LSDB description.";
} }
/* Augmentations */ /* Augmentations */
augment "/rt:routing-state/" 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 "ISIS-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 ISIS-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 98, line 39 skipping to change at page 106, line 7
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 -17 to version -18 11.1. From version -18 to version -19
o Align with draft-ietf-netmod-rfc8022bis.
o Modify address family types as per draft-ietf-rtgwg-routing-types-
17.
11.2. 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.2. From version -16 to version -17 11.3. 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.3. From version -15 to version -16 11.4. 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.4. From version -14 to version -15 11.5. 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 99, line 40 skipping to change at page 107, line 15
* 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.5. From version -13 to version -14 11.6. 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.6. From version -12 to version -13 11.7. 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.7. From version -09 to version -12 11.8. From version -09 to version -12
o Rename node-tag container to node-tags. o Rename node-tag container to node-tags.
11.8. From version -08 to version -09 11.9. 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.9. From version -07 to version -08 11.10. 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.10. From version -05 to version -07 11.11. 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.11. From version -03 to version -05 11.12. 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.12. From version -02 to version -03 11.13. 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.13. From version -01 to version -02 11.14. 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 101, line 45 skipping to change at page 109, line 21
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.14. From version -00 to version -01 11.15. From version -00 to version -01
o Interface metric move from af container to interface container. o Interface metric move from af container to interface container.
o Hello-padding on interface moved to hello-padding-disable with o Hello-padding on interface moved to hello-padding-disable with
empty type. empty type.
o three-way-handshake removed. o three-way-handshake removed.
o route preference changed to a choice. o route preference changed to a choice.
skipping to change at page 102, line 40 skipping to change at page 110, line 19
Management", draft-ietf-netmod-routing-cfg-25 (work in Management", draft-ietf-netmod-routing-cfg-25 (work in
progress), November 2016. progress), November 2016.
[I-D.ietf-rtgwg-yang-key-chain] [I-D.ietf-rtgwg-yang-key-chain]
Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang, Lindem, A., Qu, Y., Yeung, D., Chen, I., and Z. Zhang,
"Routing Key Chain YANG Data Model", draft-ietf-rtgwg- "Routing Key Chain YANG Data Model", draft-ietf-rtgwg-
yang-key-chain-24 (work in progress), April 2017. yang-key-chain-24 (work in progress), April 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
RFC2119, March 1997, RFC2119, March 1997, <https://www.rfc-editor.org/info/
<http://www.rfc-editor.org/info/rfc2119>. rfc2119>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc3688>. editor.org/info/rfc3688>.
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
Topology (MT) Routing in Intermediate System to Topology (MT) Routing in Intermediate System to
Intermediate Systems (IS-ISs)", RFC 5120, DOI 10.17487/ Intermediate Systems (IS-ISs)", RFC 5120, DOI 10.17487/
RFC5120, February 2008, RFC5120, February 2008, <https://www.rfc-editor.org/info/
<http://www.rfc-editor.org/info/rfc5120>. rfc5120>.
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
IP Fast Reroute: Loop-Free Alternates", RFC 5286, DOI IP Fast Reroute: Loop-Free Alternates", RFC 5286, DOI
10.17487/RFC5286, September 2008, 10.17487/RFC5286, September 2008, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc5286>. editor.org/info/rfc5286>.
[RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP
Synchronization", RFC 5443, DOI 10.17487/RFC5443, March Synchronization", RFC 5443, DOI 10.17487/RFC5443, March
2009, <http://www.rfc-editor.org/info/rfc5443>. 2009, <https://www.rfc-editor.org/info/rfc5443>.
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for
the Network Configuration Protocol (NETCONF)", RFC 6020, the Network Configuration Protocol (NETCONF)", RFC 6020,
DOI 10.17487/RFC6020, October 2010, DOI 10.17487/RFC6020, October 2010, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc6020>. editor.org/info/rfc6020>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>. <https://www.rfc-editor.org/info/rfc6241>.
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011,
<http://www.rfc-editor.org/info/rfc6242>. <https://www.rfc-editor.org/info/rfc6242>.
[RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
Protocol (NETCONF) Access Control Model", RFC 6536, DOI Protocol (NETCONF) Access Control Model", RFC 6536, DOI
10.17487/RFC6536, March 2012, 10.17487/RFC6536, March 2012, <https://www.rfc-
<http://www.rfc-editor.org/info/rfc6536>. editor.org/info/rfc6536>.
[RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N. [RFC7490] Bryant, S., Filsfils, C., Previdi, S., Shand, M., and N.
So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)", So, "Remote Loop-Free Alternate (LFA) Fast Reroute (FRR)",
RFC 7490, DOI 10.17487/RFC7490, April 2015, RFC 7490, DOI 10.17487/RFC7490, April 2015,
<http://www.rfc-editor.org/info/rfc7490>. <https://www.rfc-editor.org/info/rfc7490>.
Appendix A. Example of IS-IS configuration in XML Appendix A. Example of IS-IS configuration in XML
This section gives an example of configuration of an IS-IS instance This section gives an example of configuration of an IS-IS instance
on a device. The example is written in XML. on a device. The example is written in XML.
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"> <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing"> <routing xmlns="urn:ietf:params:xml:ns:yang:ietf-routing">
<name>SLI</name> <name>SLI</name>
 End of changes. 43 change blocks. 
88 lines changed or deleted 443 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/