rfc9130v2.txt | rfc9130.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) S. Litkowski | Internet Engineering Task Force (IETF) S. Litkowski, Ed. | |||
Request for Comments: 9130 Cisco Systems | Request for Comments: 9130 Cisco Systems | |||
Category: Standards Track D. Yeung | Category: Standards Track D. Yeung | |||
ISSN: 2070-1721 Arrcus, Inc. | ISSN: 2070-1721 Arrcus, Inc. | |||
A. Lindem | A. Lindem | |||
Cisco Systems | Cisco Systems | |||
J. Zhang | J. Zhang | |||
Juniper Networks | Juniper Networks | |||
L. Lhotka | L. Lhotka | |||
CZ.NIC | CZ.NIC | |||
September 2021 | September 2021 | |||
skipping to change at line 125 ¶ | skipping to change at line 125 ¶ | |||
+--ro tag* uint64 | +--ro tag* uint64 | |||
+--ro route-type? enumeration | +--ro route-type? enumeration | |||
augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
+--rw clns-mtu? uint16 {osi-interface}? | +--rw clns-mtu? uint16 {osi-interface}? | |||
augment /rt:routing/rt:control-plane-protocols/rt: | augment /rt:routing/rt:control-plane-protocols/rt: | |||
control-plane-protocol: | control-plane-protocol: | |||
+--rw isis | +--rw isis | |||
+--rw enable? boolean {admin-control}? | +--rw enable? boolean {admin-control}? | |||
+--rw level-type? level | +--rw level-type? level | |||
+--rw system-id? system-id | +--rw system-id? system-id | |||
+--rw maximum-area-addresses?\ | +--rw maximum-area-addresses? \ | |||
uint8 {maximum-area-addresses}? | uint8 {maximum-area-addresses}? | |||
+--rw area-address* area-address | +--rw area-address* area-address | |||
+--rw lsp-mtu? uint16 | +--rw lsp-mtu? uint16 | |||
+--rw lsp-lifetime? uint16 | +--rw lsp-lifetime? uint16 | |||
+--rw lsp-refresh? rt-types:timer-value-seconds16 | +--rw lsp-refresh? rt-types:timer-value-seconds16 | |||
| {lsp-refresh}? | | {lsp-refresh}? | |||
+--rw poi-tlv? boolean {poi-tlv}? | +--rw poi-tlv? boolean {poi-tlv}? | |||
+--rw graceful-restart {graceful-restart}? | +--rw graceful-restart {graceful-restart}? | |||
| +--rw enable? boolean | | +--rw enable? boolean | |||
| +--rw restart-interval? rt-types:timer-value-seconds16 | | +--rw restart-interval? rt-types:timer-value-seconds16 | |||
skipping to change at line 204 ¶ | skipping to change at line 204 ¶ | |||
+--ro database | +--ro database | |||
| +--ro levels* [level] | | +--ro levels* [level] | |||
| ... | | ... | |||
+--ro local-rib | +--ro local-rib | |||
| +--ro route* [prefix] | | +--ro route* [prefix] | |||
| ... | | ... | |||
+--ro system-counters | +--ro system-counters | |||
| +--ro level* [level] | | +--ro level* [level] | |||
| ... | | ... | |||
+--ro protected-routes | +--ro protected-routes | |||
| +--ro address-family-stats*\ | | +--ro address-family-stats* \ | |||
| [address-family prefix alternate] | | [address-family prefix alternate] | |||
| ... | | ... | |||
+--ro unprotected-routes | +--ro unprotected-routes | |||
| +--ro prefixes* [address-family prefix] | | +--ro prefixes* [address-family prefix] | |||
| ... | | ... | |||
+--ro protection-statistics* [frr-protection-method] | +--ro protection-statistics* [frr-protection-method] | |||
| +--ro frr-protection-method identityref | | +--ro frr-protection-method identityref | |||
| +--ro address-family-stats* [address-family] | | +--ro address-family-stats* [address-family] | |||
| ... | | ... | |||
+--rw discontinuity-time? yang:date-and-time | +--rw discontinuity-time? yang:date-and-time | |||
skipping to change at line 1035 ¶ | skipping to change at line 1035 ¶ | |||
corrupted-lsp-detected: | corrupted-lsp-detected: | |||
This notification is sent when the IS-IS node discovers that an | This notification is sent when the IS-IS node discovers that an | |||
LSP that was previously stored in the LSDB, i.e., local memory, | LSP that was previously stored in the LSDB, i.e., local memory, | |||
has become corrupted. | has become corrupted. | |||
attempt-to-exceed-max-sequence: | attempt-to-exceed-max-sequence: | |||
This notification is sent when the system wraps the 32-bit | This notification is sent when the system wraps the 32-bit | |||
sequence counter of an LSP. | sequence counter of an LSP. | |||
id-len-mismatch: | id-len-mismatch: | |||
This notification is sent when we receive a PDU with a different | This notification is sent when a PDU with a different value for | |||
value for the system ID length. | the system ID length is received. | |||
max-area-addresses-mismatch: | max-area-addresses-mismatch: | |||
This notification is sent when we receive a PDU with a different | This notification is sent when a PDU with a different value for | |||
value for the Maximum Area Addresses. | the Maximum Area Addresses is received. | |||
own-lsp-purge: | own-lsp-purge: | |||
This notification is sent when the system receives a PDU with its | This notification is sent when the system receives a PDU with its | |||
own system ID and zero age. | own system ID and zero age. | |||
sequence-number-skipped: | sequence-number-skipped: | |||
This notification is sent when the system receives a PDU with its | This notification is sent when the system receives a PDU with its | |||
own system ID and different contents. The system has to reissue | own system ID and different contents. The system has to reissue | |||
the LSP with a higher sequence number. | the LSP with a higher sequence number. | |||
skipping to change at line 1124 ¶ | skipping to change at line 1124 ¶ | |||
[RFC5286], [RFC5301], [RFC5302], [RFC5305], [RFC5307], [RFC5308], | [RFC5286], [RFC5301], [RFC5302], [RFC5305], [RFC5307], [RFC5308], | |||
[RFC5443], [RFC5880], [RFC5881], [RFC6119], [RFC6232], [RFC6241], | [RFC5443], [RFC5880], [RFC5881], [RFC6119], [RFC6232], [RFC6241], | |||
[RFC6991], [RFC7490], [RFC7794], [RFC7917], [RFC7981], [RFC8177], | [RFC6991], [RFC7490], [RFC7794], [RFC7917], [RFC7981], [RFC8177], | |||
[RFC8294], [RFC8342], [RFC8343], [RFC8349], [RFC8405], [RFC8570], | [RFC8294], [RFC8342], [RFC8343], [RFC8349], [RFC8405], [RFC8570], | |||
[RFC8706], and [RFC9127]. | [RFC8706], and [RFC9127]. | |||
<CODE BEGINS> file "ietf-isis@2021-08-31.yang" | <CODE BEGINS> file "ietf-isis@2021-08-31.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 1331 ¶ | skipping to change at line 1329 ¶ | |||
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 1415 ¶ | skipping to change at line 1424 ¶ | |||
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 1483 ¶ | skipping to change at line 1498 ¶ | |||
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 1718 ¶ | skipping to change at line 1759 ¶ | |||
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 1825 ¶ | skipping to change at line 1862 ¶ | |||
"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 1863 ¶ | skipping to change at line 1899 ¶ | |||
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 1920 ¶ | skipping to change at line 1956 ¶ | |||
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 2018 ¶ | skipping to change at line 2055 ¶ | |||
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 2103 ¶ | skipping to change at line 2138 ¶ | |||
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 2189 ¶ | skipping to change at line 2221 ¶ | |||
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 2315 ¶ | skipping to change at line 2347 ¶ | |||
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 2358 ¶ | skipping to change at line 2389 ¶ | |||
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 2461 ¶ | skipping to change at line 2491 ¶ | |||
"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 2567 ¶ | skipping to change at line 2597 ¶ | |||
"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 2606 ¶ | skipping to change at line 2637 ¶ | |||
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 2656 ¶ | skipping to change at line 2687 ¶ | |||
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 2693 ¶ | skipping to change at line 2724 ¶ | |||
} | } | |||
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 2722 ¶ | skipping to change at line 2752 ¶ | |||
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 2743 ¶ | skipping to change at line 2774 ¶ | |||
} | } | |||
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 2814 ¶ | skipping to change at line 2844 ¶ | |||
} | } | |||
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 2870 ¶ | skipping to change at line 2899 ¶ | |||
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 2905 ¶ | skipping to change at line 2933 ¶ | |||
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 2934 ¶ | skipping to change at line 2963 ¶ | |||
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 3135 ¶ | skipping to change at line 3157 ¶ | |||
} | } | |||
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 3203 ¶ | skipping to change at line 3223 ¶ | |||
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 3270 ¶ | skipping to change at line 3289 ¶ | |||
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 " | |||
"Priority only applies to broadcast interfaces."; | + "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 3305 ¶ | skipping to change at line 3324 ¶ | |||
} | } | |||
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 3382 ¶ | skipping to change at line 3401 ¶ | |||
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 3424 ¶ | skipping to change at line 3443 ¶ | |||
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 3500 ¶ | skipping to change at line 3518 ¶ | |||
"Number of partition changes detected."; | "Number of partition changes detected."; | |||
} | } | |||
leaf lsp-errors { | leaf lsp-errors { | |||
type uint32; | type uint32; | |||
description | description | |||
"Number of LSPs received with errors."; | "Number of LSPs received with errors."; | |||
} | } | |||
leaf spf-runs { | leaf spf-runs { | |||
type uint32; | type uint32; | |||
description | description | |||
"Number of times we ran SPF at this level."; | "Number of times SPF was run at this level."; | |||
} | } | |||
description | description | |||
"List of supported levels."; | "List of supported levels."; | |||
} | } | |||
description | description | |||
"List of counters for the IS-IS protocol instance."; | "List of counters for the IS-IS protocol instance."; | |||
} | } | |||
description | description | |||
"Grouping for IS-IS system counters."; | "Grouping for IS-IS system counters."; | |||
} | } | |||
skipping to change at line 3584 ¶ | skipping to change at line 3602 ¶ | |||
"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 3696 ¶ | skipping to change at line 3713 ¶ | |||
"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 3779 ¶ | skipping to change at line 3795 ¶ | |||
"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 3808 ¶ | skipping to change at line 3823 ¶ | |||
} | } | |||
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 4169 ¶ | skipping to change at line 4177 ¶ | |||
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 4195 ¶ | skipping to change at line 4202 ¶ | |||
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 4217 ¶ | skipping to change at line 4223 ¶ | |||
} | } | |||
} | } | |||
} | } | |||
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 4415 ¶ | skipping to change at line 4420 ¶ | |||
} | } | |||
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 4452 ¶ | skipping to change at line 4456 ¶ | |||
} | } | |||
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 4579 ¶ | skipping to change at line 4585 ¶ | |||
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 4599 ¶ | skipping to change at line 4607 ¶ | |||
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 4623 ¶ | skipping to change at line 4632 ¶ | |||
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 4791 ¶ | skipping to change at line 4797 ¶ | |||
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 4814 ¶ | skipping to change at line 4819 ¶ | |||
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 4914 ¶ | skipping to change at line 4910 ¶ | |||
description | description | |||
"List of extended prefixes."; | "List of extended prefixes."; | |||
} | } | |||
description | description | |||
"IPv4 MT extended reachability information container. | "IPv4 MT extended reachability information container. | |||
The IS-IS reference is TLV 235."; | The IS-IS reference is TLV 235."; | |||
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)"; | |||
} | } | |||
container mt-ipv6-reachability { | container mt-ipv6-reachability { | |||
list prefixes { | list prefixes { | |||
leaf mt-id { | leaf MT-ID { | |||
type uint16 { | type uint16 { | |||
range "0 .. 4095"; | range "0 .. 4095"; | |||
} | } | |||
description | description | |||
"MT identifier."; | "MT identifier."; | |||
} | } | |||
uses prefix-ipv6-extended; | uses prefix-ipv6-extended; | |||
uses unknown-tlvs; | uses unknown-tlvs; | |||
description | description | |||
"List of IPv6 extended prefixes."; | "List of IPv6 extended prefixes."; | |||
skipping to change at line 4956 ¶ | skipping to change at line 4950 ¶ | |||
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 " | |||
"At least one area address must be configured."; | + "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 5054 ¶ | skipping to change at line 5043 ¶ | |||
"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 5105 ¶ | skipping to change at line 5090 ¶ | |||
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 5158 ¶ | skipping to change at line 5142 ¶ | |||
"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 5225 ¶ | skipping to change at line 5206 ¶ | |||
type uint32; | type uint32; | |||
description | description | |||
"Size of the LSP PDU."; | "Size of the LSP PDU."; | |||
} | } | |||
leaf lsp-id { | leaf lsp-id { | |||
type lsp-id; | type lsp-id; | |||
description | description | |||
"LSP ID."; | "LSP ID."; | |||
} | } | |||
description | description | |||
"This notification is sent when we attempt to propagate | "This notification is sent when an attempt to propagate | |||
an LSP that is larger than the dataLinkBlockSize (ISO 10589) | an LSP that is larger than the dataLinkBlockSize (ISO 10589) | |||
for the circuit. The generation of the notification must be | for the circuit occurs. The generation of the notification | |||
throttled with at least 5 seconds between successive | must be throttled with at least 5 seconds between successive | |||
notifications."; | notifications."; | |||
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)"; | |||
} | } | |||
notification if-state-change { | notification if-state-change { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
skipping to change at line 5259 ¶ | skipping to change at line 5239 ¶ | |||
} | } | |||
notification corrupted-lsp-detected { | notification corrupted-lsp-detected { | |||
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."; | |||
} | } | |||
description | description | |||
"This notification is sent when we find that | "This notification is sent when an LSP that was stored in | |||
an LSP that was stored in memory has become | memory has become corrupted."; | |||
corrupted."; | ||||
} | } | |||
notification attempt-to-exceed-max-sequence { | notification attempt-to-exceed-max-sequence { | |||
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."; | |||
} | } | |||
description | description | |||
skipping to change at line 5291 ¶ | skipping to change at line 5269 ¶ | |||
type uint8; | type uint8; | |||
description | description | |||
"Value for the system ID length in the received PDU."; | "Value for the system ID length in the received PDU."; | |||
} | } | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when we receive a PDU | "This notification is sent when receive a PDU | |||
with a different value for the system ID length. | with a different value for the system ID length. | |||
The generation of the notification must be throttled | The generation of the notification must be throttled | |||
with at least 5 seconds between successive | with at least 5 seconds between successive notifications."; | |||
notifications."; | ||||
} | } | |||
notification max-area-addresses-mismatch { | notification max-area-addresses-mismatch { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf max-area-addresses { | leaf max-area-addresses { | |||
type uint8; | type uint8; | |||
description | description | |||
"Received number of supported areas."; | "Received number of supported areas."; | |||
} | } | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
} | } | |||
skipping to change at line 5313 ¶ | skipping to change at line 5289 ¶ | |||
type uint8; | type uint8; | |||
description | description | |||
"Received number of supported areas."; | "Received number of supported areas."; | |||
} | } | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when we receive a PDU | "This notification is sent when a PDU with a different value | |||
with a different value for the Maximum Area Addresses. | for the Maximum Area Addresses has been received. The | |||
The generation of the notification must be throttled | generation of the notification must be throttled with | |||
with at least 5 seconds between successive | at least 5 seconds between successive notifications."; | |||
notifications."; | ||||
} | } | |||
notification own-lsp-purge { | notification own-lsp-purge { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf lsp-id { | leaf lsp-id { | |||
type lsp-id; | type lsp-id; | |||
description | description | |||
"LSP ID."; | "LSP ID."; | |||
} | } | |||
skipping to change at line 5360 ¶ | skipping to change at line 5335 ¶ | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives a | "This notification is sent when the system receives a | |||
PDU with the wrong authentication type field. | PDU with the wrong authentication type field. | |||
The generation of the notification must be throttled | The generation of the notification must be throttled | |||
with at least 5 seconds between successive | with at least 5 seconds between successive notifications."; | |||
notifications."; | ||||
} | } | |||
notification authentication-failure { | notification authentication-failure { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives | "This notification is sent when the system receives | |||
a PDU with the wrong authentication information. | a PDU with the wrong authentication information. | |||
The generation of the notification must be throttled | The generation of the notification must be throttled | |||
with at least 5 seconds between successive | with at least 5 seconds between successive notifications."; | |||
notifications."; | ||||
} | } | |||
notification version-skew { | notification version-skew { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf protocol-version { | leaf protocol-version { | |||
type uint8; | type uint8; | |||
description | description | |||
"Protocol version received in the PDU."; | "Protocol version received in the PDU."; | |||
} | } | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives a | "This notification is sent when the system receives a | |||
PDU with a different protocol version number. | PDU with a different protocol version number. | |||
The generation of the notification must be throttled | The generation of the notification must be throttled | |||
with at least 5 seconds between successive | with at least 5 seconds between successive notifications."; | |||
notifications."; | ||||
} | } | |||
notification area-mismatch { | notification area-mismatch { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
} | } | |||
skipping to change at line 5570 ¶ | skipping to change at line 5539 ¶ | |||
} | } | |||
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."; | |||
} | } | |||
skipping to change at line 6066 ¶ | skipping to change at line 6033 ¶ | |||
for their review and comments. | for their review and comments. | |||
Contributors | Contributors | |||
The authors would like to thank Kiran Agrahara Sreenivasa, Dean | The authors would like to thank Kiran Agrahara Sreenivasa, Dean | |||
Bogdanovic, Yingzhen Qu, Yi Yang, and Jeff Tantsura for their major | Bogdanovic, Yingzhen Qu, Yi Yang, and Jeff Tantsura for their major | |||
contributions to this document. | contributions to this document. | |||
Authors' Addresses | Authors' Addresses | |||
Stephane Litkowski | Stephane Litkowski (editor) | |||
Cisco Systems | Cisco Systems | |||
Email: slitkows.ietf@gmail.com | Email: slitkows.ietf@gmail.com | |||
Derek Yeung | Derek Yeung | |||
Arrcus, Inc. | Arrcus, Inc. | |||
Email: derek@arrcus.com | Email: derek@arrcus.com | |||
Acee Lindem | Acee Lindem | |||
End of changes. 282 change blocks. | ||||
383 lines changed or deleted | 356 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/ |