blob: b645e35b10fb5e79fae4d65df06555b10c8afc3b [file] [log] [blame]
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.3.2";
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.";
}
}