Cisco-IOS-XR-ipv4-ospf-oper-sub2

This submodule contains a collection of YANG definitions for Cisco IOS-XR ipv4-ospf package operational data. Copyright (c) 201...

  • Version: 2021-06-01

    Cisco-IOS-XR-ipv4-ospf-oper-sub2@2021-06-01


    
      submodule Cisco-IOS-XR-ipv4-ospf-oper-sub2 {
    
        yang-version 1;
    
        belongs-to Cisco-IOS-XR-ipv4-ospf-oper {
            prefix Cisco-IOS-XR-ipv4-ospf-oper;
        }
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This submodule contains a collection of YANG definitions
         for Cisco IOS-XR ipv4-ospf package operational data.
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-06-01" {
          description
            "Added changes to show if a FAD contains unknown parameters
           2020-09-15
             Added changes for Delay Anomaly
           2020-07-15
             Added changes for SRTE automatic path capability";
        }
    
        revision "2020-03-19" {
          description
            "Added changes for Delay Normalization
           2020-02-04
           Added changes for Conditional Advertising
           2019-09-30
           Added changes for Weighted SRLG";
        }
    
        revision "2019-07-26" {
          description
            "Added new fields in redistribution container to display more information.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-01-07" {
          description
            "Modified for Programmability 2.0";
        }
    
        revision "2018-04-18" {
          description
            "Added keychain name to be displayed in show ospf interface bag";
        }
    
        revision "2017-10-26" {
          description
            "Fixed some field name and values for better interpretation";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2017-01-02" {
          description "IOS XR 6.2.1 revision.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.1.0";
        semver:module-version "2.0.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Ospf-sh-opq-ri-pce-addr-types {
          type enumeration {
            enum
              "mgmt-ospf-opq-pce-addr-type-invalid" {
              value 0;
              description "Invalid PCE Address";
            }
            enum
              "mgmt-ospf-opq-pce-addr-type-ipv4" {
              value 1;
              description "IPv4 PCE Address";
            }
            enum
              "mgmt-ospf-opq-pce-addr-type-ipv6" {
              value 2;
              description "IPv6 PCE Address";
            }
          }
          description "OSPF PCE Address Type";
        }
    
        typedef Ospf-sh-opq-ri-tlv-types {
          type enumeration {
            enum
              "mgmt-ospf-opq-ri-tlv-type-unknown" {
              value 0;
              description "Unknown";
            }
            enum
              "mgmt-ospf-opq-ri-tlv-type-rtrcap" {
              value 1;
              description "Router Capabilities";
            }
            enum
              "mgmt-ospf-opq-ri-tlv-type-pce-discovery" {
              value 2;
              description "PCE Discovery";
            }
            enum
              "mgmt-ospf-opq-ri-tlv-type-sr-algo" {
              value 3;
              description
                "Segment Routing Algorithm";
            }
            enum
              "mgmt-ospf-opq-ri-tlv-type-sr-range" {
              value 4;
              description
                "Segment Routing SID Range";
            }
            enum
              "mgmt-ospf-opq-ri-tlv-type-node-msd" {
              value 5;
              description
                "Node MSD (Max SID Depth)";
            }
            enum
              "mgmt-ospf-opq-ri-tlv-type-srlb" {
              value 6;
              description
                "Segment Routing Local Block";
            }
            enum "mgmt-ospf-opq-ri-tlv-type-fad" {
              value 7;
              description
                "Segment Routing FLEX ALGO DEF";
            }
            enum
              "mgmt-ospf-opq-ri-tlv-type-host-name" {
              value 8;
              description "Dynamic Hostname";
            }
          }
          description
            "OSPF Router Information TLV types";
        }
    
        typedef Ospf-lsa-opq-ri-scope {
          type enumeration {
            enum "mgmt-lsa-opq-ri-scope-link" {
              value 9;
              description
                "Link-local Router Information LSA";
            }
            enum "mgmt-lsa-opq-ri-scope-area" {
              value 10;
              description
                "Area-scope Router Information LSA";
            }
            enum "mgmt-lsa-opq-ri-scope-as" {
              value 11;
              description
                "AS-scope Router Information LSA";
            }
          }
          description
            "OSPF Router Information LSA scope types";
        }
    
        typedef Ospf-gr-reason {
          type enumeration {
            enum "mgmt-gr-reason-unknown" {
              value 0;
              description "Unknown";
            }
            enum "mgmt-gr-reason-sw-restart" {
              value 1;
              description "Software restart";
            }
            enum "mgmt-gr-reason-sw-upgrade" {
              value 2;
              description
                "Software reload/upgrade";
            }
            enum "mgmt-gr-reason-switchover" {
              value 3;
              description
                "Switch to redundant control processor";
            }
          }
          description "Ospf gr reason";
        }
    
        typedef Stlv {
          type enumeration {
            enum "mgmt-rrr-link-type" {
              value 1;
              description "Link Type";
            }
            enum "mgmt-rrr-link-id" {
              value 2;
              description "Link ID";
            }
            enum "mgmt-rrr-link-local-if-addr" {
              value 3;
              description
                "Local interface IP address";
            }
            enum "mgmt-rrr-link-remote-if-addr" {
              value 4;
              description
                "Remote interface IP address";
            }
            enum "mgmt-rrr-link-metric" {
              value 5;
              description
                "Traffic Engineering metric";
            }
            enum "mgmt-rrr-link-max-bw" {
              value 6;
              description
                "Maximum Link Bandwidth";
            }
            enum
              "mgmt-rrr-link-max-reservable-bw" {
              value 7;
              description
                "Maximum Reservable bandwidth";
            }
            enum "mgmt-rrr-link-unreserved-bw" {
              value 8;
              description "Unreserved Bandwidth";
            }
            enum "mgmt-rrr-link-re-source-class" {
              value 9;
              description "Administrative group";
            }
            enum "mgmt-rrr-link-in-out-if-id" {
              value 11;
              description
                "Link Local/Remote Identifiers";
            }
            enum
              "mgmt-rrr-link-if-switching-cap-desc" {
              value 15;
              description
                "Interface Switching Capability Descriptor";
            }
            enum "mgmt-ospf-rrr-link-srlg" {
              value 16;
              description
                "Shared Risk Link Group";
            }
            enum
              "mgmt-rrr-link-bw-constraints-sub" {
              value 17;
              description
                "Bandwidth constraints";
            }
            enum
              "mgmt-ospf-rrr-link-ext-admin-sub" {
              value 26;
              description "Extended admin";
            }
            enum "mgmt-ospf-rrr-link-uni-delay" {
              value 27;
              description
                "Unidirectional link delay";
            }
            enum
              "mgmt-ospf-rrr-link-uni-min-max-delay" {
              value 28;
              description
                "Unidirectional min-max delay";
            }
            enum
              "mgmt-ospf-rrr-link-uni-delay-var-iance" {
              value 29;
              description
                "Unidirectional delay variance";
            }
            enum
              "mgmt-ospf-rrr-link-uni-link-loss" {
              value 30;
              description
                "Unidirectional link loss";
            }
            enum
              "mgmt-ospf-rrr-link-uni-residual-bw" {
              value 31;
              description
                "Unidirectional residual bandwidth";
            }
            enum
              "mgmt-ospf-rrr-link-uni-available-bw" {
              value 32;
              description
                "Unidirectional available delay";
            }
            enum
              "mgmt-ospf-rrr-link-uni-utilized-bw" {
              value 33;
              description
                "Unidirectional utilized bandwidth";
            }
            enum
              "mgmt-ospf-rrr-link-max-reservable-bw-sub" {
              value 32768;
              description
                "Maximum reservable sub-pool bandwidth";
            }
            enum
              "mgmt-ospf-rrr-link-unreserved-bw-sub" {
              value 32769;
              description
                "Unreserved sub-pool bandwidth";
            }
            enum "mgmt-rrr-link-igp-metric" {
              value 32770;
              description "IGP Link Metric";
            }
            enum
              "mgmt-ospf-rrr-link-ext-admin-sub-backward" {
              value 32771;
              description
                "Extended admin backward";
            }
          }
          description
            "OSPF Opaque-area Type 1 sub TLV types";
        }
    
        typedef Ex-metric {
          type enumeration {
            enum "mgmt-ex-metric-type-none" {
              value 0;
              description "No metric type";
            }
            enum "mgmt-ex-metric-type-1" {
              value 1;
              description "Type 1 External";
            }
            enum "mgmt-ex-metric-type-2" {
              value 2;
              description "Type 2 External";
            }
          }
          description "Ex metric";
        }
    
        typedef Ospf-link-types {
          type enumeration {
            enum "mgmt-rtr-link" {
              value 1;
              description "Link to a Router";
            }
            enum "mgmt-trans-link" {
              value 2;
              description
                "Link to a transit network";
            }
            enum "mgmt-stub-net" {
              value 3;
              description "Link to Stub network";
            }
            enum "mgmt-vitural-link" {
              value 4;
              description "Link to Virtual Link";
            }
          }
          description "Type of router LSA links";
        }
    
        typedef Ospf-internal-lsa-types {
          type enumeration {
            enum "mgmt-rtr-type" {
              value 1;
              description "Router LSA";
            }
            enum "mgmt-ntwk-type" {
              value 2;
              description "Network LSA";
            }
            enum "mgmt-sum-type" {
              value 3;
              description
                "Summary and ASBR summary LSA";
            }
            enum "mgmt-ext-type" {
              value 4;
              description
                "Type 5 and NSSA external LSA";
            }
            enum "mgmt-opq-type" {
              value 5;
              description
                "Generic AS/Area Opaque LSA";
            }
            enum "mgmt-opq-link-type" {
              value 6;
              description
                "Generic Link Opaque LSA";
            }
            enum "mgmt-opq-rrr-type" {
              value 7;
              description
                "Opaque Area type 1 LSA";
            }
            enum "mgmt-opq-gr-type" {
              value 8;
              description
                "Opaque link type 1 LSA";
            }
            enum "mgmt-opq-ri-type" {
              value 9;
              description
                "Opaque Router Information LSA";
            }
            enum "mgmt-opq-epl-type" {
              value 10;
              description "Opaque Area type 128";
            }
            enum "mgmt-opq-ell-type" {
              value 11;
              description "Opaque Area type 8";
            }
          }
          description "OSPF LSA format types";
        }
    
        typedef Timer {
          type enumeration {
            enum "mgmt-db-stop" {
              value 0;
              description "Timer stopped";
            }
            enum "mgmt-db-refresh" {
              value 1;
              description "Refresh";
            }
            enum "mgmt-db-checksum" {
              value 2;
              description "Checksum";
            }
            enum "mgmt-db-max-age" {
              value 3;
              description "Maxage";
            }
          }
          description
            "The LSA timer running can be refresh, checksum or
           maxage";
        }
    
        typedef Timer-table {
          type enumeration {
            enum "mgmt-db-no-table" {
              value 0;
              description "Not in time table";
            }
            enum "mgmt-db-sec-table" {
              value 1;
              description "In second table";
            }
            enum "mgmt-db-buffer-table" {
              value 2;
              description "In buffer table";
            }
            enum "mgmt-db-min-table" {
              value 3;
              description "In minute table";
            }
          }
          description
            "The throttled LSA can be in second, buffer or
           minute timer table";
        }
    
        typedef Ospf-srlb-status {
          type enumeration {
            enum "unknown" {
              value 0;
              description "Unknown";
            }
            enum "not-allocated" {
              value 1;
              description "Not allocated";
            }
            enum "allocated" {
              value 2;
              description "Allocated";
            }
          }
          description "Ospf srlb status";
        }
    
        typedef Ospf-srgb-status {
          type enumeration {
            enum "not-allocated" {
              value 0;
              description "Not allocated";
            }
            enum "pending" {
              value 1;
              description "Allocation pending";
            }
            enum "allocated" {
              value 2;
              description "Allocated";
            }
          }
          description "Ospf srgb status";
        }
    
        typedef Uloop-avoidance {
          type enumeration {
            enum "none" {
              value 0;
              description "No uloop avoidance";
            }
            enum "protected-prefixes" {
              value 1;
              description
                "Apply Local uloop avoidance only for protected
               prefixes";
            }
            enum "all-prefixes" {
              value 2;
              description
                "Apply Local uloop avoidance for all prefixes";
            }
            enum "segment-routing-uloop" {
              value 3;
              description
                "Apply segment routing uloop avoidance";
            }
          }
          description "Uloop avoidance";
        }
    
        typedef Gs-state {
          type enumeration {
            enum "mgmt-gs-init" {
              value 0;
              description
                "Process in initialization ";
            }
            enum "mgmt-gs-normal" {
              value 1;
              description
                "Graceful Shutdown not running";
            }
            enum "mgmt-gs-delay" {
              value 2;
              description
                "Delaying  before Graceful Shutdown";
            }
            enum "mgmt-gs-flush" {
              value 3;
              description
                "Flushing self originated LSAs";
            }
            enum "mgmt-gs-hello" {
              value 4;
              description "Sending empty hellos";
            }
            enum "mgmt-gs-quiet" {
              value 5;
              description "Shutdown mode.";
            }
          }
          description "Gs state";
        }
    
        typedef Max-metric-unset-reason {
          type enumeration {
            enum "mgmt-max-metric-unset-none" {
              value 0;
              description "none";
            }
            enum "mgmt-max-metric-unset-bgp" {
              value 1;
              description "BGP converged";
            }
            enum "mgmt-max-metric-unset-timer" {
              value 2;
              description "timer expired";
            }
            enum "mgmt-max-metric-unset-cfg" {
              value 3;
              description "unconfigured";
            }
            enum
              "mgmt-max-metric-unset-process-cleared" {
              value 4;
              description "process cleared";
            }
            enum
              "mgmt-max-metric-unset-over-write" {
              value 5;
              description "set for other reason";
            }
          }
          description "Max metric unset reason";
        }
    
        typedef Ospf-max-metric-abr-off-reasons {
          type enumeration {
            enum
              "ospf-max-metric-abr-off-reason-none" {
              value 0;
              description "No reason";
            }
            enum
              "ospf-max-metric-abr-off-reason-no-nbr" {
              value 1;
              description
                "No neighbors seen yet";
            }
            enum
              "ospf-max-metric-abr-off-reason-new-nbr" {
              value 2;
              description
                "New neighbor seen recently";
            }
            enum
              "ospf-max-metric-abr-off-reason-nbr-full" {
              value 4;
              description
                "Adjacency FULL seen recently";
            }
            enum
              "ospf-max-metric-abr-off-reason-flush-p-end" {
              value 8;
              description "LSA flushes pending";
            }
          }
          description
            "Ospf max metric abr off reasons";
        }
    
        typedef Max-metric-set-reason {
          type enumeration {
            enum
              "mgmt-max-metric-on-proc-migration" {
              value 0;
              description "proc migration";
            }
            enum
              "mgmt-max-metric-on-proc-restart" {
              value 1;
              description "proc restart";
            }
            enum "mgmt-max-metric-on-switchover" {
              value 2;
              description "switch over";
            }
            enum "mgmt-max-metric-on-startup" {
              value 3;
              description "start up";
            }
            enum "mgmt-max-metric-always" {
              value 4;
              description "always";
            }
            enum "mgmt-max-metric-reason-none" {
              value 5;
              description "none";
            }
          }
          description "Max metric set reason";
        }
    
        typedef Sr-uloop-event {
          type enumeration {
            enum "none" {
              value 0;
              description "No SR uloop event";
            }
            enum "link-down" {
              value 1;
              description
                "SR Uloop Event Link Down";
            }
            enum "link-up" {
              value 2;
              description
                "SR Uloop Event Link Up";
            }
          }
          description "Sr uloop event";
        }
    
        typedef Sr-dp {
          type enumeration {
            enum "mgmt-ospf-sr-dp-none" {
              value 0;
              description "SR Disable";
            }
            enum "mgmt-ospf-sr-dp-mpls" {
              value 1;
              description "SR MPLS";
            }
          }
          description "Sr dp";
        }
    
        typedef Ospf-br {
          type enumeration {
            enum "mgmt-d-type-abr-asbr" {
              value 0;
              description
                "Both Area Border Router and AS Border Router";
            }
            enum "mgmt-d-type-asbr" {
              value 1;
              description "AS Border Router";
            }
            enum "mgmt-d-type-abr" {
              value 2;
              description "Area Border Router";
            }
          }
          description "Ospf br";
        }
    
        typedef Ospf-sr-adj-sid-inactive-reason {
          type enumeration {
            enum "ospf-adj-sid-inactive-none" {
              value 0;
              description "None";
            }
            enum "ospf-adj-sid-inactive-no-nbr" {
              value 1;
              description
                "No neighbors on interface";
            }
            enum
              "ospf-adj-sid-inactive-no-nbr-addr" {
              value 2;
              description
                "Neighbor address not specified for multiple
               neighbors";
            }
            enum
              "ospf-adj-sid-inactive-nbr-not-found" {
              value 3;
              description
                "Neighbor with specified address not found";
            }
            enum
              "ospf-adj-sid-inactive-out-of-srlb" {
              value 4;
              description "Adj SID out of SRLB";
            }
            enum
              "ospf-adj-sid-inactive-lsd-alloc-pending" {
              value 5;
              description
                "LSD allocation pending";
            }
            enum "ospf-adj-sid-inactive-no-srlb" {
              value 6;
              description "SRLB not allocated";
            }
            enum
              "ospf-adj-sid-inactive-sr-not-enable" {
              value 7;
              description
                "Segment routing not enabled";
            }
            enum "ospf-adj-sid-inactive-dadj" {
              value 8;
              description
                "Active in Deleted Adjacency Protection";
            }
          }
          description
            "Ospf sr adj sid inactive reason";
        }
    
        typedef Ipfrr-tbrkr {
          type enumeration {
            enum "downstream" {
              value 0;
              description "Downsteram";
            }
            enum "line-card-disjoint" {
              value 1;
              description "LC Disjoint";
            }
            enum "backup-metric" {
              value 2;
              description "Backup metric";
            }
            enum "node-protect" {
              value 3;
              description "Node protection";
            }
            enum "primary-path" {
              value 4;
              description "Primary path";
            }
            enum "secondary-path" {
              value 5;
              description "Secondary path";
            }
            enum "srlg-disjoint" {
              value 6;
              description "SRLG disjoint";
            }
            enum "interface-disjoint" {
              value 7;
              description "Interface disjoint";
            }
            enum "tunnel" {
              value 8;
              description "Tunnel";
            }
            enum "post-convergence" {
              value 9;
              description "Post Convergence";
            }
          }
          description "FRR Tiebreakers";
        }
    
        typedef Ipfrr {
          type enumeration {
            enum "none" {
              value 0;
              description "Disabled";
            }
            enum "per-link" {
              value 1;
              description "Per link";
            }
            enum "per-prefix" {
              value 2;
              description "Per prefix";
            }
          }
          description "FRR Types";
        }
    
        typedef Interface-state {
          type enumeration {
            enum "mgmt-ifs-unknown" {
              value 0;
              description
                "Interface state unknown";
            }
            enum "mgmt-ifs-admin-down" {
              value 1;
              description
                "Interface is administratively down";
            }
            enum "mgmt-ifs-down" {
              value 2;
              description "Interface is down";
            }
            enum "mgmt-ifs-up" {
              value 3;
              description "Interface is up";
            }
            enum "mgmt-ifs-shutdown" {
              value 4;
              description
                "Interface is administratively down";
            }
          }
          description "Interface state";
        }
    
        typedef Ospf-crytographic-algo {
          type enumeration {
            enum "mgmt-not-configured" {
              value 0;
              description "Not configured";
            }
            enum "mgmt-aes-128-cmac-96" {
              value 1;
              description "AES 128 CMAC 96";
            }
            enum "mgmt-hmac-sha1-12" {
              value 2;
              description "HAMC SHA1 12";
            }
            enum "mgmt-md5-16" {
              value 3;
              description "MD5 16";
            }
            enum "mgmt-sha1-20" {
              value 4;
              description "SHA1 20";
            }
            enum "mgmt-hmac-md5-16" {
              value 5;
              description "HMAC MD5 16";
            }
            enum "mgmt-hmac-sha1-20" {
              value 6;
              description "HMAC SHA1 20";
            }
            enum "mgmt-aes-128-cmac" {
              value 7;
              description "AES 128 CMAC";
            }
            enum "mgmt-aes-256-cmac" {
              value 8;
              description "AES 256 CMAC";
            }
            enum "mgmt-hmac-sha1-96" {
              value 9;
              description "HMAC SHA1 96";
            }
            enum "mgmt-hmac-sha-256" {
              value 10;
              description "HMAC SHA 256";
            }
            enum "mgmt-hmac-sha1" {
              value 11;
              description "HMAC SHA1";
            }
          }
          description "Cryptographic algorithm";
        }
    
        typedef Authentication {
          type enumeration {
            enum "mgmt-ospf-auth-none" {
              value 0;
              description "No Authentication";
            }
            enum "mgmt-ospf-auth-ct" {
              value 1;
              description "Clear Text";
            }
            enum "mgmt-ospf-auth-md" {
              value 2;
              description "MD5";
            }
            enum "mgmt-ospf-auth-kc" {
              value 3;
              description "Keychain";
            }
          }
          description "Authentication";
        }
    
        typedef Ospf-interface-state {
          type enumeration {
            enum "mgmt-ospf-ifs-down" {
              value 0;
              description "Down";
            }
            enum "mgmt-ospf-ifs-loop-back" {
              value 1;
              description "Loopback";
            }
            enum "mgmt-ospf-ifs-waiting" {
              value 2;
              description "Waiting";
            }
            enum
              "mgmt-ospf-ifs-point-to-m-point" {
              value 3;
              description "Point to multipoint";
            }
            enum "mgmt-ospf-ifs-point-to-point" {
              value 4;
              description "Point to point";
            }
            enum "mgmt-ospf-ifs-dr" {
              value 5;
              description "DesignatedRouter";
            }
            enum "mgmt-ospf-ifs-backup" {
              value 6;
              description
                "Backup Designated Router";
            }
            enum "mgmt-ospf-ifs-other" {
              value 7;
              description
                "Designated Router Other";
            }
          }
          description "Ospf interface state";
        }
    
        typedef String1 {
          type string;
          description "String1";
        }
    
        typedef Redist-protocol {
          type enumeration {
            enum "mgmt-rib-protocol-all" {
              value 0;
              description "Unknown";
            }
            enum "mgmt-rib-protocol-connected" {
              value 1;
              description "Connected";
            }
            enum "mgmt-rib-protocol-local" {
              value 2;
              description "Local";
            }
            enum "mgmt-rib-protocol-static" {
              value 3;
              description "Static";
            }
            enum "mgmt-rib-protocol-bgp" {
              value 4;
              description "BGP";
            }
            enum "mgmt-rib-protocol-rip" {
              value 5;
              description "RIP";
            }
            enum "mgmt-rib-protocol-isis" {
              value 6;
              description "ISIS";
            }
            enum "mgmt-rib-protocol-ospf" {
              value 7;
              description "OSPF";
            }
            enum "mgmt-rib-protocol-eigrp" {
              value 8;
              description "EIGRP";
            }
            enum "mgmt-rib-protocol-dagr" {
              value 9;
              description "DAGR";
            }
            enum "mgmt-rib-protocol-subscriber" {
              value 10;
              description "Subscriber";
            }
            enum "mgmt-rib-protocol-application" {
              value 11;
              description "Application";
            }
            enum "mgmt-rib-protocol-mobile" {
              value 12;
              description "Mobile";
            }
          }
          description "Redist protocol";
        }
    
        typedef Ospf-sh-nnh-val-types {
          type enumeration {
            enum "mgmt-nnh-val-type-ip-addr" {
              value 1;
              description "NNH IP Address";
            }
            enum "mgmt-nnh-val-type-if-index" {
              value 2;
              description "NNH Interface Index";
            }
          }
          description
            "OSPF Neighbor Next Hop Value Types";
        }
    
        typedef Lfa {
          type enumeration {
            enum "mgmt-ospf-unknown-lfa" {
              value 0;
              description "Unknown LFA";
            }
            enum "mgmt-ospf-direct-lfa" {
              value 1;
              description "Direct LFA";
            }
            enum "mgmt-ospf-ti-lfa" {
              value 2;
              description "TI LFA";
            }
            enum "mgmt-ospf-remote-lfa" {
              value 3;
              description "Remote LFA";
            }
          }
          description "Lfa";
        }
    
        typedef Ospf-route {
          type enumeration {
            enum "mgmt-r-type-none" {
              value 0;
              description "No route type";
            }
            enum "mgmt-r-type-other" {
              value 1;
              description "Not set";
            }
            enum "mgmt-r-type-intra" {
              value 2;
              description "Intra-area route";
            }
            enum "mgmt-r-type-inter" {
              value 4;
              description "Inter-area route";
            }
            enum "mgmt-r-type-extern1" {
              value 8;
              description
                "Type 1 External route";
            }
            enum "mgmt-r-type-extern2" {
              value 16;
              description
                "Type 2 External route";
            }
            enum "mgmt-r-type-isis-sum" {
              value 32;
              description "IS-IS summary route";
            }
            enum "mgmt-r-type-isis-l1" {
              value 64;
              description "IS-IS level 1 route";
            }
            enum "mgmt-r-type-isis-l2" {
              value 128;
              description "IS-IS level 2 route";
            }
            enum "mgmt-r-type-isis-l1-ia" {
              value 256;
              description
                "IS-IS level 1 inter-area route";
            }
            enum "mgmt-r-type-bgp-int" {
              value 512;
              description "iBGP route";
            }
            enum "mgmt-r-type-bgp-ext" {
              value 1024;
              description "eBGP route";
            }
            enum "mgmt-r-type-bgp-loc" {
              value 2048;
              description "BGP local route";
            }
            enum "mgmt-r-type-nssa1" {
              value 4096;
              description "Type 1 NSSA route";
            }
            enum "mgmt-r-type-nssa2" {
              value 8192;
              description "Type 2 NSSA route";
            }
            enum "mgmt-r-type-i-grp2-int" {
              value 16384;
              description "EIGRP internal route";
            }
            enum "mgmt-r-type-i-grp2-ext" {
              value 32768;
              description "EIGRP external route";
            }
          }
          description "Ospf route";
        }
    
        typedef Nsf-rtr {
          type enumeration {
            enum "mgmt-nsf-rtr-none" {
              value 0;
              description "None";
            }
            enum "mgmt-nsf-rtr-requester" {
              value 1;
              description "Requester";
            }
            enum "mgmt-nsf-rtr-receiver" {
              value 2;
              description "Receiver";
            }
          }
          description "Nsf rtr";
        }
    
        typedef Interface {
          type enumeration {
            enum "mgmt-if-broadcast" {
              value 1;
              description "Broadcast";
            }
            enum "mgmt-if-nonbroadcast" {
              value 2;
              description
                "Non broadcast multi access";
            }
            enum "mgmt-if-point-to-point" {
              value 3;
              description "Point to Point";
            }
            enum "mgmt-if-point-to-m-point" {
              value 4;
              description "Point to multipoint";
            }
            enum "mgmt-if-p2mp-non-bcast" {
              value 5;
              description
                "Non broadcast point to multipoint";
            }
            enum "mgmt-if-virtual-link" {
              value 6;
              description "Virtual link";
            }
            enum "mgmt-if-sham-link" {
              value 7;
              description "Sham link";
            }
            enum "mgmt-if-loop-back" {
              value 8;
              description "Loopback";
            }
          }
          description "Interface";
        }
    
        typedef Dr-bdr-state {
          type enumeration {
            enum "mgmt-dbdr-none" {
              value 0;
              description "None";
            }
            enum "mgmt-dbdr-dr" {
              value 1;
              description "Designated Router";
            }
            enum "mgmt-dbdr-bdr" {
              value 2;
              description
                "Backup Designated Router";
            }
            enum "mgmt-dbdr-dr-other" {
              value 3;
              description
                "Designated Router Other";
            }
          }
          description "Dr bdr state";
        }
    
        typedef Neighbor-state {
          type enumeration {
            enum "mgmt-nbr-down" {
              value 0;
              description "Down";
            }
            enum "mgmt-nbr-attempt" {
              value 1;
              description "Attempt";
            }
            enum "mgmt-nbr-init" {
              value 2;
              description "Init";
            }
            enum "mgmt-nbr-2way" {
              value 3;
              description "2 Way";
            }
            enum "mgmt-nbr-ex-start" {
              value 4;
              description "Exstart";
            }
            enum "mgmt-nbr-ex-change" {
              value 5;
              description "Exchange";
            }
            enum "mgmt-nbr-load-ing" {
              value 6;
              description "Loading";
            }
            enum "mgmt-nbr-full" {
              value 7;
              description "Full";
            }
            enum "mgmt-nbr-sc-virtual" {
              value 8;
              description "SCvirtual";
            }
          }
          description "Neighbor state";
        }
    
        typedef Mpls-te-opt-tlv {
          type enumeration {
            enum "mpls-te-opt-tlv-type-none" {
              value 0;
              description "None";
            }
            enum "mpls-te-opt-tlv-type-srlg" {
              value 1;
              description "SRLGs";
            }
            enum "mpls-te-opt-tlv-type-bc" {
              value 2;
              description
                "Bandwidth Constraints";
            }
            enum "mpls-te-opt-tlv-type-ixcd" {
              value 3;
              description
                "Intarface Switching Capability Descriptor";
            }
            enum
              "mpls-te-opt-tlv-type-uni-delay" {
              value 4;
              description
                "Unidirectional Link Delay";
            }
          }
          description "Mpls te opt tlv";
        }
    
        typedef Igpte-lib-bw-model {
          type enumeration {
            enum "rdm" {
              value 0;
              description "Russian Dolls Model";
            }
            enum "mam" {
              value 1;
              description
                "Maximum Allocation Model";
            }
            enum "not-set" {
              value 2;
              description "No model set";
            }
          }
          description "Bandwidth model";
        }
    
        typedef Link-subnet {
          type enumeration {
            enum "mgmt-igp-subnet-type-none" {
              value 0;
              description "None";
            }
            enum "mgmt-igp-subnet-type-p2p" {
              value 1;
              description "Point to Point";
            }
            enum
              "mgmt-igp-subnet-type-broadcast" {
              value 2;
              description "Broadcast";
            }
            enum "mgmt-igp-subnet-type-nbma" {
              value 3;
              description
                "Non Broadcast Multi Access";
            }
            enum "mgmt-igp-subnet-type-p2mp" {
              value 4;
              description "Point to multipoint";
            }
            enum
              "mgmt-igp-subnet-type-loop-back" {
              value 5;
              description "Loopback";
            }
            enum "mgmt-igp-subnet-type-max" {
              value 6;
              description "Unsupported";
            }
          }
          description "Link subnet";
        }
    
        typedef Ospf-sr-endp-res-fail-reason {
          type enumeration {
            enum "ospf-se-res-fail-none" {
              value 0;
              description "None";
            }
            enum "ospf-se-res-fail-no-route" {
              value 1;
              description "No route";
            }
            enum
              "ospf-se-res-fail-inv-route-type" {
              value 2;
              description
                "Route type is not valid";
            }
            enum
              "ospf-se-res-fail-default-route" {
              value 3;
              description
                "Default route not used";
            }
            enum
              "ospf-se-res-fail-intra-multi-home-d" {
              value 4;
              description
                "Multihomed intra prefix";
            }
            enum "ospf-se-res-fail-no-path" {
              value 5;
              description "No path found";
            }
            enum "ospf-se-res-fail-no-epl" {
              value 6;
              description "No EPL found";
            }
            enum
              "ospf-se-res-fail-area-not-sr-enable" {
              value 7;
              description "Area not SR enabled";
            }
            enum
              "ospf-se-res-fail-epl-multi-home-d" {
              value 8;
              description
                "Multihomed EPL origin";
            }
            enum "ospf-se-res-fail-no-n-bit-epl" {
              value 9;
              description
                "No EPL with N-bit found";
            }
            enum
              "ospf-se-res-fail-no-na-bit-epl" {
              value 10;
              description
                "No EPL with NA-bit found";
            }
            enum
              "ospf-se-res-fail-area-mismatch" {
              value 11;
              description "Area mismatch";
            }
            enum "ospf-se-res-fail-rid-mismatch" {
              value 12;
              description "Router ID mismatch";
            }
          }
          description
            "Ospf sr endp res fail reason";
        }
    
        typedef Ospf-sr-pol-metric-mode {
          type enumeration {
            enum "mgmt-ospf-metric-mode-none" {
              value 0;
              description "Metric Mode None";
            }
            enum
              "mgmt-ospf-metric-mode-relative" {
              value 1;
              description "Relative Metric";
            }
            enum
              "mgmt-ospf-metric-mode-constant" {
              value 3;
              description "Constant Metric";
            }
            enum
              "mgmt-ospf-metric-mode-absolute" {
              value 4;
              description "Absolute Metric";
            }
          }
          description "Ospf sr pol metric mode";
        }
    
        typedef Lsa {
          type enumeration {
            enum "mgmt-lsa-type-rtr" {
              value 1;
              description "Router LSA";
            }
            enum "mgmt-lsa-type-net" {
              value 2;
              description "Network LSA";
            }
            enum "mgmt-lsa-type-sum-net" {
              value 3;
              description "Summary LSA";
            }
            enum "mgmt-lsa-type-sum-asb" {
              value 4;
              description "Summary-ASBR LSA";
            }
            enum "mgmt-lsa-type-ext" {
              value 5;
              description "AS external LSA";
            }
            enum "mgmt-lsa-type-mospf" {
              value 6;
              description "MOSPF LSA";
            }
            enum "mgmt-lsa-type-7-ase" {
              value 7;
              description "Type-7 External LSA";
            }
            enum "mgmt-lsa-type-8-ignore" {
              value 8;
              description "Invalid type";
            }
            enum "mgmt-lsa-type-opq-link" {
              value 9;
              description "Opaque link LSA";
            }
            enum "mgmt-lsa-type-opq-area" {
              value 10;
              description "Opaque Area LSA";
            }
            enum "mgmt-lsa-type-opq-as" {
              value 11;
              description "Opaque AS LSA";
            }
          }
          description "Lsa";
        }
    
        grouping OSPF-SH-WSRLG {
          description "OSPF SRLG details";
          leaf name {
            type string;
            description "SRLG Name";
          }
    
          leaf value {
            type uint32;
            description "SRLG Value";
          }
    
          leaf admin-weight {
            type uint32;
            description
              "Weight used for this SRLG";
          }
    
          leaf admin-weight-set {
            type boolean;
            description
              "Whether weight is set for this SRLG";
          }
    
          leaf value-set {
            type boolean;
            description
              "Whether value is set for this SRLG";
          }
    
          leaf ospf-config {
            type boolean;
            description
              "Whether OSPF configuration is present for this
             SRLG";
          }
    
          leaf global-config {
            type boolean;
            description
              "Whether global configuration is present for this
             SRLG";
          }
        }  // grouping OSPF-SH-WSRLG
    
        grouping OSPF-SH-IPFRR-TOPO-ENTRY {
          description
            "OSPF_IPFRR Topology Entry";
          leaf node-id {
            type inet:ipv4-address;
            description "IPFRR Topology Node ID";
          }
    
          leaf distance {
            type uint32;
            description
              "IPFRR Topology Distance";
          }
    
          leaf distance-reverse {
            type uint32;
            description
              "IPFRR Topology Reverse Distance";
          }
    
          leaf type4 {
            type boolean;
            description
              "IPFRR Topoogy Type-4 entry";
          }
    
          leaf revision {
            type uint32;
            description
              "IPFRR Topology Revision";
          }
    
          leaf neighbor-sourced {
            type boolean;
            description
              "IPFRR Topology Neighbor Sourced";
          }
    
          leaf dr {
            type boolean;
            description
              "IPFRR Topology DR entry";
          }
    
          leaf poison {
            type boolean;
            description
              "IPFRR Topology rSPT poison";
          }
        }  // grouping OSPF-SH-IPFRR-TOPO-ENTRY
    
        grouping OSPF-SH-IPFRR-TOPO {
          description
            "OSPF IPFRR Topology Information";
          leaf ipfrr-topo-area-id {
            type string {
              length "0..16";
            }
            description
              "Area ID string in decimal or dotted decimal
             format";
          }
    
          leaf ipfrr-local-router-id {
            type inet:ipv4-address;
            description
              "OSPF Local Node Router ID";
          }
    
          leaf ipfrr-area-revision {
            type uint32;
            description
              "IPFRR Topology Revision";
          }
    
          list ipfrr-topo {
            description "IPFRR Topology entries";
            uses OSPF-SH-IPFRR-TOPO-ENTRY;
          }  // list ipfrr-topo
        }  // grouping OSPF-SH-IPFRR-TOPO
    
        grouping OSPF-SH-STATS-AGGT {
          description "OSPF SH STATS AGGT";
          leaf num-nbrs {
            type uint32;
            description "Count of neighbors";
          }
    
          leaf num-nbrs-up {
            type uint32;
            description
              "Count of neighbors that are UP";
          }
    
          leaf num-interfaces {
            type uint32;
            description "Count of interfaces";
          }
    
          leaf num-interfaces-up {
            type uint32;
            description
              "Count of interfaces that are UP";
          }
    
          leaf num-virtual-intfaces-up {
            type uint32;
            description
              "Count of virtual interfaces that are UP";
          }
    
          leaf num-shamlink-interfaces-up {
            type uint32;
            description
              "Count of shamlinks that are UP";
          }
    
          leaf num-areas {
            type uint32;
            description "Count of areas";
          }
    
          leaf num-router-lsas {
            type uint32;
            description "Count of Router LSAs";
          }
    
          leaf num-network-lsas {
            type uint32;
            description "Count of Network LSAs";
          }
    
          leaf num-network-summary-lsas {
            type uint32;
            description
              "Count of Network Summary LSAs";
          }
    
          leaf num-asbr-summary-lsas {
            type uint32;
            description
              "Count of ASBR Summary LSAs";
          }
    
          leaf num-as-external-lsas {
            type uint32;
            description
              "Count of AS External LSAs";
          }
    
          leaf num-mospf-lsas {
            type uint32;
            description "Count of MOSPF LSAs";
          }
    
          leaf num-nssa-external-lsas {
            type uint32;
            description
              "Count of NSSA External LSAs";
          }
    
          leaf num-ignored-type8-lsas {
            type uint32;
            description
              "Count of ignored Type 8 LSAs";
          }
    
          leaf num-opaque-link-lsas {
            type uint32;
            description
              "Count of Opaque link-scoped LSAs";
          }
    
          leaf num-opaque-area-lsas {
            type uint32;
            description
              "Count of Opaque area-scoped LSAs";
          }
    
          leaf num-opaque-as-lsas {
            type uint32;
            description
              "Count of Opaque AS-scoped LSAs";
          }
        }  // grouping OSPF-SH-STATS-AGGT
    
        grouping OSPF-SH-SUMMARY-ADDRESS {
          description "OSPF Summary Address";
          leaf summary-prefix {
            type inet:ipv4-address;
            description "Ipv4 Summary prefix";
          }
    
          leaf summary-mask {
            type inet:ipv4-address;
            description
              "subnet mask of Summary prefix";
          }
    
          leaf summary-metric {
            type uint32;
            description "Cost of Summary";
          }
    
          leaf summary-metric-type {
            type Ex-metric;
            description "Type of Metric";
          }
    
          leaf summary-tag {
            type uint32;
            description
              "Tag associated with this summary prefix";
          }
        }  // grouping OSPF-SH-SUMMARY-ADDRESS
    
        grouping OSPF-SH-DB-AS-SUM {
          description
            "OSPF AS Scope LSA Database Summary counters";
          list as-lsa-counter {
            description
              "Summary counter for AS scope LSAs";
            uses OSPF-SH-DB-SUM-CNTR;
          }  // list as-lsa-counter
        }  // grouping OSPF-SH-DB-AS-SUM
    
        grouping OSPF-SH-DB-SUM-CNTR {
          description
            "OSPF Summary counters for a type";
          leaf lsa-type {
            type Lsa;
            description "Type of LSAs";
          }
    
          leaf lsa-count {
            type int32;
            description
              "Number of LSAs of this type";
          }
    
          leaf lsa-delete-count {
            type int32;
            description
              "Number of deleted LSAs of this type";
          }
    
          leaf lsa-maxage-count {
            type int32;
            description
              "Number of MaxAged LSAs of this type";
          }
    
          leaf lsa-self-count {
            type int32;
            description
              "Number of self-generated LSAs";
          }
        }  // grouping OSPF-SH-DB-SUM-CNTR
    
        grouping OSPF-SH-DB-AREA-SUM {
          description
            "OSPF Area Scope Database Summary counters";
          leaf dbase-sum-area-id-string {
            type string {
              length "0..16";
            }
            description "Area id";
          }
    
          list area-lsa-counter {
            description
              "Summary counters for Area scope LSAs";
            uses OSPF-SH-DB-SUM-CNTR;
          }  // list area-lsa-counter
        }  // grouping OSPF-SH-DB-AREA-SUM
    
        grouping OSPF-SH-DATABASE {
          description
            "OSPF Database Information";
          container lsa-header {
            description "LSA header information";
            uses OSPF-SH-DB-HEADER;
          }  // container lsa-header
    
          leaf external-tag {
            type uint32;
            description "Route Tag";
          }
    
          leaf link-count {
            type uint16;
            description "Number of links";
          }
        }  // grouping OSPF-SH-DATABASE
    
        grouping OSPF-SH-LSA-OPQ-ELL {
          description
            "OSPF Opaque-area type 8 ExtendedLink LSA
           Information";
          list tlv {
            description "List of TLVs";
            uses OSPF-SH-OPQ-TLV;
          }  // list tlv
        }  // grouping OSPF-SH-LSA-OPQ-ELL
    
        grouping OSPF-SH-LSA-OPQ-EPL {
          description
            "OSPF Opaque-area type 128 ExtendedPrefix LSA
           Information";
          list tlv {
            description "List of TLVs";
            uses OSPF-SH-OPQ-TLV;
          }  // list tlv
        }  // grouping OSPF-SH-LSA-OPQ-EPL
    
        grouping OSPF-SH-OPQ-RI-HOSTNAME {
          description "OSPF Hostname";
          leaf router-host-name {
            type string {
              length "0..256";
            }
            description "Hostname string";
          }
        }  // grouping OSPF-SH-OPQ-RI-HOSTNAME
    
        grouping OSPF-SH-SR-FAD-UNKNOWN-STLV {
          description "OSPF FAD Unknown SubTLV";
          leaf fad-sub-tlv-length {
            type uint16;
            description "Length of sub-TLV";
          }
    
          list fad-unknown-data {
            description "FAD unknown TLV data";
            leaf entry {
              type uint8;
              description "FAD unknown TLV data";
            }
          }  // list fad-unknown-data
        }  // grouping OSPF-SH-SR-FAD-UNKNOWN-STLV
    
        grouping OSPF-SH-SR-FAD-AG-STLV {
          description "OSPF FAD SubTLV";
          leaf fad-sub-tlv-length {
            type uint16;
            description "Length of sub-TLV";
          }
    
          list fad-admin-group {
            description "FAD Admin Group";
            leaf entry {
              type uint32;
              description "FAD Admin Group";
            }
          }  // list fad-admin-group
        }  // grouping OSPF-SH-SR-FAD-AG-STLV
    
        grouping OSPF-SH-OPQ-RI-FAD-TLV {
          description "OSPF FAD TLV";
          container exclude-attribute {
            description "Exclude sub-TLV";
            uses OSPF-SH-SR-FAD-AG-STLV;
          }  // container exclude-attribute
    
          container include-any-attribute {
            description "Include any sub-TLV";
            uses OSPF-SH-SR-FAD-AG-STLV;
          }  // container include-any-attribute
    
          container include-all-attribute {
            description "Include all sub-TLV";
            uses OSPF-SH-SR-FAD-AG-STLV;
          }  // container include-all-attribute
    
          container fad-unsupported-tlv {
            description
              "Felx Algo unsupported TLV";
            uses OSPF-SH-SR-FAD-UNKNOWN-STLV;
          }  // container fad-unsupported-tlv
    
          leaf fad-length {
            type uint16;
            description "Length of TLV";
          }
    
          leaf fad-algo {
            type uint8;
            description "Flex ALgo number";
          }
    
          leaf fad-metric-type {
            type uint8;
            description "Flex Algo Metric Type";
          }
    
          leaf fad-algo-type {
            type uint8;
            description "Flex Algo Calc type";
          }
    
          leaf fad-priority {
            type uint8;
            description "Flex Algo Priority";
          }
    
          leaf fad-unsupported-tlv-type {
            type uint8;
            description
              "Flex Algo unsupported TLV type";
          }
        }  // grouping OSPF-SH-OPQ-RI-FAD-TLV
    
        grouping OSPF-SH-OPQ-RI-SRLB-TLV {
          description "OSPF SRLB TLV";
          container sidtlv {
            description "SID sub-TLV";
            uses OSPF-SH-SR-SID-STLV;
          }  // container sidtlv
    
          leaf srlbtlv-length {
            type uint16;
            description "Length of TLV";
          }
    
          leaf srlb-range-size {
            type uint32;
            description "SRLB Range Size";
          }
        }  // grouping OSPF-SH-OPQ-RI-SRLB-TLV
    
        grouping OSPF-SH-OPQ-RI-MSD-SUBTYPE {
          description "OSPF MSD Subtype";
          leaf msd-sub-type {
            type uint8;
            description "MSD SubType";
          }
    
          leaf msd-value {
            type uint8;
            description "MSD Value";
          }
        }  // grouping OSPF-SH-OPQ-RI-MSD-SUBTYPE
    
        grouping OSPF-SH-OPQ-RI-NODE-MSD-TLV {
          description "OSPF Node MSD TLV";
          container node-msd-sub-types {
            description "Node MSD Subtypes";
            uses OSPF-SH-OPQ-RI-MSD-SUBTYPE;
          }  // container node-msd-sub-types
    
          leaf node-msdtlv-length {
            type uint16;
            description "Length of TLV";
          }
        }  // grouping OSPF-SH-OPQ-RI-NODE-MSD-TLV
    
        grouping OSPF-SH-SR-SID-STLV {
          description
            "OSPF PCE-Discovery PCE Scope SubTLV";
          leaf sr-sid-length {
            type uint16;
            description "Length of sub-TLV";
          }
    
          leaf sr-sid-value {
            type uint32;
            description "SID Value";
          }
        }  // grouping OSPF-SH-SR-SID-STLV
    
        grouping OSPF-SH-OPQ-RI-SR-RANGE-TLV {
          description "OSPF SR Range TLV";
          container sidtlv {
            description "SID sub-TLV";
            uses OSPF-SH-SR-SID-STLV;
          }  // container sidtlv
    
          leaf sr-range-length {
            type uint16;
            description "Length of TLV";
          }
    
          leaf sr-range-size {
            type uint32;
            description "SR Range Size";
          }
        }  // grouping OSPF-SH-OPQ-RI-SR-RANGE-TLV
    
        grouping OSPF-SH-OPQ-RI-SR-ALGO-TLV {
          description "OSPF SR Algorithm TLV";
          list sr-algo-value {
            description "SR Algorithms";
            leaf entry {
              type uint8;
              description "SR Algorithms";
            }
          }  // list sr-algo-value
        }  // grouping OSPF-SH-OPQ-RI-SR-ALGO-TLV
    
        grouping OSPF-SH-OPQ-RI-PCED-SCOPE-STLV {
          description
            "OSPF PCE-Discovery PCE Scope SubTLV";
          leaf lbit {
            type boolean;
            description "L Bit";
          }
    
          leaf rbit {
            type boolean;
            description "R Bit";
          }
    
          leaf rd-bit {
            type boolean;
            description "Rd Bit";
          }
    
          leaf sbit {
            type boolean;
            description "S Bit";
          }
    
          leaf sd-bit {
            type boolean;
            description "Sd Bit";
          }
    
          leaf ybit {
            type boolean;
            description "Y Bit";
          }
    
          leaf pref-l {
            type uint8;
            description "Pref L";
          }
    
          leaf pref-r {
            type uint8;
            description "Pref R";
          }
    
          leaf pref-s {
            type uint8;
            description "Pref S";
          }
    
          leaf pref-y {
            type uint8;
            description "Pref Y";
          }
    
          leaf all-scope-info-bits {
            type uint32;
            description "PCE Scope Information";
          }
        }  // grouping OSPF-SH-OPQ-RI-PCED-SCOPE-STLV
    
        grouping OSPF-SH-OPQ-RI-PCE-IPV6-ADDR-STLV {
          description "PCE IPv6 Address SubTLV";
          leaf pceipv6-addr {
            type inet:ipv6-address;
            description "PCE IPv6 Address";
          }
        }  // grouping OSPF-SH-OPQ-RI-PCE-IPV6-ADDR-STLV
    
        grouping OSPF-SH-OPQ-RI-PCE-IPV4-ADDR-STLV {
          description "PCE IPv4 Address SubTLV";
          leaf pceipv4-addr {
            type inet:ipv4-address;
            description "PCE IPv4 Address";
          }
        }  // grouping OSPF-SH-OPQ-RI-PCE-IPV4-ADDR-STLV
    
        grouping OSPF-SH-OPQ-RI-PCE-ADDR-STLVS-UNION {
          description "OSPF PCE Address SubTLVs";
          container pce-addr-unknown-tlv {
            when
              "../pce-addr-type = 'mgmt-ospf-opq-pce-addr-type-invalid'" {
              description
                "../PCEAddrType =
               'MGMT_OSPF_OPQ_PCE_ADDR_TYPE_INVALID'";
            }
            description "Unknown PCE Addr TLV";
            uses OSPF-SH-OPQ-RI-UNKNOWN-TLV;
          }  // container pce-addr-unknown-tlv
    
          container ipv4pce-addr {
            when
              "../pce-addr-type = 'mgmt-ospf-opq-pce-addr-type-ipv4'" {
              description
                "../PCEAddrType =
               'MGMT_OSPF_OPQ_PCE_ADDR_TYPE_IPV4'";
            }
            description "IPv4 PCE Address";
            uses OSPF-SH-OPQ-RI-PCE-IPV4-ADDR-STLV;
          }  // container ipv4pce-addr
    
          container ipv6pce-addr {
            when
              "../pce-addr-type = 'mgmt-ospf-opq-pce-addr-type-ipv6'" {
              description
                "../PCEAddrType =
               'MGMT_OSPF_OPQ_PCE_ADDR_TYPE_IPV6'";
            }
            description "IPv6 PCE Address";
            uses OSPF-SH-OPQ-RI-PCE-IPV6-ADDR-STLV;
          }  // container ipv6pce-addr
    
          leaf pce-addr-type {
            type Ospf-sh-opq-ri-pce-addr-types;
            description "PCEAddrType";
          }
        }  // grouping OSPF-SH-OPQ-RI-PCE-ADDR-STLVS-UNION
    
        grouping OSPF-SH-OPQ-RI-PCED-TLV {
          description "OSPF PCE Discovery TLV";
          container pced-addr {
            description "PCE Address";
            uses OSPF-SH-OPQ-RI-PCE-ADDR-STLVS-UNION;
          }  // container pced-addr
    
          container pced-scope {
            description "PCE Scope Information";
            uses OSPF-SH-OPQ-RI-PCED-SCOPE-STLV;
          }  // container pced-scope
    
          leaf pcedtlv-length {
            type uint16;
            description "Length of TLV";
          }
        }  // grouping OSPF-SH-OPQ-RI-PCED-TLV
    
        grouping OSPF-SH-OPQ-RI-RTRCAP-TLV {
          description
            "OSPF Router Capabilities TLV";
          leaf rtr-cap-tlv-length {
            type uint16;
            description "Length of TLV";
          }
    
          leaf rtr-cap-graceful-restart {
            type boolean;
            description
              "Graceful Restart Capability";
          }
    
          leaf rtr-cap-graceful-restart-helper {
            type boolean;
            description
              "Graceful Restart Helper Capability";
          }
    
          leaf rtr-cap-stub-rtr {
            type boolean;
            description "Stub Router capability";
          }
    
          leaf rtr-cap-area-te {
            type boolean;
            description
              "Traffic Engineering capability of area";
          }
    
          leaf rtr-cap-p2plan {
            type boolean;
            description "P2P LAN Capability";
          }
    
          leaf rtr-cap-te-exp {
            type boolean;
            description "TE Experimental bit";
          }
    
          leaf rtr-cap-all-bits {
            type uint32;
            description "All capability bits";
          }
    
          leaf rtr-cap-additional-info {
            type yang:hex-string;
            description
              "Additional Information in TLV";
          }
        }  // grouping OSPF-SH-OPQ-RI-RTRCAP-TLV
    
        grouping OSPF-SH-OPQ-RI-UNKNOWN-TLV {
          description
            "OSPF Opaque Router Information TLV";
          leaf ri-gen-tlv-type {
            type uint16;
            description "Type of TLV";
          }
    
          leaf ri-gen-tlv-length {
            type uint16;
            description "Length of TLV";
          }
    
          leaf ri-genvalue {
            type yang:hex-string;
            description "Data in TLV";
          }
        }  // grouping OSPF-SH-OPQ-RI-UNKNOWN-TLV
    
        grouping OSPF-SH-OPQ-RI-TLVS-UNION {
          description
            "OSPF Router Information TLVs";
          container unknown-tlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-unknown'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_UNKNOWN'";
            }
            description "Unknown Rtr Info TLV";
            uses OSPF-SH-OPQ-RI-UNKNOWN-TLV;
          }  // container unknown-tlv
    
          container rtr-cap-tlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-rtrcap'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_RTRCAP'";
            }
            description "Rtr Cap TLV";
            uses OSPF-SH-OPQ-RI-RTRCAP-TLV;
          }  // container rtr-cap-tlv
    
          container pcedtlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-pce-discovery'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_PCEDISCOVERY'";
            }
            description "PCE Discovery TLV";
            uses OSPF-SH-OPQ-RI-PCED-TLV;
          }  // container pcedtlv
    
          container sr-algo-tlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-sr-algo'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_SR_ALGO'";
            }
            description "SR Algorithm TLV";
            uses OSPF-SH-OPQ-RI-SR-ALGO-TLV;
          }  // container sr-algo-tlv
    
          container sr-range-tlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-sr-range'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_SR_RANGE'";
            }
            description "SR Range TLV";
            uses OSPF-SH-OPQ-RI-SR-RANGE-TLV;
          }  // container sr-range-tlv
    
          container node-msdtlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-node-msd'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_NODE_MSD'";
            }
            description "Node MSD TLV";
            uses OSPF-SH-OPQ-RI-NODE-MSD-TLV;
          }  // container node-msdtlv
    
          container srlbtlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-srlb'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_SRLB'";
            }
            description "SRLB Range TLV";
            uses OSPF-SH-OPQ-RI-SRLB-TLV;
          }  // container srlbtlv
    
          container fadlv {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-fad'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_FAD'";
            }
            description "FAD TLV";
            uses OSPF-SH-OPQ-RI-FAD-TLV;
          }  // container fadlv
    
          container host-name {
            when
              "../ritlv-internal-type = 'mgmt-ospf-opq-ri-tlv-type-host-name'" {
              description
                "../RITLVInternalType =
               'MGMT_OSPF_OPQ_RI_TLV_TYPE_HOSTNAME'";
            }
            description "Hostname string ";
            uses OSPF-SH-OPQ-RI-HOSTNAME;
          }  // container host-name
    
          leaf ritlv-internal-type {
            type Ospf-sh-opq-ri-tlv-types;
            description "RITLVInternalType";
          }
        }  // grouping OSPF-SH-OPQ-RI-TLVS-UNION
    
        grouping OSPF-SH-LSA-OPQ-RI {
          description
            "OSPF Router Information LSA";
          leaf opaque-rilsa-scope {
            type Ospf-lsa-opq-ri-scope;
            description
              "Opaque LSA flooding scope, a.k.a., Opaque LSA
             Type";
          }
    
          leaf opaque-ri-interface-name {
            type xr:Interface-name;
            description
              "Interface on which this Link-Local Opaque link
             LSA is received";
          }
    
          list opaque-ritlv {
            description "Router Information TLV";
            uses OSPF-SH-OPQ-RI-TLVS-UNION;
          }  // list opaque-ritlv
        }  // grouping OSPF-SH-LSA-OPQ-RI
    
        grouping OSPF-SH-LSA-OPQ-GRACE {
          description
            "OSPF Opaque-link type 3 grace LSA Information";
          leaf grace-period {
            type uint32;
            description
              "The amount of time the router's neighbor should
             advertise it fully adjacent (s)";
          }
    
          leaf grace-reason {
            type Ospf-gr-reason;
            description
              "Reason for router restart";
          }
    
          leaf ip-address {
            type inet:ipv4-address;
            description
              "IP interface address on the subnet associated
             with the grace LSA";
          }
        }  // grouping OSPF-SH-LSA-OPQ-GRACE
    
        grouping OSPF-SH-OPQ-SUBTLV {
          description
            "OSPF Opaque LSA Sub-TLV Information";
          leaf sub-tlv-type {
            type Stlv;
            description "Type of sub TLV";
          }
    
          leaf sub-tlv-length {
            type uint16;
            description "Length of sub TLV";
          }
    
          leaf sub-tlv-value {
            type yang:hex-string;
            description "Value of sub TLV";
          }
        }  // grouping OSPF-SH-OPQ-SUBTLV
    
        grouping OSPF-SH-OPQ-TLV {
          description
            "OSPF Opaque LSA TLV Information";
          leaf tlv-type {
            type uint16;
            description "Type of top-level TLV";
          }
    
          leaf tlv-length {
            type uint16;
            description
              "Length of top-level TLV";
          }
    
          leaf mpls-router-id {
            type inet:ipv4-address;
            description "MPLS-TE Router ID";
          }
    
          leaf mpls-dste-link {
            type boolean;
            description "MPLS DS-TE supported";
          }
    
          leaf tlv-data {
            type yang:hex-string;
            description "TLV direct data";
          }
    
          list te-link-sub-tlv {
            description "List of Sub-TLVs";
            uses OSPF-SH-OPQ-SUBTLV;
          }  // list te-link-sub-tlv
        }  // grouping OSPF-SH-OPQ-TLV
    
        grouping OSPF-SH-LSA-OPQ-RRR {
          description
            "OSPF Opaque-area type 1 MPLS-TE LSA Information";
          list tlv {
            description "List of TLVs";
            uses OSPF-SH-OPQ-TLV;
          }  // list tlv
        }  // grouping OSPF-SH-LSA-OPQ-RRR
    
        grouping OSPF-SH-LSA-OPQ-LINK {
          description
            "OSPF Opaque-link LSA Information";
          leaf opaque-interface-name {
            type xr:Interface-name;
            description
              "Interface on which the Opaque link LSA is
             received";
          }
        }  // grouping OSPF-SH-LSA-OPQ-LINK
    
        grouping OSPF-SH-LSA-EX-TOS {
          description
            "OSPF External Type of service specific
           Information";
          leaf external-metric {
            type uint32;
            description "Cost of this route";
          }
    
          leaf external-metric-type {
            type Ex-metric;
            description
              "External LSA metric type - whether type 1 or
             type 2";
          }
    
          leaf external-tos {
            type uint32;
            description "Type of Service";
          }
    
          leaf forwarding-address {
            type inet:ipv4-address;
            description
              "Forwarding Address on the External LSA";
          }
    
          leaf external-tag {
            type uint32;
            description "Route Tag";
          }
        }  // grouping OSPF-SH-LSA-EX-TOS
    
        grouping OSPF-SH-LSA-EXTERNAL {
          description "OSPF External LSA";
          leaf external-prefix-length {
            type uint32;
            description "Prefix length";
          }
    
          leaf internal-external-lsa {
            type boolean;
            description
              "If true, internal max-metric LSA";
          }
    
          list external-tos-metric {
            description
              "Type of service information";
            uses OSPF-SH-LSA-EX-TOS;
          }  // list external-tos-metric
        }  // grouping OSPF-SH-LSA-EXTERNAL
    
        grouping OSPF-SH-LSA-SUMMARY {
          description "OSPF Summary LSA";
          leaf summary-prefix-length {
            type uint32;
            description
              "Prefix length of the Summary LSA";
          }
    
          leaf internal-sum-lsa {
            type boolean;
            description
              "If true, internal max-metric LSA";
          }
    
          list summary-lsa-metric {
            description "Metric";
            leaf entry {
              type uint32;
              description "Metric";
            }
          }  // list summary-lsa-metric
        }  // grouping OSPF-SH-LSA-SUMMARY
    
        grouping OSPF-SH-LSA-NETWORK {
          description "OSPF Network LSA";
          leaf network-prefix-length {
            type uint32;
            description
              "Prefix length of the Network";
          }
    
          list neighbor-router {
            description "Neighbor router list";
            leaf entry {
              type inet:ipv4-address;
              description "Neighbor router list";
            }
          }  // list neighbor-router
        }  // grouping OSPF-SH-LSA-NETWORK
    
        grouping OSPF-SH-TOS-METRIC {
          description
            "OSPF Router LSA TOS Metric";
          leaf router-tos {
            type uint16;
            description "Type of Service";
          }
    
          leaf tos-cost {
            type uint16;
            description
              "Type of service specific metric";
          }
        }  // grouping OSPF-SH-TOS-METRIC
    
        grouping OSPF-SH-LINK {
          description "OSPF Router LSA Links";
          leaf link-id {
            type inet:ipv4-address;
            description "Link ID";
          }
    
          leaf link-data {
            type inet:ipv4-address;
            description "Link Data";
          }
    
          leaf link-type {
            type Ospf-link-types;
            description "Type of link";
          }
    
          leaf link-metric {
            type uint16;
            description
              "Cost for using this link";
          }
    
          list link-tos {
            description
              "List of type of service metrics";
            uses OSPF-SH-TOS-METRIC;
          }  // list link-tos
        }  // grouping OSPF-SH-LINK
    
        grouping OSPF-SH-LSA-ROUTER {
          description "OSPF Router LSA";
          leaf router-asbr {
            type boolean;
            description
              "If True, router is an Autonomous system Border
             Router";
          }
    
          leaf router-abr {
            type boolean;
            description
              "If True, router is an Area Border Router";
          }
    
          leaf internal-lsa {
            type boolean;
            description "If true, internal LSA";
          }
    
          list link {
            description
              "List of links in this LSA";
            uses OSPF-SH-LINK;
          }  // list link
    
          list internal-link {
            description
              "List of links for internal LSA";
            uses OSPF-SH-LINK;
          }  // list internal-link
        }  // grouping OSPF-SH-LSA-ROUTER
    
        grouping OSPF-LSA-INTERNAL-UNION {
          description
            "LSA internal information for an LSA";
          container router-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-rtr-type'" {
              description
                "../InternalLSAType = 'MGMT_RTR_TYPE'";
            }
            description "Router LSA";
            uses OSPF-SH-LSA-ROUTER;
          }  // container router-lsa-type
    
          container network-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-ntwk-type'" {
              description
                "../InternalLSAType = 'MGMT_NTWK_TYPE'";
            }
            description "Network LSA";
            uses OSPF-SH-LSA-NETWORK;
          }  // container network-lsa-type
    
          container summary-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-sum-type'" {
              description
                "../InternalLSAType = 'MGMT_SUM_TYPE'";
            }
            description "Summary LSA";
            uses OSPF-SH-LSA-SUMMARY;
          }  // container summary-lsa-type
    
          container external-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-ext-type'" {
              description
                "../InternalLSAType = 'MGMT_EXT_TYPE'";
            }
            description "External LSA";
            uses OSPF-SH-LSA-EXTERNAL;
          }  // container external-lsa-type
    
          container opaque-link-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-opq-link-type'" {
              description
                "../InternalLSAType = 'MGMT_OPQ_LINK_TYPE'";
            }
            description "Opaque-Link LSA";
            uses OSPF-SH-LSA-OPQ-LINK;
          }  // container opaque-link-lsa-type
    
          container opaque-mpls-te-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-opq-rrr-type'" {
              description
                "../InternalLSAType = 'MGMT_OPQ_RRR_TYPE'";
            }
            description
              "Opaque-Area, opaque type 1 LSA";
            uses OSPF-SH-LSA-OPQ-RRR;
          }  // container opaque-mpls-te-lsa-type
    
          container opaque-grace-lsa {
            when
              "../internal-lsa-type = 'mgmt-opq-gr-type'" {
              description
                "../InternalLSAType = 'MGMT_OPQ_GR_TYPE'";
            }
            description
              "Opaque-link, opaque type 3 Grace LSA";
            uses OSPF-SH-LSA-OPQ-GRACE;
          }  // container opaque-grace-lsa
    
          container opaque-router-info-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-opq-ri-type'" {
              description
                "../InternalLSAType = 'MGMT_OPQ_RI_TYPE'";
            }
            description
              "Opaque Router Information LSA";
            uses OSPF-SH-LSA-OPQ-RI;
          }  // container opaque-router-info-lsa-type
    
          container opaque-ep-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-opq-epl-type'" {
              description
                "../InternalLSAType = 'MGMT_OPQ_EPL_TYPE'";
            }
            description
              "Extende Prefix LSA type";
            uses OSPF-SH-LSA-OPQ-EPL;
          }  // container opaque-ep-lsa-type
    
          container opaque-el-lsa-type {
            when
              "../internal-lsa-type = 'mgmt-opq-ell-type'" {
              description
                "../InternalLSAType = 'MGMT_OPQ_ELL_TYPE'";
            }
            description "Extended Link LSA type";
            uses OSPF-SH-LSA-OPQ-ELL;
          }  // container opaque-el-lsa-type
    
          leaf internal-lsa-type {
            type Ospf-internal-lsa-types;
            description "InternalLSAType";
          }
        }  // grouping OSPF-LSA-INTERNAL-UNION
    
        grouping OSPF-SH-DB-NOT-DELETE {
          description
            "Reason why LSA is not deleted";
          leaf free-time {
            type uint32;
            description
              "The amount of time since the last check was made
             to free this LSA (s)";
          }
    
          leaf no-delete {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because delete flag not set on this LSA";
          }
    
          leaf neighbor-exchange {
            type boolean;
            description
              "If true, the reason  not to delete this LSA is
             because neighbor is in exchange state";
          }
    
          leaf routing-table {
            type boolean;
            description
              "If true, the reason  not to delete this LSA is
             because it has a contributing entry in the
             routing table";
          }
    
          leaf acknowledgement {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it's Acknowledgement list is not empty";
          }
    
          leaf maximum-age {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is in Maxage Queue";
          }
    
          leaf partial-spf {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is in partial SPF queue";
          }
    
          leaf flood-pending {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because waiting for flooding or retransmission";
          }
    
          leaf rate-limit {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because waiting for next wait-interval to expire";
          }
    
          leaf nsr-ack-pending {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because NSR ACK from standby is pending";
          }
    
          leaf sum-orig-pending {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is pending summary LSA originating";
          }
    
          leaf nsr-flood-required {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is pending flooding on switchover";
          }
    
          leaf link-state-q {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is used in Link State Q";
          }
    
          leaf used-in-uloop {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is used in uloop";
          }
    
          leaf added-in-ulooplist {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is Added in uloopdblist";
          }
    
          leaf used-as-parent {
            type boolean;
            description
              "If true, the reason not to delete this LSA is
             because it is used in parent_path_lsdb";
          }
        }  // grouping OSPF-SH-DB-NOT-DELETE
    
        grouping OSPF-SH-DB-THROTTLE-TIMER {
          description
            "OSPF LSA throttle timer table information";
          leaf timer-location {
            type Timer-table;
            description "Timer table";
          }
    
          leaf timer-type {
            type Timer;
            description
              "Timer type - whether maxage, refresh or checksum
             timer";
          }
    
          leaf second-table-index {
            type uint8;
            units "second";
            description
              "Index of the Seconds table";
          }
    
          leaf minute-table-index {
            type uint8;
            units "minute";
            description
              "Index of the Minutes table";
          }
    
          leaf last-inst-second-table-index {
            type uint8;
            units "second";
            description
              "Last Seconds table index processed";
          }
    
          leaf last-inst-minute-table-index {
            type uint8;
            units "minute";
            description
              "Last Minutes table index processed";
          }
        }  // grouping OSPF-SH-DB-THROTTLE-TIMER
    
        grouping OSPF-SH-DB-DETAIL {
          description
            "OSPF Detailed LSA Database Information";
          container lsa-throttle-timer {
            description
              "LSA throttle timer table information";
            uses OSPF-SH-DB-THROTTLE-TIMER;
          }  // container lsa-throttle-timer
    
          container lsa-last-updated-time {
            description
              "Time LSA was last updated";
            uses OSPF-SH-TIME;
          }  // container lsa-last-updated-time
    
          container lsadb-base-time-stamp {
            description "Current time stamp";
            uses OSPF-SH-TIME;
          }  // container lsadb-base-time-stamp
    
          container not-delete {
            description
              "Reason why LSA is not deleted";
            uses OSPF-SH-DB-NOT-DELETE;
          }  // container not-delete
    
          leaf tos-capable {
            type boolean;
            description
              "If true, type of service capable indicated by
             LSA's option field";
          }
    
          leaf nssa-translation {
            type boolean;
            description
              "If true,  capable of type 7 to 5 translation
             indicated by LSA's option field";
          }
    
          leaf demand-circuit {
            type boolean;
            description
              "If true, capable of demand circuit as indicated
             by LSA's option field";
          }
    
          leaf dn-bit {
            type boolean;
            description
              "if true, DN bit set on the summary LSA indicated
             by LSA's option field";
          }
    
          leaf lsa-rate-limit-due-time {
            type uint32;
            description
              "Due time for rate-limit timer (ms)";
          }
    
          leaf lsadb-base-clock {
            type uint64;
            description "Clock stamp since boot";
          }
    
          leaf routing-bit {
            type boolean;
            description
              "If true, Routing Bit set on the LSA";
          }
    
          leaf advertising-router-reachable {
            type boolean;
            description
              "If true, Advertising Router is reachable";
          }
    
          leaf length {
            type uint16;
            description "Length of the LSA";
          }
    
          leaf sum-origin {
            type uint16;
            description "Summary Origin";
          }
    
          leaf ase-origin {
            type uint16;
            description "External Origin";
          }
    
          leaf in-sync {
            type uint8;
            description
              "Not In Sync With Active";
          }
    
          leaf lsa-prefix-priority {
            type uint8;
            description
              "Current prefix priority";
          }
    
          leaf new-lsa-prefix-priority {
            type uint8;
            description
              "New prefix priority to be set after the current
             SPF";
          }
    
          leaf lsa-flood-required-post-fail-over {
            type boolean;
            description
              "LSA flood required after FO";
          }
        }  // grouping OSPF-SH-DB-DETAIL
    
        grouping OSPF-SH-DB-HEADER {
          description "OSPF LSA Database Header";
          leaf ls-type {
            type Lsa;
            description "LSA type";
          }
    
          leaf lsid {
            type inet:ipv4-address;
            description "LS ID";
          }
    
          leaf advertising-router {
            type inet:ipv4-address;
            description
              "Router ID of Advertising Router";
          }
    
          leaf lsa-area-id {
            type string {
              length "0..16";
            }
            description
              "Area ID in decimal or dotted-decimal format";
          }
    
          leaf lsa-age {
            type uint16;
            description "LSA's Age (s)";
          }
    
          leaf dn-age-lsa {
            type boolean;
            description
              "If true, Do Not Age this LSA";
          }
    
          leaf nsf {
            type boolean;
            description
              "If true,  LSA received from neighbor during NSF";
          }
    
          leaf sequence-number {
            type uint32;
            description
              "Current Sequence number";
          }
    
          leaf checksum {
            type uint16;
            description "Checksum value";
          }
        }  // grouping OSPF-SH-DB-HEADER
    
        grouping OSPF-SH-DATABASE-DETAIL {
          description
            "OSPF Database Information";
          container lsa-header {
            description "Header information";
            uses OSPF-SH-DB-HEADER;
          }  // container lsa-header
    
          container lsa-detail-data {
            description
              "Detailed LSA Information";
            uses OSPF-SH-DB-DETAIL;
          }  // container lsa-detail-data
    
          container lsa-internal-data {
            description
              "Information pertaining to a specific LSA type";
            uses OSPF-LSA-INTERNAL-UNION;
          }  // container lsa-internal-data
        }  // grouping OSPF-SH-DATABASE-DETAIL
    
        grouping OSPF-SH-SLINK-NEIGHBOR {
          description
            "Sham Link Neighbor Information";
          container sham-link-retransmissoin {
            description
              "Neighbor retransmission info";
            uses OSPF-SH-NEIGHBOR-RETRANS;
          }  // container sham-link-retransmissoin
    
          leaf sham-link-suppress-hello {
            type boolean;
            description
              "If true Hellos suppressed";
          }
    
          leaf sham-link-state {
            type Neighbor-state;
            description "Adjacency state";
          }
        }  // grouping OSPF-SH-SLINK-NEIGHBOR
    
        grouping OSPF-SH-SHAM-LINKS {
          description "OSPF Sham Link";
          container sham-link-neighbor {
            description "Neighbor information";
            uses OSPF-SH-SLINK-NEIGHBOR;
          }  // container sham-link-neighbor
    
          leaf sham-link-name-xr {
            type string;
            description "Name of the Sham link";
          }
    
          leaf sham-link-neighbor-id {
            type inet:ipv4-address;
            description
              "Neighbor on other end of this sham link";
          }
    
          leaf sham-link-source-address {
            type inet:ipv4-address;
            description "Sham-link source";
          }
    
          leaf sham-link-dest-address {
            type inet:ipv4-address;
            description "Sham-link dest";
          }
    
          leaf sham-link-state {
            type Ospf-interface-state;
            description
              "OSPF interface state for the sham link";
          }
    
          leaf sham-link-demand-circuit {
            type boolean;
            description
              "If true, the link runs as demand circuit";
          }
    
          leaf sham-link-dc-bitless-lsa {
            type uint32;
            description
              "Number of LSA's with demand circuit bit not set";
          }
    
          leaf sham-link-ifindex {
            type uint32;
            description
              "Sham-link Interface index";
          }
    
          leaf sham-link-area {
            type string;
            description "Area id";
          }
    
          leaf sham-link-cost {
            type uint16;
            description "Cost of the sham link";
          }
    
          leaf sham-link-transmission-delay {
            type uint16;
            units "second";
            description
              "Transmission delay in seconds";
          }
    
          leaf sham-link-hello-interval {
            type uint32;
            description "Hello interval (s)";
          }
    
          leaf sham-link-hello-interval-ms {
            type uint32;
            description "Hello interval (ms)";
          }
    
          leaf sham-link-dead-interval {
            type uint32;
            description "Dead interval (s)";
          }
    
          leaf sham-link-wait-interval {
            type uint32;
            description "Wait interval (s)";
          }
    
          leaf sham-link-retransmission-interval {
            type uint32;
            description
              "Retransmission interval (s)";
          }
    
          leaf sham-link-next-hello {
            type uint32;
            description
              "Time until next hello (s)";
          }
    
          leaf sham-link-next-hello-ms {
            type uint32;
            description
              "Time until next hello (ms)";
          }
    
          leaf sham-link-passive {
            type boolean;
            description
              "If true, interface is passive";
          }
    
          leaf sham-link-authentication-type {
            type Authentication;
            description "Authentication type";
          }
    
          leaf sham-link-youngest-md-key {
            type boolean;
            description
              "If true, MD key configured";
          }
    
          leaf sham-link-youngest-md-key-id {
            type uint16;
            description "Youngest MD key ID";
          }
    
          leaf sham-link-old-md-key-count {
            type uint32;
            description
              "Number of neighbors still using the old key
             (rollover in progress)";
          }
    
          leaf keychain-name {
            type string {
              length "0..255";
            }
            description
              "Sham Link Keychain Name";
          }
    
          leaf sham-link-keychain-key-conf {
            type boolean;
            description
              "If true, Keychain key is configured";
          }
    
          leaf sham-link-keychain-id {
            type uint64;
            description "Sham Link Keychain ID";
          }
    
          leaf sham-link-keychain-alg {
            type Ospf-crytographic-algo;
            description
              "Sham Link Keychain cryptographic-algorithm";
          }
    
          leaf sham-link-nsf-enabled {
            type boolean;
            description "If true, NSF enabled";
          }
    
          leaf sham-link-nsf {
            type boolean;
            description
              "If true, NSF restart in progress on the sham
             link";
          }
    
          leaf sham-link-last-nsf {
            type uint32;
            units "second";
            description
              "Time in seconds since last NSF";
          }
    
          list sham-link-md-key {
            description
              "List of old MD keys (if any)";
            leaf entry {
              type uint16;
              description
                "List of old MD keys (if any)";
            }
          }  // list sham-link-md-key
        }  // grouping OSPF-SH-SHAM-LINKS
    
        grouping OSPF-SH-DOMAIN-ID-ENTRY {
          description "OSPF Domain ID";
          leaf domain-id-type {
            type uint16;
            description "Domain ID Type";
          }
    
          leaf domain-id-value {
            type yang:hex-string;
            description "Domain ID value";
          }
        }  // grouping OSPF-SH-DOMAIN-ID-ENTRY
    
        grouping OSPF-SH-DOMAIN-ID {
          description "OSPF Domain ID entries";
          container primary-domain-id {
            description "Primary Domain ID";
            uses OSPF-SH-DOMAIN-ID-ENTRY;
          }  // container primary-domain-id
    
          list secondary-domain-id {
            description
              "List of secondary domain IDs";
            uses OSPF-SH-DOMAIN-ID-ENTRY;
          }  // list secondary-domain-id
        }  // grouping OSPF-SH-DOMAIN-ID
    
        grouping OSPF-SH-MAX-METRIC {
          description
            "OSPF Max-metric Information";
          container maximum-metric-time-unset {
            description
              "Time max-metric condition was cleared";
            uses OSPF-SH-TIME;
          }  // container maximum-metric-time-unset
    
          leaf max-metric-reason {
            type uint8;
            description
              "Reason to set Max-metric";
          }
    
          leaf max-metric-enabled {
            type boolean;
            description
              "Whether Max-metric is enabled";
          }
    
          leaf unset-maximum-metric {
            type boolean;
            description
              "If true, BGP is up, no maximum metric Router LSA";
          }
    
          leaf saved-unset-maximum-metric {
            type boolean;
            description
              "Saved UnsetMaximumMetric";
          }
    
          leaf maximum-metric-start-time {
            type uint32;
            description
              "Time remaining until we will start using normal
             metrics (s)";
          }
    
          leaf saved-startup-time {
            type uint32;
            description
              "Hold time configured (s)";
          }
    
          leaf maximum-metric-include-stubs {
            type boolean;
            description
              "If true, set max-metric in stub links";
          }
    
          leaf maximum-metric-summary-lsa {
            type boolean;
            description
              "If true, advertise max-metric in summary-LSAs";
          }
    
          leaf maximum-metric-summary-lsa-metric {
            type uint32;
            description
              "Max-metric value to advertise in summary-LSAs";
          }
    
          leaf maximum-metric-external-lsa {
            type boolean;
            description
              "If true, advertise max-metric in external-LSAs";
          }
    
          leaf maximum-metric-external-lsa-metric {
            type uint32;
            description
              "Max-metric value to advertise in external-LSAs";
          }
    
          leaf maximum-metric-originated-for {
            type uint32;
            description
              "Time max-metric was used for";
          }
    
          leaf maximum-metric-unset-reason {
            type Max-metric-unset-reason;
            description
              "Reason to unset Max-metric";
          }
        }  // grouping OSPF-SH-MAX-METRIC
    
        grouping OSPF-SH-SUMMARY {
          description "OSPF Summary";
          container domain-id {
            description "Domain ID information";
            uses OSPF-SH-DOMAIN-ID;
          }  // container domain-id
    
          leaf vrf-active {
            type boolean;
            description
              "If true, VRF configured";
          }
    
          leaf role-standby {
            type boolean;
            description
              "If true, Role is Standby, Active otherwise";
          }
    
          leaf role {
            type uint32;
            description
              "Role, V1/V2 Active/Standby";
          }
    
          leaf nsr-enabled {
            type boolean;
            description
              "If true, NSR is enabled";
          }
    
          leaf nsr-switchover-on-restart {
            type boolean;
            description
              "Trigger RP Switchover on detectable process
             restart";
          }
    
          leaf igp-intact-on {
            type boolean;
            description
              "If true, running in IGP-Intact mode";
          }
    
          leaf router-id {
            type inet:ipv4-address;
            description "Router ID";
          }
    
          leaf tos-options {
            type uint8;
            description
              "Type of Service supported";
          }
    
          leaf opaque-capable {
            type boolean;
            description
              "Whether the OSPF instance is Opaque LSA capable";
          }
    
          leaf area-border-router {
            type boolean;
            description
              "If true, is an Area Border Router";
          }
    
          leaf as-border-router {
            type boolean;
            description
              "If true, is an AS Border Router";
          }
    
          leaf vrf-lite-enabled {
            type boolean;
            description
              "If true, vrf lite is enabled";
          }
    
          leaf capability-prefer-type7 {
            type boolean;
            description
              "If true, prefer type 7 LSAs over type 5";
          }
    
          leaf maximum-metric-start {
            type boolean;
            description
              "If true, originate Router LSA with maximum
             metric";
          }
    
          leaf maximum-metric-start-timer {
            type uint32;
            description
              "Time remaining for hold down timer (s)";
          }
    
          leaf maximum-metric-set-reason {
            type Max-metric-set-reason;
            description
              "Reason to set Max-metric";
          }
    
          leaf maximum-metric-abr-off-mode {
            type boolean;
            description
              "If true, ABR duties temporarily disabled";
          }
    
          leaf maximum-metric-abr-off-reasons {
            type Ospf-max-metric-abr-off-reasons;
            description
              "Reasons for ABR duties being temporarily
             disabled";
          }
    
          leaf maximum-metric-abr-off-buffer-time {
            type uint32;
            units "second";
            description
              "Buffer time in seconds since last neighbor
             activity, to remain in max-metric ABR off state";
          }
    
          leaf spf-start-time {
            type uint32;
            description
              "Scheduling delay for SPF (ms)";
          }
    
          leaf spf-hold-time {
            type uint32;
            description
              "Minimum delay time between SPF runs (ms)";
          }
    
          leaf spf-maximum-time {
            type uint32;
            description
              "Maximum delay time between SPF runs (ms)";
          }
    
          leaf spf-prefix-priority {
            type boolean;
            description
              "If true, prefix-priority policy is configured";
          }
    
          leaf spf-prefix-priority-route-policy {
            type string;
            description
              "Route-policy that governs SPF Prefix-priority";
          }
    
          leaf lsa-start-time {
            type int32;
            description
              "Initial LSA throttle delay (ms)";
          }
    
          leaf lsa-hold-time {
            type uint32;
            description
              "Second delay before generating next LSA (ms)";
          }
    
          leaf lsa-maximum-time {
            type uint32;
            description
              "Maximum delay before generating an LSA (ms)";
          }
    
          leaf minimum-lsa-interval {
            type uint32;
            description
              "Minimum time between LSA regeneration (ms)";
          }
    
          leaf lsa-refresh-interval {
            type uint32;
            description
              "LSA refresh interval (sec)";
          }
    
          leaf minimum-lsa-arrival-interval {
            type uint32;
            description
              "Minimum time between accepting LSAs (ms)";
          }
    
          leaf if-flood-pacing-interval {
            type uint16;
            description
              "Flood pacing timer (ms)";
          }
    
          leaf if-retrans-pacing-interval {
            type uint16;
            description
              "Retransmission pacing timer (ms)";
          }
    
          leaf adj-stag-init-num-nbr {
            type uint16;
            description
              "Num of nbrs brought up initially per area";
          }
    
          leaf adj-stag-max-num-nbr {
            type uint16;
            description
              "Max num of nbrs brought up simultaneously per
             OSPF instance";
          }
    
          leaf adj-stagger-enabled {
            type boolean;
            description
              "If true, OSPF Adjacency Staggering is configured";
          }
    
          leaf adj-stag-num-nbr-forming {
            type uint16;
            description
              "Num of nbrs currently forming for OSPF instance";
          }
    
          leaf number-nbrs-full {
            type uint16;
            description "Num of full nbrs";
          }
    
          leaf as-lsa-count {
            type uint32;
            description
              "Number of AS scope LSAs";
          }
    
          leaf as-lsa-checksum {
            type uint32;
            description
              "Sum of AS scope LSA checksum";
          }
    
          leaf opaque-lsa-count {
            type uint32;
            description "Number of Opaque LSAs";
          }
    
          leaf opaque-lsa-checksum {
            type uint32;
            description
              "Sum of opaque LSA checksum";
          }
    
          leaf as-dc-bitless-lsa-count {
            type uint32;
            description
              "Number of External and AS Opaque LSAs with
             demand circut bit not set";
          }
    
          leaf as-dna-lsa-count {
            type uint32;
            description
              "Number of External and AS Opaque LSAs with
             DoNotAge set ";
          }
    
          leaf area-count {
            type uint16;
            description "Number of areas";
          }
    
          leaf normal-area-count {
            type uint16;
            description "Number of normal Areas";
          }
    
          leaf stub-area-count {
            type uint16;
            description
              "Number of Stub and Total Stub Areas";
          }
    
          leaf nssa-area-count {
            type uint16;
            description "Number of NSSA Areas";
          }
    
          leaf maximum-interfaces {
            type uint32;
            description
              "Maximum number of interfaces";
          }
    
          leaf as-lsa-flood-list-length {
            type uint32;
            description
              "Length of AS LSAs flood list";
          }
    
          leaf nsf-enabled {
            type boolean;
            description "If true, NSF enabled";
          }
    
          leaf last-nsf-time {
            type uint32;
            description
              " Length of time since the last NSF (s)";
          }
    
          leaf nsf-time {
            type uint32;
            description
              "Total time to complete NSF (s)";
          }
    
          leaf redistribution-limit {
            type uint32;
            description
              "The number of redistributed prefixes allowed";
          }
    
          leaf redistribution-threshold {
            type uint32;
            description
              "When the number of redistributed prefixes
             reaches this threshold, a warning message is
             issued";
          }
    
          leaf redistribution-limit-warn {
            type boolean;
            description
              "If true, only a syslog message is printed when
             redistribution prefix limit is reached";
          }
    
          leaf graceful-shutdown-retention-time {
            type uint32;
            description
              "Amount of time routes are retained after
             graceful shutdown (s)";
          }
    
          leaf graceful-shutdown-state {
            type Gs-state;
            description
              "State of graceful shutdown";
          }
    
          leaf table-prefix-limit-reached {
            type boolean;
            description
              "If true, prefix limit for table has been
             reached";
          }
    
          leaf non-self-lsa-count {
            type uint32;
            description
              "Non self-generated LSA count";
          }
    
          leaf max-lsa-enabled {
            type boolean;
            description
              "If true, max-lsa protection enabled";
          }
    
          leaf max-lsa-limit {
            type uint32;
            description
              "Maximum allowed number of non self-generated
             LSAs";
          }
    
          leaf max-lsa-treshold {
            type uint32;
            description
              "max-lsa protection warning threshold";
          }
    
          leaf max-lsa-warning-only {
            type boolean;
            description
              "Warning only when max-lsa reached";
          }
    
          leaf max-lsa-ignore-time {
            type uint32;
            description
              "Time ignoring new LSAs after max-lsa reached";
          }
    
          leaf max-lsa-reset-time {
            type uint32;
            description
              "Time after which LSA protection counter is reset";
          }
    
          leaf max-lsa-ignore-limit {
            type uint32;
            description
              "Max allowed number of entering ignore state";
          }
    
          leaf max-lsa-ignore-count {
            type uint32;
            description
              "How many times ignore state has been entered";
          }
    
          leaf max-lsa-ignore-timer {
            type uint32;
            description
              "Remaining time when ignore timer is running";
          }
    
          leaf max-lsa-reset-timer {
            type uint32;
            description
              "Remaining time when reset timer is running";
          }
    
          leaf context-name {
            type string {
              length "0..32";
            }
            description "SNMP Context name";
          }
    
          leaf snmp-trap-enabled {
            type boolean;
            description
              "If true, snmp trap is enabled";
          }
    
          leaf ucmp {
            type boolean;
            description
              "If true, UCMP is enabled";
          }
    
          leaf ucmp-prefix-list {
            type string;
            description "UCMP Prefix-list";
          }
    
          leaf ucmp-variance {
            type int32;
            description "UCMP Variance";
          }
    
          leaf ucmp-delay {
            type uint32;
            description
              "Delay between end of SPF and start of UCMP
             calculation (ms)";
          }
    
          leaf microloop-avoidance-type {
            type Uloop-avoidance;
            description
              "Microloop avoidance type configured";
          }
    
          leaf microloop-avoidance-delay {
            type uint32;
            description
              "Microloop delay time after which actual
             post convergence paths are given to RIB (s)";
          }
    
          leaf microloop-avoidance-active {
            type boolean;
            description
              "If true, Uloop is active";
          }
    
          leaf microloop-avoidance-delay-expiry {
            type uint32;
            description
              "Remaining time for uloop delay timer
             to expire (s)";
          }
    
          leaf lsd-connected {
            type boolean;
            description
              "True if connected to LSD";
          }
    
          leaf lsd-registered {
            type boolean;
            description
              "True if registered with LSD";
          }
    
          leaf lsd-bound {
            type boolean;
            description "True if bound to LSD";
          }
    
          leaf lsd-connection-revision {
            type uint32;
            description
              "LSD Connection Revision";
          }
    
          leaf srgb-configured {
            type boolean;
            description
              "True if Segment Routing Global Block configured";
          }
    
          leaf srgb-start {
            type uint32;
            description
              "Segment Routing Global Block start label value";
          }
    
          leaf srgb-end {
            type uint32;
            description
              "Segment Routing Global Block end label value";
          }
    
          leaf srgb-status {
            type Ospf-srgb-status;
            description
              "Segment Routing Global Block allocation status";
          }
    
          leaf sr-strict-spf-cap {
            type boolean;
            description
              "True if Segment Routing Strict-SPF capable";
          }
    
          leaf srlb-start {
            type uint32;
            description
              "Segment Routing Local Block start label value";
          }
    
          leaf srlb-end {
            type uint32;
            description
              "Segment Routing Local Block end label value";
          }
    
          leaf srlb-status {
            type Ospf-srlb-status;
            description
              "Segment Routing Local Block allocation status";
          }
    
          leaf spf-suspended {
            type boolean;
            description
              "If true, SPF is currently suspended";
          }
    
          list maximum-metric {
            description "Max-metric list";
            uses OSPF-SH-MAX-METRIC;
          }  // list maximum-metric
    
          list redistribution {
            description "Redistribution list";
            uses OSPF-SH-REDIST;
          }  // list redistribution
        }  // grouping OSPF-SH-SUMMARY
    
        grouping OSPF-SH-AREA-RANGE {
          description
            "OSPF Area Range Information";
          leaf range-prefix {
            type inet:ipv4-address;
            description
              "IP prefix for summarization";
          }
    
          leaf range-mask {
            type inet:ipv4-address;
            description "Network mask";
          }
    
          leaf cost {
            type uint32;
            description "Cost";
          }
    
          leaf advertise-flag {
            type boolean;
            description
              "Whether to advertise Summary LSAs for this range";
          }
        }  // grouping OSPF-SH-AREA-RANGE
    
        grouping OSPF-SH-AREA {
          description
            "OSPF Area Summary Information";
          leaf area-id-string {
            type string {
              length "0..16";
            }
            description "Area ID string";
          }
    
          leaf backbone-area-active {
            type boolean;
            description
              "If true, Backbone area is active";
          }
    
          leaf area-interface-count {
            type uint16;
            description
              "Number of interfaces in the area";
          }
    
          leaf area-stub {
            type boolean;
            description "If true, stub area";
          }
    
          leaf area-total-stub {
            type boolean;
            description
              "If true, totally stubby area";
          }
    
          leaf stub-default-cost {
            type uint32;
            description
              "Default cost for Stub or NSSA area";
          }
    
          leaf area-nssa {
            type boolean;
            description
              "If true, area is a NSSA";
          }
    
          leaf nssa-no-redistribution {
            type boolean;
            description
              "If true, No redistribution into this NSSA area";
          }
    
          leaf nssa-translate {
            type boolean;
            description
              "If true, perform 7/5 translation";
          }
    
          leaf nssa-translate-always {
            type boolean;
            description
              "If true, perform 7/5 translation always";
          }
    
          leaf nssa-default {
            type boolean;
            description
              "If true, generate NSSA default route";
          }
    
          leaf te-enabled {
            type boolean;
            description
              "If true, MPLS-TE enabled";
          }
    
          leaf te-topology-version {
            type uint32;
            description
              "TE area topology version number";
          }
    
          leaf external-out {
            type boolean;
            description
              "If true, advertise intra-area prefixes as
             external";
          }
    
          leaf summary-in {
            type boolean;
            description
              "If true, advertise redistributedprefixes as
             summary";
          }
    
          leaf segment-routing {
            type Sr-dp;
            description
              "If true, Segment Routing enabled";
          }
    
          leaf sr-strict-spf-cap {
            type boolean;
            description
              "If true, All routers in Area are SR Strict-SPF
             Capable";
          }
    
          leaf sr-strict-spfsids-available {
            type boolean;
            description
              "If true, All routers in Area have SR Strict-SPF
             SIDs";
          }
    
          leaf sr-microloop-avoidance-active {
            type boolean;
            description
              "If true, Segment routing Uloop avoidance
             is currently active in this area";
          }
    
          leaf sr-microloop-avoidance-event-type {
            type Sr-uloop-event;
            description
              "Event for which SR uloop is triggered
             Link Up/Link Down";
          }
    
          leaf sr-microloop-avoidance-near-end-id {
            type inet:ipv4-address;
            description
              "Link State ID of the near end
             of the topology change";
          }
    
          leaf sr-microloop-avoidance-far-end-id {
            type inet:ipv4-address;
            description
              "Link State ID of the far end
             of the topology change";
          }
    
          leaf sr-microloop-avoidance-pseudonode-id {
            type inet:ipv4-address;
            description
              "Link State ID of the pseudo node,
             if the change is on a broadcast link";
          }
    
          leaf authentication-type {
            type Authentication;
            description
              "Authentication type used for the area";
          }
    
          leaf spf-count {
            type uint32;
            description
              "Number of SPF calculations run";
          }
    
          leaf area-policy-in {
            type boolean;
            description
              "If true, inbound policy is configured";
          }
    
          leaf area-policy-in-name {
            type string;
            description
              "Inbound summary lsa filtering policy";
          }
    
          leaf area-policy-out {
            type boolean;
            description
              "If true, outbound policy is configured";
          }
    
          leaf area-policy-out-name {
            type string;
            description
              "Outbound summary lsa filtering policy";
          }
    
          leaf area-lsa-count {
            type uint32;
            description
              "Number of LSAs in the Area";
          }
    
          leaf area-lsa-checksum {
            type uint32;
            description
              "Sum of all area LSAs checksum";
          }
    
          leaf area-opaque-lsa-count {
            type uint32;
            description
              "Number of Opaque LSAs in the Area";
          }
    
          leaf area-opaque-lsa-checksum {
            type uint32;
            description
              "Sum of opaque LSA checksums";
          }
    
          leaf area-dc-bitless-lsa-count {
            type uint32;
            description
              "Number of LSA with demand circuit bit not set";
          }
    
          leaf indication-lsa-count {
            type uint32;
            description
              "Number of indication LSAs";
          }
    
          leaf dna-lsa-count {
            type uint32;
            description
              "Number of DoNotAge LSAs";
          }
    
          leaf flood-list-length {
            type uint32;
            description
              "Number of LSAs which need to be flooded";
          }
    
          leaf area-lfa-interface-count {
            type uint32;
            description
              "Number of LFA enabled interfaces";
          }
    
          leaf area-per-prefix-lfa-interface-count {
            type uint32;
            description
              "Number of Per Prefix LFA enabled interfaces";
          }
    
          leaf area-lfa-revision {
            type uint32;
            description "Area LFA revision";
          }
    
          leaf area-adj-stag-num-nbr-forming {
            type uint16;
            description
              "Num of nbrs currently forming";
          }
    
          leaf area-num-nbr-full {
            type uint16;
            description
              "Num of full nbrs in area";
          }
    
          list area-range {
            description
              "List of ranges to summarize";
            uses OSPF-SH-AREA-RANGE;
          }  // list area-range
        }  // grouping OSPF-SH-AREA
    
        grouping OSPF-SH-REDIST {
          description
            "OSPF Redistribution Information";
          container redistribution-protocol {
            description "Protocol Information";
            uses OSPF-SH-REDIST-PROTO;
          }  // container redistribution-protocol
    
          leaf metric-flag {
            type boolean;
            description
              "If true, Metric configured";
          }
    
          leaf metric {
            type uint32;
            description "Route metric";
          }
    
          leaf rib-metric-flag {
            type boolean;
            description
              "If true, RIB metric is used";
          }
    
          leaf metric-type {
            type uint32;
            description
              "Redistribute as External type 1 or 2 ";
          }
    
          leaf tag-flag {
            type boolean;
            description
              "If true, tag is configured";
          }
    
          leaf tag {
            type uint32;
            description "Route Tag";
          }
    
          leaf keep-bgp-med {
            type boolean;
            description
              "If true, BGP MED value is preserved";
          }
    
          leaf keep-bgp-def-info {
            type boolean;
            description
              "If true, BGP metric and metric type are
             preserved for default route";
          }
    
          leaf redist-summary {
            type boolean;
            description
              "If true, routes will be redistributed as Summary
             LSAs instead of External LSAs";
          }
    
          leaf policy-name {
            type string;
            description "Name of applied policy";
          }
    
          leaf classless {
            type boolean;
            description "Whether to use CIDR";
          }
    
          leaf nssa-only {
            type boolean;
            description "To NSSA areas only";
          }
        }  // grouping OSPF-SH-REDIST
    
        grouping OSPF-SH-PROTOCOL {
          description
            "OSPF Protocol Information";
          leaf protocol-router-id {
            type inet:ipv4-address;
            description "Router ID";
          }
    
          leaf protocol-distance {
            type uint32;
            description
              "Administrative distance";
          }
    
          leaf administrative-distance-inter-area {
            type uint32;
            description
              "Administrative Distance for Inter Area routes";
          }
    
          leaf administrative-distance-external {
            type uint32;
            description
              "Administrative Distance for External routes";
          }
    
          leaf protocol-nsf {
            type boolean;
            description "True if NSF enabled";
          }
    
          leaf dist-list-in {
            type string;
            description "Distribute List In";
          }
        }  // grouping OSPF-SH-PROTOCOL
    
        grouping OSPF-SH-PROTO-INTF {
          description
            "OSPF Protocol Interface Information";
          leaf protocol-interface-name {
            type xr:Interface-name;
            description "Interface";
          }
    
          leaf protocol-authentication-type {
            type Authentication;
            description "Authentication type";
          }
    
          leaf protocol-interface-dist-list-in {
            type string;
            description "Distribute List In";
          }
        }  // grouping OSPF-SH-PROTO-INTF
    
        grouping OSPF-SH-PROTO-AREA {
          description
            "OSPF Protocol Area Information";
          leaf protcol-area {
            type string {
              length "0..16";
            }
            description
              "Area ID string in decimal and dotted-decimal
             format";
          }
    
          leaf protocol-mpls {
            type boolean;
            description "MPLS-TE enabled";
          }
    
          leaf protocol-area-dist-list-in {
            type string;
            description "Distribute List In";
          }
    
          list protocol-interface {
            description "Interface list";
            uses OSPF-SH-PROTO-INTF;
          }  // list protocol-interface
        }  // grouping OSPF-SH-PROTO-AREA
    
        grouping OSPF-SH-BR-PATH {
          description "OSPF Border Router Path";
          leaf border-router-route-type {
            type Ospf-route;
            description
              "Whether it is an intra-area or inter-area route";
          }
    
          leaf border-router-route-metric {
            type uint32;
            description "Metric";
          }
    
          leaf border-router-next-hop {
            type inet:ipv4-address;
            description "Next hop address";
          }
    
          leaf border-router-next-hop-interface-name {
            type xr:Interface-name;
            description "Next hop Interface";
          }
    
          leaf border-router-type {
            type Ospf-br;
            description
              "Border router type, whether it is an ABR, ASBR
             or both";
          }
    
          leaf border-router-area-id {
            type string {
              length "0..16";
            }
            description
              "Area string in decimal or dotted-decimal format";
          }
    
          leaf spf-version {
            type uint64;
            description "SPF run instance count";
          }
        }  // grouping OSPF-SH-BR-PATH
    
        grouping OSPF-SH-BORDER-ROUTER {
          description "OSPF Border Router";
          leaf border-router-id-xr {
            type inet:ipv4-address;
            description
              "Router ID of Border Router";
          }
    
          list border-router-path {
            description
              "List of Border Router paths";
            uses OSPF-SH-BR-PATH;
          }  // list border-router-path
        }  // grouping OSPF-SH-BORDER-ROUTER
    
        grouping OSPF-SH-IF-ADJ-SID {
          description
            "OSPF Interface Adjacency SID";
          leaf adj-sid-label {
            type uint32;
            description "Adjacency SID Label";
          }
    
          leaf protected-adj-sid {
            type boolean;
            description
              "Adjacency SID Protection";
          }
    
          leaf adj-sid-is-active {
            type boolean;
            description
              "Adj sid is allocated to a neighbor";
          }
    
          leaf adj-sid-inactive-reason {
            type Ospf-sr-adj-sid-inactive-reason;
            description
              "Adjacency SID Inactive Reason";
          }
        }  // grouping OSPF-SH-IF-ADJ-SID
    
        grouping OSPF-SH-SEC-ADDR {
          description "OSPF Secondary Address";
          leaf secondary-addr {
            type inet:ipv4-address;
            description "Secondary Address Type";
          }
    
          leaf secondary-prefix {
            type uint32;
            description
              "Secondary Prefix Length";
          }
        }  // grouping OSPF-SH-SEC-ADDR
    
        grouping OSPF-SH-IPFRR-TB {
          description "OSPF IPFRR Tiebreakers";
          leaf tiebreaker-type {
            type Ipfrr-tbrkr;
            description
              "Tiebreaker Type, whether LC-Disjoint, Node
             Protecting etc";
          }
    
          leaf tiebreaker-index {
            type uint32;
            description
              "Tiebreaker Index corresponding to the tiebreaker
             type";
          }
        }  // grouping OSPF-SH-IPFRR-TB
    
        grouping OSPF-SH-INTERFACE-UP {
          description
            "OSPF Interface Up-only Information";
          leaf wait-time {
            type uint32;
            description
              "Wait time for DR/BDR selection (s)";
          }
    
          leaf interface-area-flood-index {
            type uint32;
            description
              "Area scope LSAs flood index";
          }
    
          leaf interface-as-flood-index {
            type uint32;
            description
              "AS scope LSAs flood index";
          }
    
          leaf interface-flood-length {
            type uint32;
            description "Flood queue length";
          }
    
          leaf interface-area-next-flood {
            type uint32;
            description
              "Next LSA to flood (Area scope)";
          }
    
          leaf interface-area-next-flood-index {
            type uint32;
            description
              "Index of next LSA to flood (Area scope)";
          }
    
          leaf interface-as-next-flood {
            type uint32;
            description
              "Next LSA to flood (AS scope)";
          }
    
          leaf interface-as-next-flood-index {
            type uint32;
            description
              "Index of next LSA to flood (AS scope)";
          }
    
          leaf flood-scan-length {
            type uint32;
            description
              "Length of flood queue in the last attempt";
          }
    
          leaf maximum-flood-length {
            type uint32;
            description
              "Maximum length of the flood queue";
          }
    
          leaf last-flood-time {
            type uint32;
            description
              "Time taken for Last flood (ms)";
          }
    
          leaf maximum-flood-time {
            type uint32;
            description
              "Maximum time taken for flood (ms)";
          }
    
          leaf interface-flood-pacing-timer {
            type uint32;
            description
              "Time until next flood pacing timer (ms)";
          }
    
          leaf interface-neighbor-count {
            type uint16;
            description
              "Total number of Neighbors";
          }
    
          leaf suppress-hello-count {
            type uint16;
            description
              "Number of neighbors for which hellos are
             suppressed";
          }
    
          leaf interface-authentication-type {
            type Authentication;
            description "Authentication type";
          }
    
          leaf youngest-md-key {
            type boolean;
            description
              "If true, MD key is configured";
          }
    
          leaf old-md5-key-neighbor-count {
            type uint32;
            description
              "Number of neighbors using the old key (if
             rollover in progress)";
          }
    
          leaf youngest-md-key-id {
            type uint16;
            description "Youngest MD key ID";
          }
    
          leaf keychain-name {
            type string {
              length "0..255";
            }
            description
              "Name of Keychain used in this interface";
          }
    
          leaf keychain-key-conf {
            type boolean;
            description
              "If true, Keychain key is configured";
          }
    
          leaf keychain-id {
            type uint64;
            description
              "ID of the keychain used in this interface";
          }
    
          leaf keychain-alg {
            type Ospf-crytographic-algo;
            description
              "Keychain cryptographic-algorithm used in this
             interface";
          }
    
          list md-keys {
            description "List of old MD keys";
            leaf entry {
              type uint16;
              description "List of old MD keys";
            }
          }  // list md-keys
        }  // grouping OSPF-SH-INTERFACE-UP
    
        grouping OSPF-SH-INTERFACE-BFD {
          description
            "Interface BFD information";
          leaf bfd-intf-enable-mode {
            type uint32;
            description
              "BFD enable mode - Default/Strict";
          }
    
          leaf interval {
            type uint32;
            description "BFD interval (ms)";
          }
    
          leaf detection-multiplier {
            type uint32;
            description "BFD multiplier value";
          }
        }  // grouping OSPF-SH-INTERFACE-BFD
    
        grouping OSPF-SH-INTERFACE-NBR {
          description
            "OSPF Interface Neighbor Information";
          leaf interface-neighbor-id {
            type inet:ipv4-address;
            description "Neighbor Router ID";
          }
    
          leaf interface-neighbor-cost {
            type uint32;
            description
              "Cost of link to neighbor";
          }
    
          leaf neighbor-dr {
            type boolean;
            description
              "If true, Designated router";
          }
    
          leaf neighbor-bdr {
            type boolean;
            description
              "If true, Backup designated router";
          }
    
          leaf suppress-hello {
            type boolean;
            description
              "If true, hellos suppressed";
          }
        }  // grouping OSPF-SH-INTERFACE-NBR
    
        grouping OSPF-SH-INTERFACE {
          description
            "OSPF Interface Information";
          container interface-bfd-information {
            description "BFD information";
            uses OSPF-SH-INTERFACE-BFD;
          }  // container interface-bfd-information
    
          container active-interface {
            description
              "Active interface details";
            uses OSPF-SH-INTERFACE-UP;
          }  // container active-interface
    
          leaf interface-name-xr {
            type xr:Interface-name;
            description "Name of the interface";
          }
    
          leaf interface-state {
            type Interface-state;
            description "State of the interface";
          }
    
          leaf interface-line-state {
            type boolean;
            description
              "If true, line protocol is up";
          }
    
          leaf interface-address {
            type inet:ipv4-address;
            description
              "IPv4 Address of the interface";
          }
    
          leaf interface-mask {
            type uint32;
            description "Interface IP Mask";
          }
    
          leaf interface-area {
            type string {
              length "0..16";
            }
            description
              "Area ID string in decimal or dotted-decimal
             format";
          }
    
          leaf interface-sid {
            type uint32;
            description "Interface SID";
          }
    
          leaf interface-sid-php-off {
            type boolean;
            description "SID PHP Off";
          }
    
          leaf interface-sid-n-flag-clear {
            type boolean;
            description "SID N-Flag Clear";
          }
    
          leaf interface-strict-spf-sid {
            type uint32;
            description
              "Interface Strict-SPF SID";
          }
    
          leaf interface-strict-spf-sid-php-off {
            type boolean;
            description "Strict-SPF SID PHP Off";
          }
    
          leaf interface-strict-spf-sid-n-flag-clear {
            type boolean;
            description
              "Strict-SPF SID N-Flag Clear";
          }
    
          leaf interface-router-id {
            type inet:ipv4-address;
            description "Interface Router ID";
          }
    
          leaf network-type {
            type Interface;
            description
              "Network type of the interface, whether P2P,
             Broadcast, NBMA or P2MP";
          }
    
          leaf ip-mtu {
            type uint16;
            description "IP MTU";
          }
    
          leaf maximum-packet-size {
            type uint16;
            description
              "Maximum size of the packet";
          }
    
          leaf interface-tunnel-flags {
            type uint32;
            description
              "Flags related to Tunnel Interface";
          }
    
          leaf interface-link-cost {
            type uint16;
            description
              "Link cost/Metric of the interface";
          }
    
          leaf interface-bandwidth {
            type uint32;
            description
              "Bandwidth of the Interface";
          }
    
          leaf cfg-cost-fallback {
            type boolean;
            description
              "If true, cost fallback is configured";
          }
    
          leaf interface-cost-fallback {
            type uint16;
            description
              "Interface fallback cost";
          }
    
          leaf cost-fallback-active {
            type boolean;
            description
              "If true, cost fallback is active";
          }
    
          leaf cfg-delay-igp-cost-fallback {
            type boolean;
            description
              "If true,delay igp  cost fallback is configured";
          }
    
          leaf interface-igp-cost-fallback {
            type uint16;
            description
              "Interface fallback cost";
          }
    
          leaf dealy-igp-cost-fallback-active {
            type boolean;
            description
              "If true, cost fallback is active";
          }
    
          leaf cfg-delay-te-cost-fallback {
            type boolean;
            description
              "If true,delay te  cost fallback is configured";
          }
    
          leaf interface-delay-te-cost-fallback {
            type uint32;
            description
              "Interface fallback cost";
          }
    
          leaf dealy-te-cost-fallback-active {
            type boolean;
            description
              "If true, cost fallback is active";
          }
    
          leaf configured-ldp-sync {
            type boolean;
            description
              "If true, configured as LDP sync";
          }
    
          leaf configured-ldp-sync-igp-shortcuts {
            type boolean;
            description
              "If true, sync igp shortcuts";
          }
    
          leaf interface-ldp-sync {
            type boolean;
            description
              "If true, interface LDP sync is achieved";
          }
    
          leaf configured-demand-circuit {
            type boolean;
            description
              "Whether this interface is configured as a demand
             circuit";
          }
    
          leaf interface-demand-circuit {
            type boolean;
            description
              "Whether this interface is running as a demand
             circuit";
          }
    
          leaf interface-dc-bitless-lsa-count {
            type uint32;
            description
              "Number of LSAs with demand circuit bit not set
             for the area in which the interface is running";
          }
    
          leaf transmission-delay {
            type uint16;
            description
              "Interface Transmission delay";
          }
    
          leaf ospf-interface-state {
            type Ospf-interface-state;
            description "Interface OSPF state";
          }
    
          leaf interface-priority {
            type uint8;
            description
              "DR priority of the interface";
          }
    
          leaf designated-router {
            type boolean;
            description
              "If true, there is a Designated Router for this
             network";
          }
    
          leaf designated-router-id {
            type inet:ipv4-address;
            description
              "Router id of Designated router of this network";
          }
    
          leaf designated-router-address {
            type inet:ipv4-address;
            description
              "Interface address of the Designated Router of
             this network";
          }
    
          leaf backup-designated-router {
            type boolean;
            description
              "If true, there is a Backup Designated Router for
             this network";
          }
    
          leaf backup-designated-router-id {
            type inet:ipv4-address;
            description
              "Router id of Backup Designated Router of this
             network";
          }
    
          leaf backup-designated-router-address {
            type inet:ipv4-address;
            description
              "interface address of the Backup Designated
             Router of this network";
          }
    
          leaf network-lsa-flush-timer {
            type uint32;
            units "second";
            description
              "The amount of time in seconds before flush timer
             for old network LSA expires";
          }
    
          leaf interface-lsa-filter {
            type boolean;
            description
              "Filter is configured for out going LSAs";
          }
    
          leaf hello-interval {
            type uint32;
            description
              "Configured hello interval (s)";
          }
    
          leaf hello-interval-ms {
            type uint32;
            description
              "Configured hello interval (ms)";
          }
    
          leaf dead-interval {
            type uint32;
            description
              "Configured dead interval (s)";
          }
    
          leaf wait-interval {
            type uint32;
            description
              "Configured wait interval (s)";
          }
    
          leaf interface-retransmission-interrval {
            type uint32;
            description
              "Configured retransmit interval (s)";
          }
    
          leaf interface-nsf-enabled {
            type boolean;
            description
              "If true, NSF is enabled";
          }
    
          leaf interface-nsf {
            type boolean;
            description
              "If true, NSF restart in progress on this
             interface";
          }
    
          leaf interface-last-nsf {
            type uint32;
            description
              "Time since last NSF restart (s)";
          }
    
          leaf passive-interface {
            type boolean;
            description
              "If true, passive interface";
          }
    
          leaf next-hello-time {
            type uint32;
            description
              "Time until next Hello (s)";
          }
    
          leaf next-hello-time-ms {
            type uint32;
            description
              "Time until next Hello (ms)";
          }
    
          leaf ttl-security-enabled {
            type boolean;
            description
              "TTL security enabled on the interface";
          }
    
          leaf ttl-security-hop-count {
            type uint32;
            description
              "TTL security hop count for this interface";
          }
    
          leaf interfaceis-madj {
            type boolean;
            description
              "If true, interface is multi-area";
          }
    
          leaf interface-madj-count {
            type uint16;
            description
              "Total number of multi-area";
          }
    
          leaf prefix-suppress-primary-addresses {
            type boolean;
            description
              "whether Prefix Suppression for primary addresses
             is enabled";
          }
    
          leaf prefix-suppress-secondary-addresses {
            type boolean;
            description
              "Whether Prefix Suppression for secondary
             addresses is enabled";
          }
    
          leaf is-loopback-stub-network {
            type boolean;
            description
              "If true, loopback interface is advertised as a
             stub network";
          }
    
          leaf interface-ack-list-count {
            type uint32;
            description "Ack List Count";
          }
    
          leaf interface-ack-list-high-watermark {
            type uint32;
            description
              "Ack List High Watermark";
          }
    
          leaf registered-for-link-down-fast-detection {
            type boolean;
            description
              "Whether this interface is registered for Link
             Down Fast Detection";
          }
    
          leaf fast-detect-hold-down-time {
            type uint32;
            description
              "Hold-down time in ms for fast-detect event";
          }
    
          leaf interface-fast-detect-hold-down {
            type boolean;
            description
              "Link in hold-down state due to fast detect event";
          }
    
          leaf fast-detect-hold-down-time-remaining {
            type uint32;
            description
              "Remaining hold down time in ms";
          }
    
          leaf fast-reroute-type {
            type Ipfrr;
            description "IP Fast Reroute Type";
          }
    
          leaf fast-reroute-topology-independent-lfa {
            type boolean;
            description
              "Topology Independent LFA";
          }
    
          leaf srlg-default-weight {
            type uint32;
            description
              "SRLG Default weight if not configured
             specifically for this SRLG";
          }
    
          leaf interface-unnum {
            type xr:Interface-name;
            description "Unnumbered interface";
          }
    
          leaf interface-forw {
            type boolean;
            description
              "Forward reference interface";
          }
    
          leaf interface-pri-labels {
            type uint8;
            description
              "Max number of primary labels";
          }
    
          leaf interface-bkp-labels {
            type uint8;
            description
              "Max number of backup labels";
          }
    
          leaf interface-srte-labels {
            type uint8;
            description
              "Max number of SRTE labels";
          }
    
          leaf interface-srat-cap {
            type uint8;
            description
              "SRTE automatic path capability";
          }
    
          leaf pm-delay-set {
            type boolean;
            description
              "PerfMeas Delay values available";
          }
    
          leaf link-delay-avg {
            type uint32;
            description
              "PerfMeas Average Link Delay";
          }
    
          leaf link-delay-min {
            type uint32;
            description
              "PerfMeas Minimum Link Delay";
          }
    
          leaf link-delay-max {
            type uint32;
            description
              "PerfMeas Maximum Link Delay";
          }
    
          leaf pm-dealy-average-a-bit {
            type boolean;
            description
              "If true, PM delay avg bit is set";
          }
    
          leaf pm-dealy-min-max-a-bit {
            type boolean;
            description
              "If true, PM delay min_max bit is set";
          }
    
          leaf link-delay-avg-raw {
            type uint32;
            description
              "PerfMeas Average Link Delay Raw";
          }
    
          leaf link-delay-min-raw {
            type uint32;
            description
              "PerfMeas Minimum Link Delay Raw";
          }
    
          leaf link-delay-max-raw {
            type uint32;
            description
              "PerfMeas Maximum Link Delay Raw";
          }
    
          leaf link-delay-norm-intval {
            type uint32;
            description
              "PerfMeas Delay Norm Interval";
          }
    
          leaf link-delay-norm-offset {
            type uint32;
            description
              "PerfMeas Delay Norm Offset";
          }
    
          leaf link-delay-var {
            type uint32;
            description
              "PerfMeas Link Delay Variance";
          }
    
          leaf pm-loss-set {
            type boolean;
            description
              "PerfMeas Link Loss values available";
          }
    
          leaf link-loss {
            type uint32;
            description "PerfMeas Link Loss";
          }
    
          leaf pmbw-util-set {
            type boolean;
            description
              "PerfMeas BW Util values available";
          }
    
          leaf total-bandwidth {
            type uint64;
            description
              "PerfMeas Total Bandwidth";
          }
    
          leaf rsvpte-bandwidth {
            type uint64;
            description
              "PerfMeas RSVP-TE Bandwidth";
          }
    
          leaf remote-lfa {
            type uint8;
            description "Remote LFA";
          }
    
          leaf srte-metric-set {
            type boolean;
            description "SRTE Metric available";
          }
    
          leaf srte-metric {
            type uint32;
            description "SRTE Metric";
          }
    
          leaf srte-app-weight {
            type uint32;
            description "SRTE App Weight";
          }
    
          leaf srte-ext-admin-group-set {
            type boolean;
            description
              "SRTE Ext. Admin Group available";
          }
    
          leaf interface-weight {
            type uint32;
            description
              "Configured Interface weight";
          }
    
          leaf if-rib-l-csync-needed {
            type boolean;
            description "rib lc sync needed";
          }
    
          leaf if-rib-l-csync {
            type boolean;
            description "rib lc sync state";
          }
    
          leaf conditional-advertising-enabled {
            type boolean;
            description
              "If Conditional advertising based on route-policy
             is enabled";
          }
    
          leaf conditional-advertise-policy-name {
            type string;
            description
              "Name of the applied policy for Conditional
             advertising";
          }
    
          leaf conditional-advertising-result {
            type boolean;
            description
              "Result of the policy applied for Conditional
             advertising";
          }
    
          list srlg {
            description "SRLG Values";
            leaf entry {
              type uint32;
              description "SRLG Values";
            }
          }  // list srlg
    
          list srlg-weight {
            description "SRLG Weight";
            leaf entry {
              type uint32;
              description "SRLG Weight";
            }
          }  // list srlg-weight
    
          list srtete-ext-admin-group {
            description "SRTE Ext. Admin Group";
            leaf entry {
              type uint32;
              description
                "SRTE Ext. Admin Group";
            }
          }  // list srtete-ext-admin-group
    
          list interface-neighbor {
            description
              "Information for neighbors on the interface";
            uses OSPF-SH-INTERFACE-NBR;
          }  // list interface-neighbor
    
          list interface-madj {
            description
              "Information for multi-area on the interface";
            uses OSPF-SH-INTERFACE-MADJ;
          }  // list interface-madj
    
          list ipfrr-tiebreakers {
            description "IPFRR-Tiebreakers list";
            uses OSPF-SH-IPFRR-TB;
          }  // list ipfrr-tiebreakers
    
          list ip-sec-addr {
            description
              "Secondary IP address list";
            uses OSPF-SH-SEC-ADDR;
          }  // list ip-sec-addr
    
          list sr-adj-sid {
            description
              "SR Configured Adjacency SIDs";
            uses OSPF-SH-IF-ADJ-SID;
          }  // list sr-adj-sid
        }  // grouping OSPF-SH-INTERFACE
    
        grouping OSPF-SH-VLINK-NEIGHBOR {
          description
            "Virtual Link Neighbor Information";
          container virtual-link-retransmissoin {
            description
              "Neighbor retransmission info";
            uses OSPF-SH-NEIGHBOR-RETRANS;
          }  // container virtual-link-retransmissoin
    
          leaf virtual-link-suppress-hello {
            type boolean;
            description
              "If true Hellos suppressed";
          }
    
          leaf virtual-link-state {
            type Neighbor-state;
            description "Adjacency state";
          }
        }  // grouping OSPF-SH-VLINK-NEIGHBOR
    
        grouping OSPF-SH-VIRTUAL-LINKS {
          description "OSPF Virtual Link";
          container virtual-link-neighbor {
            description "Neighbor information";
            uses OSPF-SH-VLINK-NEIGHBOR;
          }  // container virtual-link-neighbor
    
          leaf virtual-link-name-xr {
            type string;
            description
              "Name of the Virtual link";
          }
    
          leaf virtual-link-neighbor-id {
            type inet:ipv4-address;
            description
              "Neighbor on other end of this virtual link";
          }
    
          leaf virtual-link-state {
            type Ospf-interface-state;
            description
              "OSPF interface state for the virtual link";
          }
    
          leaf virtual-link-demand-circuit {
            type boolean;
            description
              "If true, the link runs as demand circuit";
          }
    
          leaf virtual-link-dc-bitless-lsa {
            type uint32;
            description
              "Number of LSA's with demand circuit bit not set";
          }
    
          leaf transit-area {
            type string;
            description
              "Area id of the Transit area";
          }
    
          leaf virtual-link-interface-name {
            type xr:Interface-name;
            description
              "Interface on which this virtual link is formed";
          }
    
          leaf virtual-link-cost {
            type uint16;
            description
              "Cost of the virtual link";
          }
    
          leaf virual-link-transmission-delay {
            type uint16;
            units "second";
            description
              "Transmission delay in seconds";
          }
    
          leaf virtual-link-hello-interval {
            type uint32;
            description "Hello interval (s)";
          }
    
          leaf virtual-link-hello-interval-ms {
            type uint32;
            description "Hello interval (ms)";
          }
    
          leaf virtual-link-dead-interval {
            type uint32;
            description "Dead interval (s)";
          }
    
          leaf virtual-link-wait-interval {
            type uint32;
            description "Wait interval (s)";
          }
    
          leaf virtaul-link-retransmission-interval {
            type uint32;
            description
              "Retransmission interval (s)";
          }
    
          leaf virtual-link-next-hello {
            type uint32;
            description
              "Time until next hello (s)";
          }
    
          leaf virtual-link-next-hello-ms {
            type uint32;
            description
              "Time until next hello (ms)";
          }
    
          leaf virtual-link-passive {
            type boolean;
            description
              "If true, interface is passive";
          }
    
          leaf virtual-link-authentication-type {
            type Authentication;
            description "Authentication type";
          }
    
          leaf virtual-link-youngest-md-key {
            type boolean;
            description
              "If true, MD key configured";
          }
    
          leaf virtual-link-youngest-md-key-id {
            type uint16;
            description "Youngest MD key ID";
          }
    
          leaf virtual-link-old-md-key-count {
            type uint32;
            description
              "Number of neighbors still using the old key
             (rollover in progress)";
          }
    
          leaf keychain-name {
            type string {
              length "0..255";
            }
            description
              "Virtual Link Keychain Name";
          }
    
          leaf virtual-link-keychain-key-conf {
            type boolean;
            description
              "If true, Keychain key is configured";
          }
    
          leaf virtual-link-keychain-id {
            type uint64;
            description
              "Virtual Link Keychain ID";
          }
    
          leaf virtual-link-keychain-alg {
            type Ospf-crytographic-algo;
            description
              "Virtual Link Keychain cryptographic-algorithm";
          }
    
          leaf virtual-link-nsf-enabled {
            type boolean;
            description "If true, NSF enabled";
          }
    
          leaf virtual-link-nsf {
            type boolean;
            description
              "If true, NSF restart in progress on the virtual
             link";
          }
    
          leaf virtual-link-last-nsf {
            type uint32;
            units "second";
            description
              "Time in seconds since last NSF";
          }
    
          list virtual-link-md-key {
            description
              "List of old MD keys (if any)";
            leaf entry {
              type uint16;
              description
                "List of old MD keys (if any)";
            }
          }  // list virtual-link-md-key
        }  // grouping OSPF-SH-VIRTUAL-LINKS
    
        grouping OSPF-SH-INTERFACE-MADJ {
          description
            "OSPF Interface Multi-Area Information";
          leaf interface-area {
            type string {
              length "0..16";
            }
            description
              "Area ID string in decimal or dotted-decimal
             format";
          }
    
          leaf madj-area-id {
            type uint32;
            description "Area ID";
          }
    
          leaf interface-neighbor-count {
            type uint16;
            description "Number of Neighbors";
          }
    
          leaf interface-adj-neighbor-count {
            type uint16;
            description
              "Total number of Adjacent Neighbors";
          }
    
          leaf interface-link-cost {
            type uint16;
            description
              "Cost/Metric of the Interface link";
          }
    
          leaf ospf-interface-state {
            type Ospf-interface-state;
            description "Interface OSPF state";
          }
        }  // grouping OSPF-SH-INTERFACE-MADJ
    
        grouping OSPF-SH-IF-BRIEF {
          description
            "OSPF Interface Brief Information";
          leaf interface-name-xr {
            type xr:Interface-name;
            description
              "Name of the interface on which OSPF is enabled";
          }
    
          leaf interface-area {
            type string {
              length "0..16";
            }
            description
              "Area ID string in decimal or dotted-decimal
             format";
          }
    
          leaf interface-address {
            type inet:ipv4-address;
            description
              "IPv4 address of the Interface";
          }
    
          leaf interface-mask {
            type uint32;
            description "Interface IP Mask";
          }
    
          leaf interface-link-cost {
            type uint16;
            description
              "link cost/metric of the interface";
          }
    
          leaf ospf-interface-state {
            type Ospf-interface-state;
            description "Interface OSPF state";
          }
    
          leaf interface-fast-detect-hold-down {
            type boolean;
            description
              "whether the interface is in fast detect hold
             down state";
          }
    
          leaf interface-neighbor-count {
            type uint16;
            description
              "Total number of Neighbors";
          }
    
          leaf interface-adj-neighbor-count {
            type uint16;
            description
              "Total number of Adjacent Neighbors";
          }
    
          leaf interfaceis-madj {
            type boolean;
            description
              "If true, interface is multi-area";
          }
    
          leaf interface-madj-count {
            type uint16;
            description
              "Total number of multi-area";
          }
    
          list interface-madj {
            description
              "Information for multi-area on the interface";
            uses OSPF-SH-INTERFACE-MADJ;
          }  // list interface-madj
        }  // grouping OSPF-SH-IF-BRIEF
    
        grouping OSPF-SH-ROUTE-EXTENDED-COMM {
          description
            "OSPF External Route Extended Community
           Information";
          leaf extended-community-domain-id-value {
            type yang:hex-string;
            description "Domain ID value";
          }
    
          leaf extended-communityl-domain-id-type {
            type uint16;
            description "Domain ID type";
          }
    
          leaf extended-community-area-id {
            type uint32;
            description "Area id";
          }
    
          leaf extended-community-router-id {
            type inet:ipv4-address;
            description "Router id";
          }
    
          leaf extended-community-route-type {
            type uint8;
            description
              "OSPF route type, whether intra-area, inter-area
             or external route";
          }
    
          leaf extended-community-options {
            type uint8;
            description "Route Options";
          }
        }  // grouping OSPF-SH-ROUTE-EXTENDED-COMM
    
        grouping OSPF-SH-REDIST-PROTO {
          description
            "Redistributed protocol instance";
          leaf protocol-type {
            type Redist-protocol;
            description "ProtocolType";
          }
    
          leaf isis-instance-id {
            when
              "../protocol-type = 'mgmt-rib-protocol-isis'" {
              description
                "../ProtocolType = 'MGMT_RIB_PROTOCOL_ISIS'";
            }
            type String1;
            description
              "ISIS instance identifier";
          }
    
          leaf ospf-process-id {
            when
              "../protocol-type = 'mgmt-rib-protocol-ospf'" {
              description
                "../ProtocolType = 'MGMT_RIB_PROTOCOL_OSPF'";
            }
            type String1;
            description
              "OSPF process identifier";
          }
    
          leaf bgp-as-number {
            when
              "../protocol-type = 'mgmt-rib-protocol-bgp'" {
              description
                "../ProtocolType = 'MGMT_RIB_PROTOCOL_BGP'";
            }
            type String1;
            description
              "BGP Autonomous System Number";
          }
    
          leaf eigrp-as-number {
            when
              "../protocol-type = 'mgmt-rib-protocol-eigrp'" {
              description
                "../ProtocolType = 'MGMT_RIB_PROTOCOL_EIGRP'";
            }
            type String1;
            description
              "Autonomous System Number";
          }
    
          leaf connected-instance {
            when
              "../protocol-type = 'mgmt-rib-protocol-connected'" {
              description
                "../ProtocolType = 'MGMT_RIB_PROTOCOL_CONNECTED'";
            }
            type String1;
            description
              "Name of the Connected instance";
          }
        }  // grouping OSPF-SH-REDIST-PROTO
    
        grouping OSPF-SH-ROUTE-EXT {
          description
            "OSPF External Route Information";
          container route-information {
            description "Route details";
            uses OSPF-SH-TOPOLOGY;
          }  // container route-information
    
          container protocol-name {
            description
              "Name of protocol from which the external route
             was redistributed";
            uses OSPF-SH-REDIST-PROTO;
          }  // container protocol-name
    
          container route-extended-community {
            description
              "Extended communities in the route";
            uses OSPF-SH-ROUTE-EXTENDED-COMM;
          }  // container route-extended-community
        }  // grouping OSPF-SH-ROUTE-EXT
    
        grouping OSPF-SH-ROUTE-SUMM-COMMON {
          description
            "OSPF Route Summary Common Information";
          leaf external-type1s {
            type uint32;
            description "External type 1 count";
          }
    
          leaf external-type2s {
            type uint32;
            description "External type 2 count";
          }
    
          leaf external-nssa-type1s {
            type uint32;
            description
              "External NSSA type 1 count";
          }
    
          leaf external-nssa-type2s {
            type uint32;
            description
              "External NSSA type 2 count";
          }
    
          leaf inter-areas {
            type uint32;
            description "Inter-area count";
          }
    
          leaf intra-areas {
            type uint32;
            description "Intra-area count";
          }
    
          leaf total {
            type uint32;
            description "Total count";
          }
        }  // grouping OSPF-SH-ROUTE-SUMM-COMMON
    
        grouping OSPF-SH-ROUTE-SUMMARY {
          description
            "OSPF Route Summary Information";
          container failure-time {
            description "Last time failed";
            uses OSPF-SH-TIME;
          }  // container failure-time
    
          container common {
            description
              "OSPF route summary Information";
            uses OSPF-SH-ROUTE-SUMM-COMMON;
          }  // container common
    
          leaf failures {
            type uint32;
            description "RIB failure count";
          }
    
          leaf failure-address {
            type inet:ipv4-address;
            description "Last failed address";
          }
        }  // grouping OSPF-SH-ROUTE-SUMMARY
    
        grouping OSPF-SH-TOP-PATH {
          description
            "OSPF Route Path Information";
          container sr-microloop-avoidance-path {
            description
              "SR Microloop avoidance Path Info";
            uses OSPF-SH-SR-ULOOP-PATH;
          }  // container sr-microloop-avoidance-path
    
          leaf route-interface-name {
            type xr:Interface-name;
            description "Next hop Interface";
          }
    
          leaf route-interface-snmp-index {
            type uint32;
            description
              "SNMP index of th Interface";
          }
    
          leaf route-next-hop-address {
            type inet:ipv4-address;
            description "Nexthop IP address";
          }
    
          leaf route-source {
            type inet:ipv4-address;
            description
              "IP address of source of route";
          }
    
          leaf route-lsaid {
            type inet:ipv4-address;
            description "LSA ID, see RFC2328";
          }
    
          leaf route-path-is-mcast-intact {
            type boolean;
            description "Multicast-intact path";
          }
    
          leaf route-path-is-ucmp-path {
            type boolean;
            description "UCMP path";
          }
    
          leaf route-metric {
            type uint32;
            description "Metric";
          }
    
          leaf lsa-type {
            type uint8;
            description
              "LSA type, see RFC2328 etc.";
          }
    
          leaf area-id {
            type uint32;
            description "Area ID";
          }
    
          leaf area-format {
            type boolean;
            description
              "Area format IP or uint32";
          }
    
          leaf route-path-id {
            type uint32;
            description "Path ID of path";
          }
    
          leaf route-path-is-rsvp-te-path {
            type boolean;
            description "RSVP-TE path";
          }
    
          leaf route-path-is-sr-te-path {
            type boolean;
            description "SR-TE path";
          }
    
          leaf route-path-is-sr-excl-path {
            type boolean;
            description "SR Excl TE path";
          }
    
          leaf route-path-is-sr-te-sspf-path {
            type boolean;
            description "SR-TE SSPF path";
          }
    
          leaf weight {
            type uint32;
            description "Path Weight";
          }
    
          list neighbor-next-hop {
            description "NeighborNextHop";
            uses OSPF-SH-NNH-INFO;
          }  // list neighbor-next-hop
        }  // grouping OSPF-SH-TOP-PATH
    
        grouping OSPF-SH-TOPOLOGY {
          description "OSPF Route Information";
          container route-info {
            description "Route information";
            uses OSPF-SH-TOP-COMMON;
          }  // container route-info
    
          leaf route-prefix {
            type inet:ipv4-address;
            description "IPv4 Route Prefix";
          }
    
          leaf route-prefix-length {
            type uint32;
            description "Prefix length";
          }
    
          leaf route-metric {
            type uint32;
            description "Metric";
          }
    
          leaf route-type {
            type Ospf-route;
            description
              "OSPF route type, whether intra-area, inter-area
             or external route";
          }
    
          leaf route-connected {
            type boolean;
            description
              "If true, connected route";
          }
    
          list route-path {
            description
              "List of paths to this route";
            uses OSPF-SH-TOP-PATH;
          }  // list route-path
        }  // grouping OSPF-SH-TOPOLOGY
    
        grouping OSPF-SH-NNH-INFO {
          description
            "OSPF Neighbor NextHop Information";
          leaf neighbor-next-hop-value-type {
            type Ospf-sh-nnh-val-types;
            description
              "NeighborNextHopValueType";
          }
    
          leaf neighbor-next-hop-ip-addr {
            when
              "../neighbor-next-hop-value-type = 'mgmt-nnh-val-type-ip-addr'" {
              description
                "../NeighborNextHopValueType =
               'MGMT_NNH_VAL_TYPE_IP_ADDR'";
            }
            type inet:ipv4-address;
            description
              "Neighbor NextHop IP Address";
          }
    
          leaf neighbor-next-hop-intf-index {
            when
              "../neighbor-next-hop-value-type = 'mgmt-nnh-val-type-if-index'" {
              description
                "../NeighborNextHopValueType =
               'MGMT_NNH_VAL_TYPE_IF_INDEX'";
            }
            type uint32;
            description
              "Neighbor NextHop Interface Index";
          }
        }  // grouping OSPF-SH-NNH-INFO
    
        grouping OSPF-SH-SR-ULOOP-PATH {
          description
            "OSPF Route SR Uloop Path Information";
          leaf microloop-repair-list-size {
            type uint32;
            description
              "Repair List Size for Microloop";
          }
    
          leaf microloop-tunnel-interface-name {
            type xr:Interface-name;
            description
              "Tunnel Interface name for Microloop";
          }
    
          leaf microloop-strict-spf {
            type boolean;
            description
              "Strict SPF SID for Microloop";
          }
    
          list microloop-repair {
            max-elements 12;
            description
              "Repair List for Microloop";
            uses OSPF-SH-REP-EL;
          }  // list microloop-repair
        }  // grouping OSPF-SH-SR-ULOOP-PATH
    
        grouping OSPF-SH-REP-EL {
          description "OSPF Repair Element";
          leaf repair-element-id {
            type inet:ipv4-address;
            description
              "ID of the Repair Element";
          }
    
          leaf repair-label {
            type uint32;
            description
              "Label of Repair Element";
          }
    
          leaf repair-element-type {
            type uint32;
            description
              "Type of the Repair Element";
          }
        }  // grouping OSPF-SH-REP-EL
    
        grouping OSPF-SH-BACKUP-PATH {
          description
            "OSPF Route Backup Path Information";
          leaf backup-route-interface-name {
            type xr:Interface-name;
            description "Next hop Interface";
          }
    
          leaf backup-route-next-hop-address {
            type inet:ipv4-address;
            description "Nexthop IP address";
          }
    
          leaf backup-route-source {
            type inet:ipv4-address;
            description
              "IP address of source of route";
          }
    
          leaf backup-metric {
            type uint32;
            description "Metric";
          }
    
          leaf primary-path {
            type boolean;
            description
              "Whether this is also a Primary Path";
          }
    
          leaf line-card-disjoint {
            type boolean;
            description
              "Whether this is a Line Card Disjoint path";
          }
    
          leaf downstream {
            type boolean;
            description
              "Whether this is a downstream path";
          }
    
          leaf node-protect {
            type boolean;
            description
              "Whether this is a Node Protect path";
          }
    
          leaf srlg-disjoint {
            type boolean;
            description
              "Whether this is a SRLG Disjoint path";
          }
    
          leaf weighted-srlg {
            type boolean;
            description
              "Whether this is a Weighted SRLG path";
          }
    
          leaf lfa-type {
            type Lfa;
            description "LFA type";
          }
    
          leaf backup-remote-lfa {
            type inet:ipv4-address;
            description
              "IP address of remote LFA";
          }
    
          leaf backup-repair-list-size {
            type uint32;
            description "Repair List Size";
          }
    
          leaf backup-tunnel-interface-name {
            type xr:Interface-name;
            description
              "Backup Tunnel Interface";
          }
    
          leaf interface-disjoint {
            type boolean;
            description
              "Whether this is a Interface Disjoint path";
          }
    
          list backup-repair {
            max-elements 12;
            description "Backup Repair List";
            uses OSPF-SH-REP-EL;
          }  // list backup-repair
        }  // grouping OSPF-SH-BACKUP-PATH
    
        grouping OSPF-SH-TOP-PATH-BACKUP {
          description
            "OSPF Route Path Wit Backup Path Information";
          container route-backup-path {
            description "Backup Path Info";
            uses OSPF-SH-BACKUP-PATH;
          }  // container route-backup-path
    
          container sr-microloop-avoidance-path {
            description
              "SR Microloop avoidance Path Info";
            uses OSPF-SH-SR-ULOOP-PATH;
          }  // container sr-microloop-avoidance-path
    
          leaf route-interface-name {
            type xr:Interface-name;
            description "Next hop Interface";
          }
    
          leaf route-interface-snmp-index {
            type uint32;
            description
              "SNMP index of the Interface";
          }
    
          leaf route-next-hop-address {
            type inet:ipv4-address;
            description "Nexthop IP address";
          }
    
          leaf route-source {
            type inet:ipv4-address;
            description
              "IP address of source of route";
          }
    
          leaf route-lsaid {
            type inet:ipv4-address;
            description "LSA ID, see RFC2328";
          }
    
          leaf route-path-is-mcast-intact {
            type boolean;
            description "Multicast-intact path";
          }
    
          leaf route-path-is-ucmp-path {
            type boolean;
            description "UCMP path";
          }
    
          leaf route-metric {
            type uint32;
            description "Metric";
          }
    
          leaf route-path-id {
            type uint32;
            description "Path ID of path";
          }
    
          leaf lsa-type {
            type uint8;
            description
              "LSA type, see RFC2328 etc.";
          }
    
          leaf area-id {
            type uint32;
            description "Area ID";
          }
    
          leaf area-format {
            type boolean;
            description
              "Area format IP or uint32";
          }
    
          leaf route-path-is-rsvp-te-path {
            type boolean;
            description "RSVP-TE path";
          }
    
          leaf route-path-is-sr-te-path {
            type boolean;
            description "SR-TE path";
          }
    
          leaf route-path-is-sr-excl-path {
            type boolean;
            description "SR Excl TE path";
          }
    
          leaf route-path-is-sr-te-sspf-path {
            type boolean;
            description "SR-TE SSPF path";
          }
    
          list neighbor-next-hop {
            description "NeighborNextHop";
            uses OSPF-SH-NNH-INFO;
          }  // list neighbor-next-hop
        }  // grouping OSPF-SH-TOP-PATH-BACKUP
    
        grouping OSPF-SH-TOP-COMMON {
          description
            "OSPF Common Route Information";
          container route-update-time {
            description "Last time updated";
            uses OSPF-SH-TIME;
          }  // container route-update-time
    
          container route-fail-time {
            description
              "Last time update failed";
            uses OSPF-SH-TIME;
          }  // container route-fail-time
    
          leaf route-area-id {
            type uint32;
            description "Area ID";
          }
    
          leaf route-te-metric {
            type uint32;
            description "TE metric";
          }
    
          leaf route-rib-version {
            type uint32;
            description "RIB version";
          }
    
          leaf route-spf-version {
            type uint64;
            description "SPF version";
          }
    
          leaf route-forward-distance {
            type uint32;
            description "Forward distance";
          }
    
          leaf route-source {
            type uint16;
            description "Protocol source";
          }
    
          leaf route-spf-priority {
            type uint8;
            description "SPF priority";
          }
    
          leaf route-auto-excluded {
            type boolean;
            description
              "If true, exclude from TE paths";
          }
    
          leaf route-srte-prefix-registered {
            type boolean;
            description
              "If true, SRTE registered prefix route";
          }
    
          leaf route-srte-nbr-registered {
            type uint16;
            description
              "SRTE registered neigbhor count on route";
          }
    
          leaf route-label-type {
            type uint8;
            description "Type of route label";
          }
    
          leaf route-label {
            type uint32;
            description "The route SPF label";
          }
    
          leaf route-sspf-label {
            type uint32;
            description "The route SSPF label";
          }
        }  // grouping OSPF-SH-TOP-COMMON
    
        grouping OSPF-SH-TOPOLOGY-BACKUP {
          description
            "OSPF Route Information With Backup Path";
          container route-info {
            description "Route information";
            uses OSPF-SH-TOP-COMMON;
          }  // container route-info
    
          leaf route-prefix {
            type inet:ipv4-address;
            description "IPv4 Route Prefix";
          }
    
          leaf route-prefix-length {
            type uint32;
            description "Prefix length";
          }
    
          leaf route-metric {
            type uint32;
            description "Metric";
          }
    
          leaf route-type {
            type Ospf-route;
            description
              "OSPF route type, whether intra-area, inter-area
             or external route";
          }
    
          leaf route-connected {
            type boolean;
            description
              "If true, connected route";
          }
    
          list route-path {
            description
              "List of paths to this route";
            uses OSPF-SH-TOP-PATH-BACKUP;
          }  // list route-path
        }  // grouping OSPF-SH-TOPOLOGY-BACKUP
    
        grouping OSPF-SH-NBR-ADJ-SID {
          description
            "OSPF Neighbor Adjacency SID";
          leaf adj-sid-label {
            type uint32;
            description "Adjacency SID Label";
          }
    
          leaf protected-adj-sid {
            type boolean;
            description
              "Adjacency SID Protection";
          }
    
          leaf adj-sid-has-backup {
            type boolean;
            description
              "Adjacency SID has backup protection";
          }
    
          leaf configured-adj-sid {
            type boolean;
            description
              "Configured Adjacency SID";
          }
        }  // grouping OSPF-SH-NBR-ADJ-SID
    
        grouping OSPF-SH-NEIGHBOR-RETRANS {
          description
            "OSPF Neighbor Retransmission Information";
          leaf dbd-retransmission-count {
            type uint32;
            description
              "Number of DBD retransmissions during last
             exchange";
          }
    
          leaf dbd-retransmission-total-count {
            type uint32;
            description
              "Total number of DBD retransmissions for this
             neighbor";
          }
    
          leaf area-flooding-index {
            type uint32;
            description
              "Area scope LSA's flood index";
          }
    
          leaf as-flood-index {
            type uint32;
            description
              "AS scope LSA's flood index";
          }
    
          leaf neighbor-retransmission-count {
            type uint32;
            description
              "Retransmission queue length";
          }
    
          leaf number-of-retransmissions {
            type uint32;
            description
              "Number of retransmissions for this neighbor";
          }
    
          leaf area-first-flood-information {
            type uint32;
            description
              "First flood item for area scope LSAs";
          }
    
          leaf area-first-flood-information-index {
            type uint32;
            description
              "Index of the first flood item for area scope
             LSAs";
          }
    
          leaf as-first-flood-information {
            type uint32;
            description
              "First flood item for AS scope LSAs";
          }
    
          leaf as-first-flood-information-index {
            type uint32;
            description
              "Index for first flood item for AS scope LSAs";
          }
    
          leaf area-next-flood-information {
            type uint32;
            description
              "Next flood item for area scope LSAs";
          }
    
          leaf area-next-flood-information-index {
            type uint32;
            description
              "Index of next flood item for Area scope LSAs";
          }
    
          leaf as-next-flood-information {
            type uint32;
            description
              "Next flood item for AS scope LSAs";
          }
    
          leaf as-next-flood-information-index {
            type uint32;
            description
              "Index of next flood item for AS scope LSAs";
          }
    
          leaf last-retransmission-length {
            type uint32;
            description
              "Number of LSAs sent in last retransmission";
          }
    
          leaf maximum-retransmission-length {
            type uint32;
            description
              "Maximum number of LSAs sent in a retransmission";
          }
    
          leaf last-retransmission-time {
            type uint32;
            description
              "Time taken for retransmission in the last
             attempt (ms)";
          }
    
          leaf maximum-retransmission-time {
            type uint32;
            description
              "Maximum time taken for retransmission (ms)";
          }
    
          leaf lsa-retransmission-timer {
            type uint32;
            description
              "Time until next LSA retransmission (ms)";
          }
        }  // grouping OSPF-SH-NEIGHBOR-RETRANS
    
        grouping OSPF-SH-NEIGHBOR-DETAIL {
          description
            "OSPF Neighbor Detailed Information";
          container neighbor-summary {
            description
              "Neighbor summary information";
            uses OSPF-SH-NEIGHBOR;
          }  // container neighbor-summary
    
          container neighbor-bfd-information {
            description
              "BFD related information of the neighbor";
            uses OSPF-SH-NEIGHBOR-BFD;
          }  // container neighbor-bfd-information
    
          container neighbor-retransmission-information {
            description
              "Retransmission information with this neighbor";
            uses OSPF-SH-NEIGHBOR-RETRANS;
          }  // container neighbor-retransmission-information
    
          leaf neighbor-area-id {
            type string {
              length "0..16";
            }
            description
              "Area ID string in decimal or dotted-decimal
             format";
          }
    
          leaf state-change-count {
            type uint16;
            description
              "Number of state changes";
          }
    
          leaf neighbor-cost {
            type uint16;
            description
              "Cost of path to this neighbor";
          }
    
          leaf neighbor-filter {
            type boolean;
            description
              "If true, filter outgoing LSAs";
          }
    
          leaf neighbor-designated-router-address {
            type inet:ipv4-address;
            description
              "Address of designated router";
          }
    
          leaf neighbor-backup-designated-router-address {
            type inet:ipv4-address;
            description
              "Address of backup designated router";
          }
    
          leaf interface-type {
            type Interface;
            description
              "Type of the interface, whether it is p2p,
             broadcast, nbma or p2mp";
          }
    
          leaf poll-interval {
            type uint32;
            description "Poll interval (s)";
          }
    
          leaf next-poll-interval {
            type uint32;
            units "second";
            description
              "For NBMA networks, amount of time remaining in
             seconds before the next poll interval expires
             and Hello is sent (s)";
          }
    
          leaf neighbor-option {
            type uint8;
            description
              " This is bitmaks of neighbor's option field
             received";
          }
    
          leaf pending-events {
            type uint16;
            description
              "Number of pending events";
          }
    
          leaf neighbor-lls-option {
            type uint32;
            description
              "This is a bitmask of Link Local signalling
             options received from the neighbor";
          }
    
          leaf oob-resynchronization {
            type boolean;
            description
              "Out-Of-Bound resynchronization in progress";
          }
    
          leaf nsf-router-state {
            type Nsf-rtr;
            description
              "For cisco NSF, the router is either Requester or
             Receiver";
          }
    
          leaf last-oob-time {
            type uint32;
            units "second";
            description
              "The amount of time in seconds since last time
             Out-Of-Band resynchronization was done with this
             neighbor";
          }
    
          leaf lfa-interface {
            type xr:Interface-name;
            description "LFA Interface";
          }
    
          leaf lfa-next-hop {
            type inet:ipv4-address;
            description "LFA Next Hop";
          }
    
          leaf lfa-neighbor-id {
            type inet:ipv4-address;
            description "LFA Neighbor ID";
          }
    
          leaf lfa-neighbor-revision {
            type uint32;
            description "LFA Neighbor Revision";
          }
    
          leaf neighbor-ack-list-count {
            type uint32;
            description "Ack List Count";
          }
    
          leaf neighbor-ack-list-high-watermark {
            type uint32;
            description
              "Ack List High Watermark";
          }
    
          leaf neighbor-interface-id {
            type uint16;
            description
              "Interface ID of neighbor recived via LLS";
          }
    
          list adjacency-sid {
            description
              "List of SR Adjacency SIDs";
            uses OSPF-SH-NBR-ADJ-SID;
          }  // list adjacency-sid
        }  // grouping OSPF-SH-NEIGHBOR-DETAIL
    
        grouping OSPF-SH-RETRANS-LIST {
          description "OSPF Retransmission List";
          leaf retransmission-neighbor-id {
            type inet:ipv4-address;
            description "Neighbor ID";
          }
    
          leaf retransmission-neighbor-ip-address {
            type inet:ipv4-address;
            description "Neighbor IP Address";
          }
    
          leaf retransmission-interface-name {
            type xr:Interface-name;
            description
              "Retransmission list interface";
          }
    
          leaf retransmission-timer {
            type uint32;
            description
              "Amount of time remaining on retransmission timer
             (ms)";
          }
    
          leaf retransmission-count {
            type uint32;
            description
              "Retransmission queue length";
          }
    
          list retransmission-area-db {
            description
              "List of Area scope entries";
            uses OSPF-SH-LSA-SUM;
          }  // list retransmission-area-db
    
          list retransmission-asdb {
            description
              "List of AS Scope entries";
            uses OSPF-SH-LSA-SUM;
          }  // list retransmission-asdb
        }  // grouping OSPF-SH-RETRANS-LIST
    
        grouping OSPF-SH-REQUEST-LIST {
          description
            "OSPF Request List Information";
          leaf request-neighbor-id {
            type inet:ipv4-address;
            description "Neighbor ID";
          }
    
          leaf request-neighbor-address {
            type inet:ipv4-address;
            description "Neighbor IP address";
          }
    
          leaf request-interface-name {
            type xr:Interface-name;
            description "Request list interface";
          }
    
          list request {
            description
              "List of request list entries";
            uses OSPF-SH-LSA-SUM;
          }  // list request
        }  // grouping OSPF-SH-REQUEST-LIST
    
        grouping OSPF-SH-NEIGHBOR-BFD {
          description
            "OSPF Neighbor BFD information";
          leaf bfd-intf-enable-mode {
            type uint32;
            description
              "BFD enable mode - Default/Strict";
          }
    
          leaf bfd-status-flag {
            type uint8;
            description
              "Status of the BFD Session";
          }
        }  // grouping OSPF-SH-NEIGHBOR-BFD
    
        grouping OSPF-SH-NEIGHBOR {
          description
            "OSPF Neighbor Summary Information";
          container neighbor-bfd-information {
            description
              "BFD related information of the neighbor";
            uses OSPF-SH-NEIGHBOR-BFD;
          }  // container neighbor-bfd-information
    
          leaf neighbor-id {
            type inet:ipv4-address;
            description "Neighbor ID";
          }
    
          leaf neighbor-ip-address {
            type inet:ipv4-address;
            description "Neighbor IP Address";
          }
    
          leaf neighbor-interface-name {
            type xr:Interface-name;
            description
              "Interface via which the neighbor is seen";
          }
    
          leaf neighbor-dr-priority {
            type uint8;
            description
              "DR priority of the neighbor";
          }
    
          leaf neighbor-state {
            type Neighbor-state;
            description
              "NFSM state of the neighbor";
          }
    
          leaf dr-bdr-state {
            type Dr-bdr-state;
            description
              "IFSM state of the neighbor";
          }
    
          leaf neighbor-dead-timer {
            type uint32;
            description
              "Time until neighbor's dead timer expires (s)";
          }
    
          leaf neighbor-up-time {
            type uint32;
            description
              "Amount of time since the adjacency is up (s)";
          }
    
          leaf neighbor-madj-interface {
            type boolean;
            description "Interface is MADJ";
          }
        }  // grouping OSPF-SH-NEIGHBOR
    
        grouping OSPF-SH-TIME {
          description
            "Time in seconds and nanoseconds";
          leaf second {
            type uint32;
            description "Second";
          }
    
          leaf nanosecond {
            type uint32;
            description "Nanosecond";
          }
        }  // grouping OSPF-SH-TIME
    
        grouping OSPF-SH-MPLS-FRAGMENT {
          description
            "OSPF MPLS-TE Fragment Information";
          leaf fragment-instance {
            type uint32;
            description
              "Fragment instance number";
          }
    
          leaf fragment-id {
            type uint32;
            description "Fragment ID value";
          }
    
          leaf dste-model-id {
            type uint8;
            description
              "DS-TE Allocation Model ID";
          }
    
          leaf same-fragment-count {
            type uint8;
            description
              "Number of fragment links which haven't changed
             since the last update";
          }
    
          list mpls-te-link {
            description "List of fragment links";
            uses OSPF-SH-MPLS-LINK;
          }  // list mpls-te-link
        }  // grouping OSPF-SH-MPLS-FRAGMENT
    
        grouping OSPF-SH-MPLS-EAG {
          description
            "EXTENDED administrative group TLVs";
          leaf extended-admin-size {
            type uint32;
            description
              "Size of the extended admin group";
          }
    
          list ext-admin-data {
            description
              "Value of Extended Admin Group";
            leaf entry {
              type uint32;
              description
                "Value of Extended Admin Group";
            }
          }  // list ext-admin-data
        }  // grouping OSPF-SH-MPLS-EAG
    
        grouping MPLS-TEL-OPT-UNID-VAL {
          description
            "MPLS TE Link Optional TLV IXCD Data";
          leaf uni-dir-delay {
            type uint32;
            description "Uni Dir Delay";
          }
        }  // grouping MPLS-TEL-OPT-UNID-VAL
    
        grouping BW-FLEX-SUBTLV-VALUE {
          description "Value of Flex Sub TLV";
          container flex-sub-tlv-value-common {
            description "Flex Sub TLV Value";
            uses BW-SUB-TLV-VALUE-COMMON;
          }  // container flex-sub-tlv-value-common
    
          list unres-lspbw {
            max-elements 8;
            description "Array of Unres LSP BW";
            leaf entry {
              type uint64;
              description
                "Array of Unres LSP BW";
            }
          }  // list unres-lspbw
    
          list max-lspbw {
            max-elements 8;
            description "Max LSP BW Array";
            leaf entry {
              type uint64;
              description "Max LSP BW Array";
            }
          }  // list max-lspbw
        }  // grouping BW-FLEX-SUBTLV-VALUE
    
        grouping BW-SUB-TLV-VALUE-COMMON {
          description
            "Common values in both Fixed and Flex Sub TLV";
          leaf signal-type {
            type uint8;
            description "Signal Type value";
          }
    
          leaf num-stages {
            type uint8;
            description "Number of stages";
          }
    
          leaf tbit {
            type uint8;
            description "T Bit";
          }
    
          leaf sbit {
            type uint8;
            description "S Bit";
          }
    
          leaf tsg {
            type uint8;
            description "TSG";
          }
    
          leaf res {
            type uint8;
            description "Res";
          }
    
          leaf priority-bit0 {
            type uint8;
            description "Priority 0";
          }
    
          leaf priority-bit1 {
            type uint8;
            description "Priority 1";
          }
    
          leaf priority-bit2 {
            type uint8;
            description "Priority 2";
          }
    
          leaf priority-bit3 {
            type uint8;
            description "Priority 3";
          }
    
          leaf priority-bit4 {
            type uint8;
            description "Priority 4";
          }
    
          leaf priority-bit5 {
            type uint8;
            description "Priority 5";
          }
    
          leaf priority-bit6 {
            type uint8;
            description "Priority 6";
          }
    
          leaf priority-bit7 {
            type uint8;
            description "Priority 7";
          }
    
          leaf stage {
            type yang:hex-string;
            description "Array of Stages";
          }
        }  // grouping BW-SUB-TLV-VALUE-COMMON
    
        grouping BW-FIXED-SUBTLV-VALUE {
          description "Value of Fixed Sub TLV";
          container fixed-sub-tlv-value {
            description "Value of Fixed Sub TLV";
            uses BW-SUB-TLV-VALUE-COMMON;
          }  // container fixed-sub-tlv-value
    
          list unres-oduj-prio {
            max-elements 8;
            description
              "Array of Unres Oduj Prio";
            leaf entry {
              type uint32;
              description
                "Array of Unres Oduj Prio";
            }
          }  // list unres-oduj-prio
        }  // grouping BW-FIXED-SUBTLV-VALUE
    
        grouping IXCD-BW-SUB-TLV-VALUE-UNION {
          description
            "Sub Tlv values for IXCD Bandwidth";
          container fixed-bw-sub-tlv-value {
            when "../ixcdbw-sub-tlv-type = '1'" {
              description
                "../IXCDBWSubTLVType = '1'";
            }
            description "Value of Fixed Sub TLV";
            uses BW-FIXED-SUBTLV-VALUE;
          }  // container fixed-bw-sub-tlv-value
    
          container flex-bw-sub-tlv-value {
            when "../ixcdbw-sub-tlv-type = '2'" {
              description
                "../IXCDBWSubTLVType = '2'";
            }
            description "Value of Flex Sub TLV";
            uses BW-FLEX-SUBTLV-VALUE;
          }  // container flex-bw-sub-tlv-value
    
          leaf ixcdbw-sub-tlv-type {
            type uint16;
            description "IXCDBWSubTLVType";
          }
        }  // grouping IXCD-BW-SUB-TLV-VALUE-UNION
    
        grouping IXCD-BW-SUB-TLV {
          description "IXCD BW sub tlv";
          container bw-sub-tlv-value {
            description "Value of BW Sub TLV";
            uses IXCD-BW-SUB-TLV-VALUE-UNION;
          }  // container bw-sub-tlv-value
    
          leaf bw-sub-tlv-type {
            type uint16;
            description "Type of Sub TLV";
          }
    
          leaf bw-sub-tlv-length {
            type uint16;
            description "Length of BW Sub TLV";
          }
        }  // grouping IXCD-BW-SUB-TLV
    
        grouping IXCD-BW-SUB-TLV-ARR {
          description "Array of BW Sub TLVs";
          list arr-bw-sub-tlv {
            description "Array of sub tlvs";
            uses IXCD-BW-SUB-TLV;
          }  // list arr-bw-sub-tlv
        }  // grouping IXCD-BW-SUB-TLV-ARR
    
        grouping IXCD-LE-PSC-INFO {
          description "IXCD LE PSC information";
          leaf min-lsp-bandwidth {
            type uint64;
            description "Min LSP bandwidth";
          }
    
          leaf psc-interface-mtu {
            type uint16;
            description " Interface MTU";
          }
        }  // grouping IXCD-LE-PSC-INFO
    
        grouping IXCD-TLV-SWITCHINGCAP-VALUE-UNION {
          description "Switching Cap values";
          container ixcdpsc-info {
            when
              "../switching-cap-type = 'rrr-proto-l-switch-cap-psc4'" {
              description
                "../SwitchingCapType =
               'RRR_PROTO_LSWITCH_CAP_PSC4'";
            }
            description "IXCD PSC information";
            uses IXCD-LE-PSC-INFO;
          }  // container ixcdpsc-info
    
          container ixcdbw-sub-tlv {
            when
              "../switching-cap-type = 'rrr-proto-l-switch-cap-otn-tdm'" {
              description
                "../SwitchingCapType =
               'RRR_PROTO_LSWITCH_CAP_OTN_TDM'";
            }
            description "Sub TLVs";
            uses IXCD-BW-SUB-TLV-ARR;
          }  // container ixcdbw-sub-tlv
    
          leaf switching-cap-type {
            type uint8;
            description "SwitchingCapType";
          }
        }  // grouping IXCD-TLV-SWITCHINGCAP-VALUE-UNION
    
        grouping MPLS-TEL-OPT-IXCD-VAL {
          description
            "MPLS TE Link Optional TLV IXCD Data";
          container ixcd-switching-cap-type {
            description "Switching Cap type";
            uses IXCD-TLV-SWITCHINGCAP-VALUE-UNION;
          }  // container ixcd-switching-cap-type
    
          leaf switching-cap {
            type uint8;
            description "SCap";
          }
    
          leaf rile-len-code {
            type uint8;
            description "Rile LenCode";
          }
    
          leaf fixed-scsi-count {
            type uint32;
            description "Fixed SCSI count";
          }
    
          leaf flex-scsi-count {
            type uint32;
            description "Flexible SCSI count";
          }
    
          list max-lspbw {
            max-elements 8;
            description
              "Max LSP bandwidth array";
            leaf entry {
              type int64;
              description
                "Max LSP bandwidth array";
            }
          }  // list max-lspbw
        }  // grouping MPLS-TEL-OPT-IXCD-VAL
    
        grouping MPLS-TEL-OPT-SRLG-VAL {
          description
            "MPLS TE Link Optional TLV SRLG Data";
          leaf srlg-len {
            type uint32;
            description "Length of SRLG TLV";
          }
    
          leaf num-srl-gs {
            type uint32;
            description "Number of SRLG TLVs";
          }
    
          list mplste-link-srlg-data {
            description "Value of SRLG TLV";
            leaf entry {
              type uint32;
              description "Value of SRLG TLV";
            }
          }  // list mplste-link-srlg-data
        }  // grouping MPLS-TEL-OPT-SRLG-VAL
    
        grouping MPLS-TEL-OPT-BC-VAL {
          description
            "MPLS TE Link Optional TLV BC Data";
          leaf model-id {
            type uint8;
            description "Allocation Model ID";
          }
    
          leaf num-b-cs {
            type uint32;
            description "Number of BC TLVs";
          }
    
          list mplste-link-bc-bandwidth {
            description "Value of BC TLV";
            leaf entry {
              type uint64;
              description "Value of BC TLV";
            }
          }  // list mplste-link-bc-bandwidth
        }  // grouping MPLS-TEL-OPT-BC-VAL
    
        grouping MPLSTEL-TLV-VALUE-UNION {
          description "Value of TLVs";
          container bctlv-value {
            when
              "../opaque-tlv-type = 'mpls-te-opt-tlv-type-bc'" {
              description
                "../OpaqueTLVType = 'MPLS_TE_OPT_TLV_TYPE_BC'";
            }
            description
              "Value of Bandwidth Constraints TLV";
            uses MPLS-TEL-OPT-BC-VAL;
          }  // container bctlv-value
    
          container srlgtlv-value {
            when
              "../opaque-tlv-type = 'mpls-te-opt-tlv-type-srlg'" {
              description
                "../OpaqueTLVType = 'MPLS_TE_OPT_TLV_TYPE_SRLG'";
            }
            description "Value of SRLG TLV";
            uses MPLS-TEL-OPT-SRLG-VAL;
          }  // container srlgtlv-value
    
          container ixcdtlv-value {
            when
              "../opaque-tlv-type = 'mpls-te-opt-tlv-type-ixcd'" {
              description
                "../OpaqueTLVType = 'MPLS_TE_OPT_TLV_TYPE_IXCD'";
            }
            description "Value of IXCD TLV";
            uses MPLS-TEL-OPT-IXCD-VAL;
          }  // container ixcdtlv-value
    
          container unidtlv-value {
            when
              "../opaque-tlv-type = 'mpls-te-opt-tlv-type-uni-delay'" {
              description
                "../OpaqueTLVType =
               'MPLS_TE_OPT_TLV_TYPE_UNI_DELAY'";
            }
            description "Value of Uni Delay TLV";
            uses MPLS-TEL-OPT-UNID-VAL;
          }  // container unidtlv-value
    
          leaf opaque-tlv-type {
            type Mpls-te-opt-tlv;
            description "OpaqueTLVType";
          }
        }  // grouping MPLSTEL-TLV-VALUE-UNION
    
        grouping OSPF-SH-MPLS-TEL-OPT-TLV {
          description
            "MPLS TE Link Optional TLVs";
          leaf mplste-link-opt-tlv-type {
            type Mpls-te-opt-tlv;
            description "Type of Opt TLV";
          }
    
          leaf mplste-link-opt-tlv-len {
            type uint16;
            description "Length of Opt TLV";
          }
    
          list mplste-link-opt-tlv-value {
            description "Value of Opt TLV";
            uses MPLSTEL-TLV-VALUE-UNION;
          }  // list mplste-link-opt-tlv-value
        }  // grouping OSPF-SH-MPLS-TEL-OPT-TLV
    
        grouping OSPF-SH-MPLS-IXCD-CAP {
          description
            "Link switching capability";
          leaf link-switching-capability {
            type uint8;
            description
              "Link Switching Capability value";
          }
    
          leaf link-encoding {
            type uint8;
            description "Link Encoding value";
          }
    
          leaf minimum-lsp-bw {
            type uint64;
            units "byte/s";
            description
              "Minimum LSP bandwidth (bytes/s)";
          }
    
          leaf link-mtu {
            type uint16;
            units "byte";
            description "Link MTU size (bytes)";
          }
    
          list maximum-lsp-bw-per-priority {
            max-elements 8;
            description
              "Maximum LSP bandwidth for each priority
             
             (bytes/s)";
            leaf entry {
              type uint64;
              units "byte/s";
              description
                "Maximum LSP bandwidth for each priority
               
               (bytes/s)";
            }
          }  // list maximum-lsp-bw-per-priority
        }  // grouping OSPF-SH-MPLS-IXCD-CAP
    
        grouping OSPF-SH-MPLS-LINK-PROTOPRIO {
          description
            "Link protocol and priority capability";
          leaf link-protocol-capability {
            type uint8;
            description
              "Protocol capability value of the link";
          }
    
          leaf link-protocol-priority {
            type uint8;
            description
              "Protocol priority value of the link";
          }
        }  // grouping OSPF-SH-MPLS-LINK-PROTOPRIO
    
        grouping OSPF-SH-MPLS-BW {
          description
            "Available bandwidth for each priority level";
          list bw-per-priority {
            max-elements 8;
            description
              "Unreserved bandwidth for each priority (bytes/s)";
            leaf entry {
              type uint64;
              units "byte/s";
              description
                "Unreserved bandwidth for each priority (bytes/s)";
            }
          }  // list bw-per-priority
        }  // grouping OSPF-SH-MPLS-BW
    
        grouping OSPF-SH-MPLS-LINK {
          description
            "OSPF MPLS-TE link Information";
          container global-unreserve-bw-per-priority {
            description
              "Global pool unreserved bandwidth for each
             priority (bytes/s)";
            uses OSPF-SH-MPLS-BW;
          }  // container global-unreserve-bw-per-priority
    
          container sub-pool-unreserve-bw-per-priority {
            description
              "Sub pool unreserved bandwidth for each priority
             (bytes/s)";
            uses OSPF-SH-MPLS-BW;
          }  // container sub-pool-unreserve-bw-per-priority
    
          container link-protocol-priority-capability {
            description
              "Link protocol and protocol priority capability
             details";
            uses OSPF-SH-MPLS-LINK-PROTOPRIO;
          }  // container link-protocol-priority-capability
    
          container link-sw-capability {
            description
              "Link switching capability";
            uses OSPF-SH-MPLS-IXCD-CAP;
          }  // container link-sw-capability
    
          container extended-admin-group-list {
            description "Extended Admin Group";
            uses OSPF-SH-MPLS-EAG;
          }  // container extended-admin-group-list
    
          leaf new-link {
            type boolean;
            description "If true, Link is new";
          }
    
          leaf fragment-id {
            type uint32;
            description
              "Fragment ID for this link";
          }
    
          leaf mpls-link-instance {
            type uint32;
            description "Link instance";
          }
    
          leaf mpls-link-type {
            type Link-subnet;
            description "Type of link";
          }
    
          leaf neighbor-link-id {
            type inet:ipv4-address;
            description
              "Link ID of the neighbor";
          }
    
          leaf link-address {
            type inet:ipv4-address;
            description
              "The local interface address";
          }
    
          leaf neighbor-ip-address {
            type inet:ipv4-address;
            description
              "IP address of the neighbor";
          }
    
          leaf igp-metric {
            type uint32;
            description "Link IGP metric";
          }
    
          leaf te-metric {
            type uint32;
            description "Link TE metric";
          }
    
          leaf maximum-link-bw {
            type uint64;
            units "byte/s";
            description
              "Maximum link bandwidth (bytes/s)";
          }
    
          leaf maximum-link-reservable-bw {
            type uint64;
            units "byte/s";
            description
              "Maximum link global pool reservable bandwidth
             (bytes/s)";
          }
    
          leaf maximum-link-sub-reservable-bw {
            type uint64;
            units "byte/s";
            description
              "Maximum link subpool reservable bandwidth
             (bytes/s)";
          }
    
          leaf priority-count {
            type int32;
            description "Number of priorities.";
          }
    
          leaf affinity {
            type uint32;
            description "Affinity bits";
          }
    
          leaf output-interface-id {
            type uint32;
            description "Outgoing interface ID";
          }
    
          leaf input-interface-id {
            type uint32;
            description "Incoming interface ID";
          }
    
          leaf dste-in-use {
            type boolean;
            description
              "A DS-TE Allocation Model in use";
          }
    
          leaf dste-allocation-model-id {
            type Igpte-lib-bw-model;
            description
              "DS-TE Allocation Model ID";
          }
    
          leaf number-of-optional-tl-vs {
            type uint8;
            description
              "Number of Optional TLVs";
          }
    
          list mplste-link-opt-tlv {
            description "List of Optional TLVs";
            uses OSPF-SH-MPLS-TEL-OPT-TLV;
          }  // list mplste-link-opt-tlv
        }  // grouping OSPF-SH-MPLS-LINK
    
        grouping OSPF-SH-MPLS {
          description "OSPF MPLS-TE Information";
          leaf mpls-te-router-id {
            type inet:ipv4-address;
            description "OSPF MPLS-TE router ID";
          }
    
          leaf mpls-te-enabled {
            type boolean;
            description
              "If true, MPLS-TE enabled in area";
          }
    
          leaf mpls-te-initialized {
            type boolean;
            description
              "If true, MPLS-TE initialized in the area";
          }
    
          leaf mpls-te-area-id {
            type string {
              length "0..16";
            }
            description
              "Area ID string in decimal or dotted decimal
             format";
          }
    
          leaf mpls-te-area-instance {
            type uint32;
            description
              "Area information instance";
          }
    
          leaf mpls-te-router-address {
            type inet:ipv4-address;
            description "MPLS-TE router address";
          }
    
          leaf mpls-te-next-fragment-id {
            type uint32;
            description
              "Next MPLS-TE fragment ID";
          }
    
          leaf spacious-fragment {
            type boolean;
            description
              "If true, fragment has space for next link";
          }
    
          list mpls-te-link {
            description
              "MPLS-TE links in the area";
            uses OSPF-SH-MPLS-LINK;
          }  // list mpls-te-link
    
          list mpls-te-fragment {
            description
              "MPLS TE fragments in the area";
            uses OSPF-SH-MPLS-FRAGMENT;
          }  // list mpls-te-fragment
        }  // grouping OSPF-SH-MPLS
    
        grouping OSPF-SH-SR-POLICY {
          description
            "Details of OSPF SR Policy";
          leaf policy-name {
            type string;
            description "Name of the SR Policy";
          }
    
          leaf policy-if-handle {
            type xr:Interface-name;
            description
              "Interface handle of the SR Policy";
          }
    
          leaf policy-metric {
            type int32;
            description
              "Metric of the SR Policy";
          }
    
          leaf policy-bsid {
            type uint32;
            description "Bsid of the SR Policy";
          }
    
          leaf policy-metric-mode {
            type Ospf-sr-pol-metric-mode;
            description
              "Metric mode of the SR Policy";
          }
    
          leaf policy-is-sspf {
            type boolean;
            description
              "Whether SR Policy is Strict SPF";
          }
    
          leaf policy-is-autoroute-include {
            type boolean;
            description
              "Whether SR Policy is autoroute Include";
          }
    
          leaf policy-state-is-valid {
            type boolean;
            description
              "Whether SR Policy State is valid";
          }
    
          leaf policy-state-is-stale {
            type boolean;
            description
              "Whether SR Policy State is stale";
          }
    
          leaf policy-state-is-ifh-error {
            type boolean;
            description
              "Whether SR Policy State is IF Handle error";
          }
    
          leaf policy-state-is-idb-pending {
            type boolean;
            description
              "Whether SR Policy State is IDB pending";
          }
    
          leaf policy-update-timestamp {
            type uint32;
            description
              "Timestamp when SR Policy was updated";
          }
        }  // grouping OSPF-SH-SR-POLICY
    
        grouping OSPF-SH-SR-ENDPOINT {
          description "OSPF SR Policy End point";
          leaf sr-endpoint {
            type inet:ipv4-address;
            description "SR Endpoint Address";
          }
    
          leaf sr-router-id {
            type uint32;
            description "SR Endpoint Router ID";
          }
    
          leaf sr-area-id-string {
            type string;
            description "SR Endpoint Area ID";
          }
    
          leaf sr-policy-count {
            type uint32;
            description "Count of SR Policies";
          }
    
          leaf sr-valid-policy-count {
            type uint32;
            description
              "Count of Valid SR Policies";
          }
    
          leaf sr-endp-state-is-valid {
            type boolean;
            description
              "Whether SR Endpoint state is valid";
          }
    
          leaf sr-endp-state-is-stale {
            type boolean;
            description
              "Whether SR Endpoint state is stale";
          }
    
          leaf sr-endp-state-is-unres {
            type boolean;
            description
              "Whether SR Endpoint state is unresolved";
          }
    
          leaf sr-endp-resolution-fail-reason {
            type Ospf-sr-endp-res-fail-reason;
            description
              "Reason for SR Endpoint resolution failure";
          }
    
          list sr-policy {
            description "List of SR Policies";
            uses OSPF-SH-SR-POLICY;
          }  // list sr-policy
        }  // grouping OSPF-SH-SR-ENDPOINT
    
        grouping OSPF-SH-ADJ-SID-PATH-INFO {
          description
            "OSPF SR Adjacency SID Path Information";
          leaf interface-handle {
            type xr:Interface-name;
            description
              "SR Adj SID Interface Handle";
          }
    
          leaf nexthop-ip-address {
            type inet:ipv4-address;
            description
              "SR Adj SID Nexthop Neighbor IP Address";
          }
    
          leaf load-metric {
            type uint32;
            description "SR Adj SID Path metric";
          }
    
          list label-stack {
            description "SR Adj SID Label Stack";
            leaf entry {
              type uint32;
              description
                "SR Adj SID Label Stack";
            }
          }  // list label-stack
        }  // grouping OSPF-SH-ADJ-SID-PATH-INFO
    
        grouping OSPF-SH-ADJ-SID-NBR-ASSOC {
          description
            "OSPF SR Adjacency SID Neighbor Association
           Information";
          container primary-path-info {
            description
              "SR Adj SID Primary path info";
            uses OSPF-SH-ADJ-SID-PATH-INFO;
          }  // container primary-path-info
    
          container backup-path-info {
            description
              "SR Adj SID Backup path info";
            uses OSPF-SH-ADJ-SID-PATH-INFO;
          }  // container backup-path-info
    
          leaf neighbor-id {
            type inet:ipv4-address;
            description "SR Adj SID Neighbor ID";
          }
    
          leaf sr-adj-sid-is-protected {
            type boolean;
            description
              "SR Adj SID is protected";
          }
    
          leaf sr-adj-sid-has-backup {
            type boolean;
            description
              "SR Adj SID has backup path";
          }
        }  // grouping OSPF-SH-ADJ-SID-NBR-ASSOC
    
        grouping OSPF-SH-ADJ-SID {
          description
            "OSPF SR Adjacency SID Information";
          leaf sr-adjacency-sid {
            type uint32;
            description "SR Adjacency SID";
          }
    
          leaf sr-adj-sid-is-configured {
            type boolean;
            description
              "SR Adj SID is configured";
          }
    
          leaf is-deleted-adjacency-protected {
            type boolean;
            description
              "Is this adj-sid being protected after adjacency
             deleted";
          }
    
          leaf deleted-adjacency-protection-timer {
            type uint32;
            description
              "Remaining time for deleted adjacency protection
             (sec)";
          }
    
          list sr-adj-sid-neighbor {
            description
              "SR Adj SID Neighbor List";
            uses OSPF-SH-ADJ-SID-NBR-ASSOC;
          }  // list sr-adj-sid-neighbor
        }  // grouping OSPF-SH-ADJ-SID
    
        grouping OSPF-SH-LSA-SUM {
          description "LSA Summary Entry";
          leaf header-lsa-type {
            type Lsa;
            description "LSA Type";
          }
    
          leaf header-lsa-age {
            type uint16;
            description "Age of the LSA (s)";
          }
    
          leaf header-ls-id {
            type inet:ipv4-address;
            description "LSA ID";
          }
    
          leaf header-advertising-router {
            type inet:ipv4-address;
            description
              "Router ID of the Advertising Router";
          }
    
          leaf header-sequence-number {
            type uint32;
            description
              "Current LSA sequence number";
          }
    
          leaf header-lsa-checksum {
            type uint16;
            description "Checksum of the LSA";
          }
        }  // grouping OSPF-SH-LSA-SUM
    
        grouping OSPF-SH-FLOOD-LIST {
          description "OSPF Flood List";
          leaf flood-interface-name {
            type xr:Interface-name;
            description
              "Name of the Interface for which flood list is
             retrieved";
          }
    
          leaf flood-pacing-timer {
            type uint32;
            description
              "Time until next LS update due (ms)";
          }
    
          leaf flood-lsa-count {
            type uint32;
            description
              "Number of LSAs currently being flooded";
          }
    
          list area-flood {
            description "Area scope floodlist";
            uses OSPF-SH-LSA-SUM;
          }  // list area-flood
    
          list as-flood {
            description "AS scope floodlist";
            uses OSPF-SH-LSA-SUM;
          }  // list as-flood
        }  // grouping OSPF-SH-FLOOD-LIST
      }  // submodule Cisco-IOS-XR-ipv4-ospf-oper-sub2
    

© 2024 YumaWorks, Inc. All rights reserved.