Cisco-IOS-XR-pfi-im-cmd-oper

This module contains a collection of YANG definitions for Cisco IOS-XR pfi-im-cmd package operational data. This module contain...

  • Version: 2021-05-23

    Cisco-IOS-XR-pfi-im-cmd-oper@2021-05-23


    
      module Cisco-IOS-XR-pfi-im-cmd-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-pfi-im-cmd-oper";
    
        prefix pfi-im-cmd-oper;
    
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        include Cisco-IOS-XR-pfi-im-cmd-oper-sub2 {
          revision-date "2021-05-23";
        }
        include Cisco-IOS-XR-pfi-im-cmd-oper-sub1 {
          revision-date "2021-05-23";
        }
    
        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 module contains a collection of YANG definitions
         for Cisco IOS-XR pfi-im-cmd package operational data.
         
         This module contains definitions
         for the following management objects:
           interfaces: Interface operational data
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-05-23" {
          description
            "Removed container for non-dynamic interfaces.
           2020-12-02
             added new mediatype for 25GBASE_LR.
           2020-10-08
             Unit of last-data-time in milliseconds reverted to seconds for generic stats
           2020-10-01
             64-bit Bandwidth support
           2020-09-03
             Removed event-telemetry annotation from leaf interface-name of grouping BM-MEMBER-DATA
           2020-04-14
             Unit of last-data-time changed from seconds to milliseconds for generic stats
           2020-04-14
             Support added for non-dynamic interfaces.
           2020-04-14
             Data type of last-data-time changed from uint32 to uint64 for generic and proto stats";
        }
    
        revision "2019-12-03" {
          description "Updated description.";
        }
    
        revision "2019-08-14" {
          description
            "Added last state transition time.
           2019-07-23
           Changes in IosApi version.
           2019-05-30
           64 bit bandwidth changes.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-06-26" {
          description
            "Change identifiers to be more readable.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2016-12-18" {
          description "Description updated.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "4.0.0";
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Interface-type-set {
          type enumeration {
            enum "hardware-interfaces" {
              value 0;
              description
                "Restrict the output to hardware interfaces only";
            }
          }
          description "Interface type set";
        }
    
        container interfaces {
          config false;
          description
            "Interface operational data";
          container interface-xr {
            description
              "Detailed operational data for interfaces and
             configured features";
            list interface {
              key "interface-name";
              description
                "Detailed operational data for a particular
               interface";
              leaf interface-name {
                type xr:Interface-name;
                description
                  "The name of the interface";
              }
    
              container dampening-information {
                description
                  "State dampening information of interface";
                leaf penalty {
                  type uint32;
                  description
                    "Dampening penalty of the interface";
                }
    
                leaf is-suppressed-enabled {
                  type boolean;
                  description
                    "Flag showing if state is suppressed";
                }
    
                leaf seconds-remaining {
                  type uint32;
                  units "second";
                  description
                    "Remaining period of suppression in secs";
                }
    
                leaf half-life {
                  type uint32;
                  units "minute";
                  description
                    "Configured decay half life in mins";
                }
    
                leaf reuse-threshold {
                  type uint32;
                  description
                    "Configured reuse threshold";
                }
    
                leaf suppress-threshold {
                  type uint32;
                  description
                    "Value of suppress threshold";
                }
    
                leaf maximum-suppress-time {
                  type uint32;
                  units "minute";
                  description
                    "Maximum suppress time in mins";
                }
    
                leaf restart-penalty {
                  type uint32;
                  description
                    "Configured restart penalty";
                }
              }  // container dampening-information
    
              container mac-address {
                description
                  "Interface MAC address";
                leaf address {
                  xr:event-telemetry "Subscribe Telemetry Event";
                  type yang:mac-address;
                  description "MAC Address";
                }
              }  // container mac-address
    
              container burned-in-address {
                description
                  "Interface burned in address";
                leaf address {
                  xr:event-telemetry "Subscribe Telemetry Event";
                  type yang:mac-address;
                  description "MAC Address";
                }
              }  // container burned-in-address
    
              container carrier-delay {
                description
                  "Carrier Delay of the interface";
                leaf carrier-delay-up {
                  type uint32;
                  description
                    "Carrier delay on state up (ms)";
                }
    
                leaf carrier-delay-down {
                  type uint32;
                  description
                    "Carrier delay on state down (ms)";
                }
              }  // container carrier-delay
    
              container arp-information {
                description
                  "Interface ARP type and timeout";
                leaf arp-timeout {
                  type uint32;
                  units "second";
                  description
                    "ARP timeout in seconds. Only valid if
    'ARPIsLearningDisabled' is 'false'";
                }
    
                leaf arp-type-name {
                  type string;
                  description "ARP type name";
                }
    
                leaf arp-is-learning-disabled {
                  type boolean;
                  description
                    "Whether the interface has dynamic learning
    disabled";
                }
              }  // container arp-information
    
              container ip-information {
                description
                  "Interface IP address info";
                leaf ip-address {
                  xr:event-telemetry "Subscribe Telemetry Event";
                  type inet:ipv4-address;
                  description
                    "Interface IPv4 address";
                }
    
                leaf subnet-mask-length {
                  xr:event-telemetry "Subscribe Telemetry Event";
                  type uint32;
                  description
                    "Interface subnet mask length";
                }
              }  // container ip-information
    
              container encapsulation-information {
                description
                  "Information specific to the encapsulation";
                container frame-relay-information {
                  when
                    "../encapsulation-type = 'frame-relay'" {
                    description
                      "../EncapsulationType = 'FrameRelay'";
                  }
                  description
                    "Frame Relay information";
                  leaf fr-encapsulation-type {
                    type Im-cmd-fr-type-enum;
                    description
                      "Frame Relay encapsulation type";
                  }
    
                  leaf lmi-type {
                    type Im-cmd-lmi-type-enum;
                    description
                      "The LMI type: Autosense, ANSI, CCITT or CISCO";
                  }
    
                  leaf lmidlci {
                    type uint32;
                    description "LMI DLCI";
                  }
    
                  leaf is-nni {
                    type boolean;
                    description
                      "The NNI LMI interface type";
                  }
    
                  leaf is-dte {
                    type boolean;
                    description
                      "The DTE/DCE LMI interface type";
                  }
    
                  leaf is-lmi-up {
                    type boolean;
                    description
                      "Flag indicating whether the LMI  DTE/DCE/NNI-DTE
    state is UP";
                  }
    
                  leaf is-lmi-nni-dce-up {
                    type boolean;
                    description
                      "Flag indicating whether the LMI  NNI-DCE state
    is UP";
                  }
    
                  leaf is-lmi-enabled {
                    type boolean;
                    description
                      "The status of FR LMI for an interface";
                  }
    
                  leaf enquiries-received {
                    type uint32;
                    description
                      "Number of enquiry messages received";
                  }
    
                  leaf enquiries-sent {
                    type uint32;
                    description
                      "Number of enquiry messages sent";
                  }
    
                  leaf status-received {
                    type uint32;
                    description
                      "Number of status messages received";
                  }
    
                  leaf status-sent {
                    type uint32;
                    description
                      "Number of status messages sent";
                  }
    
                  leaf update-status-received {
                    type uint32;
                    description
                      "Number of update status messages received";
                  }
    
                  leaf update-status-sent {
                    type uint32;
                    description
                      "Number of update status messages sent";
                  }
                }  // container frame-relay-information
    
                container dot1q-information {
                  when
                    "../encapsulation-type = 'vlan'" {
                    description
                      "../EncapsulationType = 'VLAN'";
                  }
                  description
                    "VLAN 802.1q information";
                  container encapsulation-details {
                    description
                      "Encapsulation type and tag stack";
                    container stack {
                      when
                        "../vlan-encapsulation = 'qinq'" {
                        description
                          "../VLANEncapsulation = 'QinQ'";
                      }
                      description "Stack value";
                      leaf outer-tag {
                        type Vlan-tag-value;
                        description
                          "Outer tag value";
                      }
    
                      leaf second-tag {
                        type Vlan-tag-value;
                        description
                          "Second tag value";
                      }
                    }  // container stack
    
                    container service-instance-details {
                      when
                        "../vlan-encapsulation = 'service-instance'" {
                        description
                          "../VLANEncapsulation = 'ServiceInstance'";
                      }
                      description
                        "Service Instance encapsulation";
                      container local-traffic-stack {
                        description
                          "VLAN tags for locally-sourced traffic";
                        list local-traffic-tag {
                          description
                            "VLAN tags for locally-sourced traffic";
                          leaf ethertype {
                            type Efp-tag-etype;
                            description
                              "Ethertype of tag";
                          }
    
                          leaf vlan-id {
                            type Vlan-tag-value;
                            description
                              "VLAN Id";
                          }
                        }  // list local-traffic-tag
                      }  // container local-traffic-stack
    
                      leaf payload-ethertype {
                        type Efp-payload-etype;
                        description
                          "Payload Ethertype to match";
                      }
    
                      leaf tags-popped {
                        type uint16;
                        description
                          "Number of tags popped on ingress";
                      }
    
                      leaf is-exact-match {
                        type int32;
                        description
                          "Whether the packet must match the encapsulation
    exactly, with no further inner tags";
                      }
    
                      leaf is-native-vlan {
                        type int32;
                        description
                          "Whether this represents the native VLAN on the
    port";
                      }
    
                      leaf is-native-preserving {
                        type int32;
                        description
                          "Whether the native VLAN is customer-tag
    preserving";
                      }
    
                      leaf source-mac-match {
                        type Mac-address;
                        description
                          "The source MAC address to match on ingress";
                      }
    
                      leaf destination-mac-match {
                        type Mac-address;
                        description
                          "The destination MAC address to match on ingress";
                      }
    
                      list tags-to-match {
                        description
                          "Tags to match on ingress packets";
                        leaf ethertype {
                          type Efp-tag-etype;
                          description
                            "Ethertype of tag to match";
                        }
    
                        leaf priority {
                          type Efp-tag-priority;
                          description
                            "Priority to match";
                        }
    
                        list vlan-range {
                          description
                            "VLAN Ids to match";
                          leaf vlan-id-low {
                            type Vlan-tag-value;
                            description
                              "VLAN ID Low";
                          }
    
                          leaf vlan-id-high {
                            type Vlan-tag-value;
                            description
                              "VLAN ID High";
                          }
                        }  // list vlan-range
                      }  // list tags-to-match
    
                      list pushe {
                        description
                          "VLAN tags pushed on egress";
                        leaf ethertype {
                          type Efp-tag-etype;
                          description
                            "Ethertype of tag";
                        }
    
                        leaf vlan-id {
                          type Vlan-tag-value;
                          description "VLAN Id";
                        }
                      }  // list pushe
                    }  // container service-instance-details
    
                    container dot1ad-dot1q-stack {
                      when
                        "../vlan-encapsulation = 'dot1ad-dot1q'" {
                        description
                          "../VLANEncapsulation = 'Dot1adDot1Q'";
                      }
                      description
                        "802.1ad 802.1Q stack value";
                      leaf outer-tag {
                        type Vlan-tag-value;
                        description
                          "Outer tag value";
                      }
    
                      leaf second-tag {
                        type Vlan-tag-value;
                        description
                          "Second tag value";
                      }
                    }  // container dot1ad-dot1q-stack
    
                    leaf vlan-encapsulation {
                      type Vlan-encaps;
                      description
                        "VLANEncapsulation";
                    }
    
                    leaf tag {
                      when
                        "../vlan-encapsulation = 'dot1q'" {
                        description
                          "../VLANEncapsulation = 'Dot1Q'";
                      }
                      type Vlan-tag-value;
                      description "Tag value";
                    }
    
                    leaf outer-tag {
                      when
                        "../vlan-encapsulation = 'qin-any'" {
                        description
                          "../VLANEncapsulation = 'QinAny'";
                      }
                      type Vlan-tag-value;
                      description
                        "Outer tag value";
                    }
    
                    leaf native-tag {
                      when
                        "../vlan-encapsulation = 'dot1q-native'" {
                        description
                          "../VLANEncapsulation = 'Dot1QNative'";
                      }
                      type Vlan-tag-value;
                      description
                        "Native tag value";
                    }
    
                    leaf dot1ad-tag {
                      when
                        "../vlan-encapsulation = 'dot1ad'" {
                        description
                          "../VLANEncapsulation = 'Dot1ad'";
                      }
                      type Vlan-tag-value;
                      description
                        "802.1ad tag value";
                    }
    
                    leaf dot1ad-native-tag {
                      when
                        "../vlan-encapsulation = 'dot1ad-native'" {
                        description
                          "../VLANEncapsulation = 'Dot1adNative'";
                      }
                      type Vlan-tag-value;
                      description
                        "802.1ad native tag value";
                    }
    
                    leaf dot1ad-outer-tag {
                      when
                        "../vlan-encapsulation = 'dot1ad-any'" {
                        description
                          "../VLANEncapsulation = 'Dot1adAny'";
                      }
                      type Vlan-tag-value;
                      description
                        "802.1ad Outer tag value";
                    }
                  }  // container encapsulation-details
    
                  container vlan-switched {
                    description
                      "VLAN-Switched information";
                    container trunk-vlan-ranges {
                      description
                        "VLAN-Switched Trunk VLAN ranges";
                      container local-traffic-stack {
                        description
                          "VLAN tags for locally-sourced traffic";
                        list local-traffic-tag {
                          description
                            "VLAN tags for locally-sourced traffic";
                          leaf ethertype {
                            type Efp-tag-etype;
                            description
                              "Ethertype of tag";
                          }
    
                          leaf vlan-id {
                            type Vlan-tag-value;
                            description
                              "VLAN Id";
                          }
                        }  // list local-traffic-tag
                      }  // container local-traffic-stack
    
                      leaf payload-ethertype {
                        type Efp-payload-etype;
                        description
                          "Payload Ethertype to match";
                      }
    
                      leaf tags-popped {
                        type uint16;
                        description
                          "Number of tags popped on ingress";
                      }
    
                      leaf is-exact-match {
                        type int32;
                        description
                          "Whether the packet must match the encapsulation
    exactly, with no further inner tags";
                      }
    
                      leaf is-native-vlan {
                        type int32;
                        description
                          "Whether this represents the native VLAN on the
    port";
                      }
    
                      leaf is-native-preserving {
                        type int32;
                        description
                          "Whether the native VLAN is customer-tag
    preserving";
                      }
    
                      leaf source-mac-match {
                        type Mac-address;
                        description
                          "The source MAC address to match on ingress";
                      }
    
                      leaf destination-mac-match {
                        type Mac-address;
                        description
                          "The destination MAC address to match on ingress";
                      }
    
                      list tags-to-match {
                        description
                          "Tags to match on ingress packets";
                        leaf ethertype {
                          type Efp-tag-etype;
                          description
                            "Ethertype of tag to match";
                        }
    
                        leaf priority {
                          type Efp-tag-priority;
                          description
                            "Priority to match";
                        }
    
                        list vlan-range {
                          description
                            "VLAN Ids to match";
                          leaf vlan-id-low {
                            type Vlan-tag-value;
                            description
                              "VLAN ID Low";
                          }
    
                          leaf vlan-id-high {
                            type Vlan-tag-value;
                            description
                              "VLAN ID High";
                          }
                        }  // list vlan-range
                      }  // list tags-to-match
    
                      list pushe {
                        description
                          "VLAN tags pushed on egress";
                        leaf ethertype {
                          type Efp-tag-etype;
                          description
                            "Ethertype of tag";
                        }
    
                        leaf vlan-id {
                          type Vlan-tag-value;
                          description "VLAN Id";
                        }
                      }  // list pushe
                    }  // container trunk-vlan-ranges
    
                    leaf mode {
                      type Vlan-switched-mode;
                      description
                        "VLAN-Switched mode";
                    }
    
                    leaf access-vlan {
                      type Vlan-tag-value;
                      description
                        "VLAN-Switched Access VLAN";
                    }
                  }  // container vlan-switched
                }  // container dot1q-information
    
                container ppp-information {
                  when
                    "../encapsulation-type = 'ppp'" {
                    description
                      "../EncapsulationType = 'PPP'";
                  }
                  description "PPP information";
                  leaf lcp-state {
                    type Ppp-fsm-state;
                    description "LCP State";
                  }
    
                  leaf is-loopback-detected {
                    type int32;
                    description
                      "Loopback detected";
                  }
    
                  leaf keepalive-period {
                    type uint32;
                    description
                      "Keepalive value";
                  }
    
                  leaf is-mp-bundle-member {
                    type int32;
                    description
                      "MP Bundle Member";
                  }
    
                  leaf is-multilink-open {
                    type int32;
                    description
                      "Is Multilink Open";
                  }
    
                  list ncp-info-array {
                    description
                      "Array of per-NCP data";
                    leaf ncp-state {
                      type Ppp-fsm-state;
                      description
                        "NCP state value";
                    }
    
                    leaf ncp-identifier {
                      type Ncp-ident;
                      description
                        "NCP state identifier";
                    }
                  }  // list ncp-info-array
                }  // container ppp-information
    
                leaf encapsulation-type {
                  type Im-cmd-encaps-enum;
                  description
                    "EncapsulationType";
                }
              }  // container encapsulation-information
    
              container interface-type-information {
                description
                  "Information specific to the interface type";
                container srp-information {
                  when
                    "../interface-type-info = 'srp'" {
                    description
                      "../InterfaceTypeInfo = 'SRP'";
                  }
                  description
                    "SRP interface information";
                  container srp-information {
                    description
                      "SRP-specific data";
                    container ips-info {
                      description
                        "SRP IPS information";
                      leaf is-admin-down {
                        type int32;
                        description
                          "Is the interfaceadministratively down";
                      }
    
                      list local-information {
                        description
                          "IPS information";
                        container side-a {
                          description
                            "Side A IPS details";
                          leaf mac-address {
                            type string;
                            description
                              "MAC address";
                          }
    
                          leaf wrap-state {
                            type Srp-mgmt-ips-wrap-state;
                            description
                              "Wrap state";
                          }
    
                          leaf packet-sent-timer {
                            type uint32;
                            units "second";
                            description
                              "SRP IPS packet send interval in seconds";
                          }
    
                          leaf send-timer-time-remaining {
                            type uint32;
                            units "second";
                            description
                              "Time in seconds remaining until next send of an
    IPS request";
                          }
    
                          leaf wtr-timer-remaining {
                            type uint32;
                            units "second";
                            description
                              "Time in seconds until wrap removal";
                          }
    
                          leaf self-detected-request {
                            type Srp-mgmt-ips-req;
                            description
                              "Self Detected Requests";
                          }
    
                          leaf remote-request {
                            type Srp-mgmt-ips-req;
                            description
                              "Remote Requests";
                          }
    
                          leaf rx-neighbor-mac-address {
                            type string;
                            description
                              "Neighbour mac address for received message";
                          }
    
                          leaf rx-message-type {
                            type Srp-mgmt-ips-req;
                            description
                              "Type of message received";
                          }
    
                          leaf rx-path-type {
                            type Srp-mgmt-ips-path-ind;
                            description
                              "Short/long path for received message";
                          }
    
                          leaf rx-ttl {
                            type uint32;
                            description
                              "Time to live for received message";
                          }
    
                          leaf rx-packet-test {
                            type int32;
                            description
                              "Test for existence of an RX packet";
                          }
    
                          leaf tx-neighbor-mac-address {
                            type string;
                            description
                              "Mac address of node receiving TXed messages";
                          }
    
                          leaf tx-message-type {
                            type Srp-mgmt-ips-req;
                            description
                              "Type of message transmitted";
                          }
    
                          leaf tx-path-type {
                            type Srp-mgmt-ips-path-ind;
                            description
                              "Short/long path of transmitted message";
                          }
    
                          leaf tx-ttl {
                            type uint32;
                            description
                              "Time to live for transmitted message";
                          }
    
                          leaf tx-packet-test {
                            type int32;
                            description
                              "Test for existence of a TX packet";
                          }
    
                          leaf delay-keep-alive-trigger {
                            type uint32;
                            units "millisecond";
                            description
                              "Number of milliseconds to wait after an L1
    failure is detected before triggering an L2 wrap";
                          }
    
                          list asserted-failure {
                            description
                              "Failures presently asserted";
                            leaf type {
                              type Srp-mgmt-failure-et;
                              description
                                "Failure type";
                            }
    
                            leaf reported-state {
                              type Srp-mgmt-failure-state-et;
                              description
                                "Reported state";
                            }
    
                            leaf debounced-state {
                              type Srp-mgmt-failure-state-et;
                              description
                                "Debounced state";
                            }
    
                            leaf current-state {
                              type Srp-mgmt-failure-state-et;
                              description
                                "Current state";
                            }
    
                            leaf stable-time {
                              type uint64;
                              description
                                "Stable time";
                            }
    
                            leaf debounced-delay {
                              type uint32;
                              description
                                "Debounce delay";
                            }
                          }  // list asserted-failure
                        }  // container side-a
    
                        container side-b {
                          description
                            "Side B IPS details";
                          leaf mac-address {
                            type string;
                            description
                              "MAC address";
                          }
    
                          leaf wrap-state {
                            type Srp-mgmt-ips-wrap-state;
                            description
                              "Wrap state";
                          }
    
                          leaf packet-sent-timer {
                            type uint32;
                            units "second";
                            description
                              "SRP IPS packet send interval in seconds";
                          }
    
                          leaf send-timer-time-remaining {
                            type uint32;
                            units "second";
                            description
                              "Time in seconds remaining until next send of an
    IPS request";
                          }
    
                          leaf wtr-timer-remaining {
                            type uint32;
                            units "second";
                            description
                              "Time in seconds until wrap removal";
                          }
    
                          leaf self-detected-request {
                            type Srp-mgmt-ips-req;
                            description
                              "Self Detected Requests";
                          }
    
                          leaf remote-request {
                            type Srp-mgmt-ips-req;
                            description
                              "Remote Requests";
                          }
    
                          leaf rx-neighbor-mac-address {
                            type string;
                            description
                              "Neighbour mac address for received message";
                          }
    
                          leaf rx-message-type {
                            type Srp-mgmt-ips-req;
                            description
                              "Type of message received";
                          }
    
                          leaf rx-path-type {
                            type Srp-mgmt-ips-path-ind;
                            description
                              "Short/long path for received message";
                          }
    
                          leaf rx-ttl {
                            type uint32;
                            description
                              "Time to live for received message";
                          }
    
                          leaf rx-packet-test {
                            type int32;
                            description
                              "Test for existence of an RX packet";
                          }
    
                          leaf tx-neighbor-mac-address {
                            type string;
                            description
                              "Mac address of node receiving TXed messages";
                          }
    
                          leaf tx-message-type {
                            type Srp-mgmt-ips-req;
                            description
                              "Type of message transmitted";
                          }
    
                          leaf tx-path-type {
                            type Srp-mgmt-ips-path-ind;
                            description
                              "Short/long path of transmitted message";
                          }
    
                          leaf tx-ttl {
                            type uint32;
                            description
                              "Time to live for transmitted message";
                          }
    
                          leaf tx-packet-test {
                            type int32;
                            description
                              "Test for existence of a TX packet";
                          }
    
                          leaf delay-keep-alive-trigger {
                            type uint32;
                            units "millisecond";
                            description
                              "Number of milliseconds to wait after an L1
    failure is detected before triggering an L2 wrap";
                          }
    
                          list asserted-failure {
                            description
                              "Failures presently asserted";
                            leaf type {
                              type Srp-mgmt-failure-et;
                              description
                                "Failure type";
                            }
    
                            leaf reported-state {
                              type Srp-mgmt-failure-state-et;
                              description
                                "Reported state";
                            }
    
                            leaf debounced-state {
                              type Srp-mgmt-failure-state-et;
                              description
                                "Debounced state";
                            }
    
                            leaf current-state {
                              type Srp-mgmt-failure-state-et;
                              description
                                "Current state";
                            }
    
                            leaf stable-time {
                              type uint64;
                              description
                                "Stable time";
                            }
    
                            leaf debounced-delay {
                              type uint32;
                              description
                                "Debounce delay";
                            }
                          }  // list asserted-failure
                        }  // container side-b
    
                        leaf mac-address {
                          type string;
                          description
                            "MAC address for node";
                        }
    
                        leaf is-inter-card-bus-enabled {
                          type int32;
                          description
                            "Inter card bus enabled";
                        }
    
                        leaf wtr-timer-period {
                          type uint32;
                          units "second";
                          description
                            "IPS Wait To Restore period in seconds";
                        }
                      }  // list local-information
                    }  // container ips-info
    
                    container topology-info {
                      description
                        "SRP topology information";
                      leaf is-admin-down {
                        type int32;
                        description
                          "Is the interfaceadministratively down";
                      }
    
                      list local-information {
                        description
                          "Detailed SRP topology information";
                        leaf topology-timer {
                          type uint32;
                          description
                            "How often a topology pkt is sent";
                        }
    
                        leaf next-topology-packet-delay {
                          type uint32;
                          description
                            "Time remaining until next topo pkt sent";
                        }
    
                        leaf time-since-last-topology-packet-received {
                          type uint32;
                          description
                            "Time since last topo pkt was received";
                        }
    
                        leaf time-since-last-topology-change {
                          type uint32;
                          description
                            "Time since last topology change";
                        }
    
                        leaf number-of-nodes-on-ring {
                          type uint16;
                          description
                            "Number of nodes on ring";
                        }
    
                        list ring-node {
                          description
                            "List of nodes on the ring info";
                          leaf hop-count {
                            type uint16;
                            description
                              "Outer-ring hops to reach this node";
                          }
    
                          leaf mac-address {
                            type string;
                            description
                              "MAC address";
                          }
    
                          leaf ipv4-address {
                            type inet:ipv4-address;
                            description
                              "IPv4 address";
                          }
    
                          leaf is-wrapped {
                            type int32;
                            description
                              "Wrap state";
                          }
    
                          leaf is-srr-supported {
                            type int32;
                            description
                              "SRR protocol supported";
                          }
    
                          leaf node-name {
                            type string;
                            description
                              "Node name";
                          }
                        }  // list ring-node
                      }  // list local-information
                    }  // container topology-info
    
                    container srr-info {
                      description
                        "SRP SRR information";
                      leaf is-admin-down {
                        type int32;
                        description
                          "Is the interfaceadministratively down";
                      }
    
                      leaf is-srr-enabled {
                        type int32;
                        description
                          "SRR enabled";
                      }
    
                      list srr-detailed-info {
                        description
                          "SRP information";
                        leaf version-number {
                          type uint32;
                          description
                            "Version number";
                        }
    
                        leaf is-wrong-version-received {
                          type int32;
                          description
                            "Wrong version recieved";
                        }
    
                        leaf last-wrong-version-receive-time {
                          type uint32;
                          description
                            "Time that last wrong version message recieved";
                        }
    
                        leaf mac-address {
                          type string;
                          description
                            "SRR node mac address";
                        }
    
                        leaf node-state {
                          type Srp-mgmt-srr-node-state;
                          description
                            "SRR node state";
                        }
    
                        leaf is-outer-ring-in-use {
                          type int32;
                          description
                            "Is the outer ring in use";
                        }
    
                        leaf is-inner-ring-in-use {
                          type int32;
                          description
                            " Is the inner ring in use";
                        }
    
                        leaf is-announce {
                          type int32;
                          description
                            "Is announcing enabled";
                        }
    
                        leaf outer-fail-type {
                          type Srp-mgmt-srr-failure;
                          description
                            "Outer fail type";
                        }
    
                        leaf inner-fail-type {
                          type Srp-mgmt-srr-failure;
                          description
                            "Inner fail type";
                        }
    
                        leaf packet-send-timer {
                          type uint32;
                          units "second";
                          description
                            "SRR packet send timer interval in seconds";
                        }
    
                        leaf next-srr-packet-send-time {
                          type uint32;
                          units "second";
                          description
                            "Time remaining in seconds to next SRR packet
    send";
                        }
    
                        leaf single-ring-bw {
                          type uint32;
                          units "Mbit/s";
                          description
                            "Single ring bandwidth Mbps";
                        }
    
                        leaf wtr-time {
                          type uint32;
                          units "second";
                          description
                            "SRR Wait To Restore interval delay in seconds";
                        }
    
                        leaf wtr-timer-remaining-outer-ring {
                          type uint32;
                          units "second";
                          description
                            "Time remaining in seconds until next outer ring
    wrap removal";
                        }
    
                        leaf wtr-timer-remaining-inner-ring {
                          type uint32;
                          units "second";
                          description
                            "Time remaining in seconds until next inner ring
    wrap removal";
                        }
    
                        list nodes-on-ring {
                          description
                            "List of nodes on the ring info";
                          leaf node-name {
                            type string;
                            description
                              "Node name";
                          }
    
                          leaf srr-entry-exits {
                            type int32;
                            description
                              "Does the SRR information exist for this node";
                          }
    
                          leaf mac-address {
                            type string;
                            description
                              "node mac address";
                          }
    
                          leaf outer-failure {
                            type Srp-mgmt-srr-failure;
                            description
                              "Outer failure";
                          }
    
                          leaf inner-failure {
                            type Srp-mgmt-srr-failure;
                            description
                              "Inner failure";
                          }
    
                          leaf is-last-announce-received {
                            type int32;
                            description
                              "Announce last received ?";
                          }
    
                          leaf last-announce-received-time {
                            type uint32;
                            description
                              "Announce last received";
                          }
                        }  // list nodes-on-ring
    
                        list nodes-not-on-ring {
                          description
                            "nodes not in topology map";
                          leaf node-name {
                            type string;
                            description
                              "Node name";
                          }
    
                          leaf srr-entry-exits {
                            type int32;
                            description
                              "Does the SRR information exist for this node";
                          }
    
                          leaf mac-address {
                            type string;
                            description
                              "node mac address";
                          }
    
                          leaf outer-failure {
                            type Srp-mgmt-srr-failure;
                            description
                              "Outer failure";
                          }
    
                          leaf inner-failure {
                            type Srp-mgmt-srr-failure;
                            description
                              "Inner failure";
                          }
    
                          leaf is-last-announce-received {
                            type int32;
                            description
                              "Announce last received ?";
                          }
    
                          leaf last-announce-received-time {
                            type uint32;
                            description
                              "Announce last received";
                          }
                        }  // list nodes-not-on-ring
                      }  // list srr-detailed-info
                    }  // container srr-info
    
                    container rate-limit-info {
                      description
                        "SRP rate limit information";
                      leaf is-admin-down {
                        type int32;
                        description
                          "Is the interfaceadministratively down";
                      }
    
                      list rate-limit-detailed-info {
                        description
                          "SRP rate limit information";
                        leaf min-priority-value {
                          type uint16;
                          description
                            "Minimum SRP priority for high-priority transmit
    queue";
                        }
                      }  // list rate-limit-detailed-info
                    }  // container rate-limit-info
                  }  // container srp-information
    
                  container srp-statistics {
                    description
                      "SRP-specific packet and byte counters";
                    container side-a-data-rate {
                      description
                        "Data rates for side A interface";
                      leaf bit-rate-sent {
                        type uint32;
                        description
                          "Sent bit rate";
                      }
    
                      leaf packet-rate-sent {
                        type uint32;
                        description
                          "Sent packet rate";
                      }
    
                      leaf bit-rate-received {
                        type uint32;
                        description
                          "Received bit rate";
                      }
    
                      leaf packet-rate-received {
                        type uint32;
                        description
                          "Received packet rate";
                      }
                    }  // container side-a-data-rate
    
                    container side-b-data-rate {
                      description
                        "Data rates for side B interface";
                      leaf bit-rate-sent {
                        type uint32;
                        description
                          "Sent bit rate";
                      }
    
                      leaf packet-rate-sent {
                        type uint32;
                        description
                          "Sent packet rate";
                      }
    
                      leaf bit-rate-received {
                        type uint32;
                        description
                          "Received bit rate";
                      }
    
                      leaf packet-rate-received {
                        type uint32;
                        description
                          "Received packet rate";
                      }
                    }  // container side-b-data-rate
    
                    container side-a-errors {
                      description
                        "Errors for side A interface";
                      leaf error-packets-received {
                        type uint32;
                        description
                          "Error packets received";
                      }
    
                      leaf crc-errors {
                        type uint32;
                        description
                          "Input CRC errors";
                      }
    
                      leaf input-insufficient-resource-events {
                        type uint32;
                        description
                          "Input insufficient resources events";
                      }
    
                      leaf mac-aborts-received {
                        type uint32;
                        description
                          "Aborts received at MAC/RAC";
                      }
    
                      leaf mac-runt-packets-received {
                        type uint32;
                        description
                          "Too small packets received at MAC/RAC";
                      }
    
                      leaf mac-giant-packets-received {
                        type uint32;
                        description
                          "Too large packets received at MAC/RAC";
                      }
    
                      leaf framer-runt-packets-received {
                        type uint32;
                        description
                          "Too small packets received at framer";
                      }
    
                      leaf framer-giant-packets-received {
                        type uint32;
                        description
                          "Too large packets received at framer";
                      }
    
                      leaf framer-aborts-received {
                        type uint32;
                        description
                          "Aborts received at framer";
                      }
                    }  // container side-a-errors
    
                    container side-b-errors {
                      description
                        "Errors for side B interface";
                      leaf error-packets-received {
                        type uint32;
                        description
                          "Error packets received";
                      }
    
                      leaf crc-errors {
                        type uint32;
                        description
                          "Input CRC errors";
                      }
    
                      leaf input-insufficient-resource-events {
                        type uint32;
                        description
                          "Input insufficient resources events";
                      }
    
                      leaf mac-aborts-received {
                        type uint32;
                        description
                          "Aborts received at MAC/RAC";
                      }
    
                      leaf mac-runt-packets-received {
                        type uint32;
                        description
                          "Too small packets received at MAC/RAC";
                      }
    
                      leaf mac-giant-packets-received {
                        type uint32;
                        description
                          "Too large packets received at MAC/RAC";
                      }
    
                      leaf framer-runt-packets-received {
                        type uint32;
                        description
                          "Too small packets received at framer";
                      }
    
                      leaf framer-giant-packets-received {
                        type uint32;
                        description
                          "Too large packets received at framer";
                      }
    
                      leaf framer-aborts-received {
                        type uint32;
                        description
                          "Aborts received at framer";
                      }
                    }  // container side-b-errors
    
                    leaf data-rate-interval {
                      type uint32;
                      units "second";
                      description
                        "Data rate interval (5 mins or 30 seconds)";
                    }
                  }  // container srp-statistics
                }  // container srp-information
    
                container tunnel-information {
                  when
                    "../interface-type-info = 'tunnel'" {
                    description
                      "../InterfaceTypeInfo = 'Tunnel'";
                  }
                  description
                    "Tunnel interface information";
                  leaf source-name {
                    type string;
                    description
                      "Tunnel source name";
                  }
    
                  leaf source-ipv4-address {
                    type inet:ipv4-address;
                    description
                      "Tunnel source IP address";
                  }
    
                  leaf destination-ipv4-address {
                    type inet:ipv4-address;
                    description
                      "Tunnel destination IP address";
                  }
    
                  leaf tunnel-type {
                    type string;
                    description
                      "Tunnel protocol/transport";
                  }
    
                  leaf key {
                    type uint32;
                    description "GRE tunnel key";
                  }
    
                  leaf ttl {
                    type uint32;
                    description "GRE tunnel TTL";
                  }
                }  // container tunnel-information
    
                container bundle-information {
                  when
                    "../interface-type-info = 'bundle'" {
                    description
                      "../InterfaceTypeInfo = 'Bundle'";
                  }
                  description
                    "Bundle interface information";
                  list member {
                    description
                      "List of bundle members and their properties";
                    container counters {
                      description
                        "Counters data about member link";
                      leaf lacpd-us-received {
                        type uint32;
                        description
                          "LACPDUs received";
                      }
    
                      leaf lacpd-us-transmitted {
                        type uint32;
                        description
                          "LACPDUs transmitted";
                      }
    
                      leaf marker-packets-received {
                        type uint32;
                        description
                          "LACP Marker packets received";
                      }
    
                      leaf marker-responses-transmitted {
                        type uint32;
                        description
                          "LACP Marker response packets transmitted";
                      }
    
                      leaf illegal-packets-received {
                        type uint32;
                        description
                          "Illegal and unknown packets received";
                      }
    
                      leaf excess-lacpd-us-received {
                        type uint32;
                        description
                          "LACPDUs received that exceed the rate limit";
                      }
    
                      leaf excess-marker-packets-received {
                        type uint32;
                        description
                          "Marker packets received that exceed the rate
    limit";
                      }
    
                      leaf defaulted {
                        type uint32;
                        description
                          "State flag set to Defaulted";
                      }
    
                      leaf expired {
                        type uint32;
                        description
                          "State flag set to Expired";
                      }
    
                      leaf last-cleared-sec {
                        type uint32;
                        description
                          "Last time counters cleared (s) (deprecated)";
                      }
    
                      leaf last-cleared-nsec {
                        type uint32;
                        description
                          "Last time counters cleared (nsec) (deprecated)";
                      }
                    }  // container counters
    
                    container link-data {
                      description
                        "Lacp data about member link";
                      leaf interface-handle {
                        type xr:Interface-name;
                        description
                          "Member's interface handle";
                      }
    
                      leaf actor-system-priority {
                        type uint16;
                        description
                          "System priority of actor system";
                      }
    
                      leaf actor-system-mac-address {
                        type yang:mac-address;
                        description
                          "MAC Address of the actor system";
                      }
    
                      leaf actor-operational-key {
                        type uint16;
                        description
                          "Operational key for this port";
                      }
    
                      leaf partner-system-priority {
                        type uint16;
                        description
                          "System priority of partner system";
                      }
    
                      leaf partner-system-mac-address {
                        type yang:mac-address;
                        description
                          "MAC Address used to identify the partner system";
                      }
    
                      leaf partner-operational-key {
                        type uint16;
                        description
                          "Operational key for partner port";
                      }
    
                      leaf selected-aggregator-id {
                        type uint32;
                        description
                          "MIB ifindex of selected bundle";
                      }
    
                      leaf attached-aggregator-id {
                        type uint32;
                        description
                          "MIB ifindex of attached bundle";
                      }
    
                      leaf actor-port-id {
                        type uint16;
                        description
                          "Port number of this port";
                      }
    
                      leaf actor-port-priority {
                        type uint16;
                        description
                          "Priority of this port";
                      }
    
                      leaf partner-port-id {
                        type uint16;
                        description
                          "Port number of the partner's port";
                      }
    
                      leaf partner-port-priority {
                        type uint16;
                        description
                          "Priority of the partner's port";
                      }
    
                      leaf actor-port-state {
                        type uint8;
                        description
                          "LACP state of this port";
                      }
    
                      leaf partner-port-state {
                        type uint8;
                        description
                          "LACP state of the partner's port";
                      }
                    }  // container link-data
    
                    container member-mux-data {
                      description
                        "Mux state machine data";
                      container member-mux-state-reason-data {
                        description
                          "Data regarding the reason for last Mux state
    change";
                        leaf reason-type {
                          type Bm-state-reason-target;
                          description
                            "The item the reason applies to";
                        }
    
                        leaf severity {
                          type Bm-severity;
                          description
                            "The severity of the reason";
                        }
                      }  // container member-mux-state-reason-data
    
                      leaf mux-state {
                        type Bm-muxstate;
                        description
                          "Current state of this bundle member";
                      }
    
                      leaf error {
                        type uint32;
                        description
                          "Internal value indicating if an error occurred
    trying to put a link into the desired state";
                      }
    
                      leaf member-mux-state-reason {
                        type Bm-mbr-state-reason;
                        description
                          "Reason for last Mux state change";
                      }
    
                      leaf member-state {
                        type Bmd-member-state;
                        description
                          "Current internal state of this bundle member";
                      }
    
                      leaf mux-state-reason {
                        type Bm-muxreason;
                        description
                          "Reason for last Mux state change (Deprecated)";
                      }
                    }  // container member-mux-data
    
                    container mac-address {
                      description
                        "MAC address of this member (deprecated)";
                      leaf address {
                        type yang:mac-address;
                        description
                          "MAC address";
                      }
                    }  // container mac-address
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Member's interface name";
                    }
    
                    leaf port-priority {
                      type uint16;
                      description
                        "The priority of this member";
                    }
    
                    leaf port-number {
                      type uint16;
                      description
                        "Member's link number";
                    }
    
                    leaf underlying-link-id {
                      type uint16;
                      description
                        "Member's underlying link ID";
                    }
    
                    leaf link-order-number {
                      type uint16;
                      description
                        "Member's link order number";
                    }
    
                    leaf iccp-node {
                      type uint32;
                      description
                        "Location of member";
                    }
    
                    leaf bandwidth {
                      type uint32;
                      units "kbit/s";
                      description
                        "Bandwidth of this member (kbps)";
                    }
    
                    leaf lacp-enabled {
                      type string;
                      description
                        "Boolean indicating LACP enabled or not";
                    }
    
                    leaf member-type {
                      type Bmd-member-type-enum;
                      description
                        "Member's type (local/foreign)";
                    }
    
                    leaf member-name {
                      type string;
                      description
                        "Member's (short form) name";
                    }
    
                    leaf replication-error {
                      type uint32;
                      description
                        "Error from final replication attempt";
                    }
    
                    leaf bandwidth64-bit {
                      type uint64;
                      units "kbit/s";
                      description
                        "Bandwidth of this member 64-Bit (kbps)";
                    }
                  }  // list member
                }  // container bundle-information
    
                container serial-information {
                  when
                    "../interface-type-info = 'serial'" {
                    description
                      "../InterfaceTypeInfo = 'Serial'";
                  }
                  description
                    "Serial interface information";
                  leaf timeslots {
                    type string;
                    description
                      "Timeslots separated by : or - from 1 to 31. :
    indicates individual timeslot and - represents a
    range. E.g. 1-3:5 represents timeslots 1, 2, 3,
    and 5.";
                  }
                }  // container serial-information
    
                container sonet-pos-information {
                  when
                    "../interface-type-info = 'sonet-pos'" {
                    description
                      "../InterfaceTypeInfo = 'SonetPOS'";
                  }
                  description
                    "SONET POS interface information";
                  leaf aps-state {
                    type Sonet-aps-et;
                    description "APS state";
                  }
                }  // container sonet-pos-information
    
                container tunnel-gre-information {
                  when
                    "../interface-type-info = 'tunnel-gre'" {
                    description
                      "../InterfaceTypeInfo = 'TunnelGRE'";
                  }
                  description
                    "Tunnel GRE interface information";
                  container source-ip-address {
                    description
                      "Tunnel source IP address";
                    leaf afi {
                      type Tunl-pfi-af-id;
                      description "AFI";
                    }
    
                    leaf ipv4 {
                      when
                        "../afi = 'tunl-pfi-af-id-ipv4'" {
                        description
                          "../AFI = 'TUNL_PFI_AF_ID_IPV4'";
                      }
                      type Tunl-pfi-in-addr;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when
                        "../afi = 'tunl-pfi-af-id-ipv6'" {
                        description
                          "../AFI = 'TUNL_PFI_AF_ID_IPV6'";
                      }
                      type Tunl-pfi-in6-addr;
                      description
                        "IPv6 address type";
                    }
                  }  // container source-ip-address
    
                  container destination-ip-address {
                    description
                      "Tunnel destination IP address";
                    leaf afi {
                      type Tunl-pfi-af-id;
                      description "AFI";
                    }
    
                    leaf ipv4 {
                      when
                        "../afi = 'tunl-pfi-af-id-ipv4'" {
                        description
                          "../AFI = 'TUNL_PFI_AF_ID_IPV4'";
                      }
                      type Tunl-pfi-in-addr;
                      description
                        "IPv4 address type";
                    }
    
                    leaf ipv6 {
                      when
                        "../afi = 'tunl-pfi-af-id-ipv6'" {
                        description
                          "../AFI = 'TUNL_PFI_AF_ID_IPV6'";
                      }
                      type Tunl-pfi-in6-addr;
                      description
                        "IPv6 address type";
                    }
                  }  // container destination-ip-address
    
                  leaf source-name {
                    type string;
                    description
                      "Tunnel source name";
                  }
    
                  leaf destination-ip-address-length {
                    type uint8;
                    description
                      "Tunnel destination IP address length";
                  }
    
                  leaf tunnel-tos {
                    type uint32;
                    description "GRE tunnel TOS";
                  }
    
                  leaf tunnel-ttl {
                    type uint32;
                    description "GRE tunnel TTL";
                  }
    
                  leaf key {
                    type uint32;
                    description
                      "Key value for GRE Packet";
                  }
    
                  leaf keepalive-period {
                    type uint16;
                    units "second";
                    description
                      "Keepalive period in seconds";
                  }
    
                  leaf keepalive-maximum-retry {
                    type uint8;
                    description
                      "Keepalive retry";
                  }
    
                  leaf tunnel-mode {
                    type Tunnel-gre-mode;
                    description
                      "Tunnel GRE Mode";
                  }
    
                  leaf tunnel-mode-direction {
                    type Tunl-ip-mode-dir;
                    description
                      "Tunnel Mode Direction";
                  }
    
                  leaf keepalive-state {
                    type Tunnel-ka-df-state;
                    description
                      "Keepalive State";
                  }
    
                  leaf df-bit-state {
                    type Tunnel-ka-df-state;
                    description "DF Bit State";
                  }
    
                  leaf key-bit-state {
                    type Tunnel-key-state;
                    description
                      "Key Config State";
                  }
                }  // container tunnel-gre-information
    
                container pseudowire-head-end-information {
                  when
                    "../interface-type-info = 'pseudowire-head-end'" {
                    description
                      "../InterfaceTypeInfo = 'PseudowireHeadEnd'";
                  }
                  description
                    "PseudowireHeadEnd interface information";
                  leaf interface-list-name {
                    type string;
                    description
                      "Interface list Name";
                  }
    
                  leaf l2-overhead {
                    type uint32;
                    description "L2 Overhead";
                  }
    
                  leaf internal-label {
                    type uint32;
                    description "Internal Label";
                  }
                }  // container pseudowire-head-end-information
    
                container cem-information {
                  when
                    "../interface-type-info = 'cem'" {
                    description
                      "../InterfaceTypeInfo = 'CEM'";
                  }
                  description
                    "Cem interface information";
                  leaf timeslots {
                    type string;
                    description
                      "Timeslots separated by : or - from 1 to 32. :
    indicates individual timeslot and - represents a
    range. E.g. 1-3:5 represents timeslots 1, 2, 3,
    and 5.";
                  }
    
                  leaf payload {
                    type uint16;
                    units "byte";
                    description
                      "Payload size in bytes configured on CEM
    interface";
                  }
    
                  leaf dejitter-buffer {
                    type uint16;
                    units "millisecond";
                    description
                      "Dejitter buffer length configuredin milliseconds";
                  }
    
                  leaf framing {
                    type int32;
                    description
                      " If framing is TRUE then the CEM  interface is
    structure aware ; otherwise it is structure
    agnostic";
                  }
                }  // container cem-information
    
                container gcc-information {
                  when
                    "../interface-type-info = 'gcc'" {
                    description
                      "../InterfaceTypeInfo = 'GCC'";
                  }
                  description
                    "GCC interface information";
                  leaf derived-mode {
                    type Gcc-der-state;
                    description "Derived State";
                  }
    
                  leaf sec-state {
                    type Gcc-sec-state;
                    description "Sec State ";
                  }
                }  // container gcc-information
    
                leaf interface-type-info {
                  type Im-cmd-intf-type-enum;
                  description
                    "InterfaceTypeInfo";
                }
              }  // container interface-type-information
    
              container data-rates {
                description
                  "Packet and byte rates";
                leaf input-data-rate {
                  type uint64;
                  units "bit/s";
                  description
                    "Input data rate in 1000's of bps";
                }
    
                leaf input-packet-rate {
                  type uint64;
                  units "packet/s";
                  description
                    "Input packets per second";
                }
    
                leaf output-data-rate {
                  type uint64;
                  units "bit/s";
                  description
                    "Output data rate in 1000's of bps";
                }
    
                leaf output-packet-rate {
                  type uint64;
                  units "packet/s";
                  description
                    "Output packets per second";
                }
    
                leaf peak-input-data-rate {
                  type uint64;
                  description
                    "Peak input data rate, highest spike since last
    clear counters";
                }
    
                leaf peak-input-packet-rate {
                  type uint64;
                  description
                    "Peak input packet rate, highest spike since last
    clear counters";
                }
    
                leaf peak-output-data-rate {
                  type uint64;
                  description
                    "Peak output data rate, highest spike since last
    clear counters";
                }
    
                leaf peak-output-packet-rate {
                  type uint64;
                  description
                    "Peak output packet rate, highest spike since
    last clear counters";
                }
    
                leaf bandwidth {
                  type uint32;
                  units "kbit/s";
                  description
                    "Bandwidth (in kbps)";
                }
    
                leaf load-interval {
                  type uint32;
                  description
                    "Number of 30-sec intervals less one";
                }
    
                leaf output-load {
                  type uint8;
                  description
                    "Output load as fraction of 255";
                }
    
                leaf input-load {
                  type uint8;
                  description
                    "Input load as fraction of 255";
                }
    
                leaf reliability {
                  type uint8;
                  description
                    "Reliability coefficient";
                }
              }  // container data-rates
    
              container interface-statistics {
                description
                  "Packet, byte and error counters";
                container full-interface-stats {
                  when "../stats-type = 'full'" {
                    description
                      "../StatsType = 'Full'";
                  }
                  description
                    "Packet, byte and all error counters";
                  leaf packets-received {
                    type uint64;
                    description
                      "Total Packets received";
                  }
    
                  leaf bytes-received {
                    type uint64;
                    units "byte";
                    description
                      "Total Bytes received";
                  }
    
                  leaf packets-sent {
                    type uint64;
                    description
                      "Total Packets sent";
                  }
    
                  leaf bytes-sent {
                    type uint64;
                    units "byte";
                    description
                      "Total Bytes sent";
                  }
    
                  leaf multicast-packets-received {
                    type uint64;
                    description
                      "Total no. of multicast packets received";
                  }
    
                  leaf broadcast-packets-received {
                    type uint64;
                    description
                      "Total no. of broadcast packets received";
                  }
    
                  leaf multicast-packets-sent {
                    type uint64;
                    description
                      "Total no. of multicast packets sent";
                  }
    
                  leaf broadcast-packets-sent {
                    type uint64;
                    description
                      "Total no. of broadcast packets sent";
                  }
    
                  leaf output-drops {
                    type uint32;
                    description
                      "No. of packet dropped before being transmitted";
                  }
    
                  leaf output-queue-drops {
                    type uint32;
                    description
                      "Number of packets dropped due to configured
    output policy";
                  }
    
                  leaf input-drops {
                    type uint32;
                    description
                      "Total input drops";
                  }
    
                  leaf input-queue-drops {
                    type uint32;
                    description
                      "Placeholder for packets dropped due to configure
    input policy";
                  }
    
                  leaf runt-packets-received {
                    type uint32;
                    description
                      "Received packets which are too small to be
    handled";
                  }
    
                  leaf giant-packets-received {
                    type uint32;
                    description
                      "Received packets which are too large to be
    handled";
                  }
    
                  leaf throttled-packets-received {
                    type uint32;
                    description
                      "No. of times the receiver on the port is was
    disabled";
                  }
    
                  leaf parity-packets-received {
                    type uint32;
                    description
                      "No. of parity errors on the interface";
                  }
    
                  leaf unknown-protocol-packets-received {
                    type uint32;
                    description
                      "No. of packets dropped because they were
    destined for higher levelprotocols not configure
    or running on the interface";
                  }
    
                  leaf input-errors {
                    type uint32;
                    description
                      "Total input errors";
                  }
    
                  leaf crc-errors {
                    type uint32;
                    description
                      "Input CRC errors";
                  }
    
                  leaf input-overruns {
                    type uint32;
                    description
                      "No. of input packets received with FIFO or DMA
    overrun errors";
                  }
    
                  leaf framing-errors-received {
                    type uint32;
                    description
                      "No. of packets received with framing error";
                  }
    
                  leaf input-ignored-packets {
                    type uint32;
                    description
                      "Packets dropped due to internal driver error or
    hardware errors ";
                  }
    
                  leaf input-aborts {
                    type uint32;
                    description
                      "No. of packets whose reciept was aborted";
                  }
    
                  leaf output-errors {
                    type uint32;
                    description
                      "Total packets that could not be transmitted due
    to internal driver error";
                  }
    
                  leaf output-underruns {
                    type uint32;
                    description
                      "Transmitted packets with FIFO or DMA underrun
    errors";
                  }
    
                  leaf output-buffer-failures {
                    type uint32;
                    description
                      "No. of no resource error received on output";
                  }
    
                  leaf output-buffers-swapped-out {
                    type uint32;
                    description
                      "No. of packets swapped to DRAM or main memory";
                  }
    
                  leaf applique {
                    type uint32;
                    description
                      "No. of unrecoverable error which have occured on
    the applique";
                  }
    
                  leaf resets {
                    type uint32;
                    description
                      "Number of hardware resets";
                  }
    
                  leaf carrier-transitions {
                    type uint32;
                    description
                      "No. of times the carrier detect signal of
    interface has changed state";
                  }
    
                  leaf availability-flag {
                    type uint32;
                    description
                      "Availability bit mask";
                  }
    
                  leaf last-data-time {
                    type uint64;
                    units "second";
                    description
                      "Time when counters were last written (in
    seconds)";
                  }
    
                  leaf hardware-timestamp {
                    type uint64;
                    units "millisecond";
                    description
                      "Time when counters were last read by Primary
    collector from hardware (in msecs)";
                  }
    
                  leaf seconds-since-last-clear-counters {
                    type uint32;
                    units "second";
                    description
                      "Time elapsed since last clear command executed
    (in Seconds)";
                  }
    
                  leaf last-discontinuity-time {
                    type uint32;
                    units "second";
                    description
                      "SysUpTime when counters were last reset (in
    seconds)";
                  }
    
                  leaf seconds-since-packet-received {
                    type uint32;
                    units "second";
                    description
                      "Time elapsed since packet received (in Seconds)";
                  }
    
                  leaf seconds-since-packet-sent {
                    type uint32;
                    units "second";
                    description
                      "Time elapsed since packet sent (in Seconds)";
                  }
                }  // container full-interface-stats
    
                container basic-interface-stats {
                  when "../stats-type = 'basic'" {
                    description
                      "../StatsType = 'Basic'";
                  }
                  description
                    "Packet, byte and selected error counters";
                  leaf packets-received {
                    type uint64;
                    description
                      "Total no. of Packets received";
                  }
    
                  leaf bytes-received {
                    type uint64;
                    units "byte";
                    description
                      "Total no. of Bytes received";
                  }
    
                  leaf packets-sent {
                    type uint64;
                    description
                      "Total no. of Packets sent";
                  }
    
                  leaf bytes-sent {
                    type uint64;
                    units "byte";
                    description
                      "Total no. of Bytes sent";
                  }
    
                  leaf input-drops {
                    type uint32;
                    description
                      "Total input drops";
                  }
    
                  leaf input-queue-drops {
                    type uint32;
                    description
                      "Input queue drops";
                  }
    
                  leaf input-errors {
                    type uint32;
                    description
                      "Total input errors";
                  }
    
                  leaf unknown-protocol-packets-received {
                    type uint32;
                    description
                      "Unknown protocol packets received";
                  }
    
                  leaf output-drops {
                    type uint32;
                    description
                      "Total output drops";
                  }
    
                  leaf output-queue-drops {
                    type uint32;
                    description
                      "Output queue drops";
                  }
    
                  leaf output-errors {
                    type uint32;
                    description
                      "Total packets dropped due to internal driver
    error";
                  }
    
                  leaf last-data-time {
                    type uint32;
                    units "second";
                    description
                      "Time when counters were last written (in
    seconds)";
                  }
    
                  leaf seconds-since-last-clear-counters {
                    type uint32;
                    units "second";
                    description
                      "Time elapsed since last clear command executed
    (in Seconds)";
                  }
    
                  leaf last-discontinuity-time {
                    type uint32;
                    units "second";
                    description
                      "SysUpTime when counters were last reset (in
    seconds)";
                  }
    
                  leaf seconds-since-packet-received {
                    type uint32;
                    units "second";
                    description
                      "Time elapsed since packet received (in Seconds)";
                  }
    
                  leaf seconds-since-packet-sent {
                    type uint32;
                    units "second";
                    description
                      "Time since packet sent (in Seconds)";
                  }
                }  // container basic-interface-stats
    
                leaf stats-type {
                  type Im-cmd-stats-enum;
                  description "StatsType";
                }
              }  // container interface-statistics
    
              container l2-interface-statistics {
                description
                  "L2 Protocol Statistics";
                container stats-id {
                  description "Identifier";
                  leaf id-type {
                    type Stats-id;
                    description "id type";
                  }
    
                  leaf unused {
                    when
                      "../id-type = 'stats-id-type-unknown'" {
                      description
                        "../id_type = 'STATS_ID_TYPE_UNKNOWN'";
                    }
                    type uint32;
                    description "Unused";
                  }
    
                  leaf interface-handle {
                    when
                      "../id-type = 'stats-id-type-min'" {
                      description
                        "../id_type = 'STATS_ID_TYPE_MIN'";
                    }
                    type xr:Interface-name;
                    description
                      "Interface Handle";
                  }
    
                  leaf node-id {
                    when
                      "../id-type = 'stats-id-type-node'" {
                      description
                        "../id_type = 'STATS_ID_TYPE_NODE'";
                    }
                    type xr:Node-id;
                    description "Node ID";
                  }
    
                  leaf feature-id {
                    when
                      "../id-type = 'stats-id-type-feature'" {
                      description
                        "../id_type = 'STATS_ID_TYPE_FEATURE'";
                    }
                    type uint32;
                    description "Feature ID";
                  }
    
                  leaf id {
                    when
                      "../id-type = 'stats-id-type-other'" {
                      description
                        "../id_type = 'STATS_ID_TYPE_OTHER'";
                    }
                    type uint32;
                    description "ID";
                  }
                }  // container stats-id
    
                leaf stats-type {
                  type Stats-type-val;
                  description "Stats type value";
                }
    
                leaf contents {
                  type Stats-type-contents;
                  description "Bag contents";
                }
    
                list block-array {
                  description "Block Array";
                  leaf type {
                    type Stats-counter;
                    description "type";
                  }
    
                  leaf count {
                    type uint32;
                    description "count";
                  }
    
                  leaf data {
                    type yang:hex-string;
                    description "data";
                  }
                }  // list block-array
    
                list element-array {
                  description "Element Array";
                  leaf key {
                    type yang:hex-string;
                    description "key";
                  }
    
                  list block-array {
                    description "block array";
                    leaf type {
                      type Stats-counter;
                      description "type";
                    }
    
                    leaf count {
                      type uint32;
                      description "count";
                    }
    
                    leaf data {
                      type yang:hex-string;
                      description "data";
                    }
                  }  // list block-array
                }  // list element-array
              }  // container l2-interface-statistics
    
              leaf interface-handle {
                type string;
                description "Interface name";
              }
    
              leaf interface-type {
                type string;
                description "Type of Interface";
              }
    
              leaf hardware-type-string {
                type string {
                  length "0..64";
                }
                description
                  "Hardware type description string";
              }
    
              leaf state {
                xr:event-telemetry "Subscribe Telemetry Event";
                type Im-state-enum;
                description "Interface state";
              }
    
              leaf line-state {
                xr:event-telemetry "Subscribe Telemetry Event";
                type Im-state-enum;
                description
                  "Line protocol state";
              }
    
              leaf encapsulation {
                type string;
                description
                  "Interface encapsulation";
              }
    
              leaf encapsulation-type-string {
                type string {
                  length "0..32";
                }
                description
                  "Interface encapsulation description string";
              }
    
              leaf mtu {
                xr:event-telemetry "Subscribe Telemetry Event";
                type uint32;
                units "byte";
                description "MTU in bytes";
              }
    
              leaf is-l2-transport-enabled {
                type boolean;
                description "L2 transport flag";
              }
    
              leaf state-transition-count {
                type uint32;
                description
                  "The number of times the state has changed";
              }
    
              leaf last-state-transition-time {
                type uint64;
                description
                  "The absolute time of last state change of the
    interface";
              }
    
              leaf is-dampening-enabled {
                type boolean;
                description
                  "Dampening enabled flag";
              }
    
              leaf speed {
                type uint32;
                description
                  "Interface speed (Kb/s)";
              }
    
              leaf crc-length {
                type uint32;
                description
                  "Cyclic Redundancy Check length";
              }
    
              leaf is-scramble-enabled {
                type boolean;
                description
                  "Interface scramble config";
              }
    
              leaf duplexity {
                xr:event-telemetry "Subscribe Telemetry Event";
                type Im-attr-duplex;
                description
                  "Interface duplexity";
              }
    
              leaf media-type {
                type Im-attr-media;
                description
                  "Interface media type";
              }
    
              leaf link-type {
                type Im-attr-link;
                description
                  "Interface link type";
              }
    
              leaf in-flow-control {
                type Im-attr-flow-control;
                description
                  "Input flow control configuration";
              }
    
              leaf out-flow-control {
                type Im-attr-flow-control;
                description
                  "Output flow control configuration";
              }
    
              leaf bandwidth {
                xr:event-telemetry "Subscribe Telemetry Event";
                type uint64;
                description
                  "Interface bandwidth 64-bit (Kb/s)";
              }
    
              leaf max-bandwidth {
                type uint64;
                description
                  "Maximum Interface bandwidth 64-bit (Kb/s)";
              }
    
              leaf keepalive {
                type uint32;
                description
                  "Interface keepalive time (s)";
              }
    
              leaf is-l2-looped {
                type boolean;
                description
                  "Loopback detected by layer 2";
              }
    
              leaf parent-interface-name {
                type xr:Interface-name;
                description
                  "If handle of Parent interface";
              }
    
              leaf loopback-configuration {
                type Im-cmd-loopback-enum;
                description
                  "Loopback configuration of Interface";
              }
    
              leaf description {
                type string;
                description
                  "Interface description string";
              }
    
              leaf is-maintenance-enabled {
                type boolean;
                description
                  "Maintenance embargo flag";
              }
    
              leaf is-data-inverted {
                type boolean;
                description "Data invert flag";
              }
    
              leaf transport-mode {
                type Im-attr-transport-mode;
                description
                  "Interface transport mode";
              }
    
              leaf fast-shutdown {
                type boolean;
                description "Fast Shutdown flag";
              }
    
              leaf if-index {
                type uint32;
                description
                  "This is not supposed to be used. It is a dummy
    attribute to support ifindex for OC model";
              }
    
              leaf is-intf-logical {
                type boolean;
                description
                  "Flag to check if interface is logical or
    Physical";
              }
            }  // list interface
          }  // container interface-xr
    
          container node-type-sets {
            description
              "Node and/or interface type specific view of
             interface summary data";
            list node-type-set {
              description
                "Summary data for all interfaces on a particular
               node";
              leaf node-name {
                type xr:Node-id;
                description
                  "The location to filter on";
              }
    
              leaf type-set-name {
                type Interface-type-set;
                description
                  "The interface type to filter on";
              }
    
              container interface-summary {
                description
                  "Interface summary information";
                container interface-counts {
                  description
                    "Counts for all interfaces";
                  leaf interface-count {
                    type uint32;
                    description
                      "Number of interfaces";
                  }
    
                  leaf up-interface-count {
                    type uint32;
                    description
                      "Number of interfaces in UP state";
                  }
    
                  leaf down-interface-count {
                    type uint32;
                    description
                      "Number of interfaces in DOWN state";
                  }
    
                  leaf admin-down-interface-count {
                    type uint32;
                    description
                      "Number of interfaces in an ADMINDOWN state";
                  }
                }  // container interface-counts
    
                list interface-type {
                  description
                    "List of per interface type summary information";
                  container interface-counts {
                    description
                      "Counts for interfaces of this type";
                    leaf interface-count {
                      type uint32;
                      description
                        "Number of interfaces";
                    }
    
                    leaf up-interface-count {
                      type uint32;
                      description
                        "Number of interfaces in UP state";
                    }
    
                    leaf down-interface-count {
                      type uint32;
                      description
                        "Number of interfaces in DOWN state";
                    }
    
                    leaf admin-down-interface-count {
                      type uint32;
                      description
                        "Number of interfaces in an ADMINDOWN state";
                    }
                  }  // container interface-counts
    
                  leaf interface-type-name {
                    type string;
                    description
                      "Name of the interface type";
                  }
    
                  leaf interface-type-description {
                    type string;
                    description
                      "Description of the interface type";
                  }
                }  // list interface-type
              }  // container interface-summary
            }  // list node-type-set
          }  // container node-type-sets
    
          container interface-briefs {
            description
              "Brief operational data for interfaces";
            list interface-brief {
              key "interface-name";
              description
                "Brief operational attributes for a particular
               interface";
              leaf interface-name {
                type xr:Interface-name;
                description
                  "The name of the interface";
              }
    
              leaf interface {
                type xr:Interface-name;
                description "Interface";
              }
    
              leaf parent-interface {
                type xr:Interface-name;
                description "Parent Interface";
              }
    
              leaf type {
                type string;
                description "Interface type";
              }
    
              leaf state {
                type Im-state-enum;
                description "Operational state";
              }
    
              leaf actual-state {
                type Im-state-enum;
                description
                  "Operational state with no translation of error
    disable or shutdown";
              }
    
              leaf line-state {
                type Im-state-enum;
                description
                  "Line protocol state";
              }
    
              leaf actual-line-state {
                type Im-state-enum;
                description
                  "Line protocol state with no translation of error
    disable or shutdown";
              }
    
              leaf encapsulation {
                type string;
                description
                  "Interface encapsulation";
              }
    
              leaf encapsulation-type-string {
                type string {
                  length "0..32";
                }
                description
                  "Interface encapsulation description string";
              }
    
              leaf mtu {
                type uint32;
                units "byte";
                description "MTU in bytes";
              }
    
              leaf sub-interface-mtu-overhead {
                type uint32;
                description "Subif MTU overhead";
              }
    
              leaf l2-transport {
                type boolean;
                description "L2 transport";
              }
    
              leaf bandwidth {
                type uint32;
                description
                  "Interface bandwidth (Kb/s)";
              }
    
              leaf bandwidth64-bit {
                type uint64;
                description
                  "Interface bandwidth 64-bit (Kb/s)";
              }
            }  // list interface-brief
          }  // container interface-briefs
    
          container inventory-summary {
            description
              "Inventory summary information";
            container interface-counts {
              description
                "Counts for all interfaces";
              leaf interface-count {
                type uint32;
                description
                  "Number of interfaces";
              }
    
              leaf up-interface-count {
                type uint32;
                description
                  "Number of interfaces in UP state";
              }
    
              leaf down-interface-count {
                type uint32;
                description
                  "Number of interfaces in DOWN state";
              }
    
              leaf admin-down-interface-count {
                type uint32;
                description
                  "Number of interfaces in an ADMINDOWN state";
              }
            }  // container interface-counts
    
            list interface-type {
              description
                "List of per interface type summary information";
              container interface-counts {
                description
                  "Counts for interfaces of this type";
                leaf interface-count {
                  type uint32;
                  description
                    "Number of interfaces";
                }
    
                leaf up-interface-count {
                  type uint32;
                  description
                    "Number of interfaces in UP state";
                }
    
                leaf down-interface-count {
                  type uint32;
                  description
                    "Number of interfaces in DOWN state";
                }
    
                leaf admin-down-interface-count {
                  type uint32;
                  description
                    "Number of interfaces in an ADMINDOWN state";
                }
              }  // container interface-counts
    
              leaf interface-type-name {
                type string;
                description
                  "Name of the interface type";
              }
    
              leaf interface-type-description {
                type string;
                description
                  "Description of the interface type";
              }
            }  // list interface-type
          }  // container inventory-summary
    
          container interfaces {
            description
              "Descriptions for interfaces";
            list interface {
              key "interface-name";
              description
                "Description for a particular interface";
              leaf interface-name {
                type xr:Interface-name;
                description
                  "The name of the interface";
              }
    
              leaf interface {
                type xr:Interface-name;
                description
                  "Interface handle of the Interface";
              }
    
              leaf state {
                type Im-state-enum;
                description
                  "Operational state with no translation of error
    disable or shutdown";
              }
    
              leaf line-state {
                type Im-state-enum;
                description
                  "Line protocol state with no translation of error
    disable or shutdown";
              }
    
              leaf description {
                type string;
                description
                  "Interface description string";
              }
            }  // list interface
          }  // container interfaces
    
          container interface-summary {
            description
              "Interface summary information";
            container interface-counts {
              description
                "Counts for all interfaces";
              leaf interface-count {
                type uint32;
                description
                  "Number of interfaces";
              }
    
              leaf up-interface-count {
                type uint32;
                description
                  "Number of interfaces in UP state";
              }
    
              leaf down-interface-count {
                type uint32;
                description
                  "Number of interfaces in DOWN state";
              }
    
              leaf admin-down-interface-count {
                type uint32;
                description
                  "Number of interfaces in an ADMINDOWN state";
              }
            }  // container interface-counts
    
            list interface-type {
              description
                "List of per interface type summary information";
              container interface-counts {
                description
                  "Counts for interfaces of this type";
                leaf interface-count {
                  type uint32;
                  description
                    "Number of interfaces";
                }
    
                leaf up-interface-count {
                  type uint32;
                  description
                    "Number of interfaces in UP state";
                }
    
                leaf down-interface-count {
                  type uint32;
                  description
                    "Number of interfaces in DOWN state";
                }
    
                leaf admin-down-interface-count {
                  type uint32;
                  description
                    "Number of interfaces in an ADMINDOWN state";
                }
              }  // container interface-counts
    
              leaf interface-type-name {
                type string;
                description
                  "Name of the interface type";
              }
    
              leaf interface-type-description {
                type string;
                description
                  "Description of the interface type";
              }
            }  // list interface-type
          }  // container interface-summary
        }  // container interfaces
      }  // module Cisco-IOS-XR-pfi-im-cmd-oper
    

© 2023 YumaWorks, Inc. All rights reserved.