draft-ietf-isis-yang-isis-cfg-33.txt | draft-ietf-isis-yang-isis-cfg-34.txt | |||
---|---|---|---|---|
skipping to change at page 1, line 16 ¶ | skipping to change at page 1, line 16 ¶ | |||
Expires: July 25, 2019 Arrcus, Inc | Expires: July 25, 2019 Arrcus, Inc | |||
A. Lindem | A. Lindem | |||
Cisco Systems | Cisco Systems | |||
J. Zhang | J. Zhang | |||
Juniper Networks | Juniper Networks | |||
L. Lhotka | L. Lhotka | |||
CZ.NIC | CZ.NIC | |||
January 21, 2019 | January 21, 2019 | |||
YANG Data Model for IS-IS Protocol | YANG Data Model for IS-IS Protocol | |||
draft-ietf-isis-yang-isis-cfg-33 | draft-ietf-isis-yang-isis-cfg-34 | |||
Abstract | Abstract | |||
This document defines a YANG data model that can be used to configure | This document defines a YANG data model that can be used to configure | |||
and manage IS-IS protocol on network elements. | and manage IS-IS protocol on network elements. | |||
Requirements Language | Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
skipping to change at page 2, line 25 ¶ | skipping to change at page 2, line 25 ¶ | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | 2. Design of the Data Model . . . . . . . . . . . . . . . . . . 3 | |||
2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 9 | 2.1. IS-IS Configuration . . . . . . . . . . . . . . . . . . . 9 | |||
2.2. Multitopology Parameters . . . . . . . . . . . . . . . . 10 | 2.2. Multi-topology Parameters . . . . . . . . . . . . . . . 10 | |||
2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 | 2.3. Per-Level Parameters . . . . . . . . . . . . . . . . . . 10 | |||
2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | 2.4. Per-Interface Parameters . . . . . . . . . . . . . . . . 12 | |||
2.5. Authentication Parameters . . . . . . . . . . . . . . . 19 | 2.5. Authentication Parameters . . . . . . . . . . . . . . . 19 | |||
2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . 20 | 2.6. IGP/LDP synchronization . . . . . . . . . . . . . . . . 20 | |||
2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 20 | 2.7. ISO parameters . . . . . . . . . . . . . . . . . . . . . 20 | |||
2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 2.8. IP FRR . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
2.9. Operational States . . . . . . . . . . . . . . . . . . . 21 | 2.9. Operational States . . . . . . . . . . . . . . . . . . . 21 | |||
3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 21 | 3. RPC Operations . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 21 | 4. Notifications . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
5. Interaction with Other YANG Modules . . . . . . . . . . . . 23 | 5. Interaction with Other YANG Modules . . . . . . . . . . . . 23 | |||
skipping to change at page 10, line 9 ¶ | skipping to change at page 10, line 9 ¶ | |||
o Per interface configuration (see Section 2.4). | o Per interface configuration (see Section 2.4). | |||
Additional modules may be created to support any additional | Additional modules may be created to support any additional | |||
parameters. These additional modules MUST augment the ietf-isis | parameters. These additional modules MUST augment the ietf-isis | |||
module. | module. | |||
The model implements features, thus some of the configuration | The model implements features, thus some of the configuration | |||
statement becomes optional. As an example, the ability to control | statement becomes optional. As an example, the ability to control | |||
the administrative state of a particular IS-IS instance is optional. | the administrative state of a particular IS-IS instance is optional. | |||
By advertising the feature "admin-control", a device communicates to | By advertising the feature "admin-control", a device communicates to | |||
the client that it supports the ability to shutdown a particular IS- | the client that it supports the ability to shut down a particular IS- | |||
IS instance. | IS instance. | |||
The global configuration contains usual IS-IS parameters such as lsp- | The global configuration contains usual IS-IS parameters such as lsp- | |||
mtu, lsp-lifetime, lsp-refresh, default-metric... | mtu, lsp-lifetime, lsp-refresh, default-metric... | |||
2.2. Multitopology Parameters | 2.2. Multi-topology Parameters | |||
The model supports multitopology (MT) IS-IS as defined in [RFC5120]. | The model supports multi-topology (MT) IS-IS as defined in [RFC5120]. | |||
The "topologies" container is used to enable support of MT | The "topologies" container is used to enable support of MT | |||
extensions. | extensions. | |||
The "name" used in the topology list should refer to an existing RIB | The "name" used in the topology list should refer to an existing RIB | |||
of the device. | of the device. | |||
Some specific parameters could be defined on a per topology basis | Some specific parameters could be defined on a per topology basis | |||
both at global level and at interface level: for example, an | both at global level and at interface level: for example, an | |||
interface metric can be defined per topology. | interface metric can be defined per topology. | |||
Multiple address families (like IPv4 or IPv6) can also be activated | Multiple address families (like IPv4 or IPv6) can also be activated | |||
within the default topology. This can be achieved using the "afs" | within the default topology. This can be achieved using the address- | |||
container (requiring "nlpid-control" feature to be advertised). | families container (requiring "nlpid-control" feature to be | |||
advertised). | ||||
2.3. Per-Level Parameters | 2.3. Per-Level Parameters | |||
Some parameters allow a per level configuration. In this case, the | Some parameters allow a per level configuration. In this case, the | |||
parameter is modeled as a container with three configuration | parameter is modeled as a container with three configuration | |||
locations: | locations: | |||
o a top level container: corresponds to level-1-2, so the | o a top-level container: corresponds to level-1-2, so the | |||
configuration applies to both levels. | configuration applies to both levels. | |||
o a level-1 container: corresponds to level-1 specific parameters. | o a level-1 container: corresponds to level-1 specific parameters. | |||
o a level-2 container: corresponds to level-2 specific parameters. | o a level-2 container: corresponds to level-2 specific parameters. | |||
+--rw priority | +--rw priority | |||
| +--rw value? uint8 | | +--rw value? uint8 | |||
| +--rw level-1 | | +--rw level-1 | |||
| | +--rw value? uint8 | | | +--rw value? uint8 | |||
skipping to change at page 11, line 19 ¶ | skipping to change at page 11, line 19 ¶ | |||
<level-1> | <level-1> | |||
<value>100</value> | <value>100</value> | |||
</level-1> | </level-1> | |||
<level-2> | <level-2> | |||
<value>200</value> | <value>200</value> | |||
</level-2> | </level-2> | |||
</priority> | </priority> | |||
An implementation SHOULD prefer a level specific parameter over a | An implementation SHOULD prefer a level specific parameter over a | |||
level-all parameter. As example, if the priority is 100 for the | level-all parameter. As example, if the priority is 100 for the | |||
level-1, 200 for the level-2 and 250 for the top level configuration, | level-1, 200 for the level-2 and 250 for the top-level configuration, | |||
the implementation should use 100 for the level-1 and 200 for the | the implementation should use 100 for the level-1 and 200 for the | |||
level-2. | level-2. | |||
Some parameters like "overload bit" and "route preference" are not | Some parameters like "overload bit" and "route preference" are not | |||
modeled to support a per level configuration. If an implementation | modeled to support a per level configuration. If an implementation | |||
supports per level configuration for such parameter, this | supports per level configuration for such parameter, this | |||
implementation SHOULD augment the current model by adding both | implementation SHOULD augment the current model by adding both | |||
level-1 and level-2 containers and SHOULD reuse existing | level-1 and level-2 containers and SHOULD reuse existing | |||
configuration groupings. | configuration groupings. | |||
skipping to change at page 12, line 30 ¶ | skipping to change at page 12, line 30 ¶ | |||
} | } | |||
container level-2 { | container level-2 { | |||
uses isis:overload-global-cfg; | uses isis:overload-global-cfg; | |||
description | description | |||
"Level 2 configuration."; | "Level 2 configuration."; | |||
} | } | |||
} | } | |||
If an implementation does not support per level configuration for a | If an implementation does not support per level configuration for a | |||
parameter modeled with per level configuration, the implementation | parameter modeled with per level configuration, the implementation | |||
SHOULD advertise a deviation to announce the non support of the | SHOULD advertise a deviation to announce the non-support of the | |||
level-1 and level-2 containers. | level-1 and level-2 containers. | |||
Finally, if an implementation supports per level configuration but | Finally, if an implementation supports per level configuration but | |||
does not support the level-1-2 configuration, it SHOULD also | does not support the level-1-2 configuration, it SHOULD also | |||
advertise a deviation. | advertise a deviation. | |||
2.4. Per-Interface Parameters | 2.4. Per-Interface Parameters | |||
The per-interface section of the IS-IS instance describes the | The per-interface section of the IS-IS instance describes the | |||
interface specific parameters. | interface specific parameters. | |||
The interface is modeled as a reference to an existing interface | The interface is modeled as a reference to an existing interface | |||
defined in the "ietf-interfaces" YANG model ([RFC8343]. | defined in the "ietf-interfaces" YANG model ([RFC8343]. | |||
Each interface has some interface-specific parameters that may have a | Each interface has some interface-specific parameters that may have a | |||
different per level value as described in previous section. An | different per level value as described in previous section. An | |||
interface-specific parameter always override an IS-IS global | interface-specific parameter always overrides an IS-IS global | |||
parameter. | parameter. | |||
Some parameters like hello-padding are defined as containers to allow | Some parameters like hello-padding are defined as containers to allow | |||
easy extension by vendor specific modules. | easy extension by vendor specific modules. | |||
+--rw interfaces | +--rw interfaces | |||
+--rw interface* [name] | +--rw interface* [name] | |||
+--rw name if:interface-ref | +--rw name if:interface-ref | |||
+--rw level-type? level | +--rw level-type? level | |||
+--rw lsp-pacing-interval? | +--rw lsp-pacing-interval? | |||
skipping to change at page 22, line 44 ¶ | skipping to change at page 22, line 44 ¶ | |||
PDU with a different protocol version number. | PDU with a different protocol version number. | |||
area-mismatch: This notification is sent when the system receives | area-mismatch: This notification is sent when the system receives | |||
a Hello PDU from an IS that does not share any area address. | a Hello PDU from an IS that does not share any area address. | |||
rejected-adjacency: This notification is sent when the system | rejected-adjacency: This notification is sent when the system | |||
receives a Hello PDU from an IS but does not establish an | receives a Hello PDU from an IS but does not establish an | |||
adjacency for some reason. | adjacency for some reason. | |||
protocols-supported-mismatch: This notification is sent when the | protocols-supported-mismatch: This notification is sent when the | |||
system receives a non pseudonode LSP that has no matching protocol | system receives a non-pseudonode LSP that has no matching protocol | |||
supported. | supported. | |||
lsp-error-detected: This notification is sent when the system | lsp-error-detected: This notification is sent when the system | |||
receives a LSP with a parse error. | receives an LSP with a parse error. | |||
adjacency-state-change: This notification is sent when an IS-IS | adjacency-state-change: This notification is sent when an IS-IS | |||
adjacency moves to Up state or to Down state. | adjacency moves to Up state or to Down state. | |||
lsp-received: This notification is sent when a LSP is received. | lsp-received: This notification is sent when an LSP is received. | |||
lsp-generation: This notification is sent when a LSP is | lsp-generation: This notification is sent when an LSP is | |||
regenerated. | regenerated. | |||
5. Interaction with Other YANG Modules | 5. Interaction with Other YANG Modules | |||
The "isis" container augments the "/rt:routing/rt:control-plane- | The "isis" container augments the "/rt:routing/rt:control-plane- | |||
protocols/control-plane-protocol" container of the ietf-routing | protocols/control-plane-protocol" container of the ietf-routing | |||
[RFC8349] module by defining IS-IS specific parameters. | [RFC8349] module by defining IS-IS specific parameters. | |||
The "isis" module augments "/if:interfaces/if:interface" defined by | The "isis" module augments "/if:interfaces/if:interface" defined by | |||
[RFC8343] with ISO specific parameters. | [RFC8343] with ISO specific parameters. | |||
skipping to change at page 23, line 44 ¶ | skipping to change at page 23, line 44 ¶ | |||
[I-D.ietf-bfd-yang]. | [I-D.ietf-bfd-yang]. | |||
6. IS-IS YANG Module | 6. IS-IS YANG Module | |||
The following RFCs, drafts and external standards are not referenced | The following RFCs, drafts and external standards are not referenced | |||
in the document text but are referenced in the ietf-isis.yang module: | in the document text but are referenced in the ietf-isis.yang module: | |||
[ISO-10589], [RFC1195], [RFC5029], [RFC5130], [RFC5305], [RFC5306], | [ISO-10589], [RFC1195], [RFC5029], [RFC5130], [RFC5305], [RFC5306], | |||
[RFC5308], [RFC5880], [RFC5881], [RFC6119], [RFC6232], [RFC7794], | [RFC5308], [RFC5880], [RFC5881], [RFC6119], [RFC6232], [RFC7794], | |||
[RFC7810], [RFC7917], [RFC8405]. | [RFC7810], [RFC7917], [RFC8405]. | |||
<CODE BEGINS> file "ietf-ospf@2019-01-23.yang" | <CODE BEGINS> file "ietf-ospf@2019-01-24.yang" | |||
module ietf-isis { | module ietf-isis { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; | namespace "urn:ietf:params:xml:ns:yang:ietf-isis"; | |||
prefix isis; | prefix isis; | |||
import ietf-routing { | import ietf-routing { | |||
prefix "rt"; | prefix "rt"; | |||
reference "RFC 8349 - A YANG Data Model for Routing | reference "RFC 8349 - A YANG Data Model for Routing | |||
Management (NMDA Version)"; | Management (NMDA Version)"; | |||
skipping to change at page 25, line 8 ¶ | skipping to change at page 25, line 8 ¶ | |||
Forwarding Detection (BFD). | Forwarding Detection (BFD). | |||
-- Note to RFC Editor Please replace YYYY with published RFC | -- Note to RFC Editor Please replace YYYY with published RFC | |||
number for draft-ietf-bfd-yang."; | number for draft-ietf-bfd-yang."; | |||
} | } | |||
organization | organization | |||
"IETF LSR Working Group"; | "IETF LSR Working Group"; | |||
contact | contact | |||
"WG List: <mailto:lsr@ietf.org> | "WG List: <mailto:lsr@ietf.org> | |||
Editor: Stephane Litkowski | Editor: Stephane Litkowski | |||
<mailto:stephane.litkowski@orange.com> | <mailto:stephane.litkowski@orange.com> | |||
Derek Yeung | Derek Yeung | |||
<mailto:derek@arrcus.com> | <mailto:derek@arrcus.com> | |||
Acee Lindem | Acee Lindem | |||
<mailto:acee@cisco.com> | <mailto:acee@cisco.com> | |||
Jeffrey Zhang | Jeffrey Zhang | |||
<mailto:zzhang@juniper.net> | <mailto:zzhang@juniper.net> | |||
Ladislav Lhotka | Ladislav Lhotka | |||
<mailto:llhotka@nic.cz> | <mailto:llhotka@nic.cz> | |||
Yi Yang | Yi Yang | |||
<mailto:yiya@cisco.com> | <mailto:yiya@cisco.com> | |||
Dean Bogdanovic | Dean Bogdanovic | |||
<mailto:deanb@juniper.net> | <mailto:deanb@juniper.net> | |||
Kiran Agrahara Sreenivasa | Kiran Agrahara Sreenivasa | |||
<mailto:kkoushik@brocade.com> | <mailto:kkoushik@brocade.com> | |||
Yingzhen Qu | Yingzhen Qu | |||
<mailto:yiqu@cisco.com> | <mailto:yiqu@cisco.com> | |||
Jeff Tantsura | Jeff Tantsura | |||
<mailto:jefftant.ietf@gmail.com> | <mailto:jefftant.ietf@gmail.com> | |||
"; | "; | |||
description | description | |||
"This YANG module defines the generic configuration and | "This YANG module defines the generic configuration and | |||
operational state for the IS-IS protocol. | operational state for the IS-IS protocol. | |||
It is intended that the module | It is intended that the module | |||
will be extended by vendors to define vendor-specific | will be extended by vendors to define vendor-specific | |||
IS-IS configuration parameters and policies, | IS-IS configuration parameters and policies, | |||
for example route maps or route policies. | for example, route maps or route policies. | |||
This YANG module conforms to the Network Management | This YANG module conforms to the Network Management | |||
Datastore Architecture (NDMA) as described in RFC 8242. | Datastore Architecture (NDMA) as described in RFC 8242. | |||
Copyright (c) 2018 IETF Trust and the persons identified as | Copyright (c) 2018 IETF Trust and the persons identified as | |||
authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
skipping to change at page 26, line 18 ¶ | skipping to change at page 26, line 18 ¶ | |||
see the RFC itself for full legal notices. | see the RFC itself for full legal notices. | |||
The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', | |||
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | 'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', | |||
'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | 'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document | |||
are to be interpreted as described in BCP 14 [RFC2119] | are to be interpreted as described in BCP 14 [RFC2119] | |||
[RFC8174] when, and only when, they appear in all capitals, | [RFC8174] when, and only when, they appear in all capitals, | |||
as shown here. | as shown here. | |||
"; | "; | |||
revision 2019-01-23 { | revision 2019-01-24 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference "RFC XXXX"; | reference "RFC XXXX"; | |||
} | } | |||
/* Identities */ | /* Identities */ | |||
identity isis { | identity isis { | |||
base rt:routing-protocol; | base rt:routing-protocol; | |||
description "Identity for the IS-IS routing protocol."; | description "Identity for the IS-IS routing protocol."; | |||
skipping to change at page 32, line 14 ¶ | skipping to change at page 32, line 14 ¶ | |||
description | description | |||
"This type defines the area address format."; | "This type defines the area address format."; | |||
} | } | |||
typedef snpa { | typedef snpa { | |||
type string { | type string { | |||
length "0 .. 20"; | length "0 .. 20"; | |||
} | } | |||
description | description | |||
"This type defines the Subnetwork Point | "This type defines the Subnetwork Point | |||
of Attachement (SNPA) format. | of Attachment (SNPA) format. | |||
The SNPA should be encoded according to the rules | The SNPA should be encoded according to the rules | |||
specified for the particular type of subnetwork | specified for the particular type of subnetwork | |||
being used. As an example, for an ethernet subnetwork, | being used. As an example, for an ethernet subnetwork, | |||
the SNPA is encoded as a MAC address like | the SNPA is encoded as a MAC address like | |||
'00aa.bbcc.ddee'."; | '00aa.bbcc.ddee'."; | |||
} | } | |||
typedef system-id { | typedef system-id { | |||
type string { | type string { | |||
pattern | pattern | |||
skipping to change at page 34, line 15 ¶ | skipping to change at page 34, line 15 ¶ | |||
leaf interface-name { | leaf interface-name { | |||
type if:interface-ref; | type if:interface-ref; | |||
description "IS-IS interface name"; | description "IS-IS interface name"; | |||
} | } | |||
leaf interface-level { | leaf interface-level { | |||
type level; | type level; | |||
description "IS-IS level of the interface."; | description "IS-IS level of the interface."; | |||
} | } | |||
leaf extended-circuit-id { | leaf extended-circuit-id { | |||
type extended-circuit-id; | type extended-circuit-id; | |||
description "Eextended circuit-id of the interface."; | description "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 global configuration of IP | "This group defines global configuration of IP | |||
Fast ReRoute (FRR)."; | Fast ReRoute (FRR)."; | |||
container fast-reroute { | container fast-reroute { | |||
skipping to change at page 36, line 16 ¶ | skipping to change at page 36, line 16 ¶ | |||
"Address-family"; | "Address-family"; | |||
} | } | |||
leaf prefix { | leaf prefix { | |||
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 nexthop for the prefix."; | "Alternate next hop for the prefix."; | |||
} | } | |||
leaf alternate-type { | leaf alternate-type { | |||
type enumeration { | type enumeration { | |||
enum equal-cost { | enum equal-cost { | |||
description | description | |||
"ECMP alternate."; | "ECMP alternate."; | |||
} | } | |||
enum lfa { | enum lfa { | |||
description | description | |||
"LFA alternate."; | "LFA alternate."; | |||
skipping to change at page 40, line 27 ¶ | skipping to change at page 40, line 27 ¶ | |||
list next-hop { | list next-hop { | |||
key "next-hop"; | key "next-hop"; | |||
description "List of next hops for the route"; | description "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 "Nexthop address."; | description "Next hop address."; | |||
} | } | |||
} | } | |||
} | } | |||
leaf metric { | leaf metric { | |||
type uint32; | type uint32; | |||
description "Metric for this route."; | description "Metric for this route."; | |||
} | } | |||
leaf level { | leaf level { | |||
type level-number; | type level-number; | |||
description "Level number for this route."; | description "Level number for this route."; | |||
skipping to change at page 44, line 48 ¶ | skipping to change at page 44, line 48 ¶ | |||
} | } | |||
enum "short-wait" { | enum "short-wait" { | |||
description "SHORT_WAIT state"; | description "SHORT_WAIT state"; | |||
} | } | |||
enum "long-wait" { | enum "long-wait" { | |||
description "LONG_WAIT state"; | description "LONG_WAIT state"; | |||
} | } | |||
} | } | |||
config false; | config false; | |||
description | description | |||
"Current SPF backoff 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; | |||
units "msec"; | units "msec"; | |||
config false; | config false; | |||
description | description | |||
"Remaining time until time-to-learn timer fires."; | "Remaining time until time-to-learn timer fires."; | |||
} | } | |||
leaf remaining-hold-down { | leaf remaining-hold-down { | |||
type rt-types:timer-value-milliseconds; | type rt-types:timer-value-milliseconds; | |||
skipping to change at page 47, line 19 ¶ | skipping to change at page 47, line 19 ¶ | |||
} | } | |||
enum both { | enum both { | |||
description "Advertise both metric styles"; | description "Advertise 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 only new metric style | - wide-only means only new metric style | |||
is generated, | is generated, | |||
- old-only means that only old style metric | - old-only means that only old-style metric | |||
is generated, | is generated, | |||
- both means that both are advertised. | - both means that both are advertised. | |||
This leaf is only affecting IPv4 metrics."; | This leaf is only affecting IPv4 metrics."; | |||
} | } | |||
description | description | |||
"Grouping for global metric style config."; | "Grouping for global metric style config."; | |||
} | } | |||
grouping default-metric-global-cfg { | grouping default-metric-global-cfg { | |||
leaf value { | leaf value { | |||
skipping to change at page 57, line 17 ¶ | skipping to change at page 57, line 17 ¶ | |||
type rt-types:timer-value-seconds16; | type rt-types:timer-value-seconds16; | |||
units "seconds"; | units "seconds"; | |||
description | description | |||
"Interval (in seconds) between LSP | "Interval (in seconds) between LSP | |||
retransmissions."; | retransmissions."; | |||
} | } | |||
leaf passive { | leaf passive { | |||
type boolean; | type boolean; | |||
default "false"; | default "false"; | |||
description | description | |||
"Indicates whetherthe interface is in passive mode (IS-IS | "Indicates whether the interface is in passive mode (IS-IS | |||
not running but network is advertised)."; | not running but 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 CSNP messages."; | "Interval (in seconds) between CSNP messages."; | |||
} | } | |||
container hello-padding { | container hello-padding { | |||
skipping to change at page 57, line 43 ¶ | skipping to change at page 57, line 43 ¶ | |||
} | } | |||
description "IS-IS hello padding configuration."; | description "IS-IS hello padding configuration."; | |||
} | } | |||
leaf mesh-group-enable { | leaf mesh-group-enable { | |||
type mesh-group-state; | type mesh-group-state; | |||
description "IS-IS interface mesh-group state"; | description "IS-IS interface mesh-group state"; | |||
} | } | |||
leaf mesh-group { | leaf mesh-group { | |||
when "../mesh-group-enable = 'mesh-set'" { | when "../mesh-group-enable = 'mesh-set'" { | |||
description | description | |||
"Only valid when mesh-group-enable equals meshset"; | "Only valid when mesh-group-enable equals mesh-set"; | |||
} | } | |||
type uint8; | type uint8; | |||
description "IS-IS interface mesh-group ID."; | description "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 on the interface. This | "Type of adjacency to be established on the interface. This | |||
dictates the type of hello messages that are used."; | dictates the type of hello messages that are used."; | |||
skipping to change at page 63, line 6 ¶ | skipping to change at page 63, line 6 ¶ | |||
leaf max-sequence { | leaf max-sequence { | |||
type uint32; | type uint32; | |||
description | description | |||
"Number of times the system has attempted | "Number of times the system has attempted | |||
to exceed the maximum sequence number."; | to exceed the maximum sequence number."; | |||
} | } | |||
leaf sequence-number-skipped { | leaf sequence-number-skipped { | |||
type uint32; | type uint32; | |||
description | description | |||
"Number of times a sequence number skip has | "Number of times a sequence number skip has | |||
occured."; | occurred."; | |||
} | } | |||
leaf id-len-mismatch { | leaf id-len-mismatch { | |||
type uint32; | type uint32; | |||
description | description | |||
"Number of times a PDU is received with a | "Number of times a PDU is received with a | |||
different value for the ID field length | different value for the ID field length | |||
than that of the receiving system."; | than that of the receiving system."; | |||
} | } | |||
leaf partition-changes { | leaf partition-changes { | |||
type uint32; | type uint32; | |||
skipping to change at page 63, line 46 ¶ | skipping to change at page 63, line 46 ¶ | |||
description "System counters grouping."; | description "System counters grouping."; | |||
} | } | |||
grouping event-counters { | grouping event-counters { | |||
container event-counters { | container event-counters { | |||
config false; | config false; | |||
leaf adjacency-changes { | leaf adjacency-changes { | |||
type uint32; | type uint32; | |||
description | description | |||
"The number of times an adjacency state change has | "The number of times an adjacency state change has | |||
occured on this interface."; | occurred on this interface."; | |||
} | } | |||
leaf adjacency-number { | leaf adjacency-number { | |||
type uint32; | type uint32; | |||
description | description | |||
"The number of adjacencies on this interface."; | "The number of adjacencies on this interface."; | |||
} | } | |||
leaf init-fails { | leaf init-fails { | |||
type uint32; | type uint32; | |||
description | description | |||
skipping to change at page 64, line 50 ¶ | skipping to change at page 64, line 50 ¶ | |||
leaf authentication-fails { | leaf authentication-fails { | |||
type uint32; | type uint32; | |||
description | description | |||
"Number of authentication key failures."; | "Number of authentication key failures."; | |||
} | } | |||
leaf lan-dis-changes { | leaf lan-dis-changes { | |||
type uint32; | type uint32; | |||
description | description | |||
"The number of times the DIS has changed on this | "The number of times the DIS has changed on this | |||
interface at this level. If the interface type is | interface at this level. If the interface type is | |||
point-to-point,the count is zero."; | point-to-point, the count is zero."; | |||
} | } | |||
description "IS-IS interface event counters."; | description "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 { | |||
skipping to change at page 66, line 51 ¶ | skipping to change at page 66, line 51 ¶ | |||
type uint32; | type uint32; | |||
description "Received unknown PDUs."; | description "Received unknown PDUs."; | |||
} | } | |||
leaf out { | leaf out { | |||
type uint32; | type uint32; | |||
description "Sent unknown PDUs."; | description "Sent unknown PDUs."; | |||
} | } | |||
description "Number of unknown PDUs received/sent."; | description "Number of unknown PDUs received/sent."; | |||
} | } | |||
description | description | |||
"List of packet counter for supported llevels."; | "List of packet counter for supported levels."; | |||
} | } | |||
description "Packet counters per IS-IS level."; | description "Packet counters per IS-IS level."; | |||
} | } | |||
description | description | |||
"Grouping for per IS-IS Level packet counters."; | "Grouping for per IS-IS Level packet counters."; | |||
} | } | |||
/* Groupings for various log buffers */ | /* Groupings for various log buffers */ | |||
grouping spf-log { | grouping spf-log { | |||
container spf-log { | container spf-log { | |||
skipping to change at page 69, line 49 ¶ | skipping to change at page 69, line 49 ¶ | |||
description | description | |||
"This container lists the LSP log. | "This container lists the LSP log. | |||
Local LSP modifications are also included | Local LSP modifications are also included | |||
in the list."; | in the list."; | |||
} description "Grouping for LSP log."; | } description "Grouping for LSP log."; | |||
} | } | |||
/* Groupings for the LSDB description */ | /* Groupings for the LSDB description */ | |||
/* Unknown TLV and subTLV description */ | /* Unknown TLV and sub-TLV description */ | |||
grouping tlv { | grouping tlv { | |||
description | description | |||
"Type-Length-Value (TLV)"; | "Type-Length-Value (TLV)"; | |||
leaf type { | leaf type { | |||
type uint16; | type uint16; | |||
description "TLV type."; | description "TLV type."; | |||
} | } | |||
leaf length { | leaf length { | |||
type uint16; | type uint16; | |||
description "TLV length (octets)."; | description "TLV length (octets)."; | |||
skipping to change at page 70, line 34 ¶ | skipping to change at page 70, line 34 ¶ | |||
unknown sub-TLVs."; | unknown sub-TLVs."; | |||
container unknown-tlvs { | container unknown-tlvs { | |||
description "All unknown TLVs."; | description "All unknown TLVs."; | |||
list unknown-tlv { | list unknown-tlv { | |||
description "Unknown TLV."; | description "Unknown TLV."; | |||
uses tlv; | uses tlv; | |||
} | } | |||
} | } | |||
} | } | |||
/* TLVs and subTLVs for prefixes */ | /* TLVs and sub-TLVs for prefixes */ | |||
grouping prefix-reachability-attributes { | grouping prefix-reachability-attributes { | |||
description | description | |||
"Grouping for extended reachability attributes of an | "Grouping for extended reachability attributes of an | |||
IPv4 or IPv6 prefix."; | IPv4 or IPv6 prefix."; | |||
leaf external-prefix-flag { | leaf external-prefix-flag { | |||
type boolean; | type boolean; | |||
description "External prefix flag."; | description "External prefix flag."; | |||
} | } | |||
leaf readvertisement-flag { | leaf readvertisement-flag { | |||
type boolean; | type boolean; | |||
description "Readvertisement flag."; | description "Re-advertisement flag."; | |||
} | } | |||
leaf node-flag { | leaf node-flag { | |||
type boolean; | type boolean; | |||
description "Node flag."; | description "Node flag."; | |||
} | } | |||
} | } | |||
grouping prefix-ipv4-source-router-id { | grouping prefix-ipv4-source-router-id { | |||
description | description | |||
skipping to change at page 74, line 23 ¶ | skipping to change at page 74, line 23 ¶ | |||
"List of 32-bit tags associated with the IPv4 prefix."; | "List of 32-bit tags associated with the IPv4 prefix."; | |||
} | } | |||
leaf-list tag64 { | leaf-list tag64 { | |||
type uint64; | type uint64; | |||
description | description | |||
"List of 32-bit tags associated with the IPv4 prefix."; | "List of 32-bit tags associated with the IPv4 prefix."; | |||
} | } | |||
uses prefix-attributes-extension; | uses prefix-attributes-extension; | |||
} | } | |||
/* TLVs and subTLVs for neighbors */ | /* TLVs and sub-TLVs for neighbors */ | |||
grouping neighbor-link-attributes { | grouping neighbor-link-attributes { | |||
description | description | |||
"Grouping for link attributes as defined | "Grouping for link attributes as defined | |||
in RFC5029"; | in RFC5029"; | |||
leaf link-attributes-flags { | leaf link-attributes-flags { | |||
type uint16; | type uint16; | |||
description | description | |||
"Flags for the link attributes"; | "Flags for the link attributes"; | |||
} | } | |||
skipping to change at page 82, line 46 ¶ | skipping to change at page 82, line 46 ¶ | |||
description "IS-IS error metric supported"; | description "IS-IS error metric supported"; | |||
} | } | |||
description "IS-IS error metric container"; | description "IS-IS error metric container"; | |||
} | } | |||
description "Instance of a particular adjacency | description "Instance of a particular adjacency | |||
as defined in ISO10589."; | as defined in ISO10589."; | |||
} | } | |||
} | } | |||
} | } | |||
/* Top level TLVs */ | /* Top-level TLVs */ | |||
grouping tlv132-ipv4-addresses { | grouping tlv132-ipv4-addresses { | |||
leaf-list ipv4-addresses { | leaf-list ipv4-addresses { | |||
type inet:ipv4-address; | type inet:ipv4-address; | |||
description | description | |||
"List of IPv4 addresses of the IS-IS node - IS-IS | "List of IPv4 addresses of the IS-IS node - IS-IS | |||
reference is TLV 132."; | reference is TLV 132."; | |||
} | } | |||
description "Grouping for TLV132."; | description "Grouping for TLV132."; | |||
} | } | |||
skipping to change at page 87, line 32 ¶ | skipping to change at page 87, line 32 ¶ | |||
"SRLG attribute of a link."; | "SRLG attribute of a link."; | |||
} | } | |||
description | description | |||
"List of links with SRLGs"; | "List of links with SRLGs"; | |||
} | } | |||
} | } | |||
/* Grouping for LSDB description */ | /* Grouping for LSDB description */ | |||
grouping lsp-entry { | grouping lsp-entry { | |||
description "IS-IS LSP database entry groupting"; | description "IS-IS LSP database entry grouping"; | |||
leaf decoded-completed { | leaf decoded-completed { | |||
type boolean; | type boolean; | |||
description "IS-IS LSP body fully decoded."; | description "IS-IS LSP body fully decoded."; | |||
} | } | |||
leaf raw-data { | leaf raw-data { | |||
type yang:hex-string; | type yang:hex-string; | |||
description | description | |||
"The hexadecial representation of the complete LSP in | "The hexadecimal representation of the complete LSP in | |||
network-byte order (NBO) as received or originated."; | network-byte order (NBO) as received or originated."; | |||
} | } | |||
leaf lsp-id { | leaf lsp-id { | |||
type lsp-id; | type lsp-id; | |||
description "LSP ID of the LSP"; | description "LSP ID of the LSP"; | |||
} | } | |||
leaf checksum { | leaf checksum { | |||
type uint16; | type uint16; | |||
description "LSP checksum"; | description "LSP checksum"; | |||
} | } | |||
skipping to change at page 90, line 51 ¶ | skipping to change at page 90, line 51 ¶ | |||
type uint16 { | type uint16 { | |||
range "0 .. 4095"; | range "0 .. 4095"; | |||
} | } | |||
description "Multi-topology (MT) identifier"; | description "Multi-topology (MT) identifier"; | |||
} | } | |||
uses prefix-ipv4-extended; | uses prefix-ipv4-extended; | |||
uses unknown-tlvs; | uses unknown-tlvs; | |||
description "List of extended prefixes."; | description "List of extended prefixes."; | |||
} | } | |||
description | description | |||
"IPv4 multi-topolgy (MT) extended reachability | "IPv4 multi-topology (MT) extended reachability | |||
information container - IS-IS reference is TLV 235."; | information container - IS-IS reference is TLV 235."; | |||
} | } | |||
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 "Multi-topology (MT) identifier"; | description "Multi-topology (MT) identifier"; | |||
} | } | |||
uses prefix-ipv6-extended; | uses prefix-ipv6-extended; | |||
uses unknown-tlvs; | uses unknown-tlvs; | |||
description "List of IPv6 extended prefixes."; | description "List of IPv6 extended prefixes."; | |||
} | } | |||
description | description | |||
"IPv6 multi-topolgy (MT) extended reachability | "IPv6 multi-topology (MT) extended reachability | |||
information container - IS-IS reference is TLV 237."; | information container - IS-IS reference is TLV 237."; | |||
} | } | |||
container ipv6-reachability { | container ipv6-reachability { | |||
list prefixes { | list prefixes { | |||
uses prefix-ipv6-extended; | uses prefix-ipv6-extended; | |||
uses unknown-tlvs; | uses unknown-tlvs; | |||
description "List of IPv6 prefixes."; | description "List of IPv6 prefixes."; | |||
} | } | |||
description | description | |||
skipping to change at page 97, line 10 ¶ | skipping to change at page 97, line 10 ¶ | |||
} | } | |||
leaf lsp-id { | leaf lsp-id { | |||
type lsp-id; | type lsp-id; | |||
description "LSP ID"; | description "LSP ID"; | |||
} | } | |||
description | description | |||
"This notification is sent when we attempt to propagate | "This notification is sent when we attempt to propagate | |||
an LSP that is larger than the dataLinkBlockSize for the | an LSP that is larger than the dataLinkBlockSize for the | |||
circuit. The notification generation must be throttled | circuit. The notification generation must be throttled | |||
with at least 5 seconds betweeen successive | with at least 5 seconds between successive | |||
notifications."; | notifications."; | |||
} | } | |||
notification if-state-change { | notification if-state-change { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf state { | leaf state { | |||
type if-state-type; | type if-state-type; | |||
description "Interface state."; | description "Interface state."; | |||
skipping to change at page 98, line 16 ¶ | skipping to change at page 98, line 16 ¶ | |||
description "Size of the ID length in the received PDU"; | description "Size of the ID length in the received PDU"; | |||
} | } | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description "Received raw PDU."; | description "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when we receive a PDU | "This notification is sent when we receive a PDU | |||
with a different value for the system-id length. | with a different value for the system-id length. | |||
The notification generation must be throttled | The notification generation must be throttled | |||
with at least 5 seconds betweeen successive | with at least 5 seconds 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 "Received number of supported areas"; | description "Received number of supported areas"; | |||
} | } | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description "Received raw PDU."; | description "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when we receive a PDU | "This notification is sent when we receive a PDU | |||
with a different value for the Maximum Area Addresses. | with a different value for the Maximum Area Addresses. | |||
The notification generation must be throttled | The notification generation must be throttled | |||
with at least 5 seconds betweeen successive | with 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 "LSP ID"; | description "LSP ID"; | |||
} | } | |||
skipping to change at page 99, line 14 ¶ | skipping to change at page 99, line 14 ¶ | |||
notification sequence-number-skipped { | notification sequence-number-skipped { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf lsp-id { | leaf lsp-id { | |||
type lsp-id; | type lsp-id; | |||
description "LSP ID"; | description "LSP ID"; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives a | "This notification is sent when the system receives a | |||
PDU with its own system-id and different contents. The | PDU with its own system-id and different contents. The | |||
system has to reoriginate the LSP with a higher sequence | system has to originate the LSP with a higher sequence | |||
number."; | number."; | |||
} | } | |||
notification authentication-type-failure { | notification authentication-type-failure { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description "Received raw PDU."; | description "Received raw PDU."; | |||
} | } | |||
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 notification generation must be throttled | The notification generation must be throttled | |||
with at least 5 seconds betweeen 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 "Received raw PDU."; | description "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 notification generation must be throttled with | The notification generation must be throttled | |||
with at least 5 seconds betweeen 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 "Protocol version received in the PDU."; | description "Protocol version received in the PDU."; | |||
} | } | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description "Received raw PDU."; | description "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when 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 notification generation must be throttled | The notification generation must be throttled | |||
with at least 5 seconds betweeen 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 "Received raw PDU."; | description "Received raw PDU."; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives a | "This notification is sent when the system receives a | |||
Hello PDU from an IS that does not share any area | Hello PDU from an IS that does not share any area | |||
address. The notification generation must be throttled | address. The notification generation must be throttled | |||
with at least 5 seconds betweeen successive | with at least 5 seconds between successive | |||
notifications."; | notifications."; | |||
} | } | |||
notification rejected-adjacency { | notification rejected-adjacency { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf raw-pdu { | leaf raw-pdu { | |||
type binary; | type binary; | |||
description | description | |||
"Received raw PDU."; | "Received raw PDU."; | |||
skipping to change at page 101, line 8 ¶ | skipping to change at page 101, line 8 ¶ | |||
description | description | |||
"The system may provide a reason to reject the | "The system may provide a reason to reject the | |||
adjacency. If the reason is not available, | adjacency. If the reason is not available, | |||
an empty string will be returned. | an empty string will be returned. | |||
The expected format is a single line text."; | The expected format is a single line text."; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives a | "This notification is sent when the system receives a | |||
Hello PDU from an IS but does not establish an adjacency | Hello PDU from an IS but does not establish an adjacency | |||
for some reason. The notification generation must be | for some reason. The notification generation must be | |||
throttled with at least 5 seconds betweeen successive | throttled with at least 5 seconds between successive | |||
notifications."; | notifications."; | |||
} | } | |||
notification protocols-supported-mismatch { | notification protocols-supported-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 "Received raw PDU."; | description "Received raw PDU."; | |||
} | } | |||
leaf-list protocols { | leaf-list protocols { | |||
type uint8; | type uint8; | |||
description | description | |||
"List of protocols supported by the remote system."; | "List of protocols supported by the remote system."; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives a | "This notification is sent when the system receives a | |||
non-pseudonode LSP that has no matching protocols | non-pseudonode LSP that has no matching protocols | |||
supported. The notification generation must be throttled | supported. The notification generation must be throttled | |||
with at least 5 seconds betweeen successive | with at least 5 seconds between successive | |||
notifications."; | notifications."; | |||
} | } | |||
notification lsp-error-detected { | notification lsp-error-detected { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf lsp-id { | leaf lsp-id { | |||
type lsp-id; | type lsp-id; | |||
description "LSP ID."; | description "LSP ID."; | |||
} | } | |||
skipping to change at page 102, line 14 ¶ | skipping to change at page 102, line 14 ¶ | |||
leaf tlv-type { | leaf tlv-type { | |||
type uint8; | type uint8; | |||
description | description | |||
"If the problem is a malformed TLV, the tlv-type is set | "If the problem is a malformed TLV, the tlv-type is set | |||
to the type value of the suspicious TLV. Otherwise, | to the type value of the suspicious TLV. Otherwise, | |||
this leaf is not present."; | this leaf is not present."; | |||
} | } | |||
description | description | |||
"This notification is sent when the system receives an | "This notification is sent when the system receives an | |||
LSP with a parse error. The notification generation must | LSP with a parse error. The notification generation must | |||
be throttled with at least 5 seconds betweeen successive | be throttled with at least 5 seconds between successive | |||
notifications."; | notifications."; | |||
} | } | |||
notification adjacency-state-change { | notification adjacency-state-change { | |||
uses notification-instance-hdr; | uses notification-instance-hdr; | |||
uses notification-interface-hdr; | uses notification-interface-hdr; | |||
leaf neighbor { | leaf neighbor { | |||
type string { | type string { | |||
length "1..255"; | length "1..255"; | |||
} | } | |||
skipping to change at page 103, line 35 ¶ | skipping to change at page 103, line 35 ¶ | |||
description "Timestamp when the LSP was received."; | description "Timestamp when the LSP was received."; | |||
} | } | |||
leaf neighbor-system-id { | leaf neighbor-system-id { | |||
type system-id; | type system-id; | |||
description "Neighbor system-id of LSP sender"; | description "Neighbor system-id of LSP sender"; | |||
} | } | |||
description | description | |||
"This notification is sent when an LSP is received. | "This notification is sent when an LSP is received. | |||
The notification generation must be throttled with at | The notification generation must be throttled with at | |||
least 5 seconds betweeen successive notifications."; | 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 "LSP ID"; | description "LSP ID"; | |||
} | } | |||
leaf sequence { | leaf sequence { | |||
skipping to change at page 104, line 9 ¶ | skipping to change at page 104, line 9 ¶ | |||
} | } | |||
leaf send-timestamp { | leaf send-timestamp { | |||
type yang:timestamp; | type yang:timestamp; | |||
description "Timestamp when our LSP was regenerated."; | description "Timestamp when our LSP was regenerated."; | |||
} | } | |||
description | description | |||
"This notification is sent when an LSP is regenerated. | "This notification is sent when an LSP is regenerated. | |||
The notification generation must be throttled with at | The notification generation must be throttled with at | |||
least 5 seconds betweeen successive notifications."; | least 5 seconds between successive notifications."; | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
7. Security Considerations | 7. Security Considerations | |||
The YANG module specified in this document defines a schema for data | The YANG module specified in this document defines a schema for data | |||
that is designed to be accessed via network management protocols such | that is designed to be accessed via network management protocols such | |||
as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer | |||
is the secure transport layer, and the mandatory-to-implement secure | is the secure transport layer, and the mandatory-to-implement secure | |||
skipping to change at page 104, line 52 ¶ | skipping to change at page 104, line 52 ¶ | |||
sensitive or vulnerable in some network environments. It is thus | sensitive or vulnerable in some network environments. It is thus | |||
important to control read access (e.g., via get, get-config, or | important to control read access (e.g., via get, get-config, or | |||
notification) to these data nodes. The exposure of the Link State | notification) to these data nodes. The exposure of the Link State | |||
Database (LSDB) will expose the detailed topology of the network | Database (LSDB) will expose the detailed topology of the network | |||
including authentication parameters. Implementations MUST NOT | including authentication parameters. Implementations MUST NOT | |||
provide a configured authentication key in a clear text format in | provide a configured authentication key in a clear text format in | |||
response to any request (e.g., via get, get-config). | response to any request (e.g., via get, get-config). | |||
For IS-IS authentication, configuration is supported via the | For IS-IS authentication, configuration is supported via the | |||
specification of key-chain [RFC8177] or the direction specification | specification of key-chain [RFC8177] or the direction specification | |||
of key and authentication algorithm. Hence, authentification | of key and authentication algorithm. Hence, authentication | |||
configuration using the "auth-table-trailer" case in the | configuration using the "auth-table-trailer" case in the | |||
"authentication" container inherits the security considerations of | "authentication" container inherits the security considerations of | |||
[RFC8177]. This includes the considerations with respect to the | [RFC8177]. This includes the considerations with respect to the | |||
local storage and handling of authentication keys. | local storage and handling of authentication keys. | |||
Some of the RPC operations in this YANG module may be considered | Some of the RPC operations in this YANG module may be considered | |||
sensitive or vulnerable in some network environments. It is thus | sensitive or vulnerable in some network environments. It is thus | |||
important to control access to these operations. The OSPF YANG | important to control access to these operations. The OSPF YANG | |||
module support the "clear-adjacency" and "clear-database" RPCs. If | module support the "clear-adjacency" and "clear-database" RPCs. If | |||
access too either of these is compromised, they can result in | access to either of these is compromised, they can result in | |||
temporary network outages be employed to mount DoS attacks. | temporary network outages be employed to mount DoS attacks. | |||
8. Contributors | 8. Contributors | |||
Authors would like to thank Kiran Agrahara Sreenivasa, Dean | Authors would like to thank Kiran Agrahara Sreenivasa, Dean | |||
Bogdanovic, Yingzhen Qu, Yi Yang, Jeff Tanstura for their major | Bogdanovic, Yingzhen Qu, Yi Yang, Jeff Tanstura for their major | |||
contributions to the draft. | contributions to the draft. | |||
9. IANA Considerations | 9. IANA Considerations | |||
skipping to change at page 106, line 12 ¶ | skipping to change at page 106, line 12 ¶ | |||
o Added some RFC references in the YANG model. | o Added some RFC references in the YANG model. | |||
o Leaf default-metric of container prefix-ipv4-std is now a | o Leaf default-metric of container prefix-ipv4-std is now a | |||
container. | container. | |||
o Changed the description of the authentication and removed the | o Changed the description of the authentication and removed the | |||
reference to MD5 as a possible way to hide the password. | reference to MD5 as a possible way to hide the password. | |||
o Changed leaf type for authentication type within | o Changed leaf type for authentication type within | |||
tlv10-authentication container.Moved from string to | tlv10-authentication container. Moved from string to | |||
keychain:crypto-algorithm identity. | keychain:crypto-algorithm identity. | |||
o Some admin strings are now limited to a range of 1..255. | o Some admin strings are now limited to a range of 1..255. | |||
o Hostname string in hostname DB is limited to 255 as per RFC5301. | o Hostname string in hostname DB is limited to 255 as per RFC5301. | |||
o In FRR stats, "prefix" is now encoded as inet:ip-prefix rather | o In FRR stats, "prefix" is now encoded as inet:ip-prefix rather | |||
than a string. "alternate" is now encoded as ip-address. | than a string. "alternate" is now encoded as ip-address. | |||
10.2. From version -28 to version -29 | 10.2. From version -28 to version -29 | |||
o Fixed area-address type pattern. The authorized number of bytes | o Fixed area-address type pattern. The authorized number of bytes | |||
was wrong. | was wrong. | |||
10.3. From version -27 to version -28 | 10.3. From version -27 to version -28 | |||
o Fixed non accurate description of level-type leaf. | o Fixed inaccurate description of level-type leaf. | |||
10.4. From version -26 to version -27 | 10.4. From version -26 to version -27 | |||
o Fixed XPATH to switching-capability leaf in "when" statement of | o Fixed XPATH to switching-capability leaf in "when" statement of | |||
psc-specific and tdm-specific containers. | psc-specific and tdm-specific containers. | |||
10.5. From version -25 to version -26 | 10.5. From version -25 to version -26 | |||
o Modify BFD reference descriptions. | o Modify BFD reference descriptions. | |||
skipping to change at page 107, line 30 ¶ | skipping to change at page 107, line 30 ¶ | |||
associated typedef. | associated typedef. | |||
o Revised some groupings and their names (alignment with OSPF). | o Revised some groupings and their names (alignment with OSPF). | |||
o Some description alignment with OSPF. | o Some description alignment with OSPF. | |||
o auto-cost container alignment with OSPF. | o auto-cost container alignment with OSPF. | |||
o MT-ID leaf in database description renamed (lower-case) mt-id. | o MT-ID leaf in database description renamed (lower-case) mt-id. | |||
o In lsp-log grouping, leaf change is renamed reason to align with | o In the lsp-log grouping, leaf change is renamed reason to align | |||
OSPF. | with OSPF. | |||
o Added some link attributes (GMPLS, TE, extended TE, SRLGs) in the | o Added some link attributes (GMPLS, TE, extended TE, SRLGs) in the | |||
LSDB. | LSDB. | |||
o Added extended-system-id typedef which contains the systemid plus | o Added extended-system-id typedef which contains the system-id plus | |||
the pseudonode number. | the pseudonode number. | |||
o Add support of POI Purge Originator Identification. | o Add support of POI Purge Originator Identification. | |||
10.7. From version -22 to version -24 | 10.7. From version -22 to version -24 | |||
o Fix revision date of the module. | o Fix revision date of the module. | |||
10.8. From version -21 to version -22 | 10.8. From version -21 to version -22 | |||
skipping to change at page 110, line 21 ¶ | skipping to change at page 110, line 21 ¶ | |||
o Aligned LFA if per level cfg. | o Aligned LFA if per level cfg. | |||
o Align to draft-ietf-netmod-routing-cfg-23. | o Align to draft-ietf-netmod-routing-cfg-23. | |||
10.20. From version -07 to version -08 | 10.20. From version -07 to version -08 | |||
o Remove selector from system-id type. | o Remove selector from system-id type. | |||
o Add some default values. | o Add some default values. | |||
o Moved lists to containers+groupings for per level configuration. | o Moved lists to containers and groupings for per level | |||
configuration. | ||||
o remove routing-instance as per core routing model v21. | o Remove routing-instance as per core routing model v21. | |||
o added BFD leaf (no more BFD protocol model). | o added BFD leaf (no more BFD protocol model). | |||
o changed keychain module reference. | o changed keychain module reference. | |||
10.21. From version -05 to version -07 | 10.21. From version -05 to version -07 | |||
o Move Overload config from list to container. | o Move Overload config from list to container. | |||
o Move Overload-max-metric config from list to container. | o Move Overload-max-metric config from list to container. | |||
skipping to change at page 111, line 15 ¶ | skipping to change at page 111, line 15 ¶ | |||
10.23. From version -02 to version -03 | 10.23. From version -02 to version -03 | |||
o Reviewed config and op state groupings. | o Reviewed config and op state groupings. | |||
o Add default value to lfa candidate-disabled. | o Add default value to lfa candidate-disabled. | |||
o Add enable leaf to isis container to reflect admin state. | o Add enable leaf to isis container to reflect admin state. | |||
o Move to VRF centric only. | o Move to VRF centric only. | |||
o Segment routing is part os a separate module. | o Segment routing is part of a separate module. | |||
10.24. From version -01 to version -02 | 10.24. From version -01 to version -02 | |||
o Adding IPFRR. | o Adding IPFRR. | |||
o Adding igp-ldp-sync. | o Adding igp-ldp-sync. | |||
o Adding segment-routing. | o Adding segment-routing. | |||
o Adding instance reference to operational states. | o Adding instance reference to operational states. | |||
skipping to change at page 112, line 36 ¶ | skipping to change at page 112, line 36 ¶ | |||
11.1. Normative References | 11.1. Normative References | |||
[I-D.ietf-bfd-yang] | [I-D.ietf-bfd-yang] | |||
Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and | Rahman, R., Zheng, L., Jethanandani, M., Networks, J., and | |||
G. Mirsky, "YANG Data Model for Bidirectional Forwarding | G. Mirsky, "YANG Data Model for Bidirectional Forwarding | |||
Detection (BFD)", draft-ietf-bfd-yang-17 (work in | Detection (BFD)", draft-ietf-bfd-yang-17 (work in | |||
progress), August 2018. | progress), August 2018. | |||
[ISO-10589] | [ISO-10589] | |||
ISO, , "Intermediate System to Intermediate System intra- | ISO, , "Intermediate System to Intermediate System intra- | |||
domain routeing information exchange protocol for use in | domain routing information exchange protocol for use in | |||
conjunction with the protocol for providing the | conjunction with the protocol for providing the | |||
connectionless-mode network service (ISO 8473)", | connectionless-mode network service (ISO 8473)", | |||
International Standard 10589: 2002, Second Edition, 2002. | International Standard 10589: 2002, Second Edition, 2002. | |||
[RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and | |||
dual environments", RFC 1195, DOI 10.17487/RFC1195, | dual environments", RFC 1195, DOI 10.17487/RFC1195, | |||
December 1990, <https://www.rfc-editor.org/info/rfc1195>. | December 1990, <https://www.rfc-editor.org/info/rfc1195>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
End of changes. 72 change blocks. | ||||
75 lines changed or deleted | 77 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |