rfc9130.txt   rfc9130-13Oct2021.txt 
skipping to change at line 12 skipping to change at line 12
Internet Engineering Task Force (IETF) S. Litkowski, Ed. Internet Engineering Task Force (IETF) S. Litkowski, Ed.
Request for Comments: 9130 Cisco Systems Request for Comments: 9130 Cisco Systems
Category: Standards Track D. Yeung Category: Standards Track D. Yeung
ISSN: 2070-1721 Arrcus, Inc. ISSN: 2070-1721 Arrcus, Inc.
A. Lindem A. Lindem
Cisco Systems Cisco Systems
J. Zhang J. Zhang
Juniper Networks Juniper Networks
L. Lhotka L. Lhotka
CZ.NIC CZ.NIC
November 2021 October 2021
YANG Data Model for the IS-IS Protocol YANG Data Model for the IS-IS Protocol
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 the IS-IS protocol on network elements. and manage the IS-IS protocol on network elements.
Status of This Memo Status of This Memo
skipping to change at line 134 skipping to change at line 134
uint8 {maximum-area-addresses}? uint8 {maximum-area-addresses}?
+--rw area-address* area-address +--rw area-address* area-address
+--rw lsp-mtu? uint16 +--rw lsp-mtu? uint16
+--rw lsp-lifetime? uint16 +--rw lsp-lifetime? uint16
+--rw lsp-refresh? rt-types:timer-value-seconds16 +--rw lsp-refresh? rt-types:timer-value-seconds16
| {lsp-refresh}? | {lsp-refresh}?
+--rw poi-tlv? boolean {poi-tlv}? +--rw poi-tlv? boolean {poi-tlv}?
+--rw graceful-restart {graceful-restart}? +--rw graceful-restart {graceful-restart}?
| +--rw enabled? boolean | +--rw enabled? boolean
| +--rw restart-interval? rt-types:timer-value-seconds16 | +--rw restart-interval? rt-types:timer-value-seconds16
| +--rw helper-enabled? boolean | +--rw helper-enable? boolean
+--rw nsr {nsr}? +--rw nsr {nsr}?
| +--rw enabled? boolean | +--rw enabled? boolean
+--rw node-tags {node-tag}? +--rw node-tags {node-tag}?
| +--rw node-tag* [tag] | +--rw node-tag* [tag]
| ... | ...
+--rw metric-type +--rw metric-type
| +--rw value? enumeration | +--rw value? enumeration
| +--rw level-1 | +--rw level-1
| | ... | | ...
| +--rw level-2 | +--rw level-2
skipping to change at line 567 skipping to change at line 567
+--rw lsp-pacing-interval? rt-types: +--rw lsp-pacing-interval? rt-types:
| timer-value-\ | timer-value-\
| milliseconds | milliseconds
+--rw lsp-retransmit-interval? rt-types: +--rw lsp-retransmit-interval? rt-types:
| timer-value-seconds16 | timer-value-seconds16
+--rw passive? boolean +--rw passive? boolean
+--rw csnp-interval? rt-types: +--rw csnp-interval? rt-types:
| timer-value-seconds16 | timer-value-seconds16
+--rw hello-padding +--rw hello-padding
| +--rw enabled? boolean | +--rw enabled? boolean
+--rw mesh-group-enabled? mesh-group-state +--rw mesh-group-enable? mesh-group-state
+--rw mesh-group? uint8 +--rw mesh-group? uint8
+--rw interface-type? interface-type +--rw interface-type? interface-type
+--rw tag* uint32 {prefix-tag}? +--rw tag* uint32 {prefix-tag}?
+--rw tag64* uint64 {prefix-tag64}? +--rw tag64* uint64 {prefix-tag64}?
+--rw node-flag? boolean {node-flag}? +--rw node-flag? boolean {node-flag}?
+--rw hello-authentication +--rw hello-authentication
| +--rw (authentication-type)? | +--rw (authentication-type)?
| | +--:(key-chain) {key-chain}? | | +--:(key-chain) {key-chain}?
| | | +--rw key-chain? key-chain:key-chain-ref | | | +--rw key-chain? key-chain:key-chain-ref
| | +--:(password) | | +--:(password)
skipping to change at line 622 skipping to change at line 622
| +--rw level-2 | +--rw level-2
| +--rw value? uint8 | +--rw value? uint8
+--rw metric +--rw metric
| +--rw value? wide-metric | +--rw value? wide-metric
| +--rw level-1 | +--rw level-1
| | +--rw value? wide-metric | | +--rw value? wide-metric
| +--rw level-2 | +--rw level-2
| +--rw value? wide-metric | +--rw value? wide-metric
+--rw bfd {bfd}? +--rw bfd {bfd}?
| +--rw enabled? boolean | +--rw enabled? boolean
| +--rw bfd-client-parms {bfd-client-cfg}? | +--rw local-multiplier? multiplier
| +--rw local-multiplier? multiplier | +--rw (interval-config-type)?
| +--rw (interval-config-type)? | +--:(tx-rx-intervals)
| +--:(tx-rx-intervals) | | +--rw desired-min-tx-interval? uint32
| | +--rw desired-min-tx-interval? uint32 | | +--rw required-min-rx-interval? uint32
| | +--rw required-min-rx-interval? uint32 | +--:(single-interval) {single-minimum-interval}?
| +--:(single-interval) {single-minimum-interval}? | +--rw min-interval? uint32
| +--rw min-interval? uint32
+--rw address-families {nlpid-control}? +--rw address-families {nlpid-control}?
| +--rw address-family-list* [address-family] | +--rw address-family-list* [address-family]
| +--rw address-family iana-rt-types:address-family | +--rw address-family iana-rt-types:address-family
+--rw mpls +--rw mpls
| +--rw ldp | +--rw ldp
| +--rw igp-sync? boolean {ldp-igp-sync}? | +--rw igp-sync? boolean {ldp-igp-sync}?
+--rw fast-reroute {fast-reroute}? +--rw fast-reroute {fast-reroute}?
| +--rw lfa {lfa}? | +--rw lfa {lfa}?
| +--rw candidate-enabled? boolean | +--rw candidate-enable? boolean
| +--rw enabled? boolean | +--rw enabled? boolean
| +--rw remote-lfa {remote-lfa}? | +--rw remote-lfa {remote-lfa}?
| | +--rw enabled? boolean | | +--rw enabled? boolean
| +--rw level-1 | +--rw level-1
| | +--rw candidate-enabled? boolean | | +--rw candidate-enable? boolean
| | +--rw enabled? boolean | | +--rw enabled? boolean
| | +--rw remote-lfa {remote-lfa}? | | +--rw remote-lfa {remote-lfa}?
| | +--rw enabled? boolean | | +--rw enabled? boolean
| +--rw level-2 | +--rw level-2
| +--rw candidate-enabled? boolean | +--rw candidate-enable? boolean
| +--rw enabled? boolean | +--rw enabled? boolean
| +--rw remote-lfa {remote-lfa}? | +--rw remote-lfa {remote-lfa}?
| +--rw enabled? boolean | +--rw enabled? boolean
+--ro adjacencies +--ro adjacencies
| +--ro adjacency* [] | +--ro adjacency* []
| +--ro neighbor-sys-type? level | +--ro neighbor-sys-type? level
| +--ro neighbor-sysid? system-id | +--ro neighbor-sysid? system-id
| +--ro neighbor-extended-circuit-id? extended-\ | +--ro neighbor-extended-circuit-id? extended-\
| | circuit-id | | circuit-id
| +--ro neighbor-snpa? snpa | +--ro neighbor-snpa? snpa
skipping to change at line 959 skipping to change at line 958
LFA) FRR as defined in [SR-TI-LFA], etc.). LFA) FRR as defined in [SR-TI-LFA], etc.).
The current version of the model supports activation of LFAs and The current version of the model supports activation of LFAs and
remote LFAs at the interface level only. The global "lfa" container remote LFAs at the interface level only. The global "lfa" container
is present but kept empty to allow augmentation with vendor-specific is present but kept empty to allow augmentation with vendor-specific
properties, e.g., policies. properties, e.g., policies.
Remote LFAs are considered an extension of LFAs. Remote LFAs cannot Remote LFAs are considered an extension of LFAs. Remote LFAs cannot
be enabled if LFAs are not enabled. be enabled if LFAs are not enabled.
The "candidate-enabled" data leaf designates that an interface can be The "candidate-enable" data leaf designates that an interface can be
used as a backup. used as a backup.
2.9. Operational States 2.9. Operational States
Operational states are defined in the "ietf-isis" module in various Operational states are defined in the "ietf-isis" module in various
containers at various levels: containers at various levels:
system-counters: system-counters:
Provides statistical information about the global system. Provides statistical information about the global system.
skipping to change at line 1583 skipping to change at line 1582
feature bfd { feature bfd {
description description
"Support for detection of IS-IS neighbor reachability "Support for detection of IS-IS neighbor reachability
via BFD."; via BFD.";
reference reference
"RFC 5880: Bidirectional Forwarding Detection (BFD) "RFC 5880: Bidirectional Forwarding Detection (BFD)
RFC 5881: Bidirectional Forwarding Detection (BFD) RFC 5881: Bidirectional Forwarding Detection (BFD)
for IPv4 and IPv6 (Single Hop)"; for IPv4 and IPv6 (Single Hop)";
} }
feature bfd-client-cfg {
description
"Support for BFD configuration of client parameters.";
reference
"RFC 9127: YANG Data Model for Bidirectional Forwarding
Detection (BFD)";
}
feature key-chain { feature key-chain {
description description
"Support of key chains for authentication."; "Support of key chains for authentication.";
reference reference
"RFC 8177: YANG Data Model for Key Chains"; "RFC 8177: YANG Data Model for Key Chains";
} }
feature node-flag { feature node-flag {
description description
"Support for node flags for IS-IS prefixes."; "Support for node flags for IS-IS prefixes.";
skipping to change at line 1986 skipping to change at line 1977
description description
"This container may be augmented with "This container may be augmented with
global parameters for Loop-Free Alternates (LFAs). global parameters for Loop-Free Alternates (LFAs).
The creation of this container has no effect on The creation of this container has no effect on
LFA activation."; LFA activation.";
} }
} }
} }
grouping interface-lfa-config { grouping interface-lfa-config {
leaf candidate-enabled { leaf candidate-enable {
type boolean; type boolean;
default "true"; default "true";
description description
"Enables the interface to be used as a backup."; "Enables the interface to be used as a backup.";
} }
leaf enabled { leaf enabled {
type boolean; type boolean;
default "false"; default "false";
description description
"Activates the LFA. Per-prefix LFA computation is assumed."; "Activates the LFA. Per-prefix LFA computation is assumed.";
skipping to change at line 2860 skipping to change at line 2851
container auto-cost { container auto-cost {
if-feature "auto-cost"; if-feature "auto-cost";
description description
"Interface auto-cost configuration state."; "Interface auto-cost configuration state.";
leaf enabled { leaf enabled {
type boolean; type boolean;
description description
"Enables or disables interface auto-cost."; "Enables or disables interface auto-cost.";
} }
leaf reference-bandwidth { leaf reference-bandwidth {
when "../enabled = 'true'" { when "../enable = 'true'" {
description description
"Only when auto-cost is enabled."; "Only when auto-cost is enabled.";
} }
type uint32 { type uint32 {
range "1..4294967"; range "1..4294967";
} }
units "Mbits"; units "Mbits";
description description
"Configures the reference bandwidth used to automatically "Configures the reference bandwidth used to automatically
determine the interface cost (Mbits). The cost is the determine the interface cost (Mbits). The cost is the
skipping to change at line 2895 skipping to change at line 2886
description description
"Enables graceful restart."; "Enables graceful restart.";
} }
leaf restart-interval { leaf restart-interval {
type rt-types:timer-value-seconds16; type rt-types:timer-value-seconds16;
units "seconds"; units "seconds";
description description
"Interval (in seconds) to attempt graceful restart prior "Interval (in seconds) to attempt graceful restart prior
to failure."; to failure.";
} }
leaf helper-enabled { leaf helper-enable {
type boolean; type boolean;
default "true"; default "true";
description description
"Enables a local IS-IS router as a graceful restart "Enables a local IS-IS router as a graceful restart
helper."; helper.";
} }
description description
"Configuration of graceful restart."; "Configuration of graceful restart.";
} }
container nsr { container nsr {
skipping to change at line 3209 skipping to change at line 3200
container hello-padding { container hello-padding {
leaf enabled { leaf enabled {
type boolean; type boolean;
default "true"; default "true";
description description
"IS-IS Hello padding activation. Enabled by default."; "IS-IS Hello padding activation. Enabled by default.";
} }
description description
"IS-IS Hello padding configuration."; "IS-IS Hello padding configuration.";
} }
leaf mesh-group-enabled { leaf mesh-group-enable {
type mesh-group-state; type mesh-group-state;
description description
"IS-IS interface mesh group state."; "IS-IS interface mesh group state.";
} }
leaf mesh-group { leaf mesh-group {
when "../mesh-group-enabled = 'mesh-set'" { when "../mesh-group-enable = 'mesh-set'" {
description description
"Only valid when 'mesh-group-enabled' equals 'mesh-set'."; "Only valid when 'mesh-group-enable' equals 'mesh-set'.";
} }
type uint8; type uint8;
description description
"IS-IS interface mesh group ID."; "IS-IS interface mesh group ID.";
} }
leaf interface-type { leaf interface-type {
type interface-type; type interface-type;
default "broadcast"; default "broadcast";
description description
"Type of adjacency to be established for the interface. "Type of adjacency to be established for the interface.
skipping to change at line 3333 skipping to change at line 3324
uses metric-cfg; uses metric-cfg;
description description
"Configuration specific to level 2."; "Configuration specific to level 2.";
} }
description description
"Metric configuration."; "Metric configuration.";
} }
container bfd { container bfd {
if-feature "bfd"; if-feature "bfd";
description description
"BFD interface configuration."; "BFD client configuration.";
leaf enabled { uses bfd-types:client-cfg-parms;
type boolean;
default "false";
description
"Indicate whether BFD is enabled.";
}
container bfd-client-parms {
if-feature "bfd-client-cfg";
uses bfd-types:base-cfg-parms;
description
"BFD client configuration.";
reference
"RFC 9127: YANG Data Model for Bidirectional Forwarding
Detection (BFD)"
}
reference reference
"RFC 5880: Bidirectional Forwarding Detection (BFD) "RFC 9127: YANG Data Model for Bidirectional Forwarding
RFC 5881: Bidirectional Forwarding Detection Detection (BFD)";
(BFD) for IPv4 and IPv6 (Single Hop)";
} }
container address-families { container address-families {
if-feature "nlpid-control"; if-feature "nlpid-control";
list address-family-list { list address-family-list {
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 description
"Address family."; "Address family.";
} }
skipping to change at line 5889 skipping to change at line 5865
[RFC8570] Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward, [RFC8570] Ginsberg, L., Ed., Previdi, S., Ed., Giacalone, S., Ward,
D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE) D., Drake, J., and Q. Wu, "IS-IS Traffic Engineering (TE)
Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March Metric Extensions", RFC 8570, DOI 10.17487/RFC8570, March
2019, <https://www.rfc-editor.org/info/rfc8570>. 2019, <https://www.rfc-editor.org/info/rfc8570>.
[RFC8706] Ginsberg, L. and P. Wells, "Restart Signaling for IS-IS", [RFC8706] Ginsberg, L. and P. Wells, "Restart Signaling for IS-IS",
RFC 8706, DOI 10.17487/RFC8706, February 2020, RFC 8706, DOI 10.17487/RFC8706, February 2020,
<https://www.rfc-editor.org/info/rfc8706>. <https://www.rfc-editor.org/info/rfc8706>.
[RFC9127] Rahman, R., Ed., Zheng, L., Ed., Jethanandani, M., Ed., [RFC9127] Raham, R., Ed., Zheng, L., Ed., Jethanandani, M., Ed.,
Pallagatti, S., and G. Mirsky, "YANG Data Model for Pallagatti, S., and G. Mirsky, "YANG Data Model for
Bidirectional Forwarding Detection (BFD)", RFC 9127, Bidirectional Forwarding Detection (BFD)", RFC 9127,
DOI 10.17487/RFC9127, October 2021, DOI 10.17487/RFC9127, October 2021,
<https://www.rfc-editor.org/info/rfc9127>. <https://www.rfc-editor.org/info/rfc9127>.
[W3C.REC-xml-20081126] [W3C.REC-xml-20081126]
Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and
F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth
Edition)", World Wide Web Consortium Recommendation REC- Edition)", World Wide Web Consortium Recommendation REC-
xml-20081126, November 2008, xml-20081126, November 2008,
skipping to change at line 5947 skipping to change at line 5923
<control-plane-protocols> <control-plane-protocols>
<control-plane-protocol> <control-plane-protocol>
<name>IS-IS-example</name> <name>IS-IS-example</name>
<description/> <description/>
<type> <type>
<type xmlns:isis="urn:ietf:params:xml:ns:yang:ietf-isis"> <type xmlns:isis="urn:ietf:params:xml:ns:yang:ietf-isis">
isis:isis isis:isis
</type> </type>
</type> </type>
<isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis"> <isis xmlns="urn:ietf:params:xml:ns:yang:ietf-isis">
<enabled>true</enabled> <enable>true</enable>
<level-type>level-2</level-type> <level-type>level-2</level-type>
<system-id>87FC.FCDF.4432</system-id> <system-id>87FC.FCDF.4432</system-id>
<area-address>49.0001</area-address> <area-address>49.0001</area-address>
<mpls> <mpls>
<te-rid> <te-rid>
<ipv4-router-id>192.0.2.1</ipv4-router-id> <ipv4-router-id>192.0.2.1</ipv4-router-id>
</te-rid> </te-rid>
</mpls> </mpls>
<lsp-lifetime>65535</lsp-lifetime> <lsp-lifetime>65535</lsp-lifetime>
<lsp-refresh>65000</lsp-refresh> <lsp-refresh>65000</lsp-refresh>
<metric-type> <metric-type>
<value>wide-only</value> <value>wide-only</value>
</metric-type> </metric-type>
<default-metric> <default-metric>
<value>111111</value> <value>111111</value>
</default-metric> </default-metric>
<address-families> <address-families>
<address-family-list> <address-family-list>
<address-family>ipv4</address-family> <address-family>ipv4</address-family>
<enabled>true</enabled> <enable>true</enable>
</address-family-list> </address-family-list>
<address-family-list> <address-family-list>
<address-family>ipv6</address-family> <address-family>ipv6</address-family>
<enabled>true</enabled> <enable>true</enable>
</address-family-list> </address-family-list>
</address-families> </address-families>
<interfaces> <interfaces>
<interface> <interface>
<name>Loopback0</name> <name>Loopback0</name>
<tag>200</tag> <tag>200</tag>
<metric> <metric>
<value>0</value> <value>0</value>
</metric> </metric>
<passive>true</passive> <passive>true</passive>
 End of changes. 21 change blocks. 
52 lines changed or deleted 28 lines changed or added

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