aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-isis-lsp.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-isis-lsp.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-isis-lsp.yang3592
1 files changed, 0 insertions, 3592 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-isis-lsp.yang b/src/plugins/yang/openconfig/openconfig-isis-lsp.yang
deleted file mode 100644
index 02f8b79..0000000
--- a/src/plugins/yang/openconfig/openconfig-isis-lsp.yang
+++ /dev/null
@@ -1,3592 +0,0 @@
-submodule openconfig-isis-lsp {
-
- belongs-to openconfig-isis {
- prefix oc-isis;
- }
- import openconfig-extensions { prefix "oc-ext"; }
- import openconfig-inet-types { prefix "inet"; }
- import openconfig-isis-types { prefix "oc-isis-types"; }
- import openconfig-isis-lsdb-types { prefix "oc-isis-lsdb-types"; }
- import openconfig-types { prefix "oc-types"; }
- import openconfig-mpls-types { prefix "oc-mpls-types"; }
- // meta
- organization
- "OpenConfig working group";
-
- contact
- "OpenConfig working group
- www.openconfig.net ";
-
- description
- "This sub-module describes a YANG model for the IS-IS Link State
- Database (LSDB).
-
- Portions of this code were derived from IETF RFCs relating to the
- IS-IS protocol.
- Please reproduce this note if possible.
- IETF code is subject to the following copyright and license:
- Copyright (c) IETF Trust and the persons identified as authors of
- the code.
- All rights reserved.
- Redistribution and use in source and binary forms, with or without
- modification, is permitted pursuant to, and subject to the license
- terms contained in, the Simplified BSD License set forth in
- Section 4.c of the IETF Trust's Legal Provisions Relating
- to IETF Documents (http://trustee.ietf.org/license-info).";
-
- 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";
- }
-
- typedef isis-metric-flags {
- type enumeration {
- enum INTERNAL {
- description
- "When this flag is not set, internal metrics are in use.";
- }
- enum UNSUPPORTED {
- description
- "When this flag (referred to as the S-bit) is set, then
- the metric is unsupported.";
- }
- }
- description
- "Type definition for flags used in IS-IS metrics";
- }
-
- grouping isis-lsdb-link-characteristics-a-bit {
- description
- "Definition of the A bit, as used in IS-IS link delay TLVs.";
-
- leaf a-bit {
- type boolean;
- description
- "The A bit is set when the measured value of this parameter
- exceeds its configured maximum threshold. The A bit is cleared
- when the measured value falls below its configured reuse
- threshold.";
- }
- }
-
- grouping isis-lsdb-tlv-nlpid-state {
- description
- "NLP ID parameters for IS-IS.";
-
- leaf-list nlpid {
- type enumeration {
- enum IPV4 {
- description "IPv4 Address family.";
- }
- enum IPV6 {
- description "IPv6 Address family.";
- }
- }
- description
- "Protocol supported. IPv4 is defined as (0xcc) and IPv6 -
- (0x8e)";
- reference
- "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and
- Dual Environments. TLV 129. ";
- }
- }
-
- grouping isis-lsdb-subtlv-type-state {
- description
- "Per-subTLV type operational state parameters for ISIS.";
-
- leaf type {
- type identityref {
- base oc-isis-lsdb-types:ISIS_SUBTLV_TYPE;
- }
- description
- "The type of subTLV being described. The type of subTLV is
- expressed as a canonical name.";
- }
- }
-
- grouping isis-lsdb-tlv-type-state {
- description
- "Per-subTLV type operational state parameters for ISIS.";
-
- leaf type {
- type identityref {
- base oc-isis-lsdb-types:ISIS_TLV_TYPE;
- }
- description
- "The type of TLV being described. The type of TLV is
- expressed as a canonical name.";
- }
- }
-
- grouping is-reachability-neighbor-state {
- description
- "This grouping defines is-reachability neighbor.";
-
- container subtlvs {
- description
- "This container describes IS Neighbor sub-TLVs.";
-
- list subtlv {
- key "type";
-
- description
- "List of subTLV types in the LSDB for the specified TLV.";
-
- leaf type {
- type leafref {
- path "../state/type";
- }
- description
- "Reference to the sub-TLV type.";
- }
-
- container state {
- description
- "State parameters of IS neighbor state";
-
- uses isis-lsdb-subtlv-type-state;
- }
-
- container admin-group {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_ADMIN_GROUP'" {
- description
- "Only include the administrative group container when
- the sub-TLV is type 3";
- }
- description
- "This container defines sub-TLV 3.";
-
- container state {
- description
- "State parameters of sub-TLV 3.";
-
- leaf-list admin-group {
- type uint32;
- description
- "The administrative group sub-TLV contains a 4-octet
- bit mask assigned by the network administrator. Each
- set bit corresponds to one administrative group
- assigned to the interface. By convention, the least
- significant bit is referred to as group 0, and the
- most significant bit is referred to as group 31.";
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering.
- sub-TLV 3: TLV 22,23,141,222, 223.";
- }
- }
- }
-
- container link-id {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_ID'" {
- description
- "Only include the link identifier container when the
- sub-TLV is type 4";
- }
- description
- "This container defines sub-TLV 4.";
-
- container state {
- description
- "State parameters of sub-TLV 4.";
-
- leaf local {
- type uint32;
- description
- "The value field of this sub-TLV contains 4 octets of
- Link Local Identifier followed by 4 octets of Link
- Remote Identifier.";
- reference
- "RFC5307: IS-IS Extensions in Support of Generalized
- Multi-Protocol Label Switching (GMPLS). sub-TLV 3: TLV
- 22,23,141,222, 223.";
- }
-
- leaf remote {
- type uint32;
- description
- "If the Link Remote Identifier is unknown, it is set
- to 0.";
- reference
- "RFC5307: IS-IS Extensions in Support of Generalized
- Multi-Protocol Label Switching (GMPLS). sub-TLV 3: TLV
- 22,23,141,222, 223.";
- }
- }
- }
-
- container ipv4-interface-address {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_IPV4_INTERFACE_ADDRESS'" {
- description
- "Only include the IPv4 interface address group container
- when the sub-TLV is type 6";
- }
- description
- "This container defines sub-TLV 6.";
-
- container state {
- description
- "State parameters of sub-TLV 6.";
-
- leaf-list address {
- type inet:ipv4-address;
- description
- "A 4-octet IPv4 address for the interface described by
- the (main) TLV. This sub-TLV can occur multiple
- times.";
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering.
- sub-TLV 6: TLV 22,23,41,222,223.";
- }
- }
- }
-
- container ipv4-neighbor-address {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_IPV4_NEIGHBOR_ADDRESS'" {
- description
- "Only include the IPv4 neighbor address container when
- the sub-TLV is type 8.";
- }
- description
- "This container defines sub-TLV 8.";
-
- container state {
- description
- "State parameters of sub-TLV 8.";
-
- leaf-list address {
- type inet:ipv4-address;
- description
- "A single IPv4 address for a neighboring router on
- this link. This sub-TLV can occur multiple times.";
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering.
- sub-TLV 8: TLV 22,23, 141,222,223.";
- }
- }
- }
-
- container max-link-bandwidth {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_MAX_LINK_BANDWIDTH'" {
- description
- "Only include the maximum link bandwidth container when
- the sub-TLV is type 9.";
- }
- description
- "This container defines sub-TLV 9.";
-
- container state {
- description
- "State parameters of sub-TLV 9.";
-
- leaf bandwidth {
- type oc-types:ieeefloat32;
- units "bytes per second";
- description
- "The maximum bandwidth that can be used on this link
- in this direction (from the system originating the LSP
- to its neighbors). It is encoded in 32 bits in IEEE
- floating point format. The units are bytes (not
- bits!) per second.";
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering.
- sub-TLV 9: TLV 22,23,141,222,223.";
- }
- }
- }
-
- container max-reservable-link-bandwidth {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_MAX_RESERVABLE_BANDWIDTH'" {
- description
- "Only include the maximum reservable link bandwidth
- container when the sub-TLV type is 10.";
- }
- description
- "This container defines sub-TLV 10.";
-
- container state {
- description
- "State parameters of sub-TLV 10.";
-
- leaf bandwidth {
- type oc-types:ieeefloat32;
- units "bytes per second";
- description
- "The maximum amount of bandwidth that can be reserved
- in this direction on this link. Note that for
- oversubscription purposes, this can be greater than
- the bandwidth of the link. It is encoded in 32 bits
- in IEEE floating point format. The units are bytes
- (not bits!) per second.";
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering.
- Sub-TLV 10: TLV 22,23,141,222,223.";
- }
- }
- }
-
- container unreserved-bandwidth {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_UNRESERVED_BANDWIDTH'" {
- description
- "Only include the unreserved bandwidth container when
- the sub-TLV type is 11.";
- }
- description
- "This container defines unreserved-bandwidth. The units
- are bytes per second.";
-
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering. sub-
- TLV 11: TLV 22,23,141,222,223";
-
- list setup-priority {
- key "priority";
-
- leaf priority {
- type leafref {
- path "../state/priority";
- }
- description
- "Reference to the setup priority to which the
- unreserved bandwidth corresponds.";
- }
-
- description
- "Setup priority (0 through 7) for unreserved
- bandwidth.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 11.";
-
- leaf priority {
- type uint8 {
- range "0..7";
- }
- description
- "Setup priority level of 0 through 7 to be used by
- Unreserved Bandwidth sub-TLV 11.";
- }
-
- leaf bandwidth {
- type oc-types:ieeefloat32;
- units "bytes per second";
- description
- "The amount of bandwidth reservable in this
- direction on this link. Note that for
- oversubscription purposes, this can be greater than
- the bandwidth of the link. It contains eight 32-bit
- IEEE floating point numbers(one for each priority).
- The units are bytes (not bits!) per second. The
- values correspond to the bandwidth that can be
- reserved with a setup priority of 0 through 7,
- arranged in increasing order with priority 0
- occurring at the start of the sub-TLV, and priority
- 7 at the end of the sub-TLV.";
- }
- }
- }
- }
-
- container ipv6-interface-address {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_IPV6_INTERFACE_ADDRESS'" {
- description
- "Only include the IPv6 interface address when the
- sub-TLV type is 12.";
- }
- description
- "This container defines sub-TLV 12.";
-
- container state {
- description
- "State parameters of sub-TLV 12.";
-
- leaf-list address {
- type inet:ipv6-address;
- description
- "Contains a 16-octet IPv6 address for the interface
- described by the containing Extended IS Reachability
- TLV. This sub-TLV can occur multiple times.";
- reference
- "RFC6119: IPv6 Traffic Engineering in IS-IS. sub-TLV
- 12: TLV 22,23,141,222,223.";
- }
- }
- }
-
- container ipv6-neighbor-address {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_IPV6_NEIGHBOR_ADDRESS'" {
- description
- "Only include the IPv6 neighbor address when the
- sub-TLV type is 13.";
- }
- description
- "This container defines sub-TLV 13.";
-
- container state {
- description
- "State parameters of sub-TLV 13.";
-
- leaf-list address {
- type inet:ipv6-address;
- description
- "Contains a 16-octet IPv6 address for a neighboring
- router on the link described by the (main) TLV. This
- sub-TLV can occur multiple times.";
- reference
- "RFC6119: IPv6 Traffic Engineering in IS-IS. sub-TLV
- 13: ISIS TLV 22,23,141,222,223.";
- }
- }
- }
-
- container extended-admin-group {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_EXTENDED_ADMIN_GROUP'" {
- description
- "Only include the extended admin group when the
- sub-TLV type is 14.";
- }
- description
- "This container defines sub-TLV 14.";
- container state {
- description
- "State parameters of sub-TLV 14.";
-
- leaf-list extended-admin-group {
- type uint32;
- description
- "The extended-admin-group sub-TLV is used in addition
- to the Administrative Groups when it is desirable to
- make more than 32 colors available for advertisement
- in a network.";
- reference
- "RFC7308: Extended Administrative Groups in MPLS
- Traffic Engineering (MPLS-TE). sub-TLV 14: TLV
- 22,23,141,222,223.";
- }
- }
- }
-
- container te-default-metric {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_TE_DEFAULT_METRIC'" {
- description
- "Only include the default traffic engineering metric
- container when the sub-TLV type is 18.";
- }
- description
- "This container defines sub-TLV 18.";
- container state {
- description
- "State parameters of sub-TLV 18.";
-
- leaf metric {
- type uint32;
- description
- "This metric is administratively assigned and can be
- used to present a differently weighted topology to
- traffic engineering SPF calculations. To preclude
- overflow within a traffic engineering SPF
- implementation, all metrics greater than or equal to
- MAX_PATH_METRIC SHALL be considered to have a metric
- of MAX_PATH_METRIC.";
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering.
- sub-TLV 18: TLV 22,23,141,222,223.";
- }
- }
- }
-
- container link-attributes {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_ATTRIBUTES'" {
- description
- "Only include the link attributes container when the
- sub-TLV is type 19.";
- }
- description
- "This container defines link-attributes.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 19.";
-
- leaf-list local-protection {
- type enumeration {
- enum LOCAL_PROTECTION {
- description
- "If set, local protection is available for the
- link.";
- }
- enum LINK_EXCLUDED {
- description
- "If set, the link is excluded from local
- protection.";
- }
- }
- description
- "Link local-protection attributes.";
-
- reference
- "RFC5029: Definition of an IS-IS Link Attribute Sub-
- TLV. TLV 22, sub-TLV 19.";
- }
- }
- }
-
- container link-protection-type {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_PROTECTION_TYPE'" {
- description
- "Only include the link protection type container when
- the sub-TLV type 20.";
- }
- description
- "ISIS LSDB parameters relating to the type of link
- protection offered.";
-
- container state {
- description
- "State parameters of sub-TLV 20.";
-
- leaf-list type {
- type enumeration {
- enum EXTRA_TRAFFIC {
- description
- "If set the link has extra traffic protection. If
- the link is of type Extra Traffic, it means that
- the link is protecting another link or links. The
- LSPs on a link of this type will be lost if any of
- the links it is protecting fail.";
- }
- enum UNPROTECTED {
- description
- "If set, the link is unprotected. If the link is
- of type Unprotected, it means that there is no
- other link protecting this link. The LSPs on a
- link of this type will be lost if the link
- fails.";
- }
- enum SHARED {
- description
- "If set, the link has shared protection. If the
- link is of type Shared, it means that there are
- one or more disjoint links of type Extra Traffic
- that are protecting this link. These Extra
- Traffic links are shared between one or more links
- of type Shared.";
- }
- enum ONE_ONE {
- description
- "If set, the link has dedicated 1:1 protection. If
- the link is of type Dedicated 1:1, it means that
- there is one dedicated disjoint link of type Extra
- Traffic that is protecting this link.";
- }
- enum PLUS_ONE {
- description
- "If set, the link has dedicated 1+1 protection. If
- the link is of type Dedicated 1+1, it means that a
- dedicated disjoint link is protecting this link.
- However, the protecting link is not advertised in
- the link state database and is therefore not
- available for the routing of LSPs.";
- }
- enum ENHANCED {
- description
- "If set the link has enhanced protection. If the
- link is of type Enhanced, it means that a
- protection scheme that is more reliable than
- Dedicated 1+1, e.g., 4 fiber BLSR/MS-SPRING, is
- being used to protect this link.";
- }
- }
- description
- "Link protection capabilities.";
- reference
- "RFC5307: IS-IS Extensions in Support of Generalized
- Multi-Protocol Label Switching (GMPLS). sub-TLV 20:
- TLV 22,23,141,222,223.";
- }
- }
- }
-
- container bandwidth-constraints {
- when "../state/type =" +
- "'oc-isis-lsdb-types:IS_REACHABILITY_BANDWIDTH_CONSTRAINTS'" {
- description
- "Only include the bandwidth constraints container when
- the sub-TLV is type 22.";
- }
- description
- "This container defines bandwidth-constraints. For DS-TE,
- the existing Maximum Reservable link bandwidth parameter
- is retained, but its semantics is generalized and
- interpreted as the aggregate bandwidth constraint across
- all Class-Types";
-
- reference
- "RFC4124: Protocol Extensions for Support of Diffserv-
- aware MPLS Traffic Engineering. sub-TLV 22: TLV 22, 23,
- 141, 222,223";
-
- list bandwidth-constraint {
- key "model-id";
-
- description
- "List of the Bandwidth Constraints sub-TLV instances
- present in the TLV.";
-
- leaf model-id {
- type leafref {
- path "../state/model-id";
- }
- description
- "Reference to the model ID associated with the
- instance of the Bandwidth Constraints sub-TLV.";
- }
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 22.";
-
- leaf model-id {
- type uint8;
- description
- "Identifier for the Bandwidth Constraints Model
- currently in use by the LSR initiating the IGP
- advertisement.";
- }
- }
-
- container constraints {
- description
- "Constraints contained within the Bandwidth
- Constraints sub-TLV";
-
- list constraint {
- key "constraint-id";
-
- description
- "List of the constraints within the Bandwidth
- Constraints sub-TLV. The BC0 level is indicated by
- the constraint-id leaf being set to 0, with BCN
- being indicated by constraint-id N.";
-
- leaf constraint-id {
- type leafref {
- path "../state/constraint-id";
- }
- description
- "Reference to the unique ID for the BCN level.";
- }
-
- container state {
- description
- "Operational state parameters of the BCN level";
-
- leaf constraint-id {
- type uint32;
- description
- "Unique reference for the bandwidth constraint level. BC0
- is indicated by this leaf being set to zero, with BCN
- represented by this leaf being set to N.";
- }
-
- leaf bandwidth {
- type oc-types:ieeefloat32;
- units "bytes per second";
- description
- "The bandwidth constraint, expressed as a 32-bit IEEE
- floating point number expressed in bytes per second.";
- }
- }
- }
- }
- }
- }
-
- container unconstrained-lsp {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_UNCONSTRAINED_LSP'" {
- description
- "Only include the unconstrained LSP container when the
- sub-TLV is type 23.";
- }
- description
- "This container defines sub-TLV 23.";
- container state {
- description
- "State parameters of sub-TLV 23.";
-
- uses isis-lsdb-subtlv-type-state;
-
- leaf count {
- type uint16;
- description
- "Unconstrained TE LSP count(TE Label Switched Paths
- (LSPs) signalled with zero bandwidth).";
- 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. sub-TLV
- 23: TLV 22,23,141,222,223";
- }
- }
- }
-
- container adjacency-sids {
- when "../state/type = 'oc-isis-lsdb-types:IS_REACHABILITY_ADJ_SID'" {
- description
- "Only include the adjacency SIDs container when the
- sub-TLV type is 31";
- }
-
- description
- "This container defines segment routing adjacency SIDs.";
-
- list adjacency-sid {
- key "value";
-
- description
- "Adjacency Segment-IDs List. An IGP-Adjacency Segment is
- an IGP segment attached to a unidirectional adjacency or
- a set of unidirectional adjacencies. By default, an IGP-
- Adjacency Segment is local to the node which advertises
- it.";
-
- leaf value {
- type leafref {
- path "../state/value";
- }
- description
- "Reference to the value of the Adjacency-SID.";
- }
-
- container state {
- description
- "State parameters of Adjacency-SID.";
-
- leaf value {
- type uint32;
- description
- "Adjacency-SID value.";
- }
-
- leaf-list flags {
- type enumeration {
- enum ADDRESS_FAMILY {
- description
- "Address-family flag. When unset, the Adj-SID
- refers to an adjacency with outgoing IPv4
- encapsulation. If set then the Adj-SID refers to
- an adjacency with outgoing IPv6 encapsulation.";
- }
- enum BACKUP {
- description
- "Backup flag. When set, the Adj-SID refers to an
- adjacency being protected (e.g.: using IPFRR or
- MPLS-FRR).";
- }
- enum VALUE {
- description
- "Value flag. When set, the SID carries a value
- (instead of an index). By default the flag is
- SET.";
- }
- enum LOCAL {
- description
- "Local flag. When set, the value/index carried
- by the SID has local significance. By default
- the flag is SET.";
- }
- enum SET {
- description
- "Set flag. When set, the S-Flag indicates that
- the Adj-SID refers to a set of adjacencies.";
- }
- }
- description
- "Flags associated with Adj-Segment-ID.";
- }
-
- leaf weight {
- type uint8;
- description
- "Value that represents the weight of the Adj-SID for
- the purpose of load balancing.";
- }
- }
- }
-
- reference
- "draft-ietf-isis-segment-routing-extensions. sub-TLV 31:
- TLV 22, 222, 223, 141. ";
- }
-
- container lan-adjacency-sids {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_ADJ_LAN_SID'" {
- description
- "Only include the LAN adjacency SID container when
- the sub-TLV is type 32.";
- }
- description
- "This container defines segment routing LAN adjacency
- SIDs";
-
- list lan-adjacency-sid {
- key "value";
-
- description
- "Adjacency Segment-IDs List. An IGP-Adjacency Segment is
- an IGP segment attached to a unidirectional adjacency or
- a set of unidirectional adjacencies. By default, an IGP-
- Adjacency Segment is local to the node which advertises
- it.";
-
- leaf value {
- type leafref {
- path "../state/value";
- }
- description
- "Reference to the value of the LAN Adjacency-SID.";
- }
-
- container state {
- description
- "State parameters of LAN Adjacency-SID.";
-
- leaf value {
- type uint32;
- description
- "LAN Adjacency-SID value.";
- }
-
- leaf-list flags {
- type enumeration {
- enum ADDRESS_FAMILY {
- description
- "Address-family flag. When unset, the Adj-SID
- refers to an adjacency with outgoing IPv4
- encapsulation. If set then the Adj-SID refers to
- an adjacency with outgoing IPv6 encapsulation.";
- }
- enum BACKUP {
- description
- "Backup flag. When set, the Adj-SID refers to an
- adjacency being protected (e.g.: using IPFRR or
- MPLS-FRR).";
- }
- enum VALUE {
- description
- "Value flag. When set, the SID carries a value
- (instead of an index). By default the flag is
- SET.";
- }
- enum LOCAL {
- description
- "Local flag. When set, the value/index carried
- by the SID has local significance. By default
- the flag is SET.";
- }
- enum SET {
- description
- "Set flag. When set, the S-Flag indicates that
- the Adj-SID refers to a set of adjacencies.";
- }
- }
- description
- "Flags associated with LAN-Adj-Segment-ID.";
- }
-
- leaf weight {
- type uint8;
- description
- "Value that represents the weight of the Adj-SID
- for the purpose of load balancing.";
- }
-
- leaf neighbor-id {
- type oc-isis-types:system-id;
- description
- "System ID of the neighbor associated with the LAN-
- Adj-Segment-ID value.";
- }
- }
- }
-
- reference
- "draft-ietf-isis-segment-routing-extensions. sub-TLV 32:
- TLV 22, 222, 223, 141.";
- }
-
- container link-delay {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_DELAY'" {
- description
- "Include the link delay container only when the sub-TLV
- type is type 33.";
- }
- description
- "This container defines unidirectional link delay.";
-
- reference
- "RFC7810: IS-IS Traffic Engineering (TE) Metric
- Extensions. sub-TLV 33: TLV 22, 23, 141, 222, 223.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 33.";
-
- uses isis-lsdb-link-characteristics-a-bit;
-
- leaf delay {
- type uint32;
- units microseconds;
- description
- "Average link delay value (in microseconds) between
- two directly connected IS-IS neighbors over a
- configurable interval.";
- }
- }
- }
-
- container min-max-link-delay {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_MIN_MAX_LINK_DELAY'" {
- description
- "Only include the min/max link delay container when the
- sub-TLV is type 34.";
- }
- description
- "This container defines min/max link delay.";
-
- reference
- "RFC7810: IS-IS Traffic Engineering (TE) Metric
- Extensions. sub-TLV 34: TLV 22, 23, 141, 222, 223.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 34.";
-
- uses isis-lsdb-link-characteristics-a-bit;
-
- leaf min-delay {
- type uint32;
- units microseconds;
- description
- "Minimum measured link delay value(in microseconds)
- between two directly connected IS-IS neighbors over a
- configurable interval.";
- }
-
- leaf max-delay {
- type uint32;
- units microseconds;
- description
- "Maximum measured link delay value(in microseconds)
- between two directly connected IS-IS neighbors over a
- configurable interval.";
- }
- }
- }
-
- container link-delay-variation {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_DELAY_VARIATION'" {
- description
- "Only include the link delay variation container when
- the sub-TLV is type 35.";
- }
- description
- "This container defines unidirectional link delay
- variation.";
-
- reference
- "RFC7810: IS-IS Traffic Engineering (TE) Metric
- Extensions. sub-TLV 35: TLV 22,23,141,222,223.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 35.";
-
- leaf delay {
- type uint32;
- units microseconds;
- description
- "Average link delay between two directly connected IS-
- IS neighbors over a configurable interval.";
- }
- }
- }
-
- container link-loss {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_LINK_LOSS'" {
- description
- "Only include the link loss container when the sub-TLV
- is type 36.";
- }
- description
- "This container defines unidirectional link loss delay.";
-
- reference
- "RFC7810: IS-IS Traffic Engineering (TE) Metric
- Extensions. sub-TLV 36: TLV 22, 23, 141, 222, 223.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 36.";
-
- uses isis-lsdb-link-characteristics-a-bit;
-
- leaf link-loss {
- type uint32;
- description
- "Link packet loss as a percentage of the total traffic
- sent over a configurable interval. The basic unit is
- 0.000003%, where (2^24 - 2) is 50.331642%. This value
- is the highest packet-loss percentage that can be
- expressed (the assumption being that precision is more
- important on high-speed links than the ability to
- advertise loss rates greater than this, and that high-
- speed links with over 50% loss are unusable).
- Therefore, measured values that are larger than the
- field maximum SHOULD be encoded as the maximum
- value.";
- }
- }
- }
-
- container residual-bandwidth {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_RESIDUAL_BANDWIDTH'" {
- description
- "Only include the resdiual bandwidth container when the
- sub-TLV is type 37.";
- }
- description
- "This container defines unidirectional residual
- bandwidth.";
-
- reference
- "RFC7810: IS-IS Traffic Engineering (TE) Metric
- Extensions. sub-TLV 37: TLV 22, 23, 141, 222, 223.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 37.";
-
- leaf bandwidth {
- type oc-types:ieeefloat32;
- units "bytes per second";
- description
- "Residual bandwidth on a link,forwarding adjacency
- [RFC4206], or bundled link in IEEE floating-point
- format with units of bytes per second. For a link or
- forwarding adjacency, residual bandwidth is defined to
- be the Maximum Bandwidth [RFC5305] minus the bandwidth
- currently allocated to RSVP-TE label switched paths.
- For a bundled link, residual bandwidth is defined to
- be the sum of the component link residual
- bandwidths.";
- }
- }
- }
-
- container available-bandwidth {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_AVAILABLE_BANDWIDTH'" {
- description
- "Only include the available bandwdith container when the
- sub-TLV is type 38.";
- }
- description
- "This container defines unidirectional lavailable
- bandwidth.";
-
- reference
- "RFC7810: IS-IS Traffic Engineering (TE) Metric
- Extensions. sub-TLV 38: TLV 22, 23, 141, 222, 223.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 38.";
-
- uses isis-lsdb-subtlv-type-state;
-
- leaf bandwidth {
- type oc-types:ieeefloat32;
- units "bytes per second";
- description
- "The available bandwidth on a link, forwarding
- adjacency, or bundled link in IEEE floating-point
- format with units of bytes per second. For a link or
- forwarding adjacency, available bandwidth is defined
- to be residual bandwidth minus the measured bandwidth
- used for the actual forwarding of non-RSVP-TE label
- switched path packets. For a bundled link, available
- bandwidth is defined to be the sum of the component
- link available bandwidths minus the measured bandwidth
- used for the actual forwarding of non-RSVP-TE label
- switched path packets. For a bundled link, available
- bandwidth is defined to be the sum of the component
- link available bandwidths.";
- }
- }
- }
-
- container utilized-bandwidth {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_REACHABILITY_UTILIZED_BANDWIDTH'" {
- description
- "Only include the utilized bandwidth container when the
- TLV is type 39.";
- }
- description
- "This container defines unidirectional utilized
- bandwidth.";
-
- reference
- "RFC7810: IS-IS Traffic Engineering (TE) Metric
- Extensions. sub-TLV 39: TLV 22, 23, 141, 222, 223.";
-
- container state {
- description
- "State parameters of IS Extended Reachability sub-TLV
- 39.";
-
- uses isis-lsdb-subtlv-type-state;
-
- leaf bandwidth {
- type oc-types:ieeefloat32;
- units "bytes per second";
- description
- "The bandwidth utilization on a link, forwarding
- adjacency, or bundled link in IEEE floating-point
- format with units of bytes per second. For a link or
- forwarding adjacency, bandwidth utilization represents
- the actual utilization of the link (i.e., as measured
- by the advertising node). For a bundled link,
- bandwidth utilization is defined to be the sum of the
- component link bandwidth utilizations.";
- }
- }
- }
- }
- }
-
- uses isis-lsdb-undefined-subtlv;
- }
-
- grouping isis-lsdb-undefined-tlv {
- description
- "Grouping for unknown TLVs in the IS-IS LSDB";
-
- container undefined-tlvs {
- description
- "Surrounding container for a list of unknown TLVs.";
-
- list undefined-tlv {
- key "type";
- description
- "List of TLVs that are not defined within the model, or are
- not recognised by the system.";
-
- leaf type {
- type leafref {
- path "../state/type";
- }
- description
- "Reference to the undefined TLV's type";
- }
-
- container state {
- description
- "State parameters of the undefined TLV.";
-
- uses undefined-tlv-state;
- }
- }
- }
- }
-
- grouping isis-lsdb-undefined-subtlv {
- description
- "Grouping for unknown Sub-TLVs in the IS-IS LSDB.";
-
- container undefined-subtlvs {
- description
- "This container describes undefined ISIS TLVs.";
-
- list undefined-subtlv {
- key "type";
-
- description
- "Sub-TLVs that are not defined in the model or not
- recognised by system.";
-
- leaf type {
- type leafref {
- path "../state/type";
- }
- description
- "Reference to the type of the undefined sub-TLV";
- }
-
- container state {
- description
- "State parameters of the undefined sub-TLV.";
-
- uses undefined-subtlv-state;
- }
- }
- }
- }
-
- grouping isis-lsdb-prefix-state {
- description
- "This grouping defines prefix reachability.";
-
- container subtlvs {
- description
- "This container describes IS prefix sub-TLVs.";
-
- list subtlv {
- key "type";
-
- description
- "List of subTLV types in the LSDB for the specified TLV.";
-
- leaf type {
- type leafref {
- path "../state/type";
- }
- description
- "Reference to the sub-TLV type";
- }
-
- container state {
- description
- "State parameters for a prefix.";
-
- uses isis-lsdb-subtlv-type-state;
- }
-
- container tag {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IP_REACHABILITY_TAG'" {
- description
- "Only include the tag container when the sub-TLV is type
- 1.";
- }
- description
- "This container defines sub-TLV 1.";
-
- container state {
- description
- "State parameters of sub-TLV 1.";
-
- leaf-list tag32 {
- type uint32;
- description
- "List of 32-bit tags associated with the prefix. Example
- uses of these tags include carrying BGP standard (or
- extended) communities and controlling redistribution
- between levels and areas, different routing protocols,
- or multiple instances of IS-IS running on the same
- router.";
- reference
- "RFC5130: A Policy Control Mechanism in IS-IS Using
- Administrative Tags. sub-TLV 1.";
- }
- }
- }
-
- container tag64 {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IP_REACHABILITY_TAG64'" {
- description
- "Only include the tag64 container when the sub-TLV is type
- 2.";
- }
- description
- "This container defines sub-TLV 2.";
-
- container state {
- description
- "State parameters of sub-TLV 2.";
-
- leaf-list tag64 {
- type uint64;
- description
- "List of 64-bit tags associated with the prefix. Example
- uses of these tags include carrying BGP standard (or
- extended) communities and controlling redistribution
- between levels and areas, different routing protocols,
- or multiple instances of IS-IS running on the same
- router.";
- reference
- "RFC5130: A Policy Control Mechanism in IS-IS Using
- Administrative Tags. sub-TLV 2.";
- }
- }
- }
-
- container flags {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IP_REACHABILITY_PREFIX_FLAGS'" {
- description
- "Only include the flags container when the sub-TLV is type
- 4.";
- }
- description
- "This container defines sub-TLV 4.";
-
- container state {
- description
- "State parameters of sub-TLV 4.";
-
- uses isis-lsdb-subtlv-type-state;
-
- leaf-list flags {
- type enumeration {
- enum EXTERNAL_FLAG {
- description
- "External prefix flag. Set if the prefix has been
- redistributed from another protocol. This includes
- the case where multiple virtual routers are
- supported and the source of the redistributed prefix
- is another IS-IS instance.";
- }
- enum READVERTISEMENT_FLAG {
- description
- "Readvertisement flag. Set when the prefix has been
- leaked from one level to another (upwards or
- downwards).";
- }
- enum NODE_FLAG {
- description
- "Node flag. Set when the prefix identifies the
- advertising router, i.e., the prefix is a host
- prefix advertising a globally reachable address
- typically associated with a loopback address.";
- }
- }
- description
- "Additional prefix reachability flags.";
-
- reference
- "RFC7794: IS-IS Prefix Attributes for Extended IPv4 and
- IPv6 Reachability. sub-TLV 4.";
- }
- }
- }
-
- container ipv4-source-router-id {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IP_REACHABILITY_IPV4_ROUTER_ID'" {
- description
- "Only include the IPv4 Source Router ID container when
- the sub-TLV is type 11.";
- }
- description
- "This container defines sub-TLV 11.";
-
- container state {
- description
- "State parameters of sub-TLV 11.";
-
- uses isis-lsdb-subtlv-type-state;
-
- leaf router-id {
- type inet:ipv4-address;
- description
- "IPv4 Source router ID address. In cases where the
- advertisement is an identifier for the advertising
- router (e.g., with the N-flag set in the Prefix
- Attribute Flags sub-TLV), it may be useful for other
- routers to know the source of the advertisement. When
- reachability advertisement is leaked from one level to
- another, Router ID advertised is always the Router ID
- of the IS-IS instance that originated the
- advertisement. This would be true even if the prefix
- had been learned from another protocol.";
- reference
- "RFC7794: IS-IS Prefix Attributes for Extended IPv4
- and IPv6 Reachability. sub-TLV 11";
- }
- }
- }
-
- container ipv6-source-router-id {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IP_REACHABILITY_IPV6_ROUTER_ID'" {
- description
- "Only include the IPv6 Source Router ID container when
- the sub-TLV is type 12.";
- }
- description
- "This container defines sub-TLV 12.";
-
- container state {
- description
- "State parameters of sub-TLV 12.";
-
- uses isis-lsdb-subtlv-type-state;
-
- leaf router-id {
- type inet:ipv6-address;
- description
- "IPv6 Source router ID address. In cases where the
- advertisement is an identifier for the advertising
- router (e.g., with the N-flag set in the Prefix
- Attribute Flags sub-TLV), it may be useful for other
- routers to know the source of the advertisement. When
- reachability advertisement is leaked from one level to
- another, Router ID advertised is always the Router ID
- of the IS-IS instance that originated the
- advertisement. This would be true even if the prefix
- had been learned from another protocol.";
- reference
- "RFC7794: IS-IS Prefix Attributes for Extended IPv4
- and IPv6 Reachability. sub-TLV 12.";
- }
- }
- }
-
- uses isis-lsdb-prefix-sid-state;
- }
- }
-
- uses isis-lsdb-undefined-subtlv;
- }
-
- grouping isis-lsdb-prefix-sid-state {
- description
- "This grouping defines ISIS Prefix SID.";
-
- container prefix-sids {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IP_REACHABILITY_PREFIX_SID'" {
- description
- "Only include the Prefix SID container when
- the sub-TLV is type 3.";
- }
- description
- "This container defines segment routing extensions for
- prefixes.";
-
- reference
- "draft-ietf-isis-segment-routing-extensions. sub-TLV 3: TLV
- 135, 235, 236, 237.";
-
- list prefix-sid {
- key "value";
-
- description
- "Prefix Segment-ID list. IGP-Prefix Segment is an IGP segment
- attached to an IGP prefix. An IGP-Prefix Segment is global
- (unless explicitly advertised otherwise) within the SR/IGP
- domain.";
-
- leaf value {
- type leafref {
- path "../state/value";
- }
- description
- "Reference to the value of the prefix SID.";
- }
-
- container state {
- description
- "State parameters for Prefix-SID.";
-
- leaf value {
- type uint32;
- description
- "IGP Prefix-SID value.";
- }
-
- leaf-list flags {
- type enumeration {
- enum READVERTISEMENT {
- description
- "Readvertisment flag. When set, the prefix to which
- this Prefix-SID is attached, has been propagated by
- the router either from another level or from
- redistribution.";
- }
- enum NODE {
- description
- "Node flag. When set, the Prefix-SID refers to the
- router identified by the prefix. Typically, the
- N-Flag is set on Prefix-SIDs attached to a router
- loopback address.";
- }
- enum NO_PHP {
- description
- "Penultimate-Hop-Popping flag. When set, then the
- penultimate hop MUST NOT pop the Prefix-SID before
- delivering the packet to the node that advertised
- the Prefix-SID.";
- }
- enum EXPLICIT_NULL {
- description
- "Explicit-Null flag. When set, any upstream neighbor
- of the Prefix-SID originator MUST replace the
- Prefix-SID with a Prefix-SID having an Explicit-NULL
- value (0 for IPv4 and 2 for IPv6) before forwarding
- the packet.";
- }
- enum VALUE {
- description
- "Value flag. When set, the Prefix-SID carries a
- value (instead of an index). By default the flag is
- UNSET.";
- }
- enum LOCAL {
- description
- "Local flag. When set, the value/index carried by
- the Prefix-SID has local significance. By default
- the flag is UNSET.";
- }
- }
- description
- "Flags associated with Prefix Segment-ID.";
- }
-
- leaf algorithm {
- type uint8;
- description
- "Prefix-SID algorithm to be used for path computation.";
- }
- }
- }
- }
- }
-
- grouping isis-lsdb-common-metric-specification {
- description
- "Common definitions of the metric in IS-IS.";
-
- container default-metric {
- description
- "This container defines ISIS Default Metric.";
-
- container state {
- description
- "State parameters for default-metric.";
-
- leaf flags {
- type enumeration {
- enum INTERNAL {
- description
- "When set to zero, indicates internal metrics.";
- }
- }
- description
- "ISIS Default-Metric Flags.";
- }
-
- leaf metric {
- type oc-isis-types:narrow-metric;
- description
- "ISIS default metric value. This is a metric understood by
- every Intermediate system in the domain. Each circuit
- shall have a positive integral value assigned for this
- metric. The value may be associated with any objective
- function of the circuit, but by convention is intended to
- measure the capacity of the circuit for handling traffic,
- for example, its throughput in bits-per-second. Higher
- values indicate a lower capacity.";
- }
- }
- }
-
- container delay-metric {
- description
- "This container defines the ISIS delay metric.";
-
- container state {
- description
- "State parameters of delay-metric.";
-
- leaf metric {
- type oc-isis-types:narrow-metric;
- description
- "ISIS delay metric value. This metric measures the transit
- delay of the associated circuit. It is an optional metric,
- which if assigned to a circuit shall have a positive
- integral value. Higher values indicate a longer transit
- delay.";
- }
-
- leaf-list flags {
- type isis-metric-flags;
- description
- "ISIS Delay Metric Flags.";
- }
- }
- }
-
- container expense-metric {
- description
- "This container defines the ISIS expense metric.";
-
- container state {
- description
- "State parameters of expense-metric.";
-
- leaf metric {
- type oc-isis-types:narrow-metric;
- description
- "ISIS expense metric value. This metric measures the
- monetary cost of utilising the associated circuit. It is
- an optional metric, which if assigned to a circuit shall
- have a positive integral value1). Higher values indicate a
- larger monetary expense.";
- }
-
- leaf-list flags {
- type isis-metric-flags;
- description
- "ISIS Expense Metric Flags.";
- }
- }
- }
-
- container error-metric {
- description
- "This container defines the ISIS error metric.";
-
- container state {
- description
- "State parameters of error-metric.";
-
- leaf metric {
- type oc-isis-types:narrow-metric;
- description
- "ISIS error metric value. This metric measures the
- residual error probability of the associated circuit. It
- is an optional metric, which if assigned to a circuit
- shall have a non-zero value. Higher values indicate a
- larger probability of undetected errors on the circuit.";
- }
-
- leaf-list flags {
- type isis-metric-flags;
- description
- "IS-IS error metric flags.";
- }
- }
- }
- }
-
- grouping isis-lsdb-neighbor {
- description
- "This grouping defines attributes of an ISIS standard
- neighbor.";
-
- container state {
- description
- "State parameters of IS standard neighbor.";
-
- leaf system-id {
- type oc-isis-types:system-id;
- description
- "System-ID of IS neighbor.";
- }
- }
-
- uses isis-lsdb-common-metric-specification;
-
- }
-
- grouping ipv4-prefix-attributes-state {
- description
- "This group defines attributes of an IPv4 standard prefix.";
-
- container state {
- description
- "State parameters of IPv4 standard prefix.";
-
- leaf up-down {
- type boolean;
- description
- "The up/down bit. Set if a prefix is advertised from a
- higher level to a lower level (e.g., level 2 to level 1),
- indicating that the prefix has traveled down the hierarchy.
- Prefixes that have the up/down bit set may only be
- advertised down the hierarchy, i.e., to lower levels. When a
- prefix is first injected into IS-IS, the bit is UNSET.";
- }
-
- leaf prefix {
- type inet:ipv4-prefix;
- description
- "IPv4 prefix contained within reachability TLVs.";
- }
- }
-
- uses isis-lsdb-common-metric-specification;
- }
-
- grouping isis-lsdb-common-mt-id {
- description
- "Common definition of the multi-topology ID";
-
- leaf mt-id {
- type uint16 {
- range "0..4095";
- }
- description
- "Multi-topology ID";
- }
- }
-
- grouping ipv4-prefix-extended-state {
- description
- "This grouping defines attributes of an IPv4 extended prefix.";
-
- container state {
- description
- "State parameters of an IPv4 extended prefix.";
- uses ipv4-prefix-extended-params-state;
- }
-
- uses isis-lsdb-prefix-state;
- }
-
- grouping ipv4-mt-prefix-extended-state {
- description
- "State parameters that relate to an IPv4 prefix in a
- multi-topology context.";
-
- container state {
- description
- "State parameters of an IPv4 extended prefix.";
- uses ipv4-prefix-extended-params-state;
- uses isis-lsdb-common-mt-id;
- }
-
- uses isis-lsdb-prefix-state;
- }
-
- grouping ipv4-prefix-extended-params-state {
- description
- "State parameters that relate to an IPv4 prefix";
-
- leaf up-down {
- type boolean;
- description
- "The up/down bit. Set if a prefix is advertised from a
- higher level to a lower level (e.g., level 2 to level 1),
- indicating that the prefix has traveled down the hierarchy.
- Prefixes that have the up/down bit set may only be
- advertised down the hierarchy, i.e., to lower levels. When a
- prefix is first injected into IS-IS, the bit is UNSET.";
- }
-
- leaf s-bit {
- type boolean;
- description
- "The Sub-TLV present bit. If UNSET, the octets of Sub-TLVs
- are not present. Otherwise, the bit is set and the octet
- following the prefix will contain the length of the Sub-TLV
- portion of the structure.";
- }
-
- leaf prefix {
- type inet:ipv4-prefix;
- description
- "IPv4 prefix contained within extended reachability TLVs.";
- }
-
- leaf metric {
- type oc-isis-types:wide-metric;
- description
- "ISIS metric value.";
- }
- }
-
- grouping ipv6-prefix-extended-state {
- description
- "State parameters relating to an IPv6 prefix.";
-
- container state {
- description
- "State parameters of IPv6 prefix attributes";
-
- uses ipv6-prefix-extended-params-state;
- }
-
- uses isis-lsdb-prefix-state;
- }
-
- grouping ipv6-mt-prefix-extended-state {
- description
- "State parameters relating to a multi-topology IPv6
- prefix.";
-
- container state {
- description
- "State parameters relating an IPv6 prefix attribute";
- uses ipv6-prefix-extended-params-state;
- uses isis-lsdb-common-mt-id;
- }
-
- uses isis-lsdb-prefix-state;
- }
-
- grouping ipv6-prefix-extended-params-state {
- description
- "Common parameters of an IPv6 extended prefix.";
-
- leaf up-down {
- type boolean;
- description
- "The up/down bit. Set if a prefix is advertised from a
- higher level to a lower level (e.g., level 2 to level 1),
- indicating that the prefix has traveled down the hierarchy.
- Prefixes that have the up/down bit set may only be
- advertised down the hierarchy, i.e., to lower levels. When a
- prefix is first injected into IS-IS, the bit is UNSET.";
- }
-
- leaf x-bit {
- type boolean;
- description
- "The external bit. Set when the prefix was distributed into
- IS-IS from another routing protocol.";
- }
-
- leaf s-bit {
- type boolean;
- description
- "The sub-tlv present bit. If UNSET, the octets of Sub-TLVs
- are not present. Otherwise, the bit is set and the octet
- following the prefix will contain the length of the Sub-TLV
- portion of the structure.";
- }
-
- leaf prefix {
- type inet:ipv6-prefix;
- description
- "IPv6 prefix contained within extended reachability TLVs.";
- }
-
- leaf metric {
- type oc-isis-types:wide-metric;
- description
- "ISIS metric value.";
- }
- }
-
- grouping isis-lsdb-common-extisreach-neighbors {
- description
- "Common structure for the Extended IS Reachability and IS
- Reachability Neighbour attributes.";
-
- container neighbors {
- description
- "This container describes IS neighbors.";
-
- list neighbor {
- key "system-id";
- description
- "This list describes ISIS extended neighbors and
- reachability attributes.";
-
- leaf system-id {
- type leafref {
- path "../state/system-id";
- }
- description
- "Reference to the neighboring system's system ID.";
- }
-
- container state {
- description
- "State parameters corresponding to the extended
- neighbour.";
-
- leaf system-id {
- type oc-isis-types:system-id;
- description
- "System-id of the neighbor.";
- }
- }
-
- container instances {
- description
- "This list contains all instances of an adjacency
- between the originating IS and the remote IS.
- Multiple instances are used where there are
- parallel adjacencies between two systems.";
-
- list instance {
- key "id";
-
- description
- "Instance of the TLV to the remote IS neighbor.";
-
- leaf id {
- type leafref {
- path "../state/id";
- }
- description
- "Reference to the unique identifier for
- the instance of the extended IS
- reachability sub-TLV.";
- }
-
- container state {
- description
- "State parameters of extended neighbor";
-
- leaf id {
- type uint64;
- description
- "Unique identifier for the instance of the
- TLV for the IS neighbor. The instance
- ID is not required to be consistent across
- across readvertisements of the LSP.";
- }
-
- leaf metric {
- type oc-isis-types:wide-metric;
- description
- "Metric value.";
- }
- }
- uses is-reachability-neighbor-state;
- }
- }
- }
- }
- }
-
- grouping isis-lsdb-mtis-common {
- description
- "Common grouping for structure used within the multi-topology IS
- neighbour and multi-topology IS neighbour attribute TLVs.";
-
- container neighbors {
- description
- "MT-IS neigbor attributes.";
-
- list neighbor {
- key "mt-id system-id";
- description
- "This container describes IS neighbors.";
-
- leaf mt-id {
- type leafref {
- path "../state/mt-id";
- }
- description
- "Reference to the topology that the neighbor is
- within.";
- }
-
- leaf system-id {
- type leafref {
- path "../state/system-id";
- }
- description
- "Reference to the System ID of the neighbor.";
- }
-
- container state {
- description
- "Operational state parameters related to the
- MT ISN TLV.";
-
- uses mt-isis-neighbor-state;
- }
-
- container instances {
- description
- "This list contains all instances of an adjacency
- between the originating and remote IS. Multiple
- instances are used to indicate where there are
- parallel adjacencies between systems.";
-
- list instance {
- key "id";
-
- description
- "Instance of TLV-222 between the originating
- and remote IS.";
-
- leaf id {
- type leafref {
- path "../state/id";
- }
- description
- "Reference to the unique identifier for the
- instance of the multi-topology IS neighbor
- TLV instance.";
- }
-
- uses mt-isis-neighbor-instance;
- }
- }
- }
- }
- }
-
- grouping mt-isis-neighbor-state {
- description
- "This grouping defines state parameters that are related to
- each neighbour entry for the MT ISN TLV.";
-
- leaf mt-id {
- type uint16 {
- range "0..4095";
- }
- description
- "Identifier of a topology being announced.";
- }
-
- leaf system-id {
- type oc-isis-types:system-id;
- description
- "System-id of the IS neighbor.";
- }
- }
-
- grouping mt-isis-neighbor-instance {
- description
- "This grouping defines list of ISIS multi-topology neighbors for
- extended ISIS LSP (multiple system IDs).";
-
- container state {
- description
- "State parameters of MT neighbor.";
-
- leaf metric {
- type oc-isis-types:wide-metric;
- description
- "ISIS metric value.";
- }
-
- leaf id {
- type uint64;
- description
- "Unique identifier for the TLV instance for the
- neighbor. The ID is not required to be consistent
- across readvertisements of the LSP.";
- }
- }
- uses is-reachability-neighbor-state;
- }
-
- grouping isis-lsdb-generic-tlv {
- description
- "Generic TLV encoding grouping.";
-
- leaf type {
- type uint8;
- description
- "TLV Type.";
- }
-
- leaf length {
- type uint8;
- description
- "TLV length.";
- }
-
- leaf value {
- type binary;
- description
- "TLV value.";
- }
- }
-
- grouping undefined-tlv-state {
- description
- "Generic grouping defining an unknown TLV.";
-
- uses isis-lsdb-generic-tlv;
- }
-
- grouping undefined-subtlv-state {
- description
- "Generic grouping defining an unknown sub-TLV.";
-
- uses isis-lsdb-generic-tlv;
- }
-
- grouping lsp-state {
- description
- "This grouping defines ISIS LSP state information.";
-
- leaf lsp-id {
- type leafref {
- path "../state/lsp-id";
- }
-
- description
- "A reference to the Link State PDU ID.";
- }
-
- container state {
- description
- "State parameters of Link State PDU.";
-
- leaf lsp-id {
- type oc-isis-types:lsp-id;
- description
- "LSP ID of the LSP.";
- }
-
- leaf maximum-area-addresses {
- type uint8;
- description
- "Number of area addresses permitted for this ISs area. 0
- indicates the IS only supports three area addresses (by
- default). Any number inclusive of 1 and 254 indicates the
- number of areas allowed.";
- }
-
- leaf version {
- type uint8;
- default 1;
- description
- "PDU version. This is set to 1.";
- }
-
- leaf version2 {
- type uint8;
- default 1;
- description
- "PDU version2. This is set to 1";
- }
-
- leaf id-length {
- type uint8;
- description
- "Length of the ID field of NSAP addresses and NETs used in
- this routing domain.";
- }
-
- leaf pdu-type {
- type enumeration {
- enum LEVEL_1 {
- description "This enum describes ISIS level 1 PDU.";
- }
- enum LEVEL_2 {
- description "This enum describes ISIS level 2 PDU.";
- }
- }
- description
- "Link State PDU type.";
- }
-
- leaf remaining-lifetime {
- type uint16;
- units "seconds";
- description
- "Remaining lifetime in seconds before the LSP expiration.";
- }
-
- leaf sequence-number {
- type uint32;
- description
- "Sequence number of the LSP.";
- }
-
- leaf checksum {
- type uint16;
- description
- "Checksum of the LSP.";
- }
-
- leaf pdu-length {
- type uint16;
- description
- "Total length of the LSP.";
- }
-
- leaf-list flags {
- type enumeration {
- enum PARTITION_REPAIR {
- description
- "When set, the originator supports partition
- repair.";
- }
- enum ATTACHED_ERROR {
- description
- "When set, the originator is attached to another
- area using the referred metric.";
- }
- enum ATTACHED_EXPENSE {
- description
- "When set, the originator is attached to another
- area using the referred metric.";
- }
- enum ATTACHED_DELAY {
- description
- "When set, the originator is attached to another
- area using the referred metric.";
- }
- enum ATTACHED_DEFAULT {
- description
- "When set, the originator is attached to another
- area using the referred metric.";
- }
- enum OVERLOAD {
- description
- "When set, the originator is overloaded, and must
- be avoided in path calculation.";
- }
- }
- description
- "LSP Type-Block flags.";
- }
-
- leaf is-type {
- type oc-isis-types:level-number;
- description
- "Type of neighboring system.";
- }
- }
-
- container tlvs {
- description
- "This container defines Link State PDU State TLVs.";
-
- list tlv {
- key "type";
-
- description
- "List of TLV types in the LSDB for the specified LSP.";
-
- leaf type {
- type leafref {
- path "../state/type";
- }
- description
- "Reference to the TLV's type.";
- }
-
- container state {
- config false;
- description
- "Operational state parameters relating to the specified
- LSP";
-
- uses isis-lsdb-tlv-type-state;
- }
-
- container area-address {
- when "../state/type = 'oc-isis-lsdb-types:AREA_ADDRESSES'" {
- description
- "Include area address parameters only when the TLV type
- is TLV 1.";
- }
-
- description
- "This container defines TLV 1.";
-
- container state {
- description
- "State parameters of ISIS TLV 1.";
-
- leaf-list address {
- type oc-isis-types:area-address;
- description
- "Area adress(es) of the IS. Set of manual area
- addresses of this IS.";
- reference
- "ISO 10589 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. TLV 1.";
- }
- }
- }
-
- container lsp-buffer-size {
- when "../state/type = " +
- "'oc-isis-lsdb-types:LSP_BUFFER_SIZE'" {
- description
- "Include the LSP buffer size parameters only when the
- TLV type is TLV 14.";
- }
-
- description
- "This container defines TLV 14 - the LSP Buffer Size
- TLV.";
-
- container state {
- description
- "State parameters of TLV 14.";
-
- leaf size {
- type uint16;
- units "bytes";
- description
- "The maximum MTU that the advertising system can
- receive, expressed in bytes.";
- reference
- "ISO 10589 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. TLV 14.";
- }
- }
- }
-
- container nlpid {
- when "../state/type = 'oc-isis-lsdb-types:NLPID'" {
- description
- "Include NLPID specification only when the TLV type is
- TLV 129.";
- }
-
- description
- "This container defines TLV 129.";
-
- container state {
- description
- "State parameters of ISIS TLV 129.";
-
- uses isis-lsdb-tlv-nlpid-state;
- }
- }
-
- container hostname {
- when "../state/type = 'oc-isis-lsdb-types:DYNAMIC_NAME'" {
- description
- "Include the dynamic hostname TLV only when the TLV is
- type 137.";
- }
- description
- "This container defines TLV 137.";
-
- container state {
- description
- "State parameters of ISIS TLV 137.";
-
- leaf-list hostname {
- type string;
- description
- "Name of the node.";
-
- reference
- "RFC6233: IS-IS Registry Extension for Purges, RFC
- 5301: Dynamic Hostname Exchange Mechanism for IS-IS.
- TLV 137";
- }
- }
- }
-
- container ipv4-interface-addresses {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IPV4_INTERFACE_ADDRESSES'" {
- description
- "Include the IPv4 interface addresses TLV only when the
- TLV is type 132.";
- }
- description
- "This container defines TLV 132.";
-
- container state {
- description
- "State parameters of ISIS TLV 132.";
-
- leaf-list address {
- type inet:ipv4-address;
- description
- "IPv4 address(es) of the interface corresponding to
- the SNPA over which this PDU is to be transmitted.";
- reference
- "RFC1195: Use of OSI IS-IS for Routing in TCP/IP and
- Dual Environments. TLV 132.";
- }
- }
- }
-
- container ipv6-interface-addresses {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IPV6_INTERFACE_ADDRESSES'" {
- description
- "Include the IPv6 interface addresses TLV only when the
- TLV is type 232.";
- }
- description
- "This container defines TLV 232.";
-
- container state {
- description
- "State parameters of ISIS TLV 232.";
-
- leaf-list address {
- type inet:ipv6-address;
- description
- "IPv6 interface addresses of the node. MUST contain
- only the non-link-local IPv6 addresses assigned to the
- IS.";
- reference
- "RFC5308: Routing IPv6 with IS-IS. TLV 232.";
- }
- }
- }
-
- container ipv4-te-router-id {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IPV4_TE_ROUTER_ID'" {
- description
- "Include the IPv4 traffic engineering router ID TLV only
- when the TLV is type 134.";
- }
- description
- "This container defines TLV 134.";
-
- container state {
- description
- "State parameters of ISIS TLV 134.";
-
- leaf-list router-id {
- type inet:ipv4-address;
- description
- "IPv4 Traffic Engineering router ID of the node. For
- traffic engineering, it guarantees that we have a
- single stable address that can always be referenced in
- a path that will be reachable from multiple hops away,
- regardless of the state of the node's interfaces.";
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering. TLV
- 134.";
- }
- }
- }
-
- container ipv6-te-router-id {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IPV6_TE_ROUTER_ID'" {
- description
- "Include the IPv6 traffic engineering router ID TLV only
- when the TLV is type 140.";
- }
- description
- "This container defines TLV 140.";
-
- container state {
- description
- "State parameters of ISIS TLV 140.";
-
- leaf-list router-id {
- type inet:ipv6-address;
- description
- "IPv6 Traffic Engineering router ID of the node. For
- traffic engineering, it guarantees that we have a
- single stable address that can always be referenced in
- a path that will be reachable from multiple hops away,
- regardless of the state of the node's interfaces.";
- reference
- "RFC6119: IPv6 Traffic Engineering in IS-IS. TLV
- 140.";
- }
- }
- }
-
- container instance-ids {
- when "../state/type = 'oc-isis-lsdb-types:INSTANCE_ID'" {
- description
- "Include the ISIS Instance Identifier TLV only when the
- TLV is type 7.";
- }
- description
- "This container defines ISIS Instance Identifier TLV.";
- reference "RFC6822: IS-IS Multi-Instance. TLV 7.";
-
- list instance-id {
- key "instance-id";
-
- description
- "A list of instance IDs received within TLV 7 within an
- IS-IS LSP. In the case that more than one instance of
- TLV 7 is included in the LSP, the instance IDs specified
- within the instances are concatenated within this
- list.";
-
- leaf instance-id {
- type leafref {
- path "../state/instance-id";
- }
- description
- "Reference to the unique instance ID.";
- }
- container state {
- description
- "State parameters of ISIS TLV 7.";
-
- leaf instance-id {
- type uint16;
- description
- "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.";
- }
-
- leaf-list topology-id {
- type uint16;
- description
- "Instance-Specific Topology Identifiers (ITIDs).";
- }
- }
- }
- }
-
- container ipv4-srlgs {
- when "../state/type = 'oc-isis-lsdb-types:IPV4_SRLG'" {
- description
- "Include the IPv4 SRLG TLV only when the TLV is type
- 138.";
- }
- description
- "This container defines ISIS SRLG TLV 138.";
-
- reference
- "RFC5307: IS-IS Extensions in Support of Generalized
- Multi-Protocol Label Switching (GMPLS). TLV 138.";
-
- list ipv4-srlg {
- key "instance-number";
-
- description
- "Instance of the IPv4 SRLG TLV";
-
- leaf instance-number {
- type leafref {
- path "../state/instance-number";
- }
- description
- "Reference to the instance number of TLV 138.";
- }
-
- container state {
- description
- "State parameters of TLV 138.";
-
- leaf instance-number {
- type uint32;
- description
- "An arbitrary unsigned 32-bit integer used to
- disambiguate the instance of TLV 138. The instance
- identifier is synthesised by the system
- and may be renumbered for the same SRLG definition
- in subsequent advertised LSPs if (and only if) the
- entire list of SRLGs is replaced.";
- }
-
- leaf system-id {
- type oc-isis-types:system-id;
- description
- "Neighbor system ID.";
- }
-
- leaf psn-number {
- type uint8;
- description
- "Pseudonode number if the neighbor is on a LAN
- interface.";
- }
-
- leaf-list flags {
- type enumeration {
- enum NUMBERED {
- description
- "When set, the interface is numbered, whereas if
- unset indicates that the interface is
- unnumbered.";
- }
- }
- description
- "SRLG flags.";
- }
-
- leaf ipv4-interface-address {
- type inet:ipv4-address;
- description
- "IPv4 interface address.";
- }
-
- leaf ipv4-neighbor-address {
- type inet:ipv4-address;
- description
- "IPv4 neighbor address.";
- }
-
- leaf-list srlg-value {
- type uint32;
- description
- "List of SRLG values.";
- }
- }
- }
- }
-
- container ipv6-srlgs {
- when "../state/type = 'oc-isis-lsdb-types:IPV6_SRLG'" {
- description
- "Include the IPv6 SRLG TLV only when the TLV is type
- 139.";
- }
- description
- "This container defines ISIS SRLG TLV.";
-
- reference
- "RFC6119: IPv6 Traffic Engineering in IS-IS. TLV 139.";
-
- list ipv6-srlg {
- key "instance-number";
-
- description
- "Instance of the IPv6 SRLG TLV.";
-
- leaf instance-number {
- type leafref {
- path "../state/instance-number";
- }
- description
- "Reference to the instance number of the IPv6 Shared
- Risk Link Group (SRLG) TLV.";
- }
-
- container state {
- description
- "State parameters of TLV 139.";
-
- leaf instance-number {
- type uint32;
- description
- "An arbitrary unsigned 32-bit integer used to
- disambiguate the instance of TLV 138. The instance
- identifier is synthesised by the system
- and may be renumbered for the same SRLG definition
- in subsequent advertised LSPs if (and only if) the
- entire list of SRLGs is replaced.";
- }
-
- leaf system-id {
- type oc-isis-types:system-id;
- description
- "Neighbor system ID.";
- }
-
- leaf psn-number {
- type uint8;
- description
- "Pseudonode number if the neighbor is on a LAN
- interface.";
- }
-
- leaf-list flags {
- type enumeration {
- enum NA {
- description
- "When set, the IPv6 neighbour address is
- included, whereas if unset, it is omitted";
- }
- }
- description
- "IPv6 SRLG flags.";
- }
-
- leaf ipv6-interface-address {
- type inet:ipv6-address;
- description
- "IPv6 interface address or Link Local Identifier.";
- }
-
- leaf ipv6-neighbor-address {
- type inet:ipv6-address;
- description
- "IPv6 neighbor address or Link Remote Identifier.";
- }
-
- leaf-list srlg-value {
- type uint32;
- description
- "SRLG values.";
- }
- }
- }
- }
-
- container purge-oi {
- when "../state/type = 'oc-isis-lsdb-types:PURGE_OI'" {
- description
- "Only include the purge originator identitication TLV
- when the TLV type is 13.";
- }
- description
- "This container defines ISIS purge TLV.";
-
- reference
- "RFC6232: Purge Originator Identification TLV for IS-IS.
- TLV 13.";
-
- container state {
- description
- "State parameters of TLV 13.";
-
- leaf system-id-count {
- type uint8;
- description
- "Number of system IDs carried in this TLV.";
- }
-
- leaf source-system-id {
- type oc-isis-types:system-id;
- description
- "System ID of the Intermediate System that inserted
- this TLV.";
- }
-
- leaf received-system-id {
- type oc-isis-types:system-id;
- description
- "System ID of the Intermediate System from which the
- purge was received.";
- }
- }
- }
-
- container router-capabilities {
- when "../state/type = " +
- "'oc-isis-lsdb-types:ROUTER_CAPABILITY'" {
- description
- "Only include the router capability TLV when the TLV is
- type 242.";
- }
- description
- "This container defines router capabilities.";
-
- list capability {
- key "instance-number";
-
- description
- "This list describes IS Router capabilities.";
-
- reference
- "RFC4971: Intermediate System to Intermediate System
- (IS-IS) Extensions for Advertising Router Information.
- TLV 242.";
-
- leaf instance-number {
- type leafref {
- path "../state/instance-number";
- }
- description
- "Reference to the instance number of the router
- capability TLV.";
- }
-
- container state {
- description
- "State parameters of TLV 242.";
-
- leaf instance-number {
- type uint32;
- description
- "A unique instance number for the instance of the
- router capabilities TLV. The instance number should
- be autogenerated by the producer of the data and may
- be renumbered if the entire LSP contents are
- replaced in subsequent advertisements.";
- }
-
- leaf router-id {
- type inet:ipv4-address;
- description
- "IPv4 router-id.";
- }
-
- leaf-list flags {
- type enumeration {
- enum FLOOD {
- description
- "When the S bit is set(1), the IS - IS Router
- CAPABILITY TLV MUST be flooded across the entire
- routing domain. When the S bit is not set(0),
- the TLV MUST NOT be leaked between levels . This
- bit MUST NOT be altered during the TLV
- leaking.";
- }
- enum DOWN {
- description
- "When the IS-IS Router CAPABILITY TLV is leaked
- from level - 2 to level-1, the Down bit MUST be
- set. Otherwise, this bit MUST be clear. IS - IS
- Router capability TLVs with the Down bit set
- MUST NOT be leaked from level - 1 to level-2.
- This is to prevent TLV looping.";
- }
- }
- description
- "Router capability flags.";
- }
- }
-
- container subtlvs {
- description
- "This container describes router capability TLV
- sub-TLVs";
-
- list subtlv {
- key "type";
- description
- "List of subTLV types in the LSDB for the specified
- TLV";
-
- leaf type {
- type leafref {
- path "../state/type";
- }
- description
- "Reference to the sub-TLV type";
- }
-
- container state {
- description
- "State parameters of IS Router Capabilities";
-
- uses isis-lsdb-subtlv-type-state;
- }
-
- container segment-routing-algorithms {
- when "../state/type = " +
- "'oc-isis-lsdb-types:ROUTER_CAPABILITY_SR_ALGORITHM'" {
- description
- "Only include segment routing algorithm when the
- sub-TLV is type 19.";
- }
- description
- "This container defines SR algorithm sub-TLV 19.";
-
- reference
- "draft-ietf-isis-segment-routing-extensions.
- TLV 242, sub-TLV 19";
-
- container state {
- description
- "State parameters of sub-TLV 19 - Segment
- Routing Algorithm.";
-
- leaf-list algorithm {
- type enumeration {
- enum SPF {
- value 0;
- description
- "Shortest Path First (SPF) algorithm
- based on link metric. This is the
- well-known shortest path algorithm as
- computed by the IS-IS Decision process.
- Consistent with the deployed practice
- for link-state protocols, algorithm 0
- permits any node to overwrite the SPF
- path with a different path based on
- local policy.";
- }
- enum STRICT_SPF {
- value 1;
- description
- "Strict Shortest Path First (SPF)
- algorithm based on link metric. The
- algorithm is identical to algorithm 0
- but algorithm 1 requires that all nodes
- along the path will honor the SPF
- routing decision. Local policy MUST NOT
- alter the forwarding decision computed
- by algorithm 1 at the node claiming to
- support algorithm 1.";
- }
- }
- description
- "The Segment Routing algorithm that is
- described by the TLV.";
- }
- }
- }
-
- container segment-routing-capability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:ROUTER_CAPABILITY_SR_CAPABILITY'" {
- description
- "Only include the SR capability sub-TLV when
- the sub-TLV type is 2.";
- }
- description
- "This container defines SR Capability sub-TLV 2.";
-
- reference
- "draft-ietf-isis-segment-routing-extensions. TLV
- 242, sub-TLV 2.";
-
- container state {
- description
- "State parameters of IS SR Router Capability";
-
- leaf-list flags {
- type enumeration {
- enum IPV4_MPLS {
- description
- "When set, the router is capable of
- processing SR MPLS encapsulated IPv4
- packets on all interfaces.";
- }
- enum IPV6_MPLS {
- description
- "When set, the router is capable of
- processing SR MPLS encapsulated IPv6
- packets on all interfaces.";
- }
- enum IPV6_SR {
- description
- "When set, the router is capable of
- processing the IPv6 Segment Routing Header
- on all interfaces.";
- }
- }
- description
- "Segment Routing Capability Flags.";
- }
- }
-
- container srgb-descriptors {
- description
- "SRGB Descriptors included within the SR
- capability sub-TLV";
-
- list srgb-descriptor {
- key "range";
- description
- "Descriptor entry within the SR capabilty
- sub-TLV";
-
- leaf range {
- type leafref {
- path "../state/range";
- }
- description
- "Reference to unique SRGB Descriptor.";
- }
-
- container state {
- description
- "State parameters of the SR range";
-
- leaf range {
- type uint32;
- description
- "Number of SRGB elements. The range
- value MUST be greater than 0.";
- }
-
- leaf label {
- type oc-mpls-types:mpls-label;
- description
- "The first value of the SRGB when
- expressed as an MPLS label.";
- }
- }
- }
- }
- }
- }
- }
- uses isis-lsdb-undefined-subtlv;
- }
- }
-
- container is-reachability {
- when "../state/type = 'oc-isis-lsdb-types:IIS_NEIGHBORS'" {
- description
- "Include IIS_NEIGHBORS sub-TLV when the TLV type is 2.";
- }
- description
- "This container describes list of ISIS neighbors and
- attributes.";
-
- reference
- "ISO 10589, 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. TLV 2.";
-
- container neighbors {
- description
- "This container describes IS neighbors.";
-
- list neighbor {
- key "system-id";
- description
- "IS reachability neighbor attributes.";
-
- leaf system-id {
- type leafref {
- path "../state/system-id";
- }
- description
- "Reference to the system ID of the neighbor.";
- }
-
- uses isis-lsdb-neighbor;
- }
- }
- }
-
- container ipv4-internal-reachability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IPV4_INTERNAL_REACHABILITY'" {
- description
- "Include IPv4 internal reachability TLV when the TLV
- type is specified as 128.";
- }
- description
- "This container defines list of IPv4 internal reachability
- information.";
-
- reference
- "RFC1195: OSI ISIS for IP and Dual Environments. RFC5302:
- Domain-Wide Prefix Distribution with Two-Level IS-IS. TLV
- 128";
-
- container prefixes {
- description
- "This container describes IS prefixes.";
-
- list prefix {
- key "prefix";
-
- description
- "IPv4 prefixes and internal reachability attributes.";
-
- leaf prefix {
- type leafref {
- path "../state/prefix";
- }
- description
- "Reference to the IPv4 prefix";
- }
-
- uses ipv4-prefix-attributes-state;
- }
- }
- }
-
- container ipv4-external-reachability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IPV4_EXTERNAL_REACHABILITY'" {
- description
- "Include IPv4 external reachability when the TLV type
- is set to 130.";
- }
- description
- "This container defines list of IPv4 external reachability
- information.";
-
- reference
- "RFC1195: OSI ISIS for IP and Dual Environments. RFC5302:
- Domain-Wide Prefix Distribution with Two-Level IS-IS. TLV
- 130";
-
- container prefixes {
- description
- "This container describes IS neighbors.";
-
- list prefix {
- key "prefix";
-
- description
- "IPv4 external prefixes and reachability attributes.";
-
- leaf prefix {
- type leafref {
- path "../state/prefix";
- }
- description
- "Reference to the IPv4 prefix.";
- }
-
- uses ipv4-prefix-attributes-state;
- }
- }
- }
-
- container authentication {
- when "../state/type = 'oc-isis-lsdb-types:AUTHENTICATION'" {
- description
- "Only include the authentication TLV when the TLV is
- type 10.";
- }
- description
- "This container defines authentication information of the
- node.";
-
- reference
- "ISO 10589 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.
- TLV 10.";
-
- container state {
- description
- "State parameters of TLV 10.";
-
- leaf crypto-type {
- type enumeration {
- enum HMAC_MD5 {
- description
- "HMAC-MD5 Authentication type.";
- }
- enum CLEARTEXT {
- description
- "Cleartext Authentication type.";
- }
- }
- description
- "Authentication type to be used.";
- }
-
- leaf authentication-key {
- type string;
- description
- "Authentication key to be used.";
- }
- }
- }
-
- container extended-is-reachability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:EXTENDED_IS_REACHABILITY'" {
- description
- "Only included the extended IS reachability TLV when the
- TLV is type 22.";
- }
-
- description
- "This container defines list of ISIS extended reachability
- neighbors.";
-
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering. TLV
- 22.";
-
- uses isis-lsdb-common-extisreach-neighbors;
- }
-
- container extended-ipv4-reachability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:EXTENDED_IPV4_REACHABILITY'" {
- description
- "Only include the extended IPv4 reachability container
- when the TLV type is 135.";
- }
- description
- "This container defines list of IPv4 extended reachability
- information.";
-
- reference
- "RFC5305: IS-IS Extensions for Traffic Engineering. TLV
- 135";
-
- container prefixes {
- description
- "This container describes IS prefixes.";
-
- list prefix {
- key "prefix";
-
- description
- "This list describes IPv4 extended prefixes and
- attributes.";
-
- leaf prefix {
- type leafref {
- path "../state/prefix";
- }
- description
- "Reference to the IPv4 prefix that the TLV describes
- the attributes of.";
- }
-
- uses ipv4-prefix-extended-state;
- }
- }
- }
-
- container ipv6-reachability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IPV6_REACHABILITY'" {
- description
- "Only include the IPv6 reachability container when the
- TLV type is 236.";
- }
- description
- "This container defines list of IPv6 reachability
- information.";
-
- reference
- "RFC5308: Routing IPv6 with IS-IS. TLV 236";
-
- container prefixes {
- description
- "This container describes IS prefixes.";
-
- list prefix {
- key "prefix";
-
- description
- "This list defines IPv6 extended prefix attributes.";
-
- leaf prefix {
- type leafref {
- path "../state/prefix";
- }
- description
- "Reference to the IPv6 prefix that the TLV
- corresponds to.";
- }
-
- uses ipv6-prefix-extended-state;
- }
- }
- }
-
- container multi-topology {
- when "../state/type = 'oc-isis-lsdb-types:MULTI_TOPOLOGY'" {
- description
- "Only include the multi-topology container when the TLV
- is type 229.";
- }
-
- description
- "This container defines the topology supported.";
-
- reference
- "RFC5120: M-ISIS: Multi Topology (MT) Routing in
- Intermediate System to Intermediate Systems (IS-ISs). TLV
- 229";
-
- container topologies {
- description
- "This container describes IS topologies.";
-
- list topology {
- key "mt-id";
-
- description
- "This list describes a topology.";
-
- leaf mt-id {
- type leafref {
- path "../state/mt-id";
- }
- description
- "Reference to the multi-topology ID being described
- by the list entry.";
- }
-
- container state {
- description
- "State parameters of IS multi-topology TLV 229.";
-
- leaf mt-id {
- type uint16 {
- range "0 .. 4095";
- }
- description
- "Multi-topology ID.";
- }
-
- leaf attributes {
- type enumeration {
- enum OVERLOAD {
- description
- "When set, node is overloaded, still part of
- the topology but cannot be used for transit.";
- }
- enum ATTACHED {
- description
- "When set, node is attached to another area
- using the referred metric and can be used as
- default gateway.";
- }
- }
- description
- "Attributes of the LSP for the associated
- topology.";
- }
- }
- }
- }
- }
-
- container isis-neighbor-attribute {
- when "../state/type = " +
- "'oc-isis-lsdb-types:IS_NEIGHBOR_ATTRIBUTE'" {
- description
- "Only include the neighbor attribute container when the
- TLV is type 23.";
- }
- description
- "This container defines list of ISIS topology neighbors
- for extended ISIS LSP (multiple system IDs). ";
-
- reference
- "RFC5311: Simplified Extension of Link State PDU (LSP)
- Space for IS-IS. TLV 23. It is identical in format to the
- extended IS reachability TLV 22.";
-
- uses isis-lsdb-common-extisreach-neighbors;
- }
-
- container is-alias-id {
- when "../state/type = 'oc-isis-lsdb-types:ISIS_ALIAS_ID'" {
- description
- "Only include the ISIS alias ID container when the TLV
- is type 24.";
- }
-
- description
- "This container defines the IS-Alias TLV which allows
- 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 TLV 24.";
-
- container state {
- config false;
- description
- "State parameters of alias ID.";
-
- leaf alias-id {
- type oc-isis-types:system-id;
- description
- "List of alias ID(s).";
- }
- }
- }
-
- container mt-isn {
- when "../state/type = 'oc-isis-lsdb-types:MT_ISN'" {
- description
- "Only include the MT ISN container when the TLV is type
- 222.";
- }
- description
- "This container defines list of ISIS multi-topology
- neighbors.";
-
- reference
- "RFC5120: M-ISIS: Multi Topology (MT) Routing in
- Intermediate System to Intermediate Systems (IS-ISs). TLV
- 222.";
-
- uses isis-lsdb-mtis-common;
- }
-
- container mt-isis-neighbor-attribute {
- when "../state/type = " +
- "'oc-isis-lsdb-types:MT_IS_NEIGHBOR_ATTRIBUTE'" {
- description
- "Only include the MT ISIS neighbor attribute container
- when the TLV is type 223.";
- }
-
- description
- "This container defines list of ISIS multi-topology
- neighbors.";
-
- reference
- "RFC5311: Simplified Extension of Link State PDU (LSP)
- Space for IS-IS. TLV 223. It is identical in format to the
- MT-ISN TLV 222.";
-
- uses isis-lsdb-mtis-common;
- }
-
- container mt-ipv4-reachability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:MT_IPV4_REACHABILITY'" {
- description
- "Only include the multi-topology IPv4 reachability
- container when the TLV is type 235.";
- }
- description
- "This container defines list of IPv4 reachability
- Information in multi-topology environment.";
-
- reference
- "RFC5120: M-ISIS: Multi Topology (MT) Routing in
- Intermediate System to Intermediate Systems (IS-ISs). TLV
- 235.";
-
- container prefixes {
- description
- "This container describes IS prefixes.";
-
- list prefix {
- key "mt-id prefix";
-
- leaf mt-id {
- type leafref {
- path "../state/mt-id";
- }
- description
- "Reference to the topology ID of the topology that
- the prefix is within.";
- }
-
- leaf prefix {
- type leafref {
- path "../state/prefix";
- }
- description
- "Reference to the prefix to which reachability is
- being advertised.";
- }
-
- description
- "IPv4 prefixes that are contained within MT
- reachability TLV.";
-
- uses ipv4-mt-prefix-extended-state;
- }
- }
- }
-
- container mt-ipv6-reachability {
- when "../state/type = " +
- "'oc-isis-lsdb-types:MT_IPV6_REACHABILITY'" {
- description
- "Only include the multi-topology IPv6 reachability
- container when the TLV is type 237.";
- }
- description
- "This container defines list of IPv6 reachability
- information in multi - topology environment.";
-
- reference
- "RFC5120: M-ISIS: Multi Topology (MT) Routing in
- Intermediate System to Intermediate Systems (IS-ISs). TLV
- 237.";
-
- container prefixes {
- description
- "This container describes IS prefixes.";
-
- list prefix {
- key "prefix mt-id";
- description
- "List of IPv6 prefixes contained within MT
- reachability TLV.";
-
- leaf prefix {
- type leafref {
- path "../state/prefix";
- }
- description
- "Reference to the IPv6 prefix described by the
- TLV.";
- }
-
- leaf mt-id {
- type leafref {
- path "../state/mt-id";
- }
- description
- "Reference to the multi-topology ID.";
- }
-
- uses ipv6-mt-prefix-extended-state;
- }
- }
- }
- }
- }
-
- uses isis-lsdb-undefined-tlv;
- }
-}