ietf-isis@2021-08-31.yang | ietf-isis@2021-08-31-formatted.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 | reference | |||
"RFC 8349: A YANG Data Model for Routing Management | "RFC 8349: A YANG Data Model for Routing Management | |||
(NMDA Version)"; | (NMDA Version)"; | |||
} | } | |||
import ietf-inet-types { | import ietf-inet-types { | |||
prefix inet; | prefix inet; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
reference | reference | |||
"RFC 6991: Common YANG Data Types"; | "RFC 6991: Common YANG Data Types"; | |||
} | } | |||
import ietf-interfaces { | import ietf-interfaces { | |||
prefix "if"; | prefix if; | |||
reference | reference | |||
"RFC 8343: A YANG Data Model for Interface Management"; | "RFC 8343: A YANG Data Model for Interface Management"; | |||
} | } | |||
import ietf-key-chain { | import ietf-key-chain { | |||
prefix "key-chain"; | prefix key-chain; | |||
reference | reference | |||
"RFC 8177: YANG Data Model for Key Chains"; | "RFC 8177: YANG Data Model for Key Chains"; | |||
} | } | |||
import ietf-routing-types { | import ietf-routing-types { | |||
prefix "rt-types"; | prefix rt-types; | |||
reference | reference | |||
"RFC 8294: Common YANG Data Types for the Routing Area"; | "RFC 8294: Common YANG Data Types for the Routing Area"; | |||
} | } | |||
import iana-routing-types { | import iana-routing-types { | |||
prefix "iana-rt-types"; | prefix iana-rt-types; | |||
reference | reference | |||
"RFC 8294: Common YANG Data Types for the Routing Area"; | "RFC 8294: Common YANG Data Types for the Routing Area"; | |||
} | } | |||
import ietf-bfd-types { | import ietf-bfd-types { | |||
prefix "bfd-types"; | prefix bfd-types; | |||
reference | reference | |||
"RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
Detection (BFD)"; | Detection (BFD)"; | |||
} | } | |||
organization | organization | |||
"IETF LSR Working Group"; | "IETF LSR Working Group"; | |||
contact | contact | |||
"WG Web: <https://datatracker.ietf.org/wg/lsr/> | "WG Web: <https://datatracker.ietf.org/wg/lsr/> | |||
WG List: <mailto:lsr@ietf.org> | WG List: <mailto:lsr@ietf.org> | |||
Editor: Stephane Litkowski | Editor: Stephane Litkowski | |||
<mailto:slitkows.ietf@gmail.com> | <mailto:slitkows.ietf@gmail.com> | |||
Author: Derek Yeung | Author: Derek Yeung | |||
<mailto:derek@arrcus.com> | <mailto:derek@arrcus.com> | |||
skipping to change at line 211 ¶ | skipping to change at line 209 ¶ | |||
identity frr-protection-available-other-type { | identity frr-protection-available-other-type { | |||
base frr-protection-available-type; | base frr-protection-available-type; | |||
description | description | |||
"The level of protection is unknown."; | "The level of protection is unknown."; | |||
} | } | |||
identity frr-alternate-type { | identity frr-alternate-type { | |||
description | description | |||
"Base identity for the IP Fast Reroute alternate type."; | "Base identity for the IP Fast Reroute alternate type."; | |||
} | } | |||
identity frr-alternate-type-equal-cost { | identity frr-alternate-type-equal-cost { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
description | description | |||
"ECMP-based alternate."; | "ECMP-based alternate."; | |||
} | } | |||
identity frr-alternate-type-lfa { | identity frr-alternate-type-lfa { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
description | description | |||
"LFA-based alternate."; | "LFA-based alternate."; | |||
} | } | |||
identity frr-alternate-type-remote-lfa { | identity frr-alternate-type-remote-lfa { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
description | description | |||
"Remote-LFA-based alternate."; | "Remote-LFA-based alternate."; | |||
} | } | |||
identity frr-alternate-type-tunnel { | identity frr-alternate-type-tunnel { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
description | description | |||
"Tunnel-based alternate (such as RSVP-TE or GRE)."; | "Tunnel-based alternate (such as RSVP-TE or GRE)."; | |||
} | } | |||
identity frr-alternate-mrt { | identity frr-alternate-mrt { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
description | description | |||
"MRT-based alternate."; | "MRT-based alternate."; | |||
} | } | |||
identity frr-alternate-tilfa { | identity frr-alternate-tilfa { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
description | description | |||
"TI-LFA-based alternate."; | "TI-LFA-based alternate."; | |||
} | } | |||
identity frr-alternate-other { | identity frr-alternate-other { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
description | description | |||
"Other type of alternate."; | "Other type of alternate."; | |||
} | } | |||
identity unidirectional-link-delay-subtlv-flag { | identity unidirectional-link-delay-subtlv-flag { | |||
description | description | |||
"Base identity for the flag corresponding to the | "Base identity for the flag corresponding to the | |||
Unidirectional Link Delay sub-TLV as defined in RFC 8570."; | Unidirectional Link Delay sub-TLV as defined in RFC 8570."; | |||
reference | reference | |||
"RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | "RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | |||
} | } | |||
identity unidirectional-link-delay-subtlv-a-flag { | identity unidirectional-link-delay-subtlv-a-flag { | |||
base unidirectional-link-delay-subtlv-flag; | base unidirectional-link-delay-subtlv-flag; | |||
description | description | |||
"The 'A' bit field represents the Anomalous (A) bit. | "The 'A' bit field represents the Anomalous (A) bit. | |||
The A bit is set when the measured value of | The A bit is set when the measured value of | |||
this parameter exceeds its configured | this parameter exceeds its configured | |||
maximum threshold. | maximum threshold. | |||
The A bit is cleared when the measured value | The A bit is cleared when the measured value | |||
falls below its configured reuse threshold. | falls below its configured reuse threshold. | |||
If the A bit is clear, | If the A bit is clear, | |||
the value represents steady-state link performance."; | the value represents steady-state link performance."; | |||
} | } | |||
identity min-max-unidirectional-link-delay-subtlv-flag { | identity min-max-unidirectional-link-delay-subtlv-flag { | |||
description | description | |||
"Base identity for the flag corresponding to the Min/Max | "Base identity for the flag corresponding to the Min/Max | |||
Unidirectional Link Delay sub-TLV as defined in RFC 8570."; | Unidirectional Link Delay sub-TLV as defined in RFC 8570."; | |||
reference | reference | |||
"RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | "RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | |||
} | } | |||
identity min-max-unidirectional-link-delay-subtlv-a-flag { | identity min-max-unidirectional-link-delay-subtlv-a-flag { | |||
base min-max-unidirectional-link-delay-subtlv-flag; | base min-max-unidirectional-link-delay-subtlv-flag; | |||
description | description | |||
"The 'A' bit field represents the Anomalous (A) bit. | "The 'A' bit field represents the Anomalous (A) bit. | |||
The A bit is set when the measured value of | The A bit is set when the measured value of | |||
this parameter exceeds its configured | this parameter exceeds its configured | |||
maximum threshold. | maximum threshold. | |||
The A bit is cleared when the measured value | The A bit is cleared when the measured value | |||
falls below its configured reuse threshold. | falls below its configured reuse threshold. | |||
If the A bit is clear, | If the A bit is clear, | |||
the value represents steady-state link performance."; | the value represents steady-state link performance."; | |||
} | } | |||
identity unidirectional-link-loss-subtlv-flag { | identity unidirectional-link-loss-subtlv-flag { | |||
description | description | |||
"Base identity for the flag corresponding to the | "Base identity for the flag corresponding to the | |||
Unidirectional Link Loss sub-TLV as defined in RFC 8570."; | Unidirectional Link Loss sub-TLV as defined in RFC 8570."; | |||
reference | reference | |||
"RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | "RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | |||
} | } | |||
identity unidirectional-link-loss-subtlv-a-flag { | identity unidirectional-link-loss-subtlv-a-flag { | |||
base unidirectional-link-loss-subtlv-flag; | base unidirectional-link-loss-subtlv-flag; | |||
skipping to change at line 295 ¶ | skipping to change at line 304 ¶ | |||
identity unidirectional-link-loss-subtlv-flag { | identity unidirectional-link-loss-subtlv-flag { | |||
description | description | |||
"Base identity for the flag corresponding to the | "Base identity for the flag corresponding to the | |||
Unidirectional Link Loss sub-TLV as defined in RFC 8570."; | Unidirectional Link Loss sub-TLV as defined in RFC 8570."; | |||
reference | reference | |||
"RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | "RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | |||
} | } | |||
identity unidirectional-link-loss-subtlv-a-flag { | identity unidirectional-link-loss-subtlv-a-flag { | |||
base unidirectional-link-loss-subtlv-flag; | base unidirectional-link-loss-subtlv-flag; | |||
description | description | |||
"The 'A' bit field represents the Anomalous (A) bit. | "The 'A' bit field represents the Anomalous (A) bit. | |||
The A bit is set when the measured value of | The A bit is set when the measured value of | |||
this parameter exceeds its configured | this parameter exceeds its configured | |||
maximum threshold. | maximum threshold. | |||
The A bit is cleared when the measured value | The A bit is cleared when the measured value | |||
falls below its configured reuse threshold. | falls below its configured reuse threshold. | |||
If the A bit is clear, | If the A bit is clear, | |||
the value represents steady-state link performance."; | the value represents steady-state link performance."; | |||
} | } | |||
identity tlv229-flag { | identity tlv229-flag { | |||
description | description | |||
"Base identity for the flag corresponding to TLV 229 | "Base identity for the flag corresponding to TLV 229 | |||
(M-Topologies) as defined in RFC 5120."; | (M-Topologies) as defined in RFC 5120."; | |||
reference | reference | |||
"RFC 5120: M-ISIS: Multi Topology (MT) Routing in | "RFC 5120: M-ISIS: Multi Topology (MT) Routing in | |||
Intermediate System to Intermediate Systems (IS-ISs)"; | Intermediate System to Intermediate Systems (IS-ISs)"; | |||
} | } | |||
identity tlv229-overload-flag { | identity tlv229-overload-flag { | |||
base tlv229-flag; | base tlv229-flag; | |||
description | description | |||
"If set, the originator is overloaded | "If set, the originator is overloaded | |||
and must be avoided in the path calculation."; | and must be avoided in the path calculation."; | |||
} | } | |||
identity tlv229-attached-flag { | identity tlv229-attached-flag { | |||
base tlv229-flag; | base tlv229-flag; | |||
description | description | |||
"If set, the originator is attached to | "If set, the originator is attached to | |||
another area using the referred metric."; | another area using the referred metric."; | |||
} | } | |||
identity router-capability-flag { | identity router-capability-flag { | |||
description | description | |||
"Base identity for the flag corresponding to the | "Base identity for the flag corresponding to the | |||
Router Capability TLV as defined in RFC 7981."; | Router Capability TLV as defined in RFC 7981."; | |||
reference | reference | |||
"RFC 7981: IS-IS Extensions for Advertising Router | "RFC 7981: IS-IS Extensions for Advertising Router | |||
Information"; | Information"; | |||
} | } | |||
identity router-capability-flooding-flag { | identity router-capability-flooding-flag { | |||
base router-capability-flag; | base router-capability-flag; | |||
description | description | |||
"Quote from RFC 7981: | "Quote from RFC 7981: | |||
'If the S bit is set(1), the IS-IS Router CAPABILITY TLV | 'If the S bit is set(1), the IS-IS Router CAPABILITY TLV | |||
MUST be flooded across the entire routing domain. If the | MUST be flooded across the entire routing domain. If the | |||
S bit is not set(0), the TLV MUST NOT be leaked between | S bit is not set(0), the TLV MUST NOT be leaked between | |||
levels. This bit MUST NOT be altered during the TLV | levels. This bit MUST NOT be altered during the TLV | |||
leaking.'."; | leaking.'."; | |||
} | } | |||
identity router-capability-down-flag { | identity router-capability-down-flag { | |||
base router-capability-flag; | base router-capability-flag; | |||
description | description | |||
"Quote from RFC 7981: | "Quote from RFC 7981: | |||
'When the IS-IS Router CAPABILITY TLV is leaked from | 'When the IS-IS Router CAPABILITY TLV is leaked from | |||
Level 2 (L2) to Level 1 (L1), the D bit MUST be set. | Level 2 (L2) to Level 1 (L1), the D bit MUST be set. | |||
Otherwise, this bit MUST be clear. IS-IS Router | Otherwise, this bit MUST be clear. IS-IS Router | |||
CAPABILITY TLVs with the D bit set MUST NOT be leaked from | CAPABILITY TLVs with the D bit set MUST NOT be leaked from | |||
Level 1 to Level 2. This is to prevent TLV looping.'."; | Level 1 to Level 2. This is to prevent TLV looping.'."; | |||
} | } | |||
identity lsp-flag { | identity lsp-flag { | |||
description | description | |||
"Base identity for LSP attributes as defined in ISO 10589."; | "Base identity for LSP attributes as defined in ISO 10589."; | |||
reference | reference | |||
"ISO 10589: Intermediate System to Intermediate System | "ISO 10589: Intermediate System to Intermediate System | |||
intra-domain routeing information exchange protocol | intra-domain routeing information exchange protocol | |||
for use in conjunction with the protocol for providing | for use in conjunction with the protocol for providing | |||
the connectionless-mode network service (ISO 8473)"; | the connectionless-mode network service (ISO 8473)"; | |||
skipping to change at line 363 ¶ | skipping to change at line 378 ¶ | |||
identity lsp-flag { | identity lsp-flag { | |||
description | description | |||
"Base identity for LSP attributes as defined in ISO 10589."; | "Base identity for LSP attributes as defined in ISO 10589."; | |||
reference | reference | |||
"ISO 10589: Intermediate System to Intermediate System | "ISO 10589: Intermediate System to Intermediate System | |||
intra-domain routeing information exchange protocol | intra-domain routeing information exchange protocol | |||
for use in conjunction with the protocol for providing | for use in conjunction with the protocol for providing | |||
the connectionless-mode network service (ISO 8473)"; | the connectionless-mode network service (ISO 8473)"; | |||
} | } | |||
identity lsp-partitioned-flag { | identity lsp-partitioned-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"Originator partition repair supported."; | "Originator partition repair supported."; | |||
} | } | |||
identity lsp-attached-error-metric-flag { | identity lsp-attached-error-metric-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"Set when the originator is attached to | "Set when the originator is attached to | |||
another area using the error metric."; | another area using the error metric."; | |||
} | } | |||
identity lsp-attached-delay-metric-flag { | identity lsp-attached-delay-metric-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"Set when the originator is attached to | "Set when the originator is attached to | |||
another area using the delay metric."; | another area using the delay metric."; | |||
} | } | |||
identity lsp-attached-expense-metric-flag { | identity lsp-attached-expense-metric-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"Set when the originator is attached to | "Set when the originator is attached to | |||
another area using the expense metric."; | another area using the expense metric."; | |||
} | } | |||
identity lsp-attached-default-metric-flag { | identity lsp-attached-default-metric-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"Set when the originator is attached to | "Set when the originator is attached to | |||
another area using the default metric."; | another area using the default metric."; | |||
} | } | |||
identity lsp-overload-flag { | identity lsp-overload-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"If set, the originator is overloaded | "If set, the originator is overloaded | |||
and must be avoided in the path calculation."; | and must be avoided in the path calculation."; | |||
} | } | |||
identity lsp-l1system-flag { | identity lsp-l1system-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"Set when the Intermediate System has an L1 type."; | "Set when the Intermediate System has an L1 type."; | |||
} | } | |||
identity lsp-l2system-flag { | identity lsp-l2system-flag { | |||
base lsp-flag; | base lsp-flag; | |||
description | description | |||
"Set when the Intermediate System has an L2 type."; | "Set when the Intermediate System has an L2 type."; | |||
} | } | |||
/* Feature definitions */ | /* Feature definitions */ | |||
feature osi-interface { | feature osi-interface { | |||
description | description | |||
"Support of OSI-specific parameters on an interface."; | "Support of OSI-specific parameters on an interface."; | |||
} | } | |||
feature poi-tlv { | feature poi-tlv { | |||
description | description | |||
"Support of the Purge Originator Identification (POI) TLV."; | "Support of the Purge Originator Identification (POI) TLV."; | |||
reference | reference | |||
"RFC 6232: Purge Originator Identification TLV for IS-IS"; | "RFC 6232: Purge Originator Identification TLV for IS-IS"; | |||
} | } | |||
feature ietf-spf-delay { | feature ietf-spf-delay { | |||
description | description | |||
"Support for the IETF SPF delay algorithm."; | "Support for the IETF SPF delay algorithm."; | |||
reference | reference | |||
"RFC 8405: Shortest Path First (SPF) Back-Off Delay Algorithm | "RFC 8405: Shortest Path First (SPF) Back-Off Delay Algorithm | |||
for Link-State IGPs"; | for Link-State IGPs"; | |||
} | } | |||
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 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."; | |||
reference | reference | |||
"RFC 7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 | "RFC 7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 | |||
Reachability"; | Reachability"; | |||
} | } | |||
feature node-tag { | feature node-tag { | |||
description | description | |||
"Support for node administrative tags for IS-IS | "Support for node administrative tags for IS-IS | |||
routing instances."; | routing instances."; | |||
reference | reference | |||
"RFC 7917: Advertising Node Administrative Tags in IS-IS"; | "RFC 7917: Advertising Node Administrative Tags in IS-IS"; | |||
} | } | |||
feature ldp-igp-sync { | feature ldp-igp-sync { | |||
description | description | |||
"Support for LDP IGP synchronization."; | "Support for LDP IGP synchronization."; | |||
reference | reference | |||
"RFC 5443: LDP IGP Synchronization"; | "RFC 5443: LDP IGP Synchronization"; | |||
} | } | |||
feature fast-reroute { | feature fast-reroute { | |||
description | description | |||
"Support for IP Fast Reroute (IP FRR)."; | "Support for IP Fast Reroute (IP FRR)."; | |||
} | } | |||
feature nsr { | feature nsr { | |||
description | description | |||
"Support for Non-Stop-Routing (NSR). The IS-IS NSR feature | "Support for Non-Stop-Routing (NSR). The IS-IS NSR feature | |||
allows a router with redundant control-plane capability | allows a router with redundant control-plane capability | |||
(e.g., dual Route Processor (RP) cards) to maintain its | (e.g., dual Route Processor (RP) cards) to maintain its | |||
state and adjacencies during planned and unplanned | state and adjacencies during planned and unplanned | |||
IS-IS instance restarts. It differs from graceful restart | IS-IS instance restarts. It differs from graceful restart | |||
or Non-Stop Forwarding (NSF) in that no protocol signaling | or Non-Stop Forwarding (NSF) in that no protocol signaling | |||
or assistance from adjacent IS-IS neighbors is required to | or assistance from adjacent IS-IS neighbors is required to | |||
recover control-plane state."; | recover control-plane state."; | |||
skipping to change at line 598 ¶ | skipping to change at line 639 ¶ | |||
enum point-to-point { | enum point-to-point { | |||
description | description | |||
"Point-to-point interface type."; | "Point-to-point interface type."; | |||
} | } | |||
} | } | |||
description | description | |||
"This type defines the type of adjacency | "This type defines the type of adjacency | |||
to be established for the interface. | to be established for the interface. | |||
'interface-type' determines the type | 'interface-type' determines the type | |||
of Hello message that is used."; | of Hello message that is used."; | |||
} | } | |||
typedef level { | typedef level { | |||
type enumeration { | type enumeration { | |||
enum "level-1" { | enum level-1 { | |||
description | description | |||
"This enum indicates L1-only capability."; | "This enum indicates L1-only capability."; | |||
} | } | |||
enum "level-2" { | enum level-2 { | |||
description | description | |||
"This enum indicates L2-only capability."; | "This enum indicates L2-only capability."; | |||
} | } | |||
enum "level-all" { | enum level-all { | |||
description | description | |||
"This enum indicates capability for both levels."; | "This enum indicates capability for both levels."; | |||
} | } | |||
} | } | |||
default "level-all"; | default "level-all"; | |||
description | description | |||
"This type defines the IS-IS level of an object."; | "This type defines the IS-IS level of an object."; | |||
} | } | |||
typedef adj-state-type { | typedef adj-state-type { | |||
type enumeration { | type enumeration { | |||
enum "up" { | enum up { | |||
description | description | |||
"This state indicates that the adjacency is established."; | "This state indicates that the adjacency is established."; | |||
} | } | |||
enum "down" { | enum down { | |||
description | description | |||
"This state indicates that the adjacency is | "This state indicates that the adjacency is | |||
NOT established."; | NOT established."; | |||
} | } | |||
enum "init" { | enum init { | |||
description | description | |||
"This state indicates that the adjacency is being | "This state indicates that the adjacency is being | |||
established."; | established."; | |||
} | } | |||
enum "failed" { | enum failed { | |||
description | description | |||
"This state indicates that the adjacency has failed."; | "This state indicates that the adjacency has failed."; | |||
} | } | |||
} | } | |||
description | description | |||
"This type defines the states of an adjacency."; | "This type defines the states of an adjacency."; | |||
} | } | |||
typedef if-state-type { | typedef if-state-type { | |||
type enumeration { | type enumeration { | |||
enum "up" { | enum up { | |||
description | description | |||
"'up' state."; | "'up' state."; | |||
} | } | |||
enum "down" { | enum down { | |||
description | description | |||
"'down' state."; | "'down' state."; | |||
} | } | |||
} | } | |||
description | description | |||
"This type defines the state of an interface."; | "This type defines the state of an interface."; | |||
} | } | |||
typedef level-number { | typedef level-number { | |||
type uint8 { | type uint8 { | |||
range "1 .. 2"; | range "1 .. 2"; | |||
} | } | |||
description | description | |||
"This type defines the current IS-IS level."; | "This type defines the current IS-IS level."; | |||
} | } | |||
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}'; | |||
} | } | |||
skipping to change at line 705 ¶ | skipping to change at line 742 ¶ | |||
"This type defines the Subnetwork Point of Attachment (SNPA) | "This type defines the Subnetwork Point of Attachment (SNPA) | |||
format. The SNPA should be encoded according to the rules | format. The SNPA should be encoded according to the rules | |||
specified for the particular type of subnetwork being used. | specified for the particular type of subnetwork being used. | |||
As an example, for an Ethernet subnetwork, the SNPA is | As an example, for an Ethernet subnetwork, the SNPA is | |||
encoded as a Media Access Control (MAC) address, such as | encoded as a Media Access Control (MAC) address, such as | |||
'00aa.bbcc.ddee'."; | '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 the IS-IS system ID by using a pattern. | "This type defines the IS-IS system ID by using a pattern. | |||
An example system ID pattern is '0143.0438.AEF0'."; | An example system ID pattern 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-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.' | + '[0-9][0-9]'; | |||
+'[0-9][0-9]'; | ||||
} | } | |||
description | description | |||
"This type defines the IS-IS system ID using a pattern. | "This type defines the IS-IS system ID using a pattern. | |||
'extended-system-id' contains the pseudonode number | 'extended-system-id' contains the pseudonode number | |||
in addition to the system ID. | in addition to the system ID. | |||
An example system ID pattern is '0143.0438.AEF0.00'."; | An example system ID pattern is '0143.0438.AEF0.00'."; | |||
} | } | |||
typedef wide-metric { | typedef wide-metric { | |||
type uint32 { | type uint32 { | |||
skipping to change at line 743 ¶ | skipping to change at line 779 ¶ | |||
typedef std-metric { | typedef std-metric { | |||
type uint8 { | type uint8 { | |||
range "0 .. 63"; | range "0 .. 63"; | |||
} | } | |||
description | description | |||
"This type defines the old-style format of the IS-IS metric."; | "This type defines the old-style format of the IS-IS metric."; | |||
} | } | |||
typedef mesh-group-state { | typedef mesh-group-state { | |||
type enumeration { | type enumeration { | |||
enum "mesh-inactive" { | enum mesh-inactive { | |||
description | description | |||
"The interface is not part of a mesh group."; | "The interface is not part of a mesh group."; | |||
} | } | |||
enum "mesh-set" { | enum mesh-set { | |||
description | description | |||
"The interface is part of a mesh group."; | "The interface is part of a mesh group."; | |||
} | } | |||
enum "mesh-blocked" { | enum mesh-blocked { | |||
description | description | |||
"LSPs must not be flooded over this interface."; | "LSPs must not be flooded over this interface."; | |||
} | } | |||
} | } | |||
description | description | |||
"This type describes the mesh group state of an interface."; | "This type describes the mesh group state of an interface."; | |||
} | } | |||
/* Grouping for notifications */ | /* Grouping for notifications */ | |||
skipping to change at line 800 ¶ | skipping to change at line 836 ¶ | |||
description | description | |||
"IS-IS level of the interface."; | "IS-IS level of the interface."; | |||
} | } | |||
leaf extended-circuit-id { | leaf extended-circuit-id { | |||
type extended-circuit-id; | type extended-circuit-id; | |||
description | description | |||
"Extended circuit ID of the interface."; | "Extended circuit ID of the interface."; | |||
} | } | |||
} | } | |||
/* Groupings for IP Fast Reroute */ | /* Groupings for IP Fast Reroute */ | |||
grouping instance-fast-reroute-config { | grouping instance-fast-reroute-config { | |||
description | description | |||
"This group defines the global configuration of IP | "This group defines the global configuration of IP | |||
Fast Reroute (FRR)."; | Fast Reroute (FRR)."; | |||
container fast-reroute { | container fast-reroute { | |||
if-feature fast-reroute; | if-feature "fast-reroute"; | |||
description | description | |||
"This container may be augmented with global | "This container may be augmented with global | |||
parameters for IP FRR."; | parameters for IP FRR."; | |||
container lfa { | container lfa { | |||
if-feature lfa; | if-feature "lfa"; | |||
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-enable { | 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 enable { | leaf enable { | |||
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."; | |||
} | } | |||
container remote-lfa { | container remote-lfa { | |||
if-feature remote-lfa; | if-feature "remote-lfa"; | |||
leaf enable { | leaf enable { | |||
type boolean; | type boolean; | |||
default false; | default "false"; | |||
description | description | |||
"Activates the remote LFA (R-LFA)."; | "Activates the remote LFA (R-LFA)."; | |||
} | } | |||
description | description | |||
"Remote LFA configuration."; | "Remote LFA configuration."; | |||
} | } | |||
description | description | |||
"Grouping for LFA interface configuration."; | "Grouping for LFA interface configuration."; | |||
} | } | |||
grouping interface-fast-reroute-config { | grouping interface-fast-reroute-config { | |||
description | description | |||
"This group defines the interface configuration of IP FRR."; | "This group defines the interface configuration of IP FRR."; | |||
container fast-reroute { | container fast-reroute { | |||
if-feature fast-reroute; | if-feature "fast-reroute"; | |||
container lfa { | container lfa { | |||
if-feature lfa; | if-feature "lfa"; | |||
uses interface-lfa-config; | uses interface-lfa-config; | |||
container level-1 { | container level-1 { | |||
uses interface-lfa-config; | uses interface-lfa-config; | |||
description | description | |||
"LFA level-1 configuration."; | "LFA level-1 configuration."; | |||
} | } | |||
container level-2 { | container level-2 { | |||
uses interface-lfa-config; | uses interface-lfa-config; | |||
description | description | |||
"LFA level-2 configuration."; | "LFA level-2 configuration."; | |||
skipping to change at line 898 ¶ | skipping to change at line 935 ¶ | |||
type inet:ip-prefix; | type inet:ip-prefix; | |||
description | description | |||
"Protected prefix."; | "Protected prefix."; | |||
} | } | |||
leaf alternate { | leaf alternate { | |||
type inet:ip-address; | type inet:ip-address; | |||
description | description | |||
"Alternate next hop for the prefix."; | "Alternate next hop for the prefix."; | |||
} | } | |||
leaf alternate-type { | leaf alternate-type { | |||
type identityref { | type identityref { | |||
base frr-alternate-type; | base frr-alternate-type; | |||
} | } | |||
description | description | |||
"Type of alternate."; | "Type of alternate."; | |||
} | } | |||
leaf best { | leaf best { | |||
type boolean; | type boolean; | |||
description | description | |||
"Set when the alternate is the preferred alternate; | "Set when the alternate is the preferred alternate; | |||
clear otherwise."; | clear otherwise."; | |||
} | } | |||
leaf non-best-reason { | leaf non-best-reason { | |||
skipping to change at line 983 ¶ | skipping to change at line 1018 ¶ | |||
type inet:ip-prefix; | type inet:ip-prefix; | |||
description | description | |||
"Unprotected prefix."; | "Unprotected prefix."; | |||
} | } | |||
description | description | |||
"Per-address-family unprotected prefix statistics."; | "Per-address-family 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 identityref { | type identityref { | |||
base frr-protection-method; | base frr-protection-method; | |||
} | } | |||
description | description | |||
"Protection method used."; | "Protection method used."; | |||
} | } | |||
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 | description | |||
"Address family."; | "Address family."; | |||
} | } | |||
leaf total-routes { | leaf total-routes { | |||
type yang:gauge32; | type yang:gauge32; | |||
description | description | |||
"Total prefixes."; | "Total prefixes."; | |||
} | } | |||
skipping to change at line 1069 ¶ | skipping to change at line 1101 ¶ | |||
list next-hop { | list next-hop { | |||
key "next-hop"; | key "next-hop"; | |||
description | description | |||
"List of next hops for the route."; | "List of next hops for the route."; | |||
leaf outgoing-interface { | leaf outgoing-interface { | |||
type if:interface-ref; | type if:interface-ref; | |||
description | description | |||
"Name of the outgoing interface."; | "Name of the outgoing interface."; | |||
} | } | |||
leaf next-hop { | leaf next-hop { | |||
type inet:ip-address; | type inet:ip-address; | |||
description | description | |||
"Next-hop address."; | "Next-hop address."; | |||
} | } | |||
} | } | |||
} | } | |||
leaf metric { | leaf metric { | |||
type uint32; | type uint32; | |||
description | description | |||
"Metric for this route."; | "Metric for this route."; | |||
} | } | |||
leaf level { | leaf level { | |||
type level-number; | type level-number; | |||
skipping to change at line 1195 ¶ | skipping to change at line 1227 ¶ | |||
type level; | type level; | |||
description | description | |||
"Defines the level(s) activated for the adjacency. | "Defines the level(s) activated for the adjacency. | |||
On a point-to-point link, this might be level 1 and | On a point-to-point link, this might be level 1 and | |||
level 2, but on a LAN, the usage will be level 1 | level 2, but on a LAN, the usage will be level 1 | |||
between neighbors at level 1 or level 2 between | between neighbors at level 1 or level 2 between | |||
neighbors at level 2."; | neighbors at level 2."; | |||
} | } | |||
leaf hold-timer { | leaf hold-timer { | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
units seconds; | units "seconds"; | |||
description | description | |||
"The holding time (in seconds) for this adjacency. | "The holding time (in seconds) for this adjacency. | |||
This value is based on received Hello PDUs and the | This value is based on received Hello PDUs and the | |||
elapsed time since receipt."; | elapsed time since receipt."; | |||
} | } | |||
leaf neighbor-priority { | leaf neighbor-priority { | |||
type uint8 { | type uint8 { | |||
range "0 .. 127"; | range "0 .. 127"; | |||
} | } | |||
description | description | |||
skipping to change at line 1238 ¶ | skipping to change at line 1269 ¶ | |||
description | description | |||
"This container lists the adjacencies of | "This container lists the adjacencies of | |||
the local node."; | the local node."; | |||
} | } | |||
description | description | |||
"Adjacency state."; | "Adjacency state."; | |||
} | } | |||
grouping admin-control { | grouping admin-control { | |||
leaf enable { | leaf enable { | |||
if-feature admin-control; | if-feature "admin-control"; | |||
type boolean; | type boolean; | |||
default "true"; | default "true"; | |||
description | description | |||
"Enables or disables the protocol."; | "Enables or disables the protocol."; | |||
} | } | |||
description | description | |||
"Grouping for administrative control."; | "Grouping for administrative control."; | |||
} | } | |||
grouping ietf-spf-delay { | grouping ietf-spf-delay { | |||
leaf initial-delay { | leaf initial-delay { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
units msec; | units "msec"; | |||
description | description | |||
"Delay used while in the QUIET state (milliseconds)."; | "Delay used while in the QUIET state (milliseconds)."; | |||
} | } | |||
leaf short-delay { | leaf short-delay { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
units msec; | units "msec"; | |||
description | description | |||
"Delay used while in the SHORT_WAIT state (milliseconds)."; | "Delay used while in the SHORT_WAIT state (milliseconds)."; | |||
} | } | |||
leaf long-delay { | leaf long-delay { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
units msec; | units "msec"; | |||
description | description | |||
"Delay used while in the LONG_WAIT state (milliseconds)."; | "Delay used while in the LONG_WAIT state (milliseconds)."; | |||
} | } | |||
leaf hold-down { | leaf hold-down { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
units msec; | units "msec"; | |||
description | description | |||
"This timer value defines the period without any changes | "This timer value defines the period without any changes | |||
for the IGP to be considered stable (in milliseconds)."; | for the IGP to be considered stable (in milliseconds)."; | |||
} | } | |||
leaf time-to-learn { | leaf time-to-learn { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
units msec; | units "msec"; | |||
description | description | |||
"Duration used to learn all the IGP events | "Duration used to learn all the IGP events | |||
related to a single component failure (milliseconds)."; | related to a single component failure (milliseconds)."; | |||
} | } | |||
leaf current-state { | leaf current-state { | |||
type enumeration { | type enumeration { | |||
enum "quiet" { | enum quiet { | |||
description | description | |||
"QUIET state."; | "QUIET state."; | |||
} | } | |||
enum "short-wait" { | enum short-wait { | |||
description | description | |||
"SHORT_WAIT state."; | "SHORT_WAIT state."; | |||
} | } | |||
enum "long-wait" { | enum long-wait { | |||
description | description | |||
"LONG_WAIT state."; | "LONG_WAIT state."; | |||
} | } | |||
} | } | |||
config false; | config false; | |||
description | description | |||
"Current SPF Back-Off algorithm state."; | "Current SPF Back-Off algorithm state."; | |||
} | } | |||
leaf remaining-time-to-learn { | leaf remaining-time-to-learn { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
skipping to change at line 1341 ¶ | skipping to change at line 1371 ¶ | |||
"Time of the last SPF computation."; | "Time of the last SPF computation."; | |||
} | } | |||
description | description | |||
"Grouping for IETF SPF delay configuration and state."; | "Grouping for IETF SPF delay configuration and state."; | |||
} | } | |||
grouping node-tag-config { | grouping node-tag-config { | |||
description | description | |||
"IS-IS node tag configuration state."; | "IS-IS node tag configuration state."; | |||
container node-tags { | container node-tags { | |||
if-feature node-tag; | if-feature "node-tag"; | |||
list node-tag { | list node-tag { | |||
key tag; | key "tag"; | |||
leaf tag { | leaf tag { | |||
type uint32; | type uint32; | |||
description | description | |||
"Node tag value."; | "Node tag value."; | |||
} | } | |||
description | description | |||
"List of tags."; | "List of tags."; | |||
} | } | |||
description | description | |||
"Container for node administrative tags."; | "Container for node administrative tags."; | |||
} | } | |||
} | } | |||
grouping authentication-global-cfg { | grouping authentication-global-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 | 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 | |||
skipping to change at line 1447 ¶ | skipping to change at line 1477 ¶ | |||
"Advertises the old metric style only (RFC 1195)."; | "Advertises the old metric style only (RFC 1195)."; | |||
reference | reference | |||
"RFC 1195: Use of OSI IS-IS for routing in TCP/IP and | "RFC 1195: Use of OSI IS-IS for routing in TCP/IP and | |||
dual environments"; | dual environments"; | |||
} | } | |||
enum both { | enum both { | |||
description | description | |||
"Advertises both metric styles."; | "Advertises both metric styles."; | |||
} | } | |||
} | } | |||
default wide-only; | default "wide-only"; | |||
description | description | |||
"Type of metric to be generated: | "Type of metric to be generated: | |||
- 'wide-only' means that only a new metric style | - 'wide-only' means that only a new metric style | |||
is generated. | is generated. | |||
- 'old-only' means that only an old metric style | - 'old-only' means that only an old metric style | |||
is generated. | is generated. | |||
- 'both' means that both are advertised. | - 'both' means that both are advertised. | |||
This leaf only affects IPv4 metrics."; | This leaf only affects IPv4 metrics."; | |||
skipping to change at line 1486 ¶ | skipping to change at line 1517 ¶ | |||
description | description | |||
"Value of the metric."; | "Value of the metric."; | |||
} | } | |||
description | description | |||
"Global default metric configuration grouping."; | "Global default metric configuration grouping."; | |||
} | } | |||
grouping overload-global-cfg { | grouping overload-global-cfg { | |||
leaf status { | leaf status { | |||
type boolean; | type boolean; | |||
default false; | default "false"; | |||
description | description | |||
"This leaf specifies the overload status."; | "This leaf specifies the overload status."; | |||
} | } | |||
description | description | |||
"Grouping for overload bit configuration."; | "Grouping for overload bit configuration."; | |||
} | } | |||
grouping overload-max-metric-global-cfg { | grouping overload-max-metric-global-cfg { | |||
leaf timeout { | leaf timeout { | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
skipping to change at line 1536 ¶ | skipping to change at line 1567 ¶ | |||
description | description | |||
"Choice for implementation of route preference."; | "Choice for implementation of route preference."; | |||
} | } | |||
description | description | |||
"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 | 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 | |||
skipping to change at line 1573 ¶ | skipping to change at line 1604 ¶ | |||
} | } | |||
grouping hello-interval-cfg { | grouping hello-interval-cfg { | |||
leaf value { | leaf value { | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
units "seconds"; | units "seconds"; | |||
description | description | |||
"Interval (in seconds) between successive Hello | "Interval (in seconds) between successive Hello | |||
messages."; | messages."; | |||
} | } | |||
description | description | |||
"Interval between Hello messages."; | "Interval between Hello messages."; | |||
} | } | |||
grouping hello-interval-cfg-with-default { | grouping hello-interval-cfg-with-default { | |||
leaf value { | leaf value { | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
units "seconds"; | units "seconds"; | |||
default 10; | default "10"; | |||
description | description | |||
"Interval (in seconds) between successive Hello | "Interval (in seconds) between successive Hello | |||
messages."; | messages."; | |||
} | } | |||
description | description | |||
"Interval between Hello messages."; | "Interval between Hello messages."; | |||
} | } | |||
grouping hello-multiplier-cfg { | grouping hello-multiplier-cfg { | |||
leaf value { | leaf value { | |||
type uint16; | type uint16; | |||
description | description | |||
"Number of missed Hello messages prior to | "Number of missed Hello messages prior to | |||
declaring the adjacency down."; | declaring the adjacency down."; | |||
skipping to change at line 1602 ¶ | skipping to change at line 1632 ¶ | |||
leaf value { | leaf value { | |||
type uint16; | type uint16; | |||
description | description | |||
"Number of missed Hello messages prior to | "Number of missed Hello messages prior to | |||
declaring the adjacency down."; | declaring the adjacency down."; | |||
} | } | |||
description | description | |||
"Grouping for the number of missed Hello messages prior to | "Grouping for the number of missed Hello messages prior to | |||
declaring the adjacency down."; | declaring the adjacency down."; | |||
} | } | |||
grouping hello-multiplier-cfg-with-default { | grouping hello-multiplier-cfg-with-default { | |||
leaf value { | leaf value { | |||
type uint16; | type uint16; | |||
default 3; | default "3"; | |||
description | description | |||
"Number of missed Hello messages prior to | "Number of missed Hello messages prior to | |||
declaring the adjacency down."; | declaring the adjacency down."; | |||
} | } | |||
description | description | |||
"Grouping for the number of missed Hello messages prior to | "Grouping for the number of missed Hello messages prior to | |||
declaring the adjacency down."; | declaring the adjacency down."; | |||
} | } | |||
grouping priority-cfg { | grouping priority-cfg { | |||
skipping to change at line 1623 ¶ | skipping to change at line 1654 ¶ | |||
} | } | |||
grouping priority-cfg { | grouping priority-cfg { | |||
leaf value { | leaf value { | |||
type uint8 { | type uint8 { | |||
range "0 .. 127"; | range "0 .. 127"; | |||
} | } | |||
description | description | |||
"Priority of the interface for DIS election."; | "Priority of the interface for DIS election."; | |||
} | } | |||
description | description | |||
"Interface DIS election priority grouping."; | "Interface DIS election priority grouping."; | |||
} | } | |||
grouping priority-cfg-with-default { | grouping priority-cfg-with-default { | |||
leaf value { | leaf value { | |||
type uint8 { | type uint8 { | |||
range "0 .. 127"; | range "0 .. 127"; | |||
} | } | |||
default 64; | default "64"; | |||
description | description | |||
"Priority of the interface for DIS election."; | "Priority of the interface for DIS election."; | |||
} | } | |||
description | description | |||
"Interface DIS election priority grouping."; | "Interface DIS election priority grouping."; | |||
} | } | |||
grouping metric-cfg { | grouping metric-cfg { | |||
leaf value { | leaf value { | |||
type wide-metric; | type wide-metric; | |||
description | description | |||
"Metric value."; | "Metric value."; | |||
} | } | |||
skipping to change at line 1694 ¶ | skipping to change at line 1724 ¶ | |||
} | } | |||
container level-2 { | container level-2 { | |||
uses default-metric-global-cfg; | uses default-metric-global-cfg; | |||
description | description | |||
"Configuration specific to level 2."; | "Configuration specific to level 2."; | |||
} | } | |||
description | description | |||
"Default metric global configuration."; | "Default metric global configuration."; | |||
} | } | |||
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 enable { | leaf enable { | |||
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 "../enable = '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 | |||
reference bandwidth divided by the interface speed, | reference bandwidth divided by the interface speed, | |||
with 1 being the minimum cost."; | with 1 being the minimum cost."; | |||
} | } | |||
} | } | |||
description | description | |||
"Grouping for global metric parameters."; | "Grouping for global metric parameters."; | |||
} | } | |||
grouping high-availability-parameters { | grouping high-availability-parameters { | |||
container graceful-restart { | container graceful-restart { | |||
if-feature graceful-restart; | if-feature "graceful-restart"; | |||
leaf enable { | leaf enable { | |||
type boolean; | type boolean; | |||
default false; | default "false"; | |||
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."; | |||
} | } | |||
skipping to change at line 1750 ¶ | skipping to change at line 1779 ¶ | |||
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 { | |||
if-feature nsr; | if-feature "nsr"; | |||
description | description | |||
"Non-Stop Routing (NSR) configuration."; | "Non-Stop Routing (NSR) configuration."; | |||
leaf enable { | leaf enable { | |||
type boolean; | type boolean; | |||
default false; | default "false"; | |||
description | description | |||
"Enables or disables NSR."; | "Enables or disables NSR."; | |||
} | } | |||
} | } | |||
description | description | |||
"Grouping for high-availability parameters."; | "Grouping for high-availability parameters."; | |||
} | } | |||
grouping authentication-parameters { | grouping authentication-parameters { | |||
container authentication { | container authentication { | |||
skipping to change at line 1785 ¶ | skipping to change at line 1813 ¶ | |||
description | description | |||
"Configuration specific to level 2."; | "Configuration specific to level 2."; | |||
} | } | |||
description | description | |||
"Authentication global configuration for | "Authentication global configuration for | |||
both LSPs and Sequence Number PDUs (SNPs)."; | both LSPs and Sequence Number PDUs (SNPs)."; | |||
} | } | |||
description | description | |||
"Grouping for authentication parameters."; | "Grouping for authentication parameters."; | |||
} | } | |||
grouping address-family-parameters { | grouping address-family-parameters { | |||
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."; | |||
} | } | |||
leaf enable { | leaf enable { | |||
type boolean; | type boolean; | |||
description | description | |||
"Activates the address family."; | "Activates the address family."; | |||
} | } | |||
skipping to change at line 1814 ¶ | skipping to change at line 1843 ¶ | |||
description | description | |||
"Address family configuration."; | "Address family configuration."; | |||
} | } | |||
description | description | |||
"Grouping for address family parameters."; | "Grouping for address family parameters."; | |||
} | } | |||
grouping mpls-parameters { | grouping mpls-parameters { | |||
container mpls { | container mpls { | |||
container te-rid { | container te-rid { | |||
if-feature te-rid; | if-feature "te-rid"; | |||
description | description | |||
"Stable IS-IS router IP address used for Traffic | "Stable IS-IS router IP address used for Traffic | |||
Engineering."; | Engineering."; | |||
leaf ipv4-router-id { | leaf ipv4-router-id { | |||
type inet:ipv4-address; | type inet:ipv4-address; | |||
description | description | |||
"Router ID value that would be used in TLV 134."; | "Router ID value that would be used in TLV 134."; | |||
} | } | |||
leaf ipv6-router-id { | leaf ipv6-router-id { | |||
type inet:ipv6-address; | type inet:ipv6-address; | |||
description | description | |||
"Router ID value that would be used in TLV 140."; | "Router ID value that would be used in TLV 140."; | |||
} | } | |||
} | } | |||
container ldp { | container ldp { | |||
container igp-sync { | container igp-sync { | |||
if-feature ldp-igp-sync; | if-feature "ldp-igp-sync"; | |||
description | description | |||
"This container may be augmented with global | "This container may be augmented with global | |||
parameters for LDP IGP synchronization."; | parameters for LDP IGP synchronization."; | |||
} | } | |||
description | description | |||
"LDP configuration."; | "LDP configuration."; | |||
} | } | |||
description | description | |||
"MPLS configuration."; | "MPLS configuration."; | |||
} | } | |||
description | description | |||
"Grouping for MPLS global parameters."; | "Grouping for MPLS global parameters."; | |||
} | } | |||
grouping lsp-parameters { | grouping lsp-parameters { | |||
leaf lsp-mtu { | leaf lsp-mtu { | |||
type uint16; | type uint16; | |||
units "bytes"; | units "bytes"; | |||
default 1492; | default "1492"; | |||
description | description | |||
"Maximum size of an LSP PDU in bytes."; | "Maximum size of an LSP PDU in bytes."; | |||
} | } | |||
leaf lsp-lifetime { | leaf lsp-lifetime { | |||
type uint16 { | type uint16 { | |||
range "1..65535"; | range "1..65535"; | |||
} | } | |||
units "seconds"; | units "seconds"; | |||
description | description | |||
"Lifetime of the router's LSPs in seconds."; | "Lifetime of the router's LSPs in seconds."; | |||
} | } | |||
leaf lsp-refresh { | leaf lsp-refresh { | |||
if-feature lsp-refresh; | if-feature "lsp-refresh"; | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
units "seconds"; | units "seconds"; | |||
description | description | |||
"Refresh interval of the router's LSPs in seconds."; | "Refresh interval of the router's LSPs in seconds."; | |||
} | } | |||
leaf poi-tlv { | leaf poi-tlv { | |||
if-feature poi-tlv; | if-feature "poi-tlv"; | |||
type boolean; | type boolean; | |||
default false; | default "false"; | |||
description | description | |||
"Enables the advertisement of the IS-IS Purge Originator | "Enables the advertisement of the IS-IS Purge Originator | |||
Identification TLV."; | Identification TLV."; | |||
} | } | |||
description | description | |||
"Grouping for LSP global parameters."; | "Grouping for LSP global parameters."; | |||
} | } | |||
grouping spf-parameters { | grouping spf-parameters { | |||
container spf-control { | container spf-control { | |||
leaf paths { | leaf paths { | |||
if-feature max-ecmp; | if-feature "max-ecmp"; | |||
type uint16 { | type uint16 { | |||
range "1..65535"; | range "1..65535"; | |||
} | ||||
description | ||||
"Maximum number of Equal-Cost Multi-Path (ECMP) paths."; | ||||
} | ||||
container ietf-spf-delay { | ||||
if-feature ietf-spf-delay; | ||||
uses ietf-spf-delay; | ||||
description | ||||
"IETF SPF delay algorithm configuration."; | ||||
} | } | |||
description | description | |||
"SPF calculation control."; | "Maximum number of Equal-Cost Multi-Path (ECMP) paths."; | |||
} | ||||
container ietf-spf-delay { | ||||
if-feature "ietf-spf-delay"; | ||||
uses ietf-spf-delay; | ||||
description | ||||
"IETF SPF delay algorithm configuration."; | ||||
} | ||||
description | ||||
"SPF calculation control."; | ||||
} | } | |||
description | description | |||
"Grouping for SPF global parameters."; | "Grouping for SPF global parameters."; | |||
} | } | |||
grouping instance-config { | grouping instance-config { | |||
description | description | |||
"IS-IS global configuration grouping."; | "IS-IS global configuration grouping."; | |||
uses admin-control; | uses admin-control; | |||
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-2', or | "Level of an IS-IS node. Can be 'level-1', 'level-2', or | |||
'level-all'."; | 'level-all'."; | |||
} | } | |||
leaf system-id { | leaf system-id { | |||
type system-id; | type system-id; | |||
description | description | |||
"System ID of the node."; | "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 | description | |||
"Maximum areas supported."; | "Maximum areas supported."; | |||
} | } | |||
leaf-list area-address { | leaf-list area-address { | |||
type area-address; | type area-address; | |||
description | description | |||
"List of areas supported by the protocol instance."; | "List of areas supported by the protocol instance."; | |||
} | } | |||
uses lsp-parameters; | uses lsp-parameters; | |||
uses high-availability-parameters; | uses high-availability-parameters; | |||
uses node-tag-config; | uses node-tag-config; | |||
uses metric-parameters; | uses metric-parameters; | |||
uses authentication-parameters; | uses authentication-parameters; | |||
uses address-family-parameters; | uses address-family-parameters; | |||
uses mpls-parameters; | uses mpls-parameters; | |||
uses spf-parameters; | uses spf-parameters; | |||
uses instance-fast-reroute-config; | uses instance-fast-reroute-config; | |||
container preference { | container preference { | |||
uses route-preference-global-cfg; | uses route-preference-global-cfg; | |||
description | description | |||
"Router preference configuration for IS-IS | "Router preference configuration for IS-IS | |||
protocol instance route installation."; | protocol instance route installation."; | |||
} | } | |||
container overload { | container overload { | |||
uses overload-global-cfg; | uses overload-global-cfg; | |||
description | description | |||
"Router protocol instance overload state configuration."; | "Router protocol instance overload state configuration."; | |||
} | } | |||
container overload-max-metric { | container overload-max-metric { | |||
if-feature overload-max-metric; | if-feature "overload-max-metric"; | |||
uses overload-max-metric-global-cfg; | uses overload-max-metric-global-cfg; | |||
description | description | |||
"Router protocol instance overload maximum | "Router protocol instance overload maximum | |||
metric advertisement configuration."; | metric advertisement configuration."; | |||
} | } | |||
} | } | |||
grouping instance-state { | grouping instance-state { | |||
description | description | |||
"IS-IS instance operational state."; | "IS-IS instance operational state."; | |||
skipping to change at line 2015 ¶ | skipping to change at line 2037 ¶ | |||
} | } | |||
description | description | |||
"Default metric per-topology configuration."; | "Default metric per-topology configuration."; | |||
} | } | |||
uses node-tag-config; | uses node-tag-config; | |||
} | } | |||
grouping interface-config { | grouping interface-config { | |||
description | description | |||
"Interface configuration grouping."; | "Interface configuration grouping."; | |||
uses admin-control; | uses admin-control; | |||
leaf level-type { | leaf level-type { | |||
type level; | type level; | |||
default "level-all"; | default "level-all"; | |||
description | description | |||
"IS-IS level of the interface."; | "IS-IS level of the interface."; | |||
} | } | |||
leaf lsp-pacing-interval { | leaf lsp-pacing-interval { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
units "milliseconds"; | units "milliseconds"; | |||
default 33; | default "33"; | |||
description | description | |||
"Interval (in milliseconds) between LSP transmissions."; | "Interval (in milliseconds) between LSP transmissions."; | |||
} | } | |||
leaf lsp-retransmit-interval { | leaf lsp-retransmit-interval { | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
units "seconds"; | units "seconds"; | |||
description | description | |||
"Interval (in seconds) between LSP retransmissions."; | "Interval (in seconds) between LSP retransmissions."; | |||
} | } | |||
leaf passive { | leaf passive { | |||
type boolean; | type boolean; | |||
default "false"; | default "false"; | |||
description | description | |||
"Indicates whether the interface is in passive mode (IS-IS | "Indicates whether the interface is in passive mode (IS-IS | |||
is not running, but the network is advertised)."; | is not running, but the network is advertised)."; | |||
} | } | |||
leaf csnp-interval { | leaf csnp-interval { | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
units "seconds"; | units "seconds"; | |||
default 10; | default "10"; | |||
description | description | |||
"Interval (in seconds) between Complete Sequence Number | "Interval (in seconds) between Complete Sequence Number | |||
Packet (CSNP) messages."; | Packet (CSNP) messages."; | |||
} | } | |||
container hello-padding { | container hello-padding { | |||
leaf enable { | leaf enable { | |||
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."; | |||
skipping to change at line 2083 ¶ | skipping to change at line 2103 ¶ | |||
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. | |||
This dictates the type of Hello messages that are used."; | This dictates the type of Hello messages that are used."; | |||
} | } | |||
leaf-list tag { | leaf-list tag { | |||
if-feature prefix-tag; | if-feature "prefix-tag"; | |||
type uint32; | type uint32; | |||
description | description | |||
"List of tags associated with the interface."; | "List of tags associated with the interface."; | |||
} | } | |||
leaf-list tag64 { | leaf-list tag64 { | |||
if-feature prefix-tag64; | if-feature "prefix-tag64"; | |||
type uint64; | type uint64; | |||
description | description | |||
"List of 64-bit tags associated with the interface."; | "List of 64-bit tags associated with the interface."; | |||
} | } | |||
leaf node-flag { | leaf node-flag { | |||
if-feature node-flag; | if-feature "node-flag"; | |||
type boolean; | type boolean; | |||
default false; | default "false"; | |||
description | description | |||
"Sets the prefix as a node representative prefix."; | "Sets the prefix as a node representative prefix."; | |||
} | } | |||
container hello-authentication { | container hello-authentication { | |||
uses hello-authentication-cfg; | uses hello-authentication-cfg; | |||
container level-1 { | container level-1 { | |||
uses hello-authentication-cfg; | uses hello-authentication-cfg; | |||
description | description | |||
"Configuration specific to level 1."; | "Configuration specific to level 1."; | |||
} | } | |||
skipping to change at line 2150 ¶ | skipping to change at line 2169 ¶ | |||
container level-2 { | container level-2 { | |||
uses hello-multiplier-cfg; | uses hello-multiplier-cfg; | |||
description | description | |||
"Configuration specific to level 2."; | "Configuration specific to level 2."; | |||
} | } | |||
description | description | |||
"Hello multiplier configuration."; | "Hello multiplier configuration."; | |||
} | } | |||
container priority { | container priority { | |||
must '../interface-type = "broadcast"' { | must '../interface-type = "broadcast"' { | |||
error-message | error-message "Priority only applies to broadcast interfaces."; | |||
"Priority only applies to broadcast interfaces."; | ||||
description | description | |||
"Checks for a broadcast interface."; | "Checks for a broadcast interface."; | |||
} | } | |||
uses priority-cfg-with-default; | uses priority-cfg-with-default; | |||
container level-1 { | container level-1 { | |||
uses priority-cfg; | uses priority-cfg; | |||
description | description | |||
"Configuration specific to level 1."; | "Configuration specific to level 1."; | |||
} | } | |||
container level-2 { | container level-2 { | |||
skipping to change at line 2185 ¶ | skipping to change at line 2203 ¶ | |||
} | } | |||
container level-2 { | container level-2 { | |||
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 client configuration."; | "BFD client configuration."; | |||
uses bfd-types:client-cfg-parms; | uses bfd-types:client-cfg-parms; | |||
reference | reference | |||
"RFC 9127: YANG Data Model for Bidirectional Forwarding | "RFC 9127: YANG Data Model for Bidirectional Forwarding | |||
Detection (BFD)"; | Detection (BFD)"; | |||
} | } | |||
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."; | |||
} | } | |||
description | description | |||
"List of address families."; | "List of address families."; | |||
} | } | |||
description | description | |||
"Interface address families."; | "Interface address families."; | |||
} | } | |||
container mpls { | container mpls { | |||
container ldp { | container ldp { | |||
leaf igp-sync { | leaf igp-sync { | |||
if-feature ldp-igp-sync; | if-feature "ldp-igp-sync"; | |||
type boolean; | type boolean; | |||
default false; | default "false"; | |||
description | description | |||
"Enables IGP/LDP synchronization."; | "Enables IGP/LDP synchronization."; | |||
} | } | |||
description | description | |||
"Configuration related to LDP."; | "Configuration related to LDP."; | |||
} | } | |||
description | description | |||
"MPLS configuration for IS-IS interfaces."; | "MPLS configuration for IS-IS interfaces."; | |||
} | } | |||
uses interface-fast-reroute-config; | uses interface-fast-reroute-config; | |||
skipping to change at line 2262 ¶ | skipping to change at line 2280 ¶ | |||
leaf discontinuity-time { | leaf discontinuity-time { | |||
type yang:date-and-time; | type yang:date-and-time; | |||
description | description | |||
"The time of the most recent occasion at which any one | "The time of the most recent occasion at which any one | |||
or more of this IS-IS interface's counters suffered a | or more of this IS-IS interface's counters suffered a | |||
discontinuity. If no such discontinuities have occurred | discontinuity. If no such discontinuities have occurred | |||
since the IS-IS interface was last reinitialized, then | since the IS-IS interface was last reinitialized, then | |||
this node contains the time the IS-IS interface was | this node contains the time the IS-IS interface was | |||
reinitialized, which normally occurs when it was | reinitialized, which normally occurs when it was | |||
created."; | created."; | |||
} | } | |||
} | } | |||
/* 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"; | length "1..255"; | |||
} | } | |||
description | description | |||
skipping to change at line 2304 ¶ | skipping to change at line 2322 ¶ | |||
description | description | |||
"Grouping for hostname-to-system-ID mapping database."; | "Grouping for hostname-to-system-ID mapping database."; | |||
} | } | |||
/* Groupings for counters */ | /* Groupings for counters */ | |||
grouping system-counters { | grouping system-counters { | |||
container system-counters { | container system-counters { | |||
config false; | config false; | |||
list level { | list level { | |||
key level; | key "level"; | |||
leaf level { | leaf level { | |||
type level-number; | type level-number; | |||
description | description | |||
"IS-IS level."; | "IS-IS level."; | |||
} | } | |||
leaf corrupted-lsps { | leaf corrupted-lsps { | |||
type uint32; | type uint32; | |||
description | description | |||
"Number of corrupted in-memory LSPs detected. | "Number of corrupted in-memory LSPs detected. | |||
LSPs received from the wire with a bad | LSPs received from the wire with a bad | |||
skipping to change at line 2464 ¶ | skipping to change at line 2481 ¶ | |||
"IS-IS interface event counters."; | "IS-IS interface event counters."; | |||
} | } | |||
description | description | |||
"Grouping for IS-IS interface event counters."; | "Grouping for IS-IS interface event counters."; | |||
} | } | |||
grouping packet-counters { | grouping packet-counters { | |||
container packet-counters { | container packet-counters { | |||
config false; | config false; | |||
list level { | list level { | |||
key level; | key "level"; | |||
leaf level { | leaf level { | |||
type level-number; | type level-number; | |||
description | description | |||
"IS-IS level."; | "IS-IS level."; | |||
} | } | |||
container iih { | container iih { | |||
leaf in { | leaf in { | |||
type uint32; | type uint32; | |||
description | description | |||
"Received IS-IS Hello (IIH) PDUs."; | "Received IS-IS Hello (IIH) PDUs."; | |||
skipping to change at line 2576 ¶ | skipping to change at line 2592 ¶ | |||
"List of packet counters for supported levels."; | "List of packet counters for supported levels."; | |||
} | } | |||
description | description | |||
"Packet counters per IS-IS level."; | "Packet counters per IS-IS level."; | |||
} | } | |||
description | description | |||
"Grouping for packet counters per IS-IS level."; | "Grouping for packet counters per IS-IS level."; | |||
} | } | |||
/* Groupings for various log buffers */ | /* Groupings for various log buffers */ | |||
grouping spf-log { | grouping spf-log { | |||
container spf-log { | container spf-log { | |||
config false; | config false; | |||
list event { | list event { | |||
key id; | key "id"; | |||
leaf id { | leaf id { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Event identifier. A purely internal value. | "Event identifier. A purely internal value. | |||
The most recent events are expected to have a bigger | The most recent events are expected to have a bigger | |||
ID number."; | ID number."; | |||
} | } | |||
leaf spf-type { | leaf spf-type { | |||
type enumeration { | type enumeration { | |||
enum full { | enum full { | |||
skipping to change at line 2659 ¶ | skipping to change at line 2674 ¶ | |||
"This container lists the SPF computation events."; | "This container lists the SPF computation events."; | |||
} | } | |||
description | description | |||
"Grouping for SPF log events."; | "Grouping for SPF log events."; | |||
} | } | |||
grouping lsp-log { | grouping lsp-log { | |||
container lsp-log { | container lsp-log { | |||
config false; | config false; | |||
list event { | list event { | |||
key id; | key "id"; | |||
leaf id { | leaf id { | |||
type yang:counter32; | type yang:counter32; | |||
description | description | |||
"Event identifier. A purely internal value. | "Event identifier. A purely internal value. | |||
The most recent events are expected to have a bigger | The most recent events are expected to have a bigger | |||
ID number."; | ID number."; | |||
} | } | |||
leaf level { | leaf level { | |||
type level-number; | type level-number; | |||
description | description | |||
skipping to change at line 2688 ¶ | skipping to change at line 2702 ¶ | |||
} | } | |||
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 for either the received | "LSP identification container for either the received | |||
LSP or the locally generated LSP."; | LSP or the locally generated LSP."; | |||
} | } | |||
leaf received-timestamp { | leaf received-timestamp { | |||
type yang:timestamp; | type yang:timestamp; | |||
description | description | |||
"This is the timestamp when the LSP was received. | "This is the timestamp when the LSP was received. | |||
In the case of a local LSP update, the timestamp refers | In the case of a local LSP update, the timestamp refers | |||
to the LSP origination time."; | to the LSP origination time."; | |||
} | } | |||
leaf reason { | leaf reason { | |||
type identityref { | type identityref { | |||
base lsp-log-reason; | base lsp-log-reason; | |||
} | } | |||
description | description | |||
"Type of LSP change."; | "Type of LSP change."; | |||
} | } | |||
description | description | |||
"List of LSP events. Implemented as a wrapping buffer."; | "List of LSP events. Implemented as a wrapping buffer."; | |||
} | } | |||
description | description | |||
"This container lists the LSP log. | "This container lists the LSP log. | |||
Local LSP modifications are also included in the list."; | Local LSP modifications are also included in the list."; | |||
} | ||||
} description | description | |||
"Grouping for the LSP log."; | "Grouping for the LSP log."; | |||
} | } | |||
/* Groupings for the Link State Database (LSDB) descriptions */ | /* Groupings for the Link State Database (LSDB) descriptions */ | |||
/* Unknown TLV and sub-TLV descriptions */ | /* Unknown TLV and sub-TLV descriptions */ | |||
grouping tlv { | grouping tlv { | |||
description | description | |||
"Type-Length-Value (TLV)."; | "Type-Length-Value (TLV)."; | |||
leaf type { | leaf type { | |||
type uint16; | type uint16; | |||
description | description | |||
"TLV type."; | "TLV type."; | |||
} | } | |||
leaf length { | leaf length { | |||
type uint16; | type uint16; | |||
skipping to change at line 3049 ¶ | skipping to change at line 3056 ¶ | |||
type rt-types:bandwidth-ieee-float32; | type rt-types:bandwidth-ieee-float32; | |||
description | description | |||
"Maximum LSP bandwidth."; | "Maximum LSP bandwidth."; | |||
} | } | |||
description | description | |||
"List of maximum LSP bandwidths for different | "List of maximum LSP bandwidths for different | |||
priorities."; | priorities."; | |||
} | } | |||
} | } | |||
container tdm-specific { | container tdm-specific { | |||
when "../switching-capability = 100"; | when '../switching-capability = 100'; | |||
description | description | |||
"Switching-capability-specific information applicable | "Switching-capability-specific information applicable | |||
when the switching type is Time-Division Multiplexing | when the switching type is Time-Division Multiplexing | |||
(TDM)."; | (TDM)."; | |||
leaf minimum-lsp-bandwidth { | leaf minimum-lsp-bandwidth { | |||
type rt-types:bandwidth-ieee-float32; | type rt-types:bandwidth-ieee-float32; | |||
description | description | |||
"Minimum LSP bandwidth."; | "Minimum LSP bandwidth."; | |||
} | } | |||
leaf indication { | leaf indication { | |||
type uint8; | type uint8; | |||
description | description | |||
"Indicates whether the interface supports Standard | "Indicates whether the interface supports Standard | |||
or Arbitrary SONET/SDH (Synchronous Optical Network / | or Arbitrary SONET/SDH (Synchronous Optical Network / | |||
skipping to change at line 3075 ¶ | skipping to change at line 3081 ¶ | |||
Synchronous Digital Hierarchy)."; | Synchronous Digital Hierarchy)."; | |||
} | } | |||
} | } | |||
container psc-specific { | container psc-specific { | |||
when "../switching-capability >= 1 and | when "../switching-capability >= 1 and | |||
../switching-capability <= 4"; | ../switching-capability <= 4"; | |||
description | description | |||
"Switching-capability-specific information applicable | "Switching-capability-specific information applicable | |||
when the switching type is PSC1, PSC2, PSC3, or PSC4 | when the switching type is PSC1, PSC2, PSC3, or PSC4 | |||
('PSC' stands for 'Packet Switching Capability')."; | ('PSC' stands for 'Packet Switching Capability')."; | |||
leaf minimum-lsp-bandwidth { | leaf minimum-lsp-bandwidth { | |||
type rt-types:bandwidth-ieee-float32; | type rt-types:bandwidth-ieee-float32; | |||
description | description | |||
"Minimum LSP bandwidth."; | "Minimum LSP bandwidth."; | |||
} | } | |||
leaf mtu { | leaf mtu { | |||
type uint16; | type uint16; | |||
units bytes; | units "bytes"; | |||
description | description | |||
"Interface MTU."; | "Interface MTU."; | |||
} | } | |||
} | } | |||
} | } | |||
} | } | |||
grouping neighbor-extended-te-extensions { | grouping neighbor-extended-te-extensions { | |||
description | description | |||
"Grouping for TE attributes of a neighbor as defined | "Grouping for TE attributes of a neighbor as defined | |||
skipping to change at line 3097 ¶ | skipping to change at line 3102 ¶ | |||
} | } | |||
} | } | |||
} | } | |||
grouping neighbor-extended-te-extensions { | grouping neighbor-extended-te-extensions { | |||
description | description | |||
"Grouping for TE attributes of a neighbor as defined | "Grouping for TE attributes of a neighbor as defined | |||
in RFC 8570."; | in RFC 8570."; | |||
reference | reference | |||
"RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | "RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; | |||
container unidirectional-link-delay { | container unidirectional-link-delay { | |||
description | description | |||
"Container for the average delay | "Container for the average delay | |||
from the local neighbor to the remote neighbor."; | from the local neighbor to the remote neighbor."; | |||
container flags { | container flags { | |||
leaf-list unidirectional-link-delay-subtlv-flags { | leaf-list unidirectional-link-delay-subtlv-flags { | |||
type identityref { | type identityref { | |||
base unidirectional-link-delay-subtlv-flag; | base unidirectional-link-delay-subtlv-flag; | |||
} | } | |||
description | description | |||
"This list contains identities for the bits that | "This list contains identities for the bits that | |||
are set."; | are set."; | |||
} | } | |||
description | description | |||
"Unidirectional Link Delay sub-TLV flags."; | "Unidirectional Link Delay sub-TLV flags."; | |||
} | } | |||
leaf value { | leaf value { | |||
type uint32; | type uint32; | |||
units usec; | units "usec"; | |||
description | description | |||
"Delay value expressed in microseconds."; | "Delay value expressed in microseconds."; | |||
} | } | |||
} | } | |||
container min-max-unidirectional-link-delay { | container min-max-unidirectional-link-delay { | |||
description | description | |||
"Container for the minimum and maximum delay | "Container for the minimum and maximum delay | |||
from the local neighbor to the remote neighbor."; | from the local neighbor to the remote neighbor."; | |||
container flags { | container flags { | |||
leaf-list min-max-unidirectional-link-delay-subtlv-flags { | leaf-list min-max-unidirectional-link-delay-subtlv-flags { | |||
type identityref { | type identityref { | |||
base min-max-unidirectional-link-delay-subtlv-flag; | base min-max-unidirectional-link-delay-subtlv-flag; | |||
} | } | |||
description | description | |||
"This list contains identities for the bits that | "This list contains identities for the bits that | |||
are set."; | are set."; | |||
} | } | |||
description | description | |||
"Min/Max Unidirectional Link Delay sub-TLV flags."; | "Min/Max Unidirectional Link Delay sub-TLV flags."; | |||
} | } | |||
leaf min-value { | leaf min-value { | |||
type uint32; | type uint32; | |||
units usec; | units "usec"; | |||
description | description | |||
"Minimum delay value expressed in microseconds."; | "Minimum delay value expressed in microseconds."; | |||
} | } | |||
leaf max-value { | leaf max-value { | |||
type uint32; | type uint32; | |||
units usec; | units "usec"; | |||
description | description | |||
"Maximum delay value expressed in microseconds."; | "Maximum delay value expressed in microseconds."; | |||
} | } | |||
} | } | |||
container unidirectional-link-delay-variation { | container unidirectional-link-delay-variation { | |||
description | description | |||
"Container for the average delay variation | "Container for the average delay variation | |||
from the local neighbor to the remote neighbor."; | from the local neighbor to the remote neighbor."; | |||
leaf value { | leaf value { | |||
type uint32; | type uint32; | |||
units usec; | units "usec"; | |||
description | description | |||
"Delay variation value expressed in microseconds."; | "Delay variation value expressed in microseconds."; | |||
} | } | |||
} | } | |||
container unidirectional-link-loss { | container unidirectional-link-loss { | |||
description | description | |||
"Container for packet loss from the local neighbor to the | "Container for packet loss from the local neighbor to the | |||
remote neighbor."; | remote neighbor."; | |||
container flags { | container flags { | |||
leaf-list unidirectional-link-loss-subtlv-flags { | leaf-list unidirectional-link-loss-subtlv-flags { | |||
type identityref { | type identityref { | |||
base unidirectional-link-loss-subtlv-flag; | base unidirectional-link-loss-subtlv-flag; | |||
} | } | |||
description | description | |||
"This list contains identities for the bits that | "This list contains identities for the bits that | |||
are set."; | are set."; | |||
} | } | |||
description | description | |||
"Unidirectional Link Loss sub-TLV flags."; | "Unidirectional Link Loss sub-TLV flags."; | |||
} | } | |||
leaf value { | leaf value { | |||
type uint32; | type uint32; | |||
units percent; | units "percent"; | |||
description | description | |||
"Link packet loss expressed as a percentage of | "Link packet loss expressed as a percentage of | |||
the total traffic sent over a configurable interval."; | the total traffic sent over a configurable interval."; | |||
} | } | |||
} | } | |||
container unidirectional-link-residual-bandwidth { | container unidirectional-link-residual-bandwidth { | |||
description | description | |||
"Container for the residual bandwidth | "Container for the residual bandwidth | |||
from the local neighbor to the remote neighbor."; | from the local neighbor to the remote neighbor."; | |||
leaf value { | leaf value { | |||
type rt-types:bandwidth-ieee-float32; | type rt-types:bandwidth-ieee-float32; | |||
units Bps; | units "Bps"; | |||
description | description | |||
"Residual bandwidth."; | "Residual bandwidth."; | |||
} | } | |||
} | } | |||
container unidirectional-link-available-bandwidth { | container unidirectional-link-available-bandwidth { | |||
description | description | |||
"Container for the available bandwidth | "Container for the available bandwidth | |||
from the local neighbor to the remote neighbor."; | from the local neighbor to the remote neighbor."; | |||
leaf value { | leaf value { | |||
type rt-types:bandwidth-ieee-float32; | type rt-types:bandwidth-ieee-float32; | |||
units Bps; | units "Bps"; | |||
description | description | |||
"Available bandwidth."; | "Available bandwidth."; | |||
} | } | |||
} | } | |||
container unidirectional-link-utilized-bandwidth { | container unidirectional-link-utilized-bandwidth { | |||
description | description | |||
"Container for the utilized bandwidth | "Container for the utilized bandwidth | |||
from the local neighbor to the remote neighbor."; | from the local neighbor to the remote neighbor."; | |||
leaf value { | leaf value { | |||
type rt-types:bandwidth-ieee-float32; | type rt-types:bandwidth-ieee-float32; | |||
units Bps; | units "Bps"; | |||
description | description | |||
"Utilized bandwidth."; | "Utilized bandwidth."; | |||
} | } | |||
} | } | |||
} | } | |||
grouping neighbor-te-extensions { | grouping neighbor-te-extensions { | |||
description | description | |||
"Grouping for TE attributes of a neighbor as defined | "Grouping for TE attributes of a neighbor as defined | |||
in RFC 5305."; | in RFC 5305."; | |||
skipping to change at line 3295 ¶ | skipping to change at line 3299 ¶ | |||
} | } | |||
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 | description | |||
"System ID of the extended neighbor."; | "System ID of the extended neighbor."; | |||
} | } | |||
container instances { | container instances { | |||
description | description | |||
"List of all adjacencies between the local | "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 | description | |||
"Unique identifier of an instance of a | "Unique identifier of an instance of a | |||
particular neighbor."; | particular neighbor."; | |||
} | } | |||
leaf metric { | leaf metric { | |||
type wide-metric; | type wide-metric; | |||
description | description | |||
"IS-IS wide metric for the extended neighbor."; | "IS-IS wide metric for the extended neighbor."; | |||
skipping to change at line 3332 ¶ | skipping to change at line 3335 ¶ | |||
} | } | |||
grouping neighbor { | grouping neighbor { | |||
description | description | |||
"IS-IS standard neighbor grouping."; | "IS-IS standard neighbor grouping."; | |||
leaf neighbor-id { | leaf neighbor-id { | |||
type extended-system-id; | type extended-system-id; | |||
description | description | |||
"IS-IS neighbor system ID."; | "IS-IS neighbor system ID."; | |||
} | } | |||
container instances { | container instances { | |||
description | description | |||
"List of all adjacencies between the local | "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 | description | |||
"Unique identifier of an instance of a | "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. | |||
Set to 'false' to indicate an internal metric."; | Set to 'false' to indicate an internal metric."; | |||
} | } | |||
container default-metric { | container default-metric { | |||
leaf metric { | leaf metric { | |||
type std-metric; | type std-metric; | |||
description | description | |||
"IS-IS default metric value."; | "IS-IS default metric value."; | |||
} | } | |||
description | description | |||
"IS-IS default metric container."; | "IS-IS default metric container."; | |||
} | } | |||
container delay-metric { | container delay-metric { | |||
leaf metric { | leaf metric { | |||
type std-metric; | type std-metric; | |||
description | description | |||
"IS-IS delay metric value."; | "IS-IS delay metric value."; | |||
} | } | |||
leaf supported { | leaf supported { | |||
type boolean; | type boolean; | |||
default "false"; | default "false"; | |||
skipping to change at line 3459 ¶ | skipping to change at line 3464 ¶ | |||
grouping tlv140-ipv6-te-rid { | grouping tlv140-ipv6-te-rid { | |||
leaf ipv6-te-routerid { | leaf ipv6-te-routerid { | |||
type inet:ipv6-address; | type inet:ipv6-address; | |||
description | description | |||
"IPv6 Traffic Engineering router ID of the IS-IS node. | "IPv6 Traffic Engineering router ID of the IS-IS node. | |||
The IS-IS reference is TLV 140."; | The IS-IS reference is TLV 140."; | |||
} | } | |||
description | description | |||
"Grouping for TLV 140."; | "Grouping for TLV 140."; | |||
} | } | |||
grouping tlv129-protocols { | grouping tlv129-protocols { | |||
leaf-list protocol-supported { | leaf-list protocol-supported { | |||
type uint8; | type uint8; | |||
description | description | |||
"List of supported protocols of the IS-IS node. | "List of supported protocols of the IS-IS node. | |||
The IS-IS reference is TLV 129."; | The IS-IS reference is TLV 129."; | |||
} | } | |||
description | description | |||
"Grouping for TLV 129."; | "Grouping for TLV 129."; | |||
} | } | |||
grouping tlv137-hostname { | grouping tlv137-hostname { | |||
leaf dynamic-hostname { | leaf dynamic-hostname { | |||
type string; | type string; | |||
description | description | |||
"Hostname of the IS-IS node. The IS-IS reference | "Hostname of the IS-IS node. The IS-IS reference | |||
is TLV 137."; | is TLV 137."; | |||
} | } | |||
description | description | |||
"Grouping for TLV 137."; | "Grouping for TLV 137."; | |||
} | } | |||
skipping to change at line 3479 ¶ | skipping to change at line 3486 ¶ | |||
grouping tlv137-hostname { | grouping tlv137-hostname { | |||
leaf dynamic-hostname { | leaf dynamic-hostname { | |||
type string; | type string; | |||
description | description | |||
"Hostname of the IS-IS node. The IS-IS reference | "Hostname of the IS-IS node. The IS-IS reference | |||
is TLV 137."; | is TLV 137."; | |||
} | } | |||
description | description | |||
"Grouping for TLV 137."; | "Grouping for TLV 137."; | |||
} | } | |||
grouping tlv10-authentication { | grouping tlv10-authentication { | |||
container authentication { | container authentication { | |||
leaf authentication-type { | leaf authentication-type { | |||
type identityref { | type identityref { | |||
base key-chain:crypto-algorithm; | base key-chain:crypto-algorithm; | |||
} | } | |||
description | description | |||
"Authentication type to be used with an IS-IS node."; | "Authentication type to be used with an IS-IS node."; | |||
} | } | |||
leaf authentication-key { | leaf authentication-key { | |||
type string; | type string; | |||
description | description | |||
"Authentication key to 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 | |||
a cleartext format in response to any request | a cleartext format in response to any request | |||
skipping to change at line 3503 ¶ | skipping to change at line 3511 ¶ | |||
a cleartext format in response to any request | a cleartext format in response to any request | |||
(e.g., via get or get-config)."; | (e.g., via get or get-config)."; | |||
} | } | |||
description | description | |||
"IS-IS node authentication information container. The | "IS-IS node authentication information container. The | |||
IS-IS reference is TLV 10."; | IS-IS reference is TLV 10."; | |||
} | } | |||
description | description | |||
"Grouping for TLV 10."; | "Grouping for TLV 10."; | |||
} | } | |||
grouping tlv229-mt { | grouping tlv229-mt { | |||
container mt-entries { | container mt-entries { | |||
list topology { | list topology { | |||
description | description | |||
"List of topologies supported."; | "List of topologies supported."; | |||
leaf mt-id { | leaf mt-id { | |||
type uint16 { | type uint16 { | |||
range "0 .. 4095"; | range "0 .. 4095"; | |||
} | } | |||
description | description | |||
"Multi-Topology (MT) identifier of the topology."; | "Multi-Topology (MT) identifier of the topology."; | |||
} | } | |||
container attributes { | container attributes { | |||
leaf-list flags { | leaf-list flags { | |||
type identityref { | type identityref { | |||
base tlv229-flag; | base tlv229-flag; | |||
} | ||||
description | ||||
"This list contains identities for the bits that | ||||
are set."; | ||||
} | } | |||
description | description | |||
"TLV 229 flags."; | "This list contains identities for the bits that | |||
are set."; | ||||
} | ||||
description | ||||
"TLV 229 flags."; | ||||
} | } | |||
} | } | |||
description | description | |||
"IS-IS node topology information container. The | "IS-IS node topology information container. The | |||
IS-IS reference is TLV 229."; | IS-IS reference is TLV 229."; | |||
} | } | |||
description | description | |||
"Grouping for TLV 229."; | "Grouping for TLV 229."; | |||
} | } | |||
grouping tlv242-router-capabilities { | grouping tlv242-router-capabilities { | |||
container router-capabilities { | container router-capabilities { | |||
list router-capability { | list router-capability { | |||
container flags { | container flags { | |||
leaf-list router-capability-flags { | leaf-list router-capability-flags { | |||
type identityref { | type identityref { | |||
base router-capability-flag; | base router-capability-flag; | |||
} | ||||
description | ||||
"This list contains identities for the bits that | ||||
are set."; | ||||
} | } | |||
description | description | |||
"Router Capability flags."; | "This list contains identities for the bits that | |||
are set."; | ||||
} | } | |||
container node-tags { | description | |||
if-feature node-tag; | "Router Capability flags."; | |||
list node-tag { | } | |||
leaf tag { | container node-tags { | |||
type uint32; | if-feature "node-tag"; | |||
description | list node-tag { | |||
"Node tag value."; | leaf tag { | |||
} | type uint32; | |||
description | description | |||
"List of tags."; | "Node tag value."; | |||
} | } | |||
description | description | |||
"Container for node administrative tags."; | "List of tags."; | |||
} | } | |||
uses unknown-tlvs; | ||||
description | description | |||
"IS-IS node capabilities. This list element may | "Container for node administrative tags."; | |||
be extended with detailed information. The IS-IS | ||||
reference is TLV 242."; | ||||
} | } | |||
uses unknown-tlvs; | ||||
description | description | |||
"List of Router Capability TLVs."; | "IS-IS node capabilities. This list element may | |||
be extended with detailed information. The IS-IS | ||||
reference is TLV 242."; | ||||
} | } | |||
description | description | |||
"Grouping for TLV 242."; | "List of Router Capability TLVs."; | |||
} | ||||
description | ||||
"Grouping for TLV 242."; | ||||
} | } | |||
grouping tlv138-srlg { | grouping tlv138-srlg { | |||
description | description | |||
"Grouping for TLV 138."; | "Grouping for TLV 138."; | |||
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 | description | |||
skipping to change at line 3671 ¶ | skipping to change at line 3676 ¶ | |||
units "seconds"; | units "seconds"; | |||
description | description | |||
"Remaining lifetime (in seconds) until LSP expiration."; | "Remaining lifetime (in seconds) until LSP expiration."; | |||
} | } | |||
leaf sequence { | leaf sequence { | |||
type uint32; | type uint32; | |||
description | description | |||
"This leaf describes the sequence number of the LSP."; | "This leaf describes the sequence number of the LSP."; | |||
} | } | |||
container attributes { | container attributes { | |||
leaf-list lsp-flags { | leaf-list lsp-flags { | |||
type identityref { | type identityref { | |||
base lsp-flag; | base lsp-flag; | |||
} | ||||
description | ||||
"This list contains identities for the bits that | ||||
are set."; | ||||
} | } | |||
description | description | |||
"LSP attributes."; | "This list contains identities for the bits that | |||
are set."; | ||||
} | ||||
description | ||||
"LSP attributes."; | ||||
} | } | |||
uses tlv132-ipv4-addresses; | uses tlv132-ipv4-addresses; | |||
uses tlv232-ipv6-addresses; | uses tlv232-ipv6-addresses; | |||
uses tlv134-ipv4-te-rid; | uses tlv134-ipv4-te-rid; | |||
uses tlv140-ipv6-te-rid; | uses tlv140-ipv6-te-rid; | |||
uses tlv129-protocols; | uses tlv129-protocols; | |||
uses tlv137-hostname; | uses tlv137-hostname; | |||
uses tlv10-authentication; | uses tlv10-authentication; | |||
uses tlv229-mt; | uses tlv229-mt; | |||
uses tlv242-router-capabilities; | uses tlv242-router-capabilities; | |||
uses tlv138-srlg; | uses tlv138-srlg; | |||
skipping to change at line 3694 ¶ | skipping to change at line 3698 ¶ | |||
uses tlv232-ipv6-addresses; | uses tlv232-ipv6-addresses; | |||
uses tlv134-ipv4-te-rid; | uses tlv134-ipv4-te-rid; | |||
uses tlv140-ipv6-te-rid; | uses tlv140-ipv6-te-rid; | |||
uses tlv129-protocols; | uses tlv129-protocols; | |||
uses tlv137-hostname; | uses tlv137-hostname; | |||
uses tlv10-authentication; | uses tlv10-authentication; | |||
uses tlv229-mt; | uses tlv229-mt; | |||
uses tlv242-router-capabilities; | uses tlv242-router-capabilities; | |||
uses tlv138-srlg; | uses tlv138-srlg; | |||
uses unknown-tlvs; | uses unknown-tlvs; | |||
container is-neighbor { | container is-neighbor { | |||
list neighbor { | list neighbor { | |||
key neighbor-id; | key "neighbor-id"; | |||
uses neighbor; | uses neighbor; | |||
description | description | |||
"List of neighbors."; | "List of neighbors."; | |||
} | } | |||
description | description | |||
"Standard IS neighbors container. The IS-IS reference is | "Standard IS neighbors container. The IS-IS reference is | |||
TLV 2."; | TLV 2."; | |||
} | } | |||
container extended-is-neighbor { | container extended-is-neighbor { | |||
list neighbor { | list neighbor { | |||
key neighbor-id; | key "neighbor-id"; | |||
uses neighbor-extended; | uses neighbor-extended; | |||
description | description | |||
"List of extended IS neighbors."; | "List of extended IS neighbors."; | |||
} | } | |||
description | description | |||
"Standard IS extended neighbors container. The IS-IS | "Standard IS extended neighbors container. The IS-IS | |||
reference is TLV 22."; | reference is TLV 22."; | |||
} | } | |||
container ipv4-internal-reachability { | container ipv4-internal-reachability { | |||
list prefixes { | list prefixes { | |||
uses prefix-ipv4-std; | uses prefix-ipv4-std; | |||
description | description | |||
"List of prefixes."; | "List of prefixes."; | |||
} | } | |||
description | description | |||
"IPv4 internal reachability information container. | "IPv4 internal reachability information container. | |||
The IS-IS reference is TLV 128."; | The IS-IS reference is TLV 128."; | |||
} | } | |||
skipping to change at line 3836 ¶ | skipping to change at line 3829 ¶ | |||
reference is TLV 236."; | reference is TLV 236."; | |||
} | } | |||
} | } | |||
grouping lsdb { | grouping lsdb { | |||
description | description | |||
"Link State Database (LSDB) grouping."; | "Link State Database (LSDB) grouping."; | |||
container database { | container database { | |||
config false; | config false; | |||
list levels { | list levels { | |||
key level; | key "level"; | |||
leaf level { | leaf level { | |||
type level-number; | type level-number; | |||
description | description | |||
"LSDB level number (1 or 2)."; | "LSDB level number (1 or 2)."; | |||
} | } | |||
list lsp { | list lsp { | |||
key lsp-id; | key "lsp-id"; | |||
uses lsp-entry; | uses lsp-entry; | |||
description | description | |||
"List of LSPs in the LSDB."; | "List of LSPs in the LSDB."; | |||
} | } | |||
description | description | |||
"List of LSPs for the LSDB-level container."; | "List of LSPs for the LSDB-level container."; | |||
} | } | |||
description | description | |||
"IS-IS LSDB container."; | "IS-IS LSDB 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 "derived-from-or-self(rt:source-protocol, 'isis:isis')" { | when "derived-from-or-self(rt:source-protocol, 'isis:isis')" { | |||
description | description | |||
"IS-IS-specific route attributes."; | "IS-IS-specific route attributes."; | |||
} | } | |||
uses route-content; | uses route-content; | |||
description | description | |||
"This augments the route object in the Routing Information | "This augments the route object in the Routing Information | |||
Base (RIB) with IS-IS-specific attributes."; | Base (RIB) with IS-IS-specific attributes."; | |||
} | } | |||
augment "/if:interfaces/if:interface" { | augment "/if:interfaces/if:interface" { | |||
leaf clns-mtu { | leaf clns-mtu { | |||
if-feature osi-interface; | if-feature "osi-interface"; | |||
type uint16; | type uint16; | |||
description | description | |||
"Connectionless-mode Network Service (CLNS) MTU of the | "Connectionless-mode Network Service (CLNS) MTU of the | |||
interface."; | interface."; | |||
} | } | |||
description | description | |||
"ISO-specific interface parameters."; | "ISO-specific interface parameters."; | |||
} | } | |||
augment "/rt:routing/rt:control-plane-protocols/" | augment "/rt:routing/rt:control-plane-protocols/" | |||
+"rt:control-plane-protocol" { | + "rt:control-plane-protocol" { | |||
when "derived-from-or-self(rt:type, 'isis:isis')" { | when "derived-from-or-self(rt:type, 'isis:isis')" { | |||
description | description | |||
"This augmentation is only valid when the routing protocol | "This augmentation is only valid when the routing protocol | |||
instance type is 'isis'."; | instance type is 'isis'."; | |||
} | } | |||
description | description | |||
"This augments a routing protocol instance with IS-IS-specific | "This augments a routing protocol instance with IS-IS-specific | |||
parameters."; | parameters."; | |||
container isis { | container isis { | |||
must "count(area-address) > 0" { | must 'count(area-address) > 0' { | |||
error-message | error-message "At least one area address must be configured."; | |||
"At least one area address must be configured."; | ||||
description | description | |||
"Enforces the configuration of at least one area."; | "Enforces the configuration of at least one area."; | |||
} | } | |||
uses instance-config; | uses instance-config; | |||
uses instance-state; | uses instance-state; | |||
container topologies { | container topologies { | |||
if-feature multi-topology; | if-feature "multi-topology"; | |||
list topology { | list topology { | |||
key "name"; | key "name"; | |||
leaf enable { | leaf enable { | |||
type boolean; | type boolean; | |||
description | description | |||
"Enables the topology configuration."; | "Enables the topology configuration."; | |||
} | } | |||
leaf name { | leaf name { | |||
type leafref { | type leafref { | |||
path "../../../../../../rt:ribs/rt:rib/rt:name"; | path "../../../../../../rt:ribs/rt:rib/rt:name"; | |||
skipping to change at line 3934 ¶ | skipping to change at line 3921 ¶ | |||
"List of topologies."; | "List of topologies."; | |||
} | } | |||
description | description | |||
"MT container."; | "MT container."; | |||
} | } | |||
container interfaces { | container interfaces { | |||
list interface { | list interface { | |||
key "name"; | key "name"; | |||
leaf name { | leaf name { | |||
type if:interface-ref; | type if:interface-ref; | |||
description | description | |||
"Reference to the interface within | "Reference to the interface within | |||
the routing instance."; | the routing instance."; | |||
} | } | |||
uses interface-config; | uses interface-config; | |||
uses interface-state; | uses interface-state; | |||
container topologies { | container topologies { | |||
if-feature multi-topology; | if-feature "multi-topology"; | |||
list topology { | list topology { | |||
key name; | key "name"; | |||
leaf name { | leaf name { | |||
type leafref { | type leafref { | |||
path "../../../../../../../../"+ | path "../../../../../../../../" | |||
"rt:ribs/rt:rib/rt:name"; | + "rt:ribs/rt:rib/rt:name"; | |||
} | } | |||
description | description | |||
"RIB corresponding to the topology."; | "RIB corresponding to the topology."; | |||
} | } | |||
uses multi-topology-interface-config; | uses multi-topology-interface-config; | |||
description | description | |||
"List of interface topologies."; | "List of interface topologies."; | |||
} | } | |||
description | description | |||
"MT container."; | "MT container."; | |||
} | } | |||
skipping to change at line 3985 ¶ | skipping to change at line 3968 ¶ | |||
rpc clear-adjacency { | rpc clear-adjacency { | |||
description | description | |||
"This RPC request clears a particular set of IS-IS | "This RPC request clears a particular set of IS-IS | |||
adjacencies. If the operation fails for an internal | adjacencies. If the operation fails for an internal | |||
reason, then the 'error-tag' and 'error-app-tag' should be | reason, then the 'error-tag' and 'error-app-tag' should be | |||
set indicating the reason for the failure."; | set indicating the reason for the failure."; | |||
reference | reference | |||
"RFC 6241: Network Configuration Protocol (NETCONF)"; | "RFC 6241: Network Configuration Protocol (NETCONF)"; | |||
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 | |||
adjacency is being cleared. | 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 { | |||
skipping to change at line 4038 ¶ | skipping to change at line 4020 ¶ | |||
"This RPC request clears a particular IS-IS database. If | "This RPC request clears a particular IS-IS database. If | |||
the operation fails for an IS-IS internal reason, then | the operation fails for an IS-IS internal reason, then | |||
the 'error-tag' and 'error-app-tag' should be set | the 'error-tag' and 'error-app-tag' should be set | |||
indicating the reason for the failure."; | indicating the reason for the failure."; | |||
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 | |||
database or databases are being cleared. | database or databases are 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 { | |||
skipping to change at line 4450 ¶ | skipping to change at line 4423 ¶ | |||
} | } | |||
leaf neighbor-system-id { | leaf neighbor-system-id { | |||
type system-id; | type system-id; | |||
description | description | |||
"Neighbor system ID of the LSP sender."; | "Neighbor system ID of the LSP sender."; | |||
} | } | |||
description | description | |||
"This notification is sent when an LSP is received. | "This notification is sent when an LSP is received. | |||
The generation of the notification must be throttled with | The generation of the notification must be throttled with | |||
at least 5 seconds between successive notifications."; | at least 5 seconds between successive notifications."; | |||
} | } | |||
notification lsp-generation { | notification lsp-generation { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
leaf lsp-id { | leaf lsp-id { | |||
type lsp-id; | type lsp-id; | |||
description | description | |||
"LSP ID."; | "LSP ID."; | |||
} | } | |||
leaf sequence { | leaf sequence { | |||
type uint32; | type uint32; | |||
description | description | |||
"Sequence number of the received LSP."; | "Sequence number of the received LSP."; | |||
} | } | |||
End of changes. 263 change blocks. | ||||
351 lines changed or deleted | 330 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/ |