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/ |