draft-ietf-isis-yang-isis-cfg-29.txt   draft-ietf-isis-yang-isis-cfg-30.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: June 30, 2019 Arrcus, Inc Expires: July 22, 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
December 27, 2018 January 18, 2019
YANG Data Model for IS-IS protocol YANG Data Model for IS-IS protocol
draft-ietf-isis-yang-isis-cfg-29 draft-ietf-isis-yang-isis-cfg-30
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 June 30, 2019. This Internet-Draft will expire on July 22, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 37 skipping to change at page 2, line 37
2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 11 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 11
2.5. Authentication Parameters . . . . . . . . . . . . . . . . 18 2.5. Authentication Parameters . . . . . . . . . . . . . . . . 18
2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 18 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . . 18
2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 18 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 18
2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9. Operational States . . . . . . . . . . . . . . . . . . . 19 2.9. Operational States . . . . . . . . . . . . . . . . . . . 19
3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 20 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 20
4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 20 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 20
5. Interaction with Other YANG Modules . . . . . . . . . . . . . 21 5. Interaction with Other YANG Modules . . . . . . . . . . . . . 21
6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 22 6. IS-IS YANG Module . . . . . . . . . . . . . . . . . . . . . . 22
7. Security Considerations . . . . . . . . . . . . . . . . . . . 101 7. Security Considerations . . . . . . . . . . . . . . . . . . . 102
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 102 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 103
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 102 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 103
10. Change log for ietf-isis YANG module . . . . . . . . . . . . 102 10. Change log for ietf-isis YANG module . . . . . . . . . . . . 103
10.1. From version -28 to version -29 . . . . . . . . . . . . 102 10.1. From version -29 to version -30 . . . . . . . . . . . . 103
10.2. From version -27 to version -28 . . . . . . . . . . . . 103 10.2. From version -28 to version -29 . . . . . . . . . . . . 104
10.3. From version -26 to version -27 . . . . . . . . . . . . 103 10.3. From version -27 to version -28 . . . . . . . . . . . . 104
10.4. From version -25 to version -26 . . . . . . . . . . . . 103 10.4. From version -26 to version -27 . . . . . . . . . . . . 104
10.5. From version -24 to version -25 . . . . . . . . . . . . 103 10.5. From version -25 to version -26 . . . . . . . . . . . . 104
10.6. From version -22 to version -24 . . . . . . . . . . . . 104 10.6. From version -24 to version -25 . . . . . . . . . . . . 104
10.7. From version -21 to version -22 . . . . . . . . . . . . 104 10.7. From version -22 to version -24 . . . . . . . . . . . . 105
10.8. From version -20 to version -21 . . . . . . . . . . . . 104 10.8. From version -21 to version -22 . . . . . . . . . . . . 106
10.9. From version -19 to version -20 . . . . . . . . . . . . 104 10.9. From version -20 to version -21 . . . . . . . . . . . . 106
10.10. From version -18 to version -19 . . . . . . . . . . . . 104 10.10. From version -19 to version -20 . . . . . . . . . . . . 106
10.11. From version -17 to version -18 . . . . . . . . . . . . 105 10.11. From version -18 to version -19 . . . . . . . . . . . . 106
10.12. From version -16 to version -17 . . . . . . . . . . . . 105 10.12. From version -17 to version -18 . . . . . . . . . . . . 106
10.13. From version -15 to version -16 . . . . . . . . . . . . 105 10.13. From version -16 to version -17 . . . . . . . . . . . . 106
10.14. From version -14 to version -15 . . . . . . . . . . . . 105 10.14. From version -15 to version -16 . . . . . . . . . . . . 107
10.15. From version -13 to version -14 . . . . . . . . . . . . 106 10.15. From version -14 to version -15 . . . . . . . . . . . . 107
10.16. From version -12 to version -13 . . . . . . . . . . . . 106 10.16. From version -13 to version -14 . . . . . . . . . . . . 107
10.17. From version -09 to version -12 . . . . . . . . . . . . 106 10.17. From version -12 to version -13 . . . . . . . . . . . . 107
10.18. From version -08 to version -09 . . . . . . . . . . . . 106 10.18. From version -09 to version -12 . . . . . . . . . . . . 108
10.19. From version -07 to version -08 . . . . . . . . . . . . 106 10.19. From version -08 to version -09 . . . . . . . . . . . . 108
10.20. From version -05 to version -07 . . . . . . . . . . . . 106 10.20. From version -07 to version -08 . . . . . . . . . . . . 108
10.21. From version -03 to version -05 . . . . . . . . . . . . 107 10.21. From version -05 to version -07 . . . . . . . . . . . . 108
10.22. From version -02 to version -03 . . . . . . . . . . . . 107 10.22. From version -03 to version -05 . . . . . . . . . . . . 108
10.23. From version -01 to version -02 . . . . . . . . . . . . 107 10.23. From version -02 to version -03 . . . . . . . . . . . . 109
10.24. From version -00 to version -01 . . . . . . . . . . . . 108 10.24. From version -01 to version -02 . . . . . . . . . . . . 109
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 108 10.25. From version -00 to version -01 . . . . . . . . . . . . 109
11.1. Normative References . . . . . . . . . . . . . . . . . . 108 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 110
11.2. Informative References . . . . . . . . . . . . . . . . . 112 11.1. Normative References . . . . . . . . . . . . . . . . . . 110
Appendix A. Example of IS-IS configuration in XML . . . . . . . 112 11.2. Informative References . . . . . . . . . . . . . . . . . 114
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 114 Appendix A. Example of IS-IS configuration in XML . . . . . . . 114
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 116
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 5, line 31 skipping to change at page 5, line 33
+--ro spf-log +--ro spf-log
| +--ro event* [id] | +--ro event* [id]
| ... | ...
+--ro lsp-log +--ro lsp-log
| +--ro event* [id] | +--ro event* [id]
| ... | ...
+--ro hostnames +--ro hostnames
| +--ro hostname* [system-id] | +--ro hostname* [system-id]
| ... | ...
+--ro database +--ro database
| +--ro level-db* [level] | +--ro levels* [level]
| ... | ...
+--ro local-rib +--ro local-rib
| +--ro route* [prefix] | +--ro route* [prefix]
| ... | ...
+--ro system-counters +--ro system-counters
| +--ro level* [level] | +--ro level* [level]
| ... | ...
+--ro protected-routes +--ro protected-routes
| +--ro address-family-stats* [address-family prefix alternate] | +--ro address-family-stats* [address-family prefix alternate]
| ... | ...
skipping to change at page 18, line 26 skipping to change at page 18, line 26
+--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, CSNPs and LSPs with the authentication parameters supplied. PSNPs (Partial Sequence Number Packets), CSNPs (Complete Sequence
The authentication of hello PDUs can be activated on a per interface Number Packets) and LSPs (Link State Packets) with the authentication
basis. parameters supplied. The authentication of HELLO PDUs (Protocol Data
Units) can be activated on a per interface basis.
2.6. IGP/LDP synchronization 2.6. IGP/LDP synchronization
[RFC5443] defines a mechanism where IGP needs to be synchronized with [RFC5443] defines a mechanism where IGP (Interior Gateway Protocol)
LDP. An "ldp-igp-sync" feature has been defined in the model to needs to be synchronized with LDP (Label Distribution Protocol). An
support this mechanism. The "mpls/ldp/igp-sync" leaf under "ldp-igp-sync" feature has been defined in the model to support this
"interface" allows activation of the mechanism on a per interface mechanism. The "mpls/ldp/igp-sync" leaf under "interface" allows
basis. The "mpls/ldp/igp-sync" container in the global configuration activation of the mechanism on a per interface basis. The "mpls/ldp/
is empty on purpose and is not required for the activation. The goal igp-sync" container in the global configuration is empty on purpose
of this empty container is to allow easy augmentation with additional and is not required for the activation. The goal of this empty
parameters like timers for example. container is to allow easy augmentation with additional parameters
like timers for example.
2.7. ISO parameters 2.7. ISO parameters
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 ([RFC5286]) and remote LFA ([RFC7490]) This YANG model supports LFA (Loop Free Alternates) ([RFC5286]) and
as IP FRR techniques. The "fast-reroute" container may be augmented remote LFA ([RFC7490]) as IP FRR techniques. The "fast-reroute"
by other models to support other IPFRR flavors (MRT, TILFA ...). container may be augmented by other models to support other IPFRR
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
enabled if LFA is not enabled. enabled if LFA is not enabled.
The "candidate-disabled" allows to mark an interface to not be used The "candidate-disabled" allows to mark an interface to not be used
skipping to change at page 19, line 48 skipping to change at page 19, line 49
o lsp-log: provides informations about LSP events on the node o lsp-log: provides informations about LSP events on the node
(reception of an LSP or modification of local LSP). This SHOULD (reception of an LSP or modification of local LSP). This SHOULD
be implemented as a wrapping buffer and an implementation MAY be implemented as a wrapping buffer and an implementation MAY
decide to log refresh LSPs or not. decide to log refresh LSPs or not.
o local-rib: provides the IS-IS internal routing table view. o local-rib: provides the IS-IS internal routing table view.
o database: provides details on the current LSDB. o database: provides details on the current LSDB.
o hostnames: provides informations about system-id to hostname o hostnames: provides informations about system-id to hostname
mappings. mappings (as defined in [RFC5301]).
o fast-reroute: provides informations about IP FRR. o fast-reroute: provides informations about IP FRR.
3. RPC Operations 3. RPC Operations
The "ietf-isis" module defines two RPC operations: The "ietf-isis" module defines two RPC operations:
o clear-database: reset the content of a particular IS-IS database o clear-database: reset the content of a particular IS-IS database
and restart database synchronization with the neighbors. and restart database synchronization with the neighbors.
skipping to change at page 22, line 10 skipping to change at page 22, line 10
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@2018-12-27.yang" <CODE BEGINS> file "ietf-isis@2019-01-18.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
skipping to change at page 24, line 21 skipping to change at page 24, line 21
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
(http://trustee.ietf.org/license-info). (http://trustee.ietf.org/license-info).
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.
revision 2018-12-27 { The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED',
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document
are to be interpreted as described in BCP 14 [RFC2119] [RFC8174]
when, and only when, they appear in all capitals, as shown here.
";
revision 2019-01-18 {
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 29, line 49 skipping to change at page 30, line 8
} }
typedef lsp-id { typedef lsp-id {
type string { type string {
pattern pattern
'[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]' '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]'
+'{4}\.[0-9][0-9]-[0-9][0-9]'; +'{4}\.[0-9][0-9]-[0-9][0-9]';
} }
description description
"This type defines the IS-IS LSP ID format using a "This type defines the IS-IS LSP ID format using a
pattern, An example LSP ID is 0143.0438.AEF0.02-01"; pattern. An example LSP ID is 0143.0438.AEF0.02-01";
} }
typedef area-address { typedef area-address {
type string { type string {
pattern '[0-9A-Fa-f]{2}(\.[0-9A-Fa-f]{4}){0,6}'; pattern '[0-9A-Fa-f]{2}(\.[0-9A-Fa-f]{4}){0,6}';
} }
description description
"This type defines the area address format."; "This type defines the area address format.";
} }
typedef snpa { typedef snpa {
type string { type string {
skipping to change at page 30, line 18 skipping to change at page 30, line 25
description description
"This type defines the area address format."; "This type defines the area address format.";
} }
typedef snpa { typedef snpa {
type string { type string {
length "0 .. 20"; length "0 .. 20";
} }
description description
"This type defines the Subnetwork Point "This type defines the Subnetwork Point
of Attachement (SNPA) format."; of Attachement (SNPA) format.
The SNPA should be encoded according to the rules
specified for the particular type of subnetwork
being used. As an example, for an ethernet subnetwork,
the SNPA is encoded as a MAC address like 00aa.bbcc.ddee";
} }
typedef system-id { typedef system-id {
type string { type string {
pattern pattern
'[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}'; '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}';
} }
description description
"This type defines IS-IS system-id using pattern, "This type defines IS-IS system-id using pattern,
An example system-id is 0143.0438.AEF0"; An example system-id is 0143.0438.AEF0";
} }
typedef extended-system-id { typedef extended-system-id {
type string { type string {
pattern pattern
'[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9][0-9]'; '[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9][0-9]';
} }
description description
"This type defines IS-IS system-id using pattern. The extended "This type defines IS-IS system-id using pattern. The extended
system id contains the pseudonode number in addition to the system-id contains the pseudonode number in addition to the
system id. system-id.
An example system-id is 0143.0438.AEF0.00"; An example system-id is 0143.0438.AEF0.00";
} }
typedef wide-metric { typedef wide-metric {
type uint32 { type uint32 {
range "0 .. 16777215"; range "0 .. 16777215";
} }
description description
"This type defines wide style format of IS-IS metric."; "This type defines wide style format of IS-IS metric.";
} }
typedef std-metric { typedef std-metric {
type uint8 { type uint8 {
skipping to change at page 34, line 8 skipping to change at page 34, line 17
config false; config false;
list address-family-stats { list address-family-stats {
key "address-family prefix alternate"; key "address-family prefix alternate";
leaf address-family { leaf address-family {
type iana-rt-types:address-family; type iana-rt-types:address-family;
description description
"Address-family"; "Address-family";
} }
leaf prefix { leaf prefix {
type string; type inet:ip-prefix;
description description
"Protected prefix."; "Protected prefix.";
} }
leaf alternate { leaf alternate {
type string; type inet:ip-address;
description description
"Alternate nexthop for the prefix."; "Alternate nexthop for the prefix.";
} }
leaf alternate-type { leaf alternate-type {
type enumeration { type enumeration {
enum equal-cost { enum equal-cost {
description description
"ECMP alternate."; "ECMP alternate.";
} }
enum lfa { enum lfa {
skipping to change at page 35, line 7 skipping to change at page 35, line 17
description description
"Unknown alternate type."; "Unknown alternate type.";
} }
} }
description description
"Type of alternate."; "Type of alternate.";
} }
leaf best { leaf best {
type boolean; type boolean;
description description
"Indicates if the alternate is the preferred."; "Is set when the alternate is the preferred one,
is unset otherwise.";
} }
leaf non-best-reason { leaf non-best-reason {
type string; type string {
length "1..255";
}
description description
"Information field to describe why the alternate "Information field to describe why the alternate
is not best."; is not best. The length should be limited to 255 unicode
characters. The expected format is a single line text.";
} }
leaf protection-available { leaf protection-available {
type bits { type bits {
bit node-protect { bit node-protect {
position 0; position 0;
description description
"Node protection available."; "Node protection available.";
} }
bit link-protect { bit link-protect {
position 1; position 1;
skipping to change at page 36, line 31 skipping to change at page 36, line 44
config false; config false;
list address-family-stats { list address-family-stats {
key "address-family prefix"; key "address-family prefix";
leaf address-family { leaf address-family {
type iana-rt-types:address-family; type iana-rt-types:address-family;
description "Address-family"; description "Address-family";
} }
leaf prefix { leaf prefix {
type string; type inet:ip-prefix;
description "Unprotected prefix."; description "Unprotected prefix.";
} }
description description
"Per AF unprotected prefix statistics."; "Per AF unprotected prefix statistics.";
} }
description description
"List of prefixes that are not protected."; "List of prefixes that are not protected.";
} }
list protection-statistics { list protection-statistics {
key frr-protection-method; key frr-protection-method;
config false; config false;
leaf frr-protection-method { leaf frr-protection-method {
type string; type string;
description "Protection method used."; description "Protection method used.
The expected format is a single word.
As example: LFA,rLFA, MRT, RSVP-TE...";
} }
list address-family-stats { list address-family-stats {
key address-family; key address-family;
leaf address-family { leaf address-family {
type iana-rt-types:address-family; type iana-rt-types:address-family;
description "Address-family"; description "Address-family";
} }
leaf total-routes { leaf total-routes {
skipping to change at page 44, line 18 skipping to change at page 44, line 33
leaf key-chain { leaf key-chain {
type key-chain:key-chain-ref; type key-chain:key-chain-ref;
description description
"Reference to a key-chain."; "Reference to a key-chain.";
} }
} }
case password { case password {
leaf key { leaf key {
type string; type string;
description description
"This leaf specifies the authentication key."; "This leaf specifies the authentication key. The
length of the key may be dependent on the
cryptographic algorithm. In cases where it is
not, a key length of at least 32 octets should be
supported to allow for interoperability with
strong keys.";
} }
leaf crypto-algorithm { leaf crypto-algorithm {
type identityref { type identityref {
base key-chain:crypto-algorithm; base key-chain:crypto-algorithm;
} }
description description
"Cryptographic algorithm associated with key."; "Cryptographic algorithm associated with key.";
} }
} }
description "Choice of authentication."; description "Choice of authentication.";
skipping to change at page 46, line 33 skipping to change at page 47, line 4
"Global route preference grouping"; "Global route preference grouping";
} }
grouping hello-authentication-cfg { grouping hello-authentication-cfg {
choice authentication-type { choice authentication-type {
case key-chain { case key-chain {
if-feature key-chain; if-feature key-chain;
leaf key-chain { leaf key-chain {
type key-chain:key-chain-ref; type key-chain:key-chain-ref;
description "Reference to a key-chain."; description "Reference to a key-chain.";
} }
} }
case password { case password {
leaf key { leaf key {
type string; type string;
description "Authentication key specification"; description "Authentication key specification - The
length of the key may be dependent on the
cryptographic algorithm. In cases where it is
not, a key length of at leawt 32 octets should be
supported to allow for interoperability with
strong
keys.";
} }
leaf crypto-algorithm { leaf crypto-algorithm {
type identityref { type identityref {
base key-chain:crypto-algorithm; base key-chain:crypto-algorithm;
} }
description description
"Cryptographic algorithm associated with key."; "Cryptographic algorithm associated with key.";
} }
} }
description "Choice of authentication."; description "Choice of authentication.";
skipping to change at page 52, line 39 skipping to change at page 53, line 16
leaf level-type { leaf level-type {
type level; type level;
default "level-all"; default "level-all";
description description
"Level of an IS-IS node - can be level-1, "Level of an IS-IS node - can be level-1,
level-2 or level-all."; level-2 or level-all.";
} }
leaf system-id { leaf system-id {
type system-id; type system-id;
description "System-id of the node."; description "system-id of the node.";
} }
leaf maximum-area-addresses { leaf maximum-area-addresses {
if-feature maximum-area-addresses; if-feature maximum-area-addresses;
type uint8; type uint8;
default 3; default 3;
description "Maximum areas supported."; description "Maximum areas supported.";
} }
leaf-list area-address { leaf-list area-address {
skipping to change at page 58, line 50 skipping to change at page 59, line 27
/* Grouping for the hostname database */ /* Grouping for the hostname database */
grouping hostname-db { grouping hostname-db {
container hostnames { container hostnames {
config false; config false;
list hostname { list hostname {
key system-id; key system-id;
leaf system-id { leaf system-id {
type system-id; type system-id;
description description
"System-id associated with the hostname."; "system-id associated with the hostname.";
} }
leaf hostname { leaf hostname {
type string; type string {
length "1..255";
}
description description
"Hostname associated with the system ID."; "Hostname associated with the system-id
as defined in RFC5301.";
} }
description description
"List of system-id/hostname associations."; "List of system-id/hostname associations.";
} }
description description
"Hostname to system-id mapping database."; "Hostname to system-id mapping database.";
} }
description description
"Grouping for hostname to system-id mapping database."; "Grouping for hostname to system-id mapping database.";
} }
skipping to change at page 65, line 36 skipping to change at page 66, line 16
leaf end-timestamp { leaf end-timestamp {
type yang:timestamp; type yang:timestamp;
description description
"Timestamp of when the SPF computation ended."; "Timestamp of when the SPF computation ended.";
} }
list trigger-lsp { list trigger-lsp {
key "lsp"; key "lsp";
leaf lsp { leaf lsp {
type lsp-id; type lsp-id;
description description
"LSPID of the LSP triggering SPF computation."; "LSP ID of the LSP triggering SPF computation.";
} }
leaf sequence { leaf sequence {
type uint32; type uint32;
description description
"Sequence number of the LSP triggering SPF "Sequence number of the LSP triggering SPF
computation"; computation";
} }
description description
"This list includes the LSPs that triggered the "This list includes the LSPs that triggered the
SPF computation."; SPF computation.";
skipping to change at page 66, line 30 skipping to change at page 67, line 11
} }
leaf level { leaf level {
type level-number; type level-number;
description description
"IS-IS level number for LSP"; "IS-IS level number for LSP";
} }
container lsp { container lsp {
leaf lsp { leaf lsp {
type lsp-id; type lsp-id;
description description
"LSPID of the LSP."; "LSP ID of the LSP.";
} }
leaf sequence { leaf sequence {
type uint32; type uint32;
description description
"Sequence number of the LSP."; "Sequence number of the LSP.";
} }
description description
"LSP identification container - either the received "LSP identification container - either the received
LSP or the locally generated LSP."; LSP or the locally generated LSP.";
} }
skipping to change at page 69, line 4 skipping to change at page 69, line 31
grouping prefix-ipv6-source-router-id { grouping prefix-ipv6-source-router-id {
description description
"Grouping for the IPv6 source router ID of a prefix "Grouping for the IPv6 source router ID of a prefix
advertisement."; advertisement.";
leaf ipv6-source-router-id { leaf ipv6-source-router-id {
type inet:ipv6-address; type inet:ipv6-address;
description "IPv6 Source router ID address."; description "IPv6 Source router ID address.";
} }
} }
grouping prefix-attributes-extension { grouping prefix-attributes-extension {
description "Prefix extended attributes."; description "Prefix extended attributes
as defined in RFC7794.";
uses prefix-reachability-attributes; uses prefix-reachability-attributes;
uses prefix-ipv4-source-router-id; uses prefix-ipv4-source-router-id;
uses prefix-ipv6-source-router-id; uses prefix-ipv6-source-router-id;
} }
grouping prefix-ipv4-std { grouping prefix-ipv4-std {
description description
"Grouping for attributes of an IPv4 standard prefix."; "Grouping for attributes of an IPv4 standard prefix
leaf up-down { as defined in RFC1195.";
type boolean;
description "Value of up/down bit.";
}
leaf i-e {
type boolean;
description "Value of I/E bit.";
}
leaf ip-prefix { leaf ip-prefix {
type inet:ipv4-address; type inet:ipv4-address;
description "IPv4 prefix address"; description "IPv4 prefix address";
} }
leaf prefix-len { leaf prefix-len {
type uint8; type uint8;
description "IPv4 prefix length (in bits)"; description "IPv4 prefix length (in bits)";
} }
leaf default-metric { leaf i-e {
type std-metric; type boolean;
description "Default IS-IS metric for IPv4 prefix"; description "Internal or External (I/E) Metric bit value.";
}
container default-metric {
leaf metric {
type std-metric;
description "Default IS-IS metric for IPv4 prefix";
}
description "IS-IS default metric container.";
} }
container delay-metric { container delay-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description "IS-IS delay metric for IPv4 prefix"; description "IS-IS delay metric for IPv4 prefix";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description description
skipping to change at page 70, line 24 skipping to change at page 71, line 4
container error-metric { container error-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description description
"This leaf describes the IS-IS error metric value"; "This leaf describes the IS-IS error metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description "IS-IS error metric for IPv4 prefix"; description "IS-IS error metric for IPv4 prefix";
} }
description "IS-IS error metric container."; description "IS-IS error metric container.";
} }
} }
grouping prefix-ipv4-extended { grouping prefix-ipv4-extended {
description description
"Grouping for attributes of an IPv4 extended prefix."; "Grouping for attributes of an IPv4 extended prefix
as defined in RFC5305.";
leaf up-down { leaf up-down {
type boolean; type boolean;
description "Value of up/down bit."; description "Value of up/down bit.";
} }
leaf ip-prefix { leaf ip-prefix {
type inet:ipv4-address; type inet:ipv4-address;
description "IPv4 prefix address"; description "IPv4 prefix address";
} }
leaf prefix-len { leaf prefix-len {
type uint8; type uint8;
skipping to change at page 71, line 15 skipping to change at page 71, line 44
} }
leaf-list tag64 { leaf-list tag64 {
type uint64; type uint64;
description description
"List of 32-bit tags associated with the IPv4 prefix."; "List of 32-bit tags associated with the IPv4 prefix.";
} }
uses prefix-attributes-extension; uses prefix-attributes-extension;
} }
grouping prefix-ipv6-extended { grouping prefix-ipv6-extended {
description "Grouping for attributes of an IPv6 prefix."; description "Grouping for attributes of an IPv6 prefix
as defined in RFC5308.";
leaf up-down { leaf up-down {
type boolean; type boolean;
description "Value of up/down bit."; description "Value of up/down bit.";
} }
leaf ip-prefix { leaf ip-prefix {
type inet:ipv6-address; type inet:ipv6-address;
description "IPv6 prefix address"; description "IPv6 prefix address";
} }
leaf prefix-len { leaf prefix-len {
type uint8; type uint8;
description "IPv4 prefix length (in bits)"; description "IPv4 prefix length (in bits)";
} }
leaf metric { leaf metric {
type wide-metric; type wide-metric;
description "IS-IS wide metric value"; description "IS-IS wide metric value";
} }
leaf-list tag { leaf-list tag {
skipping to change at page 78, line 16 skipping to change at page 78, line 46
priorities."; priorities.";
} }
} }
} }
grouping neighbor-extended { grouping neighbor-extended {
description description
"Grouping for attributes of an IS-IS extended neighbor."; "Grouping for attributes of an IS-IS extended neighbor.";
leaf neighbor-id { leaf neighbor-id {
type extended-system-id; type extended-system-id;
description "System-id of the extended neighbor."; description "system-id of the extended neighbor.";
} }
container instances { container instances {
description "List of all adjacencies between the local description "List of all adjacencies between the local
system and the neighbor system-id."; system and the neighbor system-id.";
list instance { list instance {
key id; key id;
leaf id { leaf id {
type uint32; type uint32;
description "Unique identifier of an instance of a description "Unique identifier of an instance of a
skipping to change at page 79, line 18 skipping to change at page 79, line 47
leaf id { leaf id {
type uint32; type uint32;
description "Unique identifier of an instance of a description "Unique identifier of an instance of a
particular neighbor."; particular neighbor.";
} }
leaf i-e { leaf i-e {
type boolean; type boolean;
description description
"Internal or External (I/E) Metric bit value"; "Internal or External (I/E) Metric bit value";
} }
leaf default-metric { container default-metric {
type std-metric; leaf metric {
description "IS-IS default metric value"; type std-metric;
description "IS-IS default metric value";
}
description "IS-IS default metric container";
} }
container delay-metric { container delay-metric {
leaf metric { leaf metric {
type std-metric; type std-metric;
description "IS-IS delay metric value"; description "IS-IS delay metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description "IS-IS delay metric supported"; description "IS-IS delay metric supported";
skipping to change at page 80, line 9 skipping to change at page 80, line 43
type std-metric; type std-metric;
description "IS-IS error metric value"; description "IS-IS error metric value";
} }
leaf supported { leaf supported {
type boolean; type boolean;
default "false"; default "false";
description "IS-IS error metric supported"; description "IS-IS error metric supported";
} }
description "IS-IS error metric container"; description "IS-IS error metric container";
} }
description "Instance of a particular adjacency."; description "Instance of a particular adjacency
as defined in ISO10589.";
} }
} }
} }
/* Top level TLVs */ /* Top level TLVs */
grouping tlv132-ipv4-addresses { grouping tlv132-ipv4-addresses {
leaf-list ipv4-addresses { leaf-list ipv4-addresses {
type inet:ipv4-address; type inet:ipv4-address;
description description
skipping to change at page 81, line 25 skipping to change at page 82, line 11
type string; type string;
description description
"Host Name of the IS-IS node - IS-IS reference "Host Name of the IS-IS node - IS-IS reference
is TLV 137."; is TLV 137.";
} }
description "Grouping for TLV137."; description "Grouping for TLV137.";
} }
grouping tlv10-authentication { grouping tlv10-authentication {
container authentication { container authentication {
leaf authentication-type { leaf authentication-type {
type string; type identityref {
base key-chain:crypto-algorithm;
}
description description
"Authentication type to be used with IS-IS node."; "Authentication type to be used with IS-IS node.";
} }
leaf authentication-key { leaf authentication-key {
type string; type string;
description description
"Authentication keyto be used. For security reasons, "Authentication key to be used. For security reasons,
the authentication key MUST NOT be presented in the authentication key MUST NOT be presented in
plaintext format. It is recommended to use an MD5 a clear text format in response to any request
hash to present the authentication-key."; (e.g., via get, get-config).";
} }
description description
"IS-IS node authentication information container - "IS-IS node authentication information container -
IS-IS reference is TLV 10."; IS-IS reference is TLV 10.";
} }
description "Grouping for TLV10."; description "Grouping for TLV10.";
} }
grouping tlv229-mt { grouping tlv229-mt {
container mt-entries { container mt-entries {
list topology { list topology {
skipping to change at page 83, line 49 skipping to change at page 84, line 37
description "Grouping for TLV242."; description "Grouping for TLV242.";
} }
grouping tlv138-srlg { grouping tlv138-srlg {
description description
"Grouping for TLV138."; "Grouping for TLV138.";
container links-srlgs { container links-srlgs {
list links { list links {
leaf neighbor-id { leaf neighbor-id {
type extended-system-id; type extended-system-id;
description "System-id of the extended neighbor."; description "system-id of the extended neighbor.";
} }
leaf flags { leaf flags {
type uint8; type uint8;
description description
"Flags associated with the link."; "Flags associated with the link.";
} }
leaf link-local-id { leaf link-local-id {
type union { type union {
type inet:ip-address; type inet:ip-address;
type uint32; type uint32;
skipping to change at page 89, line 5 skipping to change at page 89, line 41
description description
"IPv6 reachability information container - IS-IS "IPv6 reachability information container - IS-IS
reference is TLV 236."; reference is TLV 236.";
} }
} }
grouping lsdb { grouping lsdb {
description "Link State Database (LSDB) grouping"; description "Link State Database (LSDB) grouping";
container database { container database {
config false; config false;
list level-db { list levels {
key level; key level;
leaf level { leaf level {
type level-number; type level-number;
description "LSDB level number (1 or 2)"; description "LSDB level number (1 or 2)";
} }
list lsp { list lsp {
key lsp-id; key lsp-id;
uses lsp-entry; uses lsp-entry;
description "List of LSPs in LSDB"; description "List of LSPs in LSDB";
skipping to change at page 89, line 16 skipping to change at page 90, line 4
key level; key level;
leaf level { leaf level {
type level-number; type level-number;
description "LSDB level number (1 or 2)"; description "LSDB level number (1 or 2)";
} }
list lsp { list lsp {
key lsp-id; key lsp-id;
uses lsp-entry; uses lsp-entry;
description "List of LSPs in LSDB"; description "List of LSPs in LSDB";
} }
description "LSP list for LSDB level container"; description "List of LSPs for the LSDB level container";
} }
description "IS-IS Link State database container"; description "IS-IS Link State database container";
} }
} }
/* Augmentations */ /* Augmentations */
augment "/rt:routing/" augment "/rt:routing/"
+"rt:ribs/rt:rib/rt:routes/rt:route" { +"rt:ribs/rt:rib/rt:routes/rt:route" {
when "rt:source-protocol = 'isis:isis'" { when "rt:source-protocol = 'isis:isis'" {
skipping to change at page 92, line 10 skipping to change at page 92, line 45
input { input {
leaf routing-protocol-instance-name { leaf routing-protocol-instance-name {
type leafref { type leafref {
path "/rt:routing/rt:control-plane-protocols/" path "/rt:routing/rt:control-plane-protocols/"
+ "rt:control-plane-protocol/rt:name"; + "rt:control-plane-protocol/rt:name";
} }
mandatory "true"; mandatory "true";
description description
"Name of the IS-IS protocol instance whose IS-IS "Name of the IS-IS protocol instance whose IS-IS
information is being queried. adjacency is being cleared.
If the corresponding IS-IS instance doesn't exist, If the corresponding IS-IS instance doesn't exist,
then the operation will fail with an error-tag of then the operation will fail with an error-tag of
'data-missing' and an error-app-tag of 'data-missing' and an error-app-tag of
'routing-protocol-instance-not-found'."; 'routing-protocol-instance-not-found'.";
} }
leaf level { leaf level {
type level; type level;
description description
"IS-IS level of the adjacency to be cleared. If the "IS-IS level of the adjacency to be cleared. If the
IS-IS level is level-1-2, both level 1 and level 2 IS-IS level is level-1-2, both level 1 and level 2
adjacencies would be cleared. adjacencies would be cleared.
If the value provided is different from the one If the value provided is different from the one
authorized in the enum type, then the operation authorized in the enum type, then the operation
skipping to change at page 95, line 29 skipping to change at page 96, line 18
leaf pdu-field-len { leaf pdu-field-len {
type uint8; type uint8;
description "Size of the ID length in the received PDU"; description "Size of the ID length in the received PDU";
} }
leaf raw-pdu { leaf raw-pdu {
type binary; type binary;
description "Received raw PDU."; description "Received raw PDU.";
} }
description description
"This notification is sent when we receive a PDU "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.
The notification generation must be throttled The notification generation must be throttled
with at least 5 seconds betweeen successive with at least 5 seconds betweeen successive
notifications."; notifications.";
} }
notification max-area-addresses-mismatch { notification max-area-addresses-mismatch {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf max-area-addresses { leaf max-area-addresses {
skipping to change at page 96, line 16 skipping to change at page 97, line 5
notification own-lsp-purge { notification own-lsp-purge {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf lsp-id { leaf lsp-id {
type lsp-id; type lsp-id;
description "LSP ID"; description "LSP ID";
} }
description description
"This notification is sent when the system receives "This notification is sent when the system receives
a PDU with its own system ID and zero age."; a PDU with its own system-id and zero age.";
} }
notification sequence-number-skipped { notification sequence-number-skipped {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf lsp-id { leaf lsp-id {
type lsp-id; type lsp-id;
description "LSP ID"; description "LSP ID";
} }
description description
"This notification is sent when the system receives a "This notification is sent when the system receives a
PDU with its own system ID and different contents. The PDU with its own system-id and different contents. The
system has to reoriginate the LSP with a higher sequence system has to reoriginate the LSP with a higher sequence
number."; number.";
} }
notification authentication-type-failure { notification authentication-type-failure {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf raw-pdu { leaf raw-pdu {
type binary; type binary;
description "Received raw PDU."; description "Received raw PDU.";
skipping to change at page 98, line 10 skipping to change at page 98, line 47
notification rejected-adjacency { notification rejected-adjacency {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
leaf raw-pdu { leaf raw-pdu {
type binary; type binary;
description description
"Received raw PDU."; "Received raw PDU.";
} }
leaf reason { leaf reason {
type string; type string {
length "1..255";
}
description description
"The system may provide a reason to reject the "The system may provide a reason to reject the
adjacency. If the reason is not available, adjacency. If the reason is not available,
an empty string will be returned."; an empty string will be returned.
The expected format is a single line text.";
} }
description description
"This notification is sent when the system receives a "This notification is sent when the system receives a
Hello PDU from an IS but does not establish an adjacency Hello PDU from an IS but does not establish an adjacency
for some reason. The notification generation must be for some reason. The notification generation must be
throttled with at least 5 seconds betweeen successive throttled with at least 5 seconds betweeen successive
notifications."; notifications.";
} }
notification protocols-supported-mismatch { notification protocols-supported-mismatch {
skipping to change at page 99, line 34 skipping to change at page 100, line 26
"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 {
length "1..255";
}
description description
"Name of the neighbor. If the name of the neighbor is "Name of the neighbor.
It corresponds to the hostname associated
with the system-id of the neighbor in the
mapping database (RFC5301).
If the name of the neighbor is
not available, it is not returned."; not available, it is not returned.";
} }
leaf neighbor-system-id { leaf neighbor-system-id {
type system-id; type system-id;
description "Neighbor system-id"; description "Neighbor system-id";
} }
leaf state { leaf state {
type adj-state-type; type adj-state-type;
description "New state of the IS-IS adjacency."; description "New state of the IS-IS adjacency.";
} }
leaf reason { leaf reason {
type string; type string {
length "1..255";
}
description description
"If the adjacency is going to DOWN, this leaf provides "If the adjacency is going to DOWN, this leaf provides
a reason for the adjacency going down. The reason is a reason for the adjacency going down. The reason is
provided as a text. If the adjacency is going to UP, no provided as a text. If the adjacency is going to UP, no
reason is provided."; reason is provided. The expected format is a single line
text.";
} }
description description
"This notification is sent when an IS-IS adjacency "This notification is sent when an IS-IS adjacency
moves to Up state or to Down state."; moves to Up state or to Down state.";
} }
notification lsp-received { notification lsp-received {
uses notification-instance-hdr; uses notification-instance-hdr;
uses notification-interface-hdr; uses notification-interface-hdr;
skipping to change at page 102, line 5 skipping to change at page 103, line 7
Some of the readable data nodes in this YANG module may be considered Some of the readable data nodes in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus sensitive or vulnerable in some network environments. It is thus
important to control read access (e.g., via get, get-config, or important to control read access (e.g., via get, get-config, or
notification) to these data nodes. The exposure of the Link State notification) to these data nodes. The exposure of the Link State
Database (LSDB) will expose the detailed topology of the network Database (LSDB) will expose the detailed topology of the network
including authentication parameters. Implementations MUST NOT including authentication parameters. Implementations MUST NOT
provide a configured authentication key in a clear text format in provide a configured authentication key in a clear text format in
response to any request (e.g., via get, get-config). response to any request (e.g., via get, get-config).
For IS-IS authentication, configuration is supported vua the For IS-IS authentication, configuration is supported via the
specification of key-chain [RFC8177] or the direction specification specification of key-chain [RFC8177] or the direction specification
of key and authentication algorithm. Hence, authentification of key and authentication algorithm. Hence, authentification
configuration using the "auth-table-trailer" case in the configuration using the "auth-table-trailer" case in the
"authentication" container inherits the security considerations of "authentication" container inherits the security considerations of
[RFC8177]. This includes the considerations with respect to the [RFC8177]. This includes the considerations with respect to the
local storage and handling of authentication keys. local storage and handling of authentication keys.
Some of the RPC operations in this YANG module may be considered Some of the RPC operations in this YANG module may be considered
sensitive or vulnerable in some network environments. It is thus sensitive or vulnerable in some network environments. It is thus
important to control access to these operations. The OSPF YANG important to control access to these operations. The OSPF YANG
skipping to change at page 102, line 45 skipping to change at page 103, line 47
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
10. Change log for ietf-isis YANG module 10. Change log for ietf-isis YANG module
10.1. From version -28 to version -29 10.1. From version -29 to version -30
o Set a maximum-length of 255 for the non-best-reason leaf.
o Updated some descriptions.
o Renamed "level-db" container to "levels" for consistency reasons.
o Added some RFC references in the YANG model.
o Leaf default-metric of container prefix-ipv4-std is now a
container.
o Changed the description of the authentication and removed the
reference to MD5 as a possible way to hide the password.
o Changed leaf type for authentication type within
tlv10-authentication container.Moved from string to
keychain:crypto-algorithm identity.
o Some admin strings are now limited to a range of 1..255.
o Hostname string in hostname DB is limited to 255 as per RFC5301.
o In FRR stats, "prefix" is now encoded as inet:ip-prefix rather
than a string. "alternate" is now encoded as ip-address.
10.2. From version -28 to version -29
o Fixed area-address type pattern. The authorized number of bytes o Fixed area-address type pattern. The authorized number of bytes
was wrong. was wrong.
10.2. From version -27 to version -28 10.3. From version -27 to version -28
o Fixed non accurate description of level-type leaf. o Fixed non accurate description of level-type leaf.
10.3. From version -26 to version -27 10.4. From version -26 to version -27
o Fixed XPATH to switching-capability leaf in "when" statement of o Fixed XPATH to switching-capability leaf in "when" statement of
psc-specific and tdm-specific containers. psc-specific and tdm-specific containers.
10.4. From version -25 to version -26 10.5. From version -25 to version -26
o Modify BFD reference descriptions. o Modify BFD reference descriptions.
o Fix indentation. o Fix indentation.
o "uses interface-state" was missing. o "uses interface-state" was missing.
10.5. From version -24 to version -25 10.6. From version -24 to version -25
o RPC clear-adjacency uses now an interface reference instead of a o RPC clear-adjacency uses now an interface reference instead of a
string. string.
o Use expanded "address-family" rather than "af" in the model. o Use expanded "address-family" rather than "af" in the model.
o Fix pattern for area-address. o Fix pattern for area-address.
o Removed unnecessary identities. o Removed unnecessary identities.
skipping to change at page 104, line 18 skipping to change at page 105, line 45
OSPF. OSPF.
o Added some link attributes (GMPLS, TE, extended TE, SRLGs) in the o Added some link attributes (GMPLS, TE, extended TE, SRLGs) in the
LSDB. LSDB.
o Added extended-system-id typedef which contains the systemid plus o Added extended-system-id typedef which contains the systemid plus
the pseudonode number. the pseudonode number.
o Add support of POI Purge Originator Identification. o Add support of POI Purge Originator Identification.
10.6. From version -22 to version -24 10.7. From version -22 to version -24
o Fix revision date of the module. o Fix revision date of the module.
10.7. From version -21 to version -22 10.8. From version -21 to version -22
o TE router-id modeling alignment with OSPF. o TE router-id modeling alignment with OSPF.
o Add max-ecmp + feature in spf-control container (alignment with o Add max-ecmp + feature in spf-control container (alignment with
OSPF). OSPF).
10.8. From version -20 to version -21 10.9. From version -20 to version -21
o Model revision date fix o Model revision date fix
10.9. From version -19 to version -20 10.10. From version -19 to version -20
o Moved to Yang 1.1 o Moved to Yang 1.1
o Lower case enumerations o Lower case enumerations
o Add RFC references to features o Add RFC references to features
o Remove segment-routing feature o Remove segment-routing feature
o Modified BFD activation modeling o Modified BFD activation modeling
10.10. From version -18 to version -19 10.11. From version -18 to version -19
o Align with draft-ietf-netmod-rfc8022bis. o Align with draft-ietf-netmod-rfc8022bis.
o Modify address family types as per draft-ietf-rtgwg-routing-types- o Modify address family types as per draft-ietf-rtgwg-routing-types-
17. 17.
10.11. From version -17 to version -18 10.12. 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.
10.12. From version -16 to version -17 10.13. From version -16 to version -17
o Cosmetic fixes. o Cosmetic fixes.
o Use of rt-types model. o Use of rt-types model.
10.13. From version -15 to version -16 10.14. 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.
10.14. From version -14 to version -15 10.15. 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 106, line 5 skipping to change at page 107, line 40
* 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.
10.15. From version -13 to version -14 10.16. 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.
10.16. From version -12 to version -13 10.17. 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.
10.17. From version -09 to version -12 10.18. From version -09 to version -12
o Rename node-tag container to node-tags. o Rename node-tag container to node-tags.
10.18. From version -08 to version -09 10.19. 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.
10.19. From version -07 to version -08 10.20. 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.
10.20. From version -05 to version -07 10.21. 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.
10.21. From version -03 to version -05 10.22. 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.
10.22. From version -02 to version -03 10.23. 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.
10.23. From version -01 to version -02 10.24. 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 108, line 11 skipping to change at page 109, line 45
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.
10.24. From version -00 to version -01 10.25. 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 109, line 5 skipping to change at page 110, line 36
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.ietf-bfd-yang] [I-D.ietf-bfd-yang]
Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and
G. Mirsky, "YANG Data Model for Bidirectional Forwarding G. Mirsky, "YANG Data Model for Bidirectional Forwarding
Detection (BFD)", draft-ietf-bfd-yang-17 (work in Detection (BFD)", draft-ietf-bfd-yang-17 (work in
progress), August 2018. progress), August 2018.
[ISO-10589]
ISO, "Intermediate System to Intermediate System intra-
domain routeing information exchange protocol for use in
conjunction with the protocol for providing the
connectionless-mode network service (ISO 8473)",
International Standard 10589: 2002, Second Edition, 2002.
[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
dual environments", RFC 1195, DOI 10.17487/RFC1195,
December 1990, <https://www.rfc-editor.org/info/rfc1195>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
DOI 10.17487/RFC3688, January 2004, DOI 10.17487/RFC3688, January 2004,
<https://www.rfc-editor.org/info/rfc3688>. <https://www.rfc-editor.org/info/rfc3688>.
[RFC5029] Vasseur, JP. and S. Previdi, "Definition of an IS-IS Link
Attribute Sub-TLV", RFC 5029, DOI 10.17487/RFC5029,
September 2007, <https://www.rfc-editor.org/info/rfc5029>.
[RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi [RFC5120] Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
Topology (MT) Routing in Intermediate System to Topology (MT) Routing in Intermediate System to
Intermediate Systems (IS-ISs)", RFC 5120, Intermediate Systems (IS-ISs)", RFC 5120,
DOI 10.17487/RFC5120, February 2008, DOI 10.17487/RFC5120, February 2008,
<https://www.rfc-editor.org/info/rfc5120>. <https://www.rfc-editor.org/info/rfc5120>.
[RFC5130] Previdi, S., Shand, M., Ed., and C. Martin, "A Policy [RFC5130] Previdi, S., Shand, M., Ed., and C. Martin, "A Policy
Control Mechanism in IS-IS Using Administrative Tags", Control Mechanism in IS-IS Using Administrative Tags",
RFC 5130, DOI 10.17487/RFC5130, February 2008, RFC 5130, DOI 10.17487/RFC5130, February 2008,
<https://www.rfc-editor.org/info/rfc5130>. <https://www.rfc-editor.org/info/rfc5130>.
[RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for [RFC5286] Atlas, A., Ed. and A. Zinin, Ed., "Basic Specification for
IP Fast Reroute: Loop-Free Alternates", RFC 5286, IP Fast Reroute: Loop-Free Alternates", RFC 5286,
DOI 10.17487/RFC5286, September 2008, DOI 10.17487/RFC5286, September 2008,
<https://www.rfc-editor.org/info/rfc5286>. <https://www.rfc-editor.org/info/rfc5286>.
[RFC5301] McPherson, D. and N. Shen, "Dynamic Hostname Exchange
Mechanism for IS-IS", RFC 5301, DOI 10.17487/RFC5301,
October 2008, <https://www.rfc-editor.org/info/rfc5301>.
[RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic
Engineering", RFC 5305, DOI 10.17487/RFC5305, October Engineering", RFC 5305, DOI 10.17487/RFC5305, October
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,
DOI 10.17487/RFC5308, October 2008,
<https://www.rfc-editor.org/info/rfc5308>.
[RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP [RFC5443] Jork, M., Atlas, A., and L. Fang, "LDP IGP
Synchronization", RFC 5443, DOI 10.17487/RFC5443, March Synchronization", RFC 5443, DOI 10.17487/RFC5443, March
2009, <https://www.rfc-editor.org/info/rfc5443>. 2009, <https://www.rfc-editor.org/info/rfc5443>.
[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,
 End of changes. 95 change blocks. 
139 lines changed or deleted 254 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/