openconfig-isis-lsp

This sub-module describes a YANG model for the IS-IS Link State Database (LSDB).

  • Version: 2017-01-13

    openconfig-isis-lsp@2017-01-13


    
      submodule openconfig-isis-lsp {
    
        yang-version 1;
    
        belongs-to openconfig-isis {
            prefix oc-isis;
        }
    
        import openconfig-extensions {
          prefix oc-ext;
        }
        import ietf-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;
        }
    
        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).";
    
        revision "2017-01-13" {
          description
            "Remove top-level /isis container";
          reference
            "0.2.1";
    
        }
    
        revision "2016-12-15" {
          description
            "Add segment routing to IS-IS module";
          reference
            "0.2.0";
    
        }
    
        revision "2016-10-18" {
          description
            "Initial revision of IS-IS models.";
          reference
            "0.1.0";
    
        }
    
        oc-ext:openconfig-version "0.2.1";
    
        typedef isis-metric-flags {
          type enumeration {
            enum "INTERNAL" {
              value 0;
              description
                "When this flag is not set, internal metrics are in use.";
            }
            enum "UNSUPPORTED" {
              value 1;
              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-link-characteristics-a-bit
    
        grouping isis-lsdb-tlv-nlpid-state {
          description
            "NLP ID parameters for IS-IS.";
          leaf nlpid {
            type enumeration {
              enum "IPV4" {
                value 0;
                description
                  "IPv4 Address family.";
              }
              enum "IPV6" {
                value 1;
                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-tlv-nlpid-state
    
        grouping isis-lsdb-subtlv-type-state {
          description
            "Per-subTLV type operational state parameters for ISIS.";
          leaf subtlv-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-subtlv-type-state
    
        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 isis-lsdb-tlv-type-state
    
        grouping is-reachability-neighbor-state {
          description
            "This grouping defines is-reachability neighbor.";
          container subTLVs {
            description
              "This container describes IS Neighbor sub-TLVs.";
            list subTLVs {
              key "subtlv-type";
              description
                "List of subTLV types in the LSDB for the specified TLV.";
              leaf subtlv-type {
                type leafref {
                  path "../state/subtlv-type";
                }
                description
                  "A reference for the TLV type being described within
                the LSDB";
              }
    
              container state {
                description
                  "State parameters of IS neighbor state";
                uses isis-lsdb-subtlv-type-state;
              }  // container state
    
              container admin-group {
                description
                  "This container defines sub-TLV 3.";
                container state {
                  description
                    "State parameters of sub-TLV 3.";
                  uses isis-lsdb-subtlv-type-state;
    
                  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 state
              }  // container admin-group
    
              container ipv4-interface-address {
                description
                  "This container defines sub-TLV 6.";
                container state {
                  description
                    "State parameters of sub-TLV 6.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf-list ipv4-interface-address {
                    type inet:ipv4-address-no-zone;
                    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 state
              }  // container ipv4-interface-address
    
              container ipv4-neighbor-address {
                description
                  "This container defines sub-TLV 8.";
                container state {
                  description
                    "State parameters of sub-TLV 8.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf-list ipv4-neighbor-address {
                    type inet:ipv4-address-no-zone;
                    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 state
              }  // container ipv4-neighbor-address
    
              container max-link-bandwidth {
                description
                  "This container defines sub-TLV 9.";
                container state {
                  description
                    "State parameters of sub-TLV 9.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf max-link-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 state
              }  // container max-link-bandwidth
    
              container max-reservable-link-bandwidth {
                description
                  "This container defines sub-TLV 10.";
                container state {
                  description
                    "State parameters of sub-TLV 10.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf max-reservable-link-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 state
              }  // container max-reservable-link-bandwidth
    
              container unreserved-bandwidth {
                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 {
                  description
                    "Setup priority(0 through 7) for unreserved bandwidth.";
                  container state {
                    description
                      "State parameters of IS Extended Reachability sub-TLV 11.";
                    uses setup-priority-state;
    
                    uses isis-lsdb-subtlv-type-state;
    
                    leaf unreserved-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 state
                }  // list setup-priority
              }  // container unreserved-bandwidth
    
              container ipv6-interface-address {
                description
                  "This container defines sub-TLV 12.";
                container state {
                  description
                    "State parameters of sub-TLV 12.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf-list ipv6-interface-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 state
              }  // container ipv6-interface-address
    
              container ipv6-neighbor-address {
                description
                  "This container defines sub-TLV 13.";
                container state {
                  description
                    "State parameters of sub-TLV 13.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf-list ipv6-neighbor-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 state
              }  // container ipv6-neighbor-address
    
              container extended-admin-group {
                description
                  "This container defines sub-TLV 14.";
                container state {
                  description
                    "State parameters of sub-TLV 14.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf 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 state
              }  // container extended-admin-group
    
              container te-default-metric {
                description
                  "This container defines sub-TLV 18.";
                container state {
                  description
                    "State parameters of sub-TLV 18.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf te-default-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 state
              }  // container te-default-metric
    
              container link-attributes {
                description
                  "This container defines link-attributes.";
                container state {
                  description
                    "State parameters of IS Extended Reachability sub-TLV 19.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf-list local-protection {
                    type enumeration {
                      enum "LOCAL_PROTECTION" {
                        value 0;
                        description
                          "If set, local protection is available for the link.";
                      }
                      enum "LINK_EXCLUDED" {
                        value 1;
                        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 state
              }  // container link-attributes
    
              container link-protection-type {
                description
                  "ISIS LSDB parameters relating to the type of link protection
                offered.";
                container state {
                  description
                    "State parameters of sub-TLV 20.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf-list link-protection-type {
                    type enumeration {
                      enum "EXTRA_TRAFFIC" {
                        value 0;
                        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" {
                        value 1;
                        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" {
                        value 2;
                        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" {
                        value 3;
                        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" {
                        value 4;
                        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" {
                        value 5;
                        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 state
              }  // container link-protection-type
    
              container bandwidth-constraints {
                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";
    
                container state {
                  description
                    "State parameters of IS Extended Reachability sub-TLV 22.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf model-id {
                    type uint8;
                    description
                      "Identifier for the Bandwidth Constraints  Model currently in
                    use by the LSR initiating the IGP advertisement.";
                  }
    
                  leaf reserved {
                    type uint32;
                    description
                      "Should be set to zero by the LSR generating the sub-TLV and
                    should be ignored by the LSR receiving the sub-TLV.";
                  }
    
                  leaf-list bandwidth-constraints {
                    type oc-types:ieeefloat32;
                    units "bytes per second";
                    description
                      "Contains BC0, BC1,... BC(N-1).  Each BC is encoded on 32 bits
                    in IEEE floating point format.  The units are bytes (not bits!)
                    per secondy.";
                  }
                }  // container state
              }  // container bandwidth-constraints
    
              container unconstrained-lsp {
                description
                  "This container defines sub-TLV 23.";
                container state {
                  description
                    "State parameters of sub-TLV 23.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf unconstrained-lsp {
                    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 state
              }  // container unconstrained-lsp
    
              uses isis-lsdb-adjacency-sid-state;
    
              uses isis-lsdb-lan-adjacency-sid-state;
    
              container link-delay {
                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-subtlv-type-state;
    
                  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 state
              }  // container link-delay
    
              container min-max-link-delay {
                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-subtlv-type-state;
    
                  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 state
              }  // container min-max-link-delay
    
              container link-delay-variation {
                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.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf delay {
                    type uint32;
                    units "microseconds";
                    description
                      "Average link delay between two directly connected IS-IS
                    neighbors over a configurable interval.";
                  }
                }  // container state
              }  // container link-delay-variation
    
              container link-loss {
                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-subtlv-type-state;
    
                  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 state
              }  // container link-loss
    
              container residual-bandwidth {
                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.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf residual-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 state
              }  // container residual-bandwidth
    
              container available-bandwidth {
                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 available-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 state
              }  // container available-bandwidth
    
              container utilized-bandwidth {
                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 utilized-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.";
                  }
                }  // container state
              }  // container utilized-bandwidth
            }  // list subTLVs
          }  // container subTLVs
    
          uses isis-lsdb-undefined-subtlv;
        }  // grouping is-reachability-neighbor-state
    
        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 type of the undefined TLV.";
              }
    
              container state {
                description
                  "State parameters of the undefined TLV.";
                uses undefined-tlv-state;
              }  // container state
            }  // list undefined-tlv
          }  // container undefined-tlvs
        }  // grouping isis-lsdb-undefined-tlv
    
        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
                  "A reference to a subTLV";
              }
    
              container state {
                description
                  "State parameters of the undefined sub-TLV.";
                uses undefined-subtlv-state;
              }  // container state
            }  // list undefined-subtlv
          }  // container undefined-subtlvs
        }  // grouping isis-lsdb-undefined-subtlv
    
        grouping isis-lsdb-prefix-state {
          description
            "This grouping defines prefix reachability.";
          container subTLVs {
            description
              "This container describes IS prefix sub-TLVs.";
            list subTLVs {
              key "subtlv-type";
              description
                "List of subTLV types in the LSDB for the specified TLV.";
              leaf subtlv-type {
                type leafref {
                  path "../state/subtlv-type";
                }
                description
                  "A reference for the TLV type being described within
                the LSDB";
              }
    
              container state {
                description
                  "State parameters for a prefix.";
                uses isis-lsdb-subtlv-type-state;
              }  // container state
    
              container tag {
                description
                  "This container defines sub-TLV 1.";
                container state {
                  description
                    "State parameters of sub-TLV 1.";
                  uses isis-lsdb-subtlv-type-state;
    
                  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 state
              }  // container tag
    
              container tag64 {
                description
                  "This container defines sub-TLV 2.";
                container state {
                  description
                    "State parameters of sub-TLV 2.";
                  uses isis-lsdb-subtlv-type-state;
    
                  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 state
              }  // container tag64
    
              container flags {
                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" {
                        value 0;
                        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" {
                        value 1;
                        description
                          "Readvertisement flag. Set when the prefix has been leaked
                      from one level to another (upwards or downwards).";
                      }
                      enum "NODE_FLAG" {
                        value 2;
                        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 state
              }  // container flags
    
              container ipv4-source-router-id {
                description
                  "This container defines sub-TLV 11.";
                container state {
                  description
                    "State parameters of sub-TLV 11.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf ipv4-source-router-id {
                    type inet:ipv4-address-no-zone;
                    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 state
              }  // container ipv4-source-router-id
    
              container ipv6-source-router-id {
                description
                  "This container defines sub-TLV 12.";
                container state {
                  description
                    "State parameters of sub-TLV 12.";
                  uses isis-lsdb-subtlv-type-state;
    
                  leaf ipv6-source-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.";
    
                  }
                }  // container state
              }  // container ipv6-source-router-id
    
              uses isis-lsdb-prefix-sid-state;
            }  // list subTLVs
          }  // container subTLVs
    
          uses isis-lsdb-undefined-subtlv;
        }  // grouping isis-lsdb-prefix-state
    
        grouping isis-lsdb-prefix-sid-state {
          description
            "This grouping defines ISIS Prefix SID.";
          container prefix-sid {
            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 sid {
              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.";
              container state {
                description
                  "State parameters for Prefix-SID.";
                uses isis-lsdb-subtlv-type-state;
    
                leaf value {
                  type uint32;
                  description
                    "IGP Prefix-SID value.";
                }
    
                leaf-list flags {
                  type enumeration {
                    enum "READVERTISEMENT" {
                      value 0;
                      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" {
                      value 1;
                      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 "PHP" {
                      value 2;
                      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" {
                      value 3;
                      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" {
                      value 4;
                      description
                        "Value flag. When set, the Prefix-SID carries a value (instead
                      of an index). By default the flag is UNSET.";
                    }
                    enum "LOCAL" {
                      value 5;
                      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.";
                }
              }  // container state
            }  // list sid
          }  // container prefix-sid
        }  // grouping isis-lsdb-prefix-sid-state
    
        grouping isis-lsdb-adjacency-sid-state {
          description
            "This grouping defines ISIS Adjacency SID.";
          container adjacency-sid {
            description
              "This container defines segment routing extensions for prefixes.";
            reference
              "draft-ietf-isis-segment-routing-extensions. sub-TLV 31: TLV 22, 222,
              223, 141. ";
    
            list sid {
              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.";
              container state {
                description
                  "State parameters of Adjacency-SID.";
                leaf value {
                  type uint32;
                  description
                    "Adjacency-SID value.";
                }
    
                leaf-list flags {
                  type enumeration {
                    enum "ADDRESS_FAMILY" {
                      value 0;
                      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" {
                      value 1;
                      description
                        "Backup flag. When set, the Adj-SID refers to an adjacency
                      being protected (e.g.: using IPFRR or MPLS-FRR).";
                    }
                    enum "VALUE" {
                      value 2;
                      description
                        "Value flag. When set, the SID carries a value (instead of an
                      index). By default the flag is SET.";
                    }
                    enum "LOCAL" {
                      value 3;
                      description
                        "Local flag. When set, the value/index carried by the SID has
                      local significance. By default the flag is SET.";
                    }
                    enum "SET" {
                      value 4;
                      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.";
                }
              }  // container state
            }  // list sid
          }  // container adjacency-sid
        }  // grouping isis-lsdb-adjacency-sid-state
    
        grouping isis-lsdb-lan-adjacency-sid-state {
          description
            "This grouping defines ISIS LAN Adjacency SID.";
          container lan-adjacency-sid {
            description
              "This container defines segment routing extensions for prefixes.";
            reference
              "draft-ietf-isis-segment-routing-extensions. sub-TLV 32: TLV 22, 222,
              223, 141.";
    
            list sid {
              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.";
              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" {
                      value 0;
                      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" {
                      value 1;
                      description
                        "Backup flag. When set, the Adj-SID refers to an adjacency
                      being protected (e.g.: using IPFRR or MPLS-FRR).";
                    }
                    enum "VALUE" {
                      value 2;
                      description
                        "Value flag. When set, the SID carries a value (instead of an
                      index). By default the flag is SET.";
                    }
                    enum "LOCAL" {
                      value 3;
                      description
                        "Local flag. When set, the value/index carried by the SID has
                      local significance. By default the flag is SET.";
                    }
                    enum "SET" {
                      value 4;
                      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.";
                }
              }  // container state
            }  // list sid
          }  // container lan-adjacency-sid
        }  // grouping isis-lsdb-lan-adjacency-sid-state
    
        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" {
                    value 0;
                    description
                      "When set to zero, indicates internal metrics.";
                  }
                }
                description
                  "ISIS Default-Metric Flags.";
              }
    
              leaf default-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 state
          }  // container default-metric
    
          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 state
          }  // container delay-metric
    
          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 state
          }  // container expense-metric
    
          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.";
              }
            }  // container state
          }  // container error-metric
        }  // grouping isis-lsdb-common-metric-specification
    
        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.";
            }
          }  // container state
    
          uses isis-lsdb-common-metric-specification;
        }  // grouping isis-lsdb-neighbor
    
        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 ipv4-prefix {
              type inet:ipv4-prefix;
              description
                "IPv4 prefix contained within reachability TLVs.";
            }
          }  // container state
    
          uses isis-lsdb-common-metric-specification;
        }  // grouping ipv4-prefix-attributes-state
    
        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.";
            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 ipv4-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.";
            }
          }  // container state
    
          uses isis-lsdb-prefix-state;
        }  // grouping ipv4-prefix-extended-state
    
        grouping ipv6-prefix-extended-state {
          description
            "This grouping defines attributes of an IPv6 prefix.";
          container state {
            description
              "State parameters of IPv6 prefix attributes";
            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 ipv6-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.";
            }
          }  // container state
    
          uses isis-lsdb-prefix-state;
        }  // grouping ipv6-prefix-extended-state
    
        grouping mt-isis-neighbor {
          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 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.";
            }
    
            leaf metric {
              type oc-isis-types:wide-metric;
              description "ISIS metric value.";
            }
          }  // container state
    
          uses is-reachability-neighbor-state;
        }  // grouping mt-isis-neighbor
    
        grouping sr-capability {
          description
            "This grouping defines segment routing capabilities.";
          reference
            "draft-ietf-isis-segment-routing-extensions. TLV 242, sub-TLV 2.";
    
          container state {
            description
              "State parameters of IS SR Router Capability";
            uses isis-lsdb-subtlv-type-state;
    
            leaf-list flags {
              type enumeration {
                enum "IPV4_MPLS" {
                  value 0;
                  description
                    "When set, the router is capable of processing SR MPLS
                  encapsulated IPv4 packets on all interfaces.";
                }
                enum "IPV6_MPLS" {
                  value 1;
                  description
                    "When set, the router is capable of processing SR MPLS
                  encapsulated IPv6 packets on all interfaces.";
                }
                enum "IPV6_SR" {
                  value 2;
                  description
                    "When set, the router is capable of processing the
                  IPv6 Segment Routing Header on all interfaces.";
                }
              }
              description
                "Segment Routing Capability Flags.";
            }
    
            leaf range {
              type uint32;
              description
                "Number of SRGB elements. The range value MUST be higher than 0. ";
            }
    
            leaf label {
              type uint32;
              description
                "The first value of the SRGB.";
            }
          }  // container state
        }  // grouping sr-capability
    
        grouping setup-priority-state {
          description
            "This grouping defines setup priority.";
          leaf setup-priority {
            type uint8 {
              range "0 .. 7";
            }
            description
              "Setup priority level of 0 through 7 to be used by Unreserved Bandwidth
            sub-TLV 11.";
          }
        }  // grouping setup-priority-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 isis-lsdb-generic-tlv
    
        grouping undefined-tlv-state {
          description
            "Generic grouping defining an unknown TLV.";
          uses isis-lsdb-generic-tlv;
        }  // grouping undefined-tlv-state
    
        grouping undefined-subtlv-state {
          description
            "Generic grouping defining an unknown sub-TLV.";
          uses isis-lsdb-generic-tlv;
        }  // grouping undefined-subtlv-state
    
        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" {
                  value 0;
                  description
                    "This enum describes ISIS level 1 PDU.";
                }
                enum "LEVEL_2" {
                  value 1;
                  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.";
            }
          }  // container state
    
          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
                  "A reference for the TLV type being described within
                the LSDB.";
              }
    
              container state {
                description
                  "This container defines TLV State.";
                uses isis-lsdb-tlv-type-state;
              }  // container state
    
              container area-address {
                description
                  "This container defines TLV 1.";
                container state {
                  description
                    "State parameters of ISIS TLV 1.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf-list area-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 state
              }  // container area-address
    
              container nlpid {
                description
                  "This container defines TLV 129.";
                container state {
                  description
                    "State parameters of ISIS TLV 129.";
                  uses isis-lsdb-tlv-type-state;
    
                  uses isis-lsdb-tlv-nlpid-state;
                }  // container state
              }  // container nlpid
    
              container hostname {
                description
                  "This container defines TLV 137.";
                container state {
                  description
                    "State parameters of ISIS TLV 137.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf 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 state
              }  // container hostname
    
              container ipv4-interface-addresses {
                description
                  "This container defines TLV 132.";
                container state {
                  description
                    "State parameters of ISIS TLV 132.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf-list ipv4-interface-addresses {
                    type inet:ipv4-prefix;
                    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 state
              }  // container ipv4-interface-addresses
    
              container ipv6-interface-addresses {
                description
                  "This container defines TLV 232.";
                container state {
                  description
                    "State parameters of ISIS TLV 232.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf-list ipv6-interface-addresses {
                    type inet:ipv6-prefix;
                    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 state
              }  // container ipv6-interface-addresses
    
              container ipv4-te-router-id {
                description
                  "This container defines TLV 134.";
                container state {
                  description
                    "State parameters of ISIS TLV 134.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf ipv4-te-router-id {
                    type inet:ipv4-address-no-zone;
                    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 state
              }  // container ipv4-te-router-id
    
              container ipv6-te-router-id {
                description
                  "This container defines TLV 140.";
                container state {
                  description
                    "State parameters of ISIS TLV 140.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf ipv6-te-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 state
              }  // container ipv6-te-router-id
    
              container instance-id {
                description
                  "This container defines ISIS Instance Identifier TLV.";
                reference
                  "RFC6822: IS-IS Multi-Instance. TLV 7.";
    
                container state {
                  description
                    "State parameters of ISIS TLV 7.";
                  uses isis-lsdb-tlv-type-state;
    
                  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 state
              }  // container instance-id
    
              container ipv4-srlg {
                description
                  "This container defines ISIS SRLG TLV 138.";
                reference
                  "RFC5307: IS-IS Extensions in Support of
                  Generalized Multi-Protocol Label Switching (GMPLS). TLV 138.";
    
                container state {
                  description
                    "State parameters of TLV 138.";
                  uses isis-lsdb-tlv-type-state;
    
                  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" {
                        value 0;
                        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-no-zone;
                    description
                      "IPv4 interface address.";
                  }
    
                  leaf ipv4-neighbor-address {
                    type inet:ipv4-address-no-zone;
                    description
                      "IPv4 neighbor address.";
                  }
    
                  leaf-list srlg-value {
                    type uint32;
                    description
                      "List of SRLG values.";
                  }
                }  // container state
              }  // container ipv4-srlg
    
              container ipv6-srlg {
                description
                  "This container defines ISIS SRLG TLV.";
                reference
                  "RFC6119: IPv6 Traffic Engineering in IS-IS. TLV 139.";
    
                container state {
                  description
                    "State parameters of TLV 139.";
                  uses isis-lsdb-tlv-type-state;
    
                  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" {
                        value 0;
                        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 state
              }  // container ipv6-srlg
    
              container purge-oi {
                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.";
                  uses isis-lsdb-tlv-type-state;
    
                  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 state
              }  // container purge-oi
    
              container router-capabilities {
                description
                  "This container defines router capabilities.";
                list router-capability {
                  description
                    "This list describes IS Router capabilities.";
                  reference
                    "RFC4971: Intermediate System to Intermediate System (IS-IS)
                    Extensions for Advertising Router Information. TLV 242.";
    
                  container state {
                    description
                      "State parameters of TLV 242.";
                    uses isis-lsdb-tlv-type-state;
    
                    leaf router-id {
                      type inet:ipv4-address-no-zone;
                      description
                        "IPv4 router-id.";
                    }
    
                    leaf-list flags {
                      type enumeration {
                        enum "FLOOD" {
                          value 0;
                          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" {
                          value 1;
                          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 state
    
                  container subtlvs {
                    description
                      "This container describes IS Neighbor sub-TLVs";
                    list subtlvs {
                      key "subtlv-type";
                      description
                        "List of subTLV types in the LSDB for the specified TLV";
                      leaf subtlv-type {
                        type leafref {
                          path
                            "../state/subtlv-type";
                        }
                        description
                          "A reference for the TLV type being described within
                        the LSDB";
                      }
    
                      container state {
                        description
                          "State parameters of IS Router Capabilities";
                        uses isis-lsdb-subtlv-type-state;
                      }  // container state
    
                      container segment-routing-algorithm {
                        description
                          "This container defines SR algorithm sub-TLV 19.";
                        container state {
                          description
                            "State parameters of sub-TLV 3";
                          leaf segment-routing-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
                              "Segment routing algorithm.";
                            reference
                              "draft-ietf-isis-segment-routing-extensions. TLV 242,
                              sub-TLV 19";
    
                          }
                        }  // container state
                      }  // container segment-routing-algorithm
    
                      container segment-routing-capability {
                        description
                          "This container defines SR Capability sub-TLV 2.";
                        uses sr-capability;
                      }  // container segment-routing-capability
                    }  // list subtlvs
                  }  // container subtlvs
    
                  uses isis-lsdb-undefined-subtlv;
                }  // list router-capability
              }  // container router-capabilities
    
              container is-reachability {
                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 state {
                  config false;
                  description
                    "This container describes IS reachability state";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container neighbors {
                  description
                    "This container describes IS neighbors.";
                  list neighbors {
                    description
                      "IS reachability neighbor attributes.";
                    uses isis-lsdb-neighbor;
                  }  // list neighbors
                }  // container neighbors
              }  // container is-reachability
    
              container ipv4-internal-reachability {
                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 state {
                  config false;
                  description
                    "This container describes IS IPv4 internal reachability state";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container prefixes {
                  description
                    "This container describes IS prefixes.";
                  list prefixes {
                    description
                      "IPv4 prefixes and internal reachability attributes.";
                    uses ipv4-prefix-attributes-state;
                  }  // list prefixes
                }  // container prefixes
              }  // container ipv4-internal-reachability
    
              container ipv4-external-reachability {
                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 state {
                  config false;
                  description
                    "This container describes IPv4 external reachability state";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container prefixes {
                  description
                    "This container describes IS neighbors.";
                  list prefixes {
                    description
                      "IPv4 external prefixes and reachability attributes.";
                    uses ipv4-prefix-attributes-state;
                  }  // list prefixes
                }  // container prefixes
              }  // container ipv4-external-reachability
    
              container type-block {
                description
                  "This container defines LSP Type Block. ";
                container state {
                  description
                    "State parameters of LSP Type Block";
                  leaf-list flags {
                    type enumeration {
                      enum "PARTITION_REPAIR" {
                        value 0;
                        description
                          "When set, the originator supports partition repair.";
                      }
                      enum "ATTACHED_ERROR" {
                        value 1;
                        description
                          "When set, the originator is attached to another area
                        using the referred metric.";
                      }
                      enum "ATTACHED_EXPENSE" {
                        value 2;
                        description
                          "When set, the originator is attached to another area
                        using the referred metric.";
                      }
                      enum "ATTACHED_DELAY" {
                        value 3;
                        description
                          "When set, the originator is attached to another area
                        using the referred metric.";
                      }
                      enum "ATTACHED_DEFAULT" {
                        value 4;
                        description
                          "When set, the originator is attached to another area
                        using the referred metric.";
                      }
                      enum "OVERLOAD" {
                        value 5;
                        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 state
              }  // container type-block
    
              container authentication {
                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.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf crypto-type {
                    type enumeration {
                      enum "HMAC_MD5" {
                        value 0;
                        description
                          "HMAC-MD5 Authentication type.";
                      }
                      enum "CLEARTEXT" {
                        value 1;
                        description
                          "Cleartext Authentication type.";
                      }
                    }
                    description
                      "Authentication type to be used.";
                  }
    
                  leaf authentication-key {
                    type string;
                    description
                      "Authentication key to be used.";
                  }
                }  // container state
              }  // container authentication
    
              container extended-is-reachability {
                description
                  "This container defines list of ISIS extended reachability
                neighbors.";
                reference
                  "RFC5305: IS-IS Extensions for Traffic Engineering. TLV 22.";
    
                container state {
                  config false;
                  description
                    "This container describes extended IS reachability state";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container neighbors {
                  description
                    "This container describes IS neighbors.";
                  list neighbors {
                    description
                      "This list describes ISIS extended neigbors and reachability
                    attributes.";
                    container state {
                      description
                        "State parameters of extended neighbor";
                      leaf system-id {
                        type oc-isis-types:system-id;
                        description
                          "System-id of the neighbor.";
                      }
    
                      leaf metric {
                        type oc-isis-types:wide-metric;
                        description
                          "Metric value.";
                      }
                    }  // container state
    
                    uses is-reachability-neighbor-state;
                  }  // list neighbors
                }  // container neighbors
              }  // container extended-is-reachability
    
              container extended-ipv4-reachability {
                description
                  "This container defines list of IPv4 extended reachability
                information.";
                reference
                  "RFC5305: IS-IS Extensions for Traffic Engineering. TLV 135";
    
                container state {
                  config false;
                  description
                    "This container describes extended IPv4 IS reachability state";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container prefixes {
                  description
                    "This container describes IS prefixes.";
                  list prefix {
                    description
                      "This list describes IPv4 extended prefixes and
                    attributes.";
                    uses ipv4-prefix-extended-state;
                  }  // list prefix
                }  // container prefixes
              }  // container extended-ipv4-reachability
    
              container ipv6-reachability {
                description
                  "This container defines list of IPv6 reachability
                information.";
                reference
                  "RFC5308: Routing IPv6 with IS-IS. TLV 236";
    
                container state {
                  config false;
                  description
                    "This container describes IS IPv6 reachability state";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container prefixes {
                  description
                    "This container describes IS prefixes.";
                  list prefixes {
                    description
                      "This list defines IPv6 extended prefix attributes.";
                    uses ipv6-prefix-extended-state;
                  }  // list prefixes
                }  // container prefixes
              }  // container ipv6-reachability
    
              container multi-topology {
                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 state {
                  config false;
                  description
                    "This container describes IS multi-topology state";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container topologies {
                  description
                    "This container describes IS topologies.";
                  list topology {
                    description
                      "This list describes a topology.";
                    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" {
                            value 0;
                            description
                              "When set, node is overloaded, still part of the
                            topology but cannot be used for transit.";
                          }
                          enum "ATTACHED" {
                            value 1;
                            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 state
                  }  // list topology
                }  // container topologies
              }  // container multi-topology
    
              container isis-neighbor-attribute {
                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.";
    
                container state {
                  config false;
                  description
                    "This container describes IS neighbor attribute state.";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container neighbors {
                  description
                    "This container describes IS neighbors.";
                  list neighbor {
                    description
                      "This list defines ISIS extended reachability neighbor
                    attributes.";
                    container state {
                      description
                        "State parameters of extended neighbor.";
                      leaf system-id {
                        type oc-isis-types:system-id;
                        description
                          "System-id of the neighbor.";
                      }
    
                      leaf metric {
                        type oc-isis-types:wide-metric;
                        description
                          "Metric value.";
                      }
                    }  // container state
    
                    uses is-reachability-neighbor-state;
                  }  // list neighbor
                }  // container neighbors
              }  // container isis-neighbor-attribute
    
              container isis-alias-id {
                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.";
                  uses isis-lsdb-tlv-type-state;
    
                  leaf alias-id {
                    type oc-isis-types:system-id;
                    description
                      "List of alias ID(s).";
                  }
                }  // container state
              }  // container isis-alias-id
    
              container mt-isn {
                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.";
    
                container state {
                  config false;
                  description
                    "This container describes IS MT-ISN state.";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container neighbors {
                  description
                    "This container describes IS neighbors.";
                  list neighbor {
                    description
                      "MT-ISN neighbor attributes";
                    uses mt-isis-neighbor;
                  }  // list neighbor
                }  // container neighbors
              }  // container mt-isn
    
              container mt-isis-neighbor-attribute {
                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.";
    
                container state {
                  config false;
                  description
                    "This container describes IS MT neighbor attribute state.";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container neighbors {
                  description
                    "This container describes IS neighbors.";
                  list neighbor {
                    description
                      "List of multi-topology neighbors.";
                    uses mt-isis-neighbor;
                  }  // list neighbor
                }  // container neighbors
              }  // container mt-isis-neighbor-attribute
    
              container mt-ipv4-reachability {
                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 state {
                  config false;
                  description
                    "This container describes IS MT IPv4 reachability state.";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container prefixes {
                  description
                    "This container describes IS prefixes.";
                  list prefix {
                    description
                      "IPv4 prefixes that are contained within MT reachability TLV.";
                    container mt {
                      description
                        "Multi-topology parameters.";
                      container state {
                        description
                          "State parameters of IS MT IPv4 Reachability.";
                        leaf mt-id {
                          type uint16 {
                            range "0 .. 4095";
                          }
                          description
                            "Multi-topology ID.";
                        }
                      }  // container state
                    }  // container mt
    
                    uses ipv4-prefix-extended-state;
                  }  // list prefix
                }  // container prefixes
              }  // container mt-ipv4-reachability
    
              container mt-ipv6-reachability {
                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 state {
                  config false;
                  description
                    "This container describes IS reachability state.";
                  uses isis-lsdb-tlv-type-state;
                }  // container state
    
                container prefixes {
                  description
                    "This container describes IS prefixes.";
                  list prefix {
                    description
                      "List of IPv6 prefixes contained within MT reachability TLV.";
                    container mt {
                      description
                        "Multi-topology parameters";
                      container state {
                        description
                          "State parameters of MT IPv6 Reachability";
                        leaf mt-id {
                          type uint16 {
                            range "0 .. 4095";
                          }
                          description
                            "Multi-topology ID.";
                        }
                      }  // container state
                    }  // container mt
    
                    uses ipv6-prefix-extended-state;
                  }  // list prefix
                }  // container prefixes
              }  // container mt-ipv6-reachability
            }  // list tlv
          }  // container tlvs
    
          uses isis-lsdb-undefined-tlv;
        }  // grouping lsp-state
      }  // submodule openconfig-isis-lsp
    

© 2023 YumaWorks, Inc. All rights reserved.