module openconfig-isis-lsdb-types { yang-version 1; namespace "http://openconfig.net/yang/isis-lsdb-types"; prefix oc-isis-lsdb-types; import openconfig-extensions { prefix oc-ext; } organization "OpenConfig working group"; contact "OpenConfig working group www.openconfig.net"; description "This module contains general LSDB type definitions for use in ISIS YANG model. "; revision 2018-11-21 { description "Add OpenConfig module metadata extensions."; reference "0.4.2"; } revision 2018-06-05 { description "Fix bugs in when statements."; reference "0.4.1"; } revision 2018-05-14 { description "Update LSDB model to correct Extended IS reach TLV bug. This change is backwards incompatible due to adding an additional level of hierarchy to support multiple instances of the TLV."; reference "0.4.0"; } revision 2017-07-26 { description "Update LSDB and fix bugs."; reference "0.3.2"; } revision 2017-05-15 { description "Refactor LSDB."; reference "0.3.0"; } revision 2017-01-13 { description "Remove top-level /isis container"; reference "0.2.1"; } revision 2016-12-15 { description "Add segment routing to IS-IS module"; reference "0.2.0"; } revision 2016-10-18 { description "Initial revision of IS-IS models."; reference "0.1.0"; } oc-ext:openconfig-version "0.4.2"; oc-ext:regexp-posix; oc-ext:catalog-organization "openconfig"; oc-ext:origin "openconfig"; identity ISIS_TLV_TYPE { description "Base identity for an ISIS TLV type."; } identity ISIS_SUBTLV_TYPE { description "Base identity for an ISIS SUB-TLV type."; } identity IS_REACHABILITY_SUBTLVS_TYPE { base ISIS_SUBTLV_TYPE; description "Base identity for an ISIS TLV 22, 23, 222, 223, 141 SUB-TLV type."; } identity IP_REACHABILITY_SUBTLVS_TYPE { base ISIS_SUBTLV_TYPE; description "Base identity for an ISIS TLV 135, 235, 236, 237 SUB-TLV type."; } identity ROUTER_CAPABILITY_SUBTLVS_TYPE { base ISIS_SUBTLV_TYPE; description "Base identity for an ISIS TLV 242 SUB-TLV type."; } identity AREA_ADDRESSES { base ISIS_TLV_TYPE; description "ISIS TLV 1. Intermediate System to Intermediate System Intra- Domain Routeing Exchange Protocol for use in Conjunction with the Protocol for Providing the Connectionless-mode Network Service (ISO 8473), International Standard 10589: 2002, Second Edition, 2002."; reference "ISO 10589"; } identity IIS_NEIGHBORS { base ISIS_TLV_TYPE; description "ISIS TLV 2. Intermediate System to Intermediate System Intra- Domain Routeing Exchange Protocol for use in Conjunction with the Protocol for Providing the Connectionless-mode Network Service (ISO 8473), International Standard 10589: 2002, Second Edition, 2002."; reference "ISO 10589"; } identity INSTANCE_ID { base ISIS_TLV_TYPE; description "ISIS TLV 7. An Instance Identifier (IID) to uniquely identify an IS-IS instance. When the IID = 0, the list of supported ITIDs MUST NOT be present. An IID-TLV with IID = 0 MUST NOT appear in an SNP or LSP. When the TLV appears (with a non-zero IID) in an SNP or LSP, exactly one ITID. MUST be present indicating the topology with which the PDU is associated. If no ITIDs or multiple ITIDs are present or the IID is zero, then the PDU MUST be ignored"; reference "RFC6822: IS-IS Multi-Instance"; } identity AUTHENTICATION { base ISIS_TLV_TYPE; description "ISIS TLV 10.Intermediate System to Intermediate System Intra- Domain Routeing Exchange Protocol for use in Conjunction with the Protocol for Providing the Connectionless-mode Network Service (ISO 8473) International Standard 10589: 2002, Second Edition, 2002."; reference "ISO 10589"; } identity PURGE_OI { base ISIS_TLV_TYPE; description "ISIS TLV 13. If an IS generates a purge, it SHOULD include this TLV in the purge with its own system ID. If an IS receives a purge that does not include this TLV, then it SHOULD add this TLV with both its own system ID and the system ID of the IS from which it received the purge. This allows ISs receiving purges to log the system ID of the originator, or the upstream source of the purge."; reference "RFC6232: Purge Originator Identification TLV"; } identity LSP_BUFFER_SIZE { base ISIS_TLV_TYPE; description "ISIS TLV 14. The maximum MTU that the advertising system can receive, expressed in bytes."; reference "ISO 10589: LSP Buffer Size TLV"; } identity EXTENDED_IS_REACHABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 22. An extended IS reachability TLV that has a different data structure to TLV 2 that introduces the use of sub-TLV object-group."; reference "RFC5305: IS-IS Extensions for Traffic Engineering"; } identity IS_NEIGHBOR_ATTRIBUTE { base ISIS_TLV_TYPE; description "ISIS TLV 23. Identical in format to TLV 22 and included in Original LSPs or Extended LSPs. Regardless of the type of LSP in which the TLVs appear, the information pertains to the neighbor relationship between the Originating System and the IS identified in the TLV"; reference "RFC5311: Simplified Extension of Link State PDU (LSP) Space for IS-IS"; } identity ISIS_ALIAS_ID { base ISIS_TLV_TYPE; description "ISIS TLV 24. IS-Alias TLV which extension-capable ISs to recognize the Originating System of an Extended LSP set. It identifies the Normal system-id of the Originating System"; reference "RFC5311: Simplified Extension of Link State PDU (LSP) Space for IS-IS"; } identity IPV4_INTERNAL_REACHABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 128. TLV defines IP addresses within the routing domain reachable directly via one or more interfaces on this Intermediate system"; reference "RFC1195: OSI ISIS for IP and Dual Environments. RFC5302: Domain-Wide Prefix Distribution with Two-Level IS-IS"; } identity NLPID { base ISIS_TLV_TYPE; description "ISIS TLV 129. TLV defines the set Network Layer Protocol Identifiers for Network Layer protocols that this Intermediate System is capable of relaying"; reference "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual Environments"; } identity IPV4_EXTERNAL_REACHABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 130. TLV defines IP addresses outside the routing domain reachable via interfaces on this Intermediate system. This is permitted to appear multiple times, and in an LSP with any LSP number. However, this field must not appear in pseudonode LSPs"; reference " RFC1195: OSI ISIS for IP and Dual Environments. RFC5302: Domain-Wide Prefix Distribution with Two-Level IS-IS"; } identity IPV4_INTERFACE_ADDRESSES { base ISIS_TLV_TYPE; description "ISIS TLV 132. The IP address of one or more interfaces corresponding to the SNPAs enabled on this Intermediate system (i.e., one or more IP addresses of this router). This is permitted to appear multiple times, and in an LSP with any LSP number."; reference "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual Environments"; } identity IPV4_TE_ROUTER_ID { base ISIS_TLV_TYPE; description "ISIS TLV 134. Traffic Engineering router ID TLV that contains the 4-octet router ID of the router originating the LSP"; reference "RFC5305: IS-IS Extensions for Traffic Engineering"; } identity EXTENDED_IPV4_REACHABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 135. Extended IP reachability TLV that provides for a 32-bit metric and adds one bit to indicate that a prefix has been redistributed _down_ in the hierarchy"; reference "RFC5305: IS-IS Extensions for Traffic Engineering"; } identity DYNAMIC_NAME { base ISIS_TLV_TYPE; description "ISIS TLV 137. The Dynamic hostname TLV is optional. This TLV may be present in any fragment of a non-pseudonode LSP. The value field identifies the symbolic name of the router originating the LSP. This symbolic name can be the FQDN for the router, it can be a subset of the FQDN, or it can be any string operators want to use for the router."; reference "RFC6233: IS-IS Registry Extension for Purges, RFC 5301: Dynamic Hostname Exchange Mechanism for IS-IS."; } identity IPV4_SRLG { base ISIS_TLV_TYPE; description "ISIS TLV 138. IPv4 Shared Risk Link Group TLV"; reference "RFC5307: IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)"; } identity IPV6_SRLG { base ISIS_TLV_TYPE; description "ISIS TLV 139. IPv6 Shared Risk Link Group"; reference "RFC6119: IPv6 Traffic Engineering in IS-IS"; } identity IPV6_TE_ROUTER_ID { base ISIS_TLV_TYPE; description "ISIS TLV 140. The IPv6 TE Router ID TLV contains a 16-octet IPv6 address. A stable global IPv6 address MUST be used, so that the router ID provides a routable address, regardless of the state of a node's interfaces. If a router does not implement traffic engineering, it MAY include or omit the IPv6 TE Router ID TLV. If a router implements traffic engineering for IPv6, it MUST include this TLV in its LSP. This TLV MUST NOT be included more than once in an LSP."; reference "RFC6119: IPv6 Traffic Engineering in IS-IS."; } identity MT_ISN { base ISIS_TLV_TYPE; description "ISIS TLV 222. TLV is aligned with extended IS reachability TLV type 22 beside an additional two bytes in front at the beginning of the TLV that. indicate MT membership."; reference "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)"; } identity MT_IS_NEIGHBOR_ATTRIBUTE { base ISIS_TLV_TYPE; description "ISIS TLV 223. Is is identical in format to TLV 222. In the event that there is a need to advertise in Extended LSPs such information associated with neighbors of the Originating System, it is necessary to define new TLVs to carry the sub-TLV information."; reference "RFC5311: Simplified Extension of Link State PDU (LSP) Space for IS-IS"; } identity MULTI_TOPOLOGY { base ISIS_TLV_TYPE; description "ISIS TLV 229. This MT TLV can advertise up to 127 MTs. It is announced in IIHs and LSP fragment 0, and can occur multiple times. The resulting MT set SHOULD be the union of all the MT TLV occurrences in the packet. Any other IS-IS PDU occurrence of this TLV MUST be ignored. Lack of MT TLV in hellos and fragment zero LSPs MUST be interpreted as participation of the advertising interface or router in MT ID #0 only. If a router advertises MT TLV, it has to advertise all the MTs it participates in, specifically including topology ID #0 also."; reference "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)"; } identity IPV6_INTERFACE_ADDRESSES { base ISIS_TLV_TYPE; description "ISIS TLV 232. IPv6 Interface Address TLV that maps directly to the IP Interface Address TLV in [RFC1195]. We necessarily modify the contents to be 0-15 16-octet IPv6 interface addresses instead of 0-63 4-octet IPv4 interface addresses"; reference "RFC5308: Routing IPv6 with IS-IS."; } identity MT_IPV4_REACHABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 235. TLV is aligned with extended IP reachability TLV type 135 beside an additional two bytes in front to indicate MT membership"; reference "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)"; } identity IPV6_REACHABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 236. The IPv6 Reachability TLV describes network reachability through the specification of a routing prefix, metric information, a bit to indicate if the prefix is being advertised down from a higher level, a bit to indicate if the prefix is being distributed from another routing protocol, and OPTIONALLY the existence of Sub-TLVs to allow for later extension."; reference "RFC5308: Routing IPv6 with IS-IS"; } identity MT_IPV6_REACHABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 237. TLV is aligned with IPv6 Reachability TLV type 236 beside an additional two bytes in front to indicate MT membership."; reference "RFC5120: M-ISIS: Multi Topology (MT) Routing in Intermediate System to Intermediate Systems (IS-ISs)."; } identity ROUTER_CAPABILITY { base ISIS_TLV_TYPE; description "ISIS TLV 242. IS-IS TLV named CAPABILITY, formed of multiple sub-TLVs, which allows a router to announce its capabilities within an IS-IS level or the entire routing domain."; reference "RFC4971: Intermediate System to Intermediate System (IS-IS) Extensions for Advertising Router Information."; } identity IS_REACHABILITY_ADMIN_GROUP { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 3. Administrative group(color)."; reference "RFC5305: IS-IS Extensions for Traffic Engineering"; } identity IS_REACHABILITY_LINK_ID { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 4. Link Local/Remote Identifiers."; reference "RFC5307: IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)"; } identity IS_REACHABILITY_IPV4_INTERFACE_ADDRESS { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 6. IPv4 Interface Address."; reference "RFC5305: IS-IS Extensions for Traffic Engineering."; } identity IS_REACHABILITY_IPV4_NEIGHBOR_ADDRESS { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 8. IPv4 Neighbor Address."; reference "RFC5305: IS-IS Extensions for Traffic Engineering."; } identity IS_REACHABILITY_MAX_LINK_BANDWIDTH { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 9. Maximum Link Bandwidth."; reference "RFC5305: IS-IS Extensions for Traffic Engineering."; } identity IS_REACHABILITY_MAX_RESERVABLE_BANDWIDTH { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 10. Maximum Reservable Bandwidth."; reference "RFC5305: IS-IS Extensions for Traffic Engineering."; } identity IS_REACHABILITY_UNRESERVED_BANDWIDTH { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 11. Unreserved bandwidth."; reference "RFC5305: IS-IS Extensions for Traffic Engineering."; } identity IS_REACHABILITY_IPV6_INTERFACE_ADDRESS { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 12. IPv6 Interface Address."; reference "RFC6119: IPv6 Traffic Engineering in IS-IS."; } identity IS_REACHABILITY_IPV6_NEIGHBOR_ADDRESS { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 13. IPv6 Neighbor Address."; reference "RFC6119: IPv6 Traffic Engineering in IS-IS."; } identity IS_REACHABILITY_EXTENDED_ADMIN_GROUP { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 14. Extended Administrative Group."; reference "RFC7308: Extended Administrative Groups in MPLS Traffic Engineering (MPLS-TE)."; } identity IS_REACHABILITY_TE_DEFAULT_METRIC { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 18. TE Default Metric."; reference "RFC5305: IS-IS Extensions for Traffic Engineering."; } identity IS_REACHABILITY_LINK_ATTRIBUTES { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 19. Link Attributes."; reference "RFC5209: Definition of an IS-IS Link Attribute Sub-TLV."; } identity IS_REACHABILITY_LINK_PROTECTION_TYPE { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 20. Link Protection Type."; reference "RFC5307: IS-IS Extensions in Support of Generalized Multi-Protocol Label Switching (GMPLS)"; } identity IS_REACHABILITY_BANDWIDTH_CONSTRAINTS { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 22. Bandwidth Constraints."; reference "RFC4124: Protocol Extensions for Support of Diffserv-aware MPLS Traffic Engineering."; } identity IS_REACHABILITY_UNCONSTRAINED_LSP { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 23. Unconstrained LSP."; reference "RFC5330: A Link-Type sub-TLV to Convey the Number of Traffic Engineering Label Switched Paths Signalled with Zero Reserved Bandwidth across a Link."; } identity IS_REACHABILITY_ADJ_SID { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 31. Adjacency Segment Identifier."; reference "draft-ietf-isis-segment-routing-extensions."; } identity IS_REACHABILITY_ADJ_LAN_SID { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 32. Adjacency LAN Segment Identifier."; reference "draft-ietf-isis-segment-routing-extensions."; } identity IS_REACHABILITY_LINK_DELAY { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 33. Unidirectional Link Delay."; reference "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; } identity IS_REACHABILITY_MIN_MAX_LINK_DELAY { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 34. Min/Max Unidirectional Link Delay."; reference "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; } identity IS_REACHABILITY_LINK_DELAY_VARIATION { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 35. Unidirectional Link Delay Variation."; reference "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; } identity IS_REACHABILITY_LINK_LOSS { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 36. Unidirectional Link Loss Delay."; reference "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; } identity IS_REACHABILITY_RESIDUAL_BANDWIDTH { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 37. Unidirectional Residual Bandwidth."; reference "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; } identity IS_REACHABILITY_AVAILABLE_BANDWIDTH { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 38. Unidirectional Available Bandwidth."; reference "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; } identity IS_REACHABILITY_UTILIZED_BANDWIDTH { base IS_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 39. Unidirectional Utilized Bandwidth."; reference "RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions."; } identity IP_REACHABILITY_TAG { base IP_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 1. 32-bit Administrative Tag."; reference "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability."; } identity IP_REACHABILITY_TAG64 { base IP_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 2. 64-bit Administrative Tag."; reference "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability."; } identity IP_REACHABILITY_PREFIX_SID { base IP_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 3. Prefix Segment Identifier."; reference "draft-ietf-isis-segment-routing-extension."; } identity IP_REACHABILITY_PREFIX_FLAGS { base IP_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 4. Prefix Attribute Flags."; reference "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability."; } identity IP_REACHABILITY_IPV4_ROUTER_ID { base IP_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 11. IPv4 Source Router ID."; reference "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability."; } identity IP_REACHABILITY_IPV6_ROUTER_ID { base IP_REACHABILITY_SUBTLVS_TYPE; description "sub-TLV 12. IPv6 Source Router ID."; reference "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability."; } identity ROUTER_CAPABILITY_SR_CAPABILITY { base ROUTER_CAPABILITY_SUBTLVS_TYPE; description "sub-TLV 2. Segment Routing Capability."; reference "draft-ietf-isis-segment-routing-extensions."; } identity ROUTER_CAPABILITY_SR_ALGORITHM { base ROUTER_CAPABILITY_SUBTLVS_TYPE; description "sub-TLV 19. Segment Routing Algorithm."; reference "draft-ietf-isis-segment-routing-extensions."; } }