diff options
author | Andrej Kozemcak <andrej.kozemcak@pantheon.tech> | 2018-12-20 17:49:33 +0100 |
---|---|---|
committer | Andrej Kozemcak <andrej.kozemcak@pantheon.tech> | 2018-12-20 17:51:10 +0100 |
commit | 639509ad42f8bd6baf9b6f5b668a9bbfb05108d4 (patch) | |
tree | 83de866d2e47bd71dae0c6ff9e03f51c3269413b /src/plugins/yang/openconfig/openconfig-isis-lsdb-types.yang | |
parent | ba089324594f450a1b549906ec7fde1ba63a1e89 (diff) |
Add Openconfig YANG modules.
Change-Id: I7e98bf1ca7196cff042a35b8bf096d2ea9d80028
Signed-off-by: Andrej Kozemcak <andrej.kozemcak@pantheon.tech>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-isis-lsdb-types.yang')
-rw-r--r-- | src/plugins/yang/openconfig/openconfig-isis-lsdb-types.yang | 686 |
1 files changed, 686 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-isis-lsdb-types.yang b/src/plugins/yang/openconfig/openconfig-isis-lsdb-types.yang new file mode 100644 index 0000000..5e53fd4 --- /dev/null +++ b/src/plugins/yang/openconfig/openconfig-isis-lsdb-types.yang @@ -0,0 +1,686 @@ +module openconfig-isis-lsdb-types { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/isis-lsdb-types"; + + prefix "oc-isis-lsdb-types"; + + import openconfig-extensions { prefix oc-ext; } + + // meta + 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. "; + + oc-ext:openconfig-version "0.4.0"; + + 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"; + } + + 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."; + } + + //sub-TLVs for TLVs 22, 23, 141, 222, 223 + + 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."; + } + + //sub-TLVs for TLVs 135, 235, 236, 237 + 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."; + } + + + //sub-TLVs for TLVs 242 + + 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."; + } + +} |