| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||