Cisco-IOS-XR-infra-sla-oper

This module contains a collection of YANG definitions for Cisco IOS-XR infra-sla package operational data. This module contains...

  • Version: 2019-04-05

    Cisco-IOS-XR-infra-sla-oper@2019-04-05


    
      module Cisco-IOS-XR-infra-sla-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-sla-oper";
    
        prefix infra-sla-oper;
    
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
    Customer Service
    
    Postal: 170 West Tasman Drive
    San Jose, CA 95134
    
    Tel: +1 800 553-NETS
    
    E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
    for Cisco IOS-XR infra-sla package operational data.
    
    This module contains definitions
    for the following management objects:
      sla: SLA oper commands
      sla-nodes: SLA Node table for node-specific operational data
    
    Copyright (c) 2013-2019 by Cisco Systems, Inc.
    All rights reserved.";
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.0.1";
    
        container sla {
          config false;
          description "SLA oper commands";
          container protocols {
            description
              "Table of all SLA protocols";
            container ethernet {
              description
                "The Ethernet SLA protocol";
              container statistics-on-demand-currents {
                description
                  "Table of current statistics for SLA on-demand
    operations";
                list statistics-on-demand-current {
                  description
                    "Current statistics data for an SLA on-demand
    operation";
                  leaf operation-id {
                    type uint32 {
                      range "1..4294967295";
                    }
                    description "Operation ID";
                  }
    
                  leaf domain-name {
                    type string;
                    description "Domain name";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf mep-id {
                    type dt1:Cfm-mep-id;
                    description
                      "MEP ID in the range 1 to 8191. Either MEP ID
    or MAC address must be specified.";
                  }
    
                  leaf mac-address {
                    type yang:mac-address;
                    description
                      "Unicast MAC Address in xxxx.xxxx.xxxx format.
    Either MEP ID or MAC address must be
    specified.";
                  }
    
                  container specific-options {
                    description
                      "Options specific to the type of operation";
                    container configured-operation-options {
                      when
                        "../oper-type = 'operation-type-configured'" {
                        description
                          "../OperType = 'OperationTypeConfigured'";
                      }
                      description
                        "Parameters for a configured operation";
                      leaf profile-name {
                        type string;
                        description
                          "Name of the profile used by the operation";
                      }
                    }  // container configured-operation-options
    
                    container ondemand-operation-options {
                      when
                        "../oper-type = 'operation-type-ondemand'" {
                        description
                          "../OperType = 'OperationTypeOndemand'";
                      }
                      description
                        "Parameters for an ondemand operation";
                      leaf ondemand-operation-id {
                        type uint32;
                        description
                          "ID of the ondemand operation";
                      }
    
                      leaf probe-count {
                        type uint8;
                        description
                          "Total number of probes sent during the operation";
                      }
                    }  // container ondemand-operation-options
    
                    leaf oper-type {
                      type Sla-oper-operation;
                      description "OperType";
                    }
                  }  // container specific-options
    
                  container operation-schedule {
                    description
                      "Operation schedule";
                    leaf start-time {
                      type uint32;
                      units "second";
                      description
                        "Start time of the first probe, in seconds since
    the Unix Epoch";
                    }
    
                    leaf start-time-configured {
                      type boolean;
                      description
                        "Whether or not the operation start time was
    explicitly configured";
                    }
    
                    leaf schedule-duration {
                      type uint32;
                      units "second";
                      description
                        "Duration of a probe for the operation in seconds";
                    }
    
                    leaf schedule-interval {
                      type uint32;
                      units "second";
                      description
                        "Interval between the start times of consecutive
    probes,  in seconds.";
                    }
                  }  // container operation-schedule
    
                  leaf probe-type {
                    type string;
                    description
                      "Type of probe used by the operation";
                  }
    
                  leaf display-short {
                    type string;
                    description
                      "Short display name used by the operation";
                  }
    
                  leaf display-long {
                    type string;
                    description
                      "Long display name used by the operation";
                  }
    
                  leaf flr-calculation-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Interval between FLR calculations for SLM, in
    milliseconds";
                  }
    
                  list operation-metric {
                    description
                      "Metrics gathered for the operation";
                    container config {
                      description
                        "Configuration of the metric";
                      leaf metric-type {
                        type Sla-recordable-metric;
                        description
                          "Type of metric to which this configuration
    applies";
                      }
    
                      leaf bins-count {
                        type uint16;
                        description
                          "Total number of bins into which to aggregate. 0
    if no aggregation.";
                      }
    
                      leaf bins-width {
                        type uint16;
                        description
                          "Width of each bin into which to aggregate. 0 if
    no aggregation. For SLM, the units of this value
    are in single units of percent; for LMM they are
    in tenths of percent; for other measurements
    they are in milliseconds.";
                      }
    
                      leaf bucket-size {
                        type uint8;
                        description
                          "Size of buckets into which measurements are
    collected";
                      }
    
                      leaf bucket-size-unit {
                        type Sla-bucket-size;
                        description
                          "Whether bucket size is 'per-probe' or 'probes'";
                      }
    
                      leaf buckets-archive {
                        type uint32;
                        description
                          "Maximum number of buckets to store in memory";
                      }
                    }  // container config
    
                    list threshold {
                      description
                        "Thresholds on the metric";
                      container configuration {
                        description
                          "Configuration of the threshold";
                        leaf threshold-type {
                          type Sla-cfg-threshold;
                          description
                            "Type of the threshold";
                        }
    
                        leaf threshold-condition {
                          type Sla-cfg-thresh-condition;
                          description
                            "Condition required for the threshold to be
    breached";
                        }
    
                        leaf threshold-value {
                          type int32;
                          description
                            "Configured threshold value, above which the
    threshold is breached";
                        }
    
                        leaf bin-threshold {
                          type uint32;
                          description
                            "For bin condition thresholds, this gives the bin
    number in and above which samples count towards
    the threshold breach value";
                        }
                      }  // container configuration
    
                      leaf state {
                        type Sla-metric-threshold-state;
                        description
                          "State of the threshold";
                      }
    
                      leaf breaching-value {
                        type int32;
                        description
                          "The breaching value of the threshold, if
    applicable";
                      }
    
                      leaf action-name {
                        type string;
                        description
                          "Name of the threshold action";
                      }
                    }  // list threshold
    
                    list bucket {
                      description
                        "Buckets stored for the metric";
                      container contents {
                        description
                          "The contents of the bucket; bins or samples";
                        container aggregated {
                          when
                            "../bucket-type = 'bucket-type-bins'" {
                            description
                              "../BucketType = 'BucketTypeBins'";
                          }
                          description
                            "Result bins in an SLA metric bucket";
                          list bins {
                            description
                              "The bins of an SLA metric bucket";
                            leaf lower-bound {
                              type int32;
                              description
                                "Lower bound (inclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf upper-bound {
                              type int32;
                              description
                                "Upper bound (exclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf lower-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Lower bound (inclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf upper-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Upper bound (exclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf sum {
                              type int64;
                              description
                                "The sum of the results in the bin, in
    microseconds or millionths of a percent";
                            }
    
                            leaf count {
                              type uint32;
                              description
                                "The total number of results in the bin";
                            }
                          }  // list bins
                        }  // container aggregated
    
                        container unaggregated {
                          when
                            "../bucket-type = 'bucket-type-samples'" {
                            description
                              "../BucketType = 'BucketTypeSamples'";
                          }
                          description
                            "Result samples in an SLA metric bucket";
                          list sample {
                            description
                              "The samples of an SLA metric bucket";
                            leaf sent-at {
                              type uint32;
                              units
                                "millisecond";
                              description
                                "The time (in milliseconds relative to the start
    time of the bucket) that the sample was sent at";
                            }
    
                            leaf sent {
                              type boolean;
                              description
                                "Whether the sample packet was sucessfully sent";
                            }
    
                            leaf timed-out {
                              type boolean;
                              description
                                "Whether the sample packet timed out";
                            }
    
                            leaf corrupt {
                              type boolean;
                              description
                                "Whether the sample packet was corrupt";
                            }
    
                            leaf out-of-order {
                              type boolean;
                              description
                                "Whether the sample packet was received
    out-of-order";
                            }
    
                            leaf no-data-packets {
                              type boolean;
                              description
                                "Whether a measurement could not be made because
    no data packets were sent in the sample period.
    Only applicable for LMM measurements";
                            }
    
                            leaf result {
                              type int32;
                              description
                                "The result (in microseconds or millionths of a
    percent) of the sample, if available";
                            }
    
                            leaf frames-sent {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames sent,
    if available";
                            }
    
                            leaf frames-lost {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames lost,
    if available";
                            }
                          }  // list sample
                        }  // container unaggregated
    
                        leaf bucket-type {
                          type Sla-oper-bucket;
                          description
                            "BucketType";
                        }
                      }  // container contents
    
                      leaf start-at {
                        type uint32;
                        description
                          "Absolute time that the bucket started being
    filled at";
                      }
    
                      leaf duration {
                        type uint32;
                        units "second";
                        description
                          "Length of time for which the bucket is being
    filled in seconds";
                      }
    
                      leaf sent {
                        type uint32;
                        description
                          "Number of packets sent in the probe";
                      }
    
                      leaf lost {
                        type uint32;
                        description
                          "Number of lost packets in the probe";
                      }
    
                      leaf corrupt {
                        type uint32;
                        description
                          "Number of corrupt packets in the probe";
                      }
    
                      leaf out-of-order {
                        type uint32;
                        description
                          "Number of packets recieved out-of-order in the
    probe";
                      }
    
                      leaf duplicates {
                        type uint32;
                        description
                          "Number of duplicate packets received in the
    probe";
                      }
    
                      leaf minimum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf maximum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf time-of-minimum {
                        type uint32;
                        description
                          "Absolute time that the minimum value was
    recorded";
                      }
    
                      leaf time-of-maximum {
                        type uint32;
                        description
                          "Absolute time that the maximum value was
    recorded";
                      }
    
                      leaf average {
                        type int32;
                        description
                          "Mean of the results in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf standard-deviation {
                        type int32;
                        description
                          "Standard deviation of the results in the probe,
    in microseconds or millionths of a percent";
                      }
    
                      leaf result-count {
                        type uint32;
                        description
                          "The count of samples collected in the bucket.";
                      }
    
                      leaf data-sent-count {
                        type uint32;
                        description
                          "The number of data packets sent across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf data-lost-count {
                        type uint32;
                        description
                          "The number of data packets lost across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf overall-flr {
                        type int32;
                        units "percentage";
                        description
                          "Frame Loss Ratio across the whole bucket, in
    millionths of a percent";
                      }
    
                      leaf suspect-start-mid-bucket {
                        type boolean;
                        description
                          "Results suspect due to a probe starting mid-way
    through a bucket";
                      }
    
                      leaf suspect-schedule-latency {
                        type boolean;
                        description
                          "Results suspect due to scheduling latency
    causing one or more packets to not be sent";
                      }
    
                      leaf suspect-send-fail {
                        type boolean;
                        description
                          "Results suspect due to failure to send one or
    more packets";
                      }
    
                      leaf suspect-premature-end {
                        type boolean;
                        description
                          "Results suspect due to a probe ending
    prematurely";
                      }
    
                      leaf suspect-clock-drift {
                        type boolean;
                        description
                          "Results suspect as more than 10 seconds time
    drift detected";
                      }
    
                      leaf suspect-memory-allocation-failed {
                        type boolean;
                        description
                          "Results suspect due to a memory allocation
    failure";
                      }
    
                      leaf suspect-cleared-mid-bucket {
                        type boolean;
                        description
                          "Results suspect as bucket was cleared mid-way
    through being filled";
                      }
    
                      leaf suspect-probe-restarted {
                        type boolean;
                        description
                          "Results suspect as probe restarted mid-way
    through the bucket";
                      }
    
                      leaf suspect-management-latency {
                        type boolean;
                        description
                          "Results suspect as processing of results has
    been delayed";
                      }
    
                      leaf suspect-multiple-buckets {
                        type boolean;
                        description
                          "Results suspect as the probe has been configured
    across multiple buckets";
                      }
    
                      leaf suspect-misordering {
                        type boolean;
                        description
                          "Results suspect as misordering has been detected
    , affecting results";
                      }
    
                      leaf suspect-flr-low-packet-count {
                        type boolean;
                        description
                          "Results suspect as FLR calculated based on a low
    packet count";
                      }
    
                      leaf premature-reason {
                        type uint32;
                        description
                          "If the probe ended prematurely, the error that
    caused a probe to end";
                      }
    
                      leaf premature-reason-string {
                        type string;
                        description
                          "Description of the error code that caused the
    probe to end prematurely. For informational
    purposes only";
                      }
                    }  // list bucket
                  }  // list operation-metric
                }  // list statistics-on-demand-current
              }  // container statistics-on-demand-currents
    
              container operations {
                description
                  "Table of SLA operations";
                list operation {
                  description
                    "SLA operation to get operation data for";
                  leaf profile-name {
                    type xr:Cisco-ios-xr-string;
                    description "Profile Name";
                  }
    
                  leaf domain-name {
                    type string;
                    description "Domain name";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf mep-id {
                    type dt1:Cfm-mep-id;
                    description
                      "MEP ID in the range 1 to 8191. Either MEP ID
    or MAC address must be specified.";
                  }
    
                  leaf mac-address {
                    type yang:mac-address;
                    description
                      "Unicast MAC Address in xxxx.xxxx.xxxx format.
    Either MEP ID or MAC address must be
    specified.";
                  }
    
                  container profile-options {
                    description
                      "Options that are only valid if the operation has
    a profile";
                    container packet-padding {
                      description
                        "Configuration of the packet padding";
                      leaf packet-pad-size {
                        type uint16;
                        description
                          "Size that packets are being padded to";
                      }
    
                      leaf test-pattern-pad-scheme {
                        type Sla-oper-test-pattern-scheme;
                        description
                          "Test pattern scheme that is used in the packet
    padding";
                      }
    
                      leaf test-pattern-pad-hex-string {
                        type uint32;
                        description
                          "Hex string that is used in the packet padding";
                      }
                    }  // container packet-padding
    
                    container priority {
                      description
                        "Priority at which to send the packet, if
    configured";
                      leaf priority-type {
                        type Sla-oper-packet-priority;
                        description
                          "PriorityType";
                      }
    
                      leaf cos {
                        when
                          "../priority-type = 'priority-cos'" {
                          description
                            "../PriorityType = 'PriorityCOS'";
                        }
                        type uint8;
                        description
                          "3-bit COS priority value applied to packets";
                      }
                    }  // container priority
    
                    container operation-schedule {
                      description
                        "Operation schedule";
                      leaf start-time {
                        type uint32;
                        units "second";
                        description
                          "Start time of the first probe, in seconds since
    the Unix Epoch";
                      }
    
                      leaf start-time-configured {
                        type boolean;
                        description
                          "Whether or not the operation start time was
    explicitly configured";
                      }
    
                      leaf schedule-duration {
                        type uint32;
                        units "second";
                        description
                          "Duration of a probe for the operation in seconds";
                      }
    
                      leaf schedule-interval {
                        type uint32;
                        units "second";
                        description
                          "Interval between the start times of consecutive
    probes,  in seconds.";
                      }
                    }  // container operation-schedule
    
                    leaf probe-type {
                      type string;
                      description
                        "Type of probe used by the operation";
                    }
    
                    leaf packets-per-burst {
                      type uint16;
                      description
                        "Number of packets sent per burst";
                    }
    
                    leaf inter-packet-interval {
                      type uint16;
                      units "millisecond";
                      description
                        "Interval between packets within a burst in
    milliseconds";
                    }
    
                    leaf bursts-per-probe {
                      type uint32;
                      description
                        "Number of bursts sent per probe";
                    }
    
                    leaf inter-burst-interval {
                      type uint32;
                      units "millisecond";
                      description
                        "Interval between bursts within a probe in
    milliseconds";
                    }
    
                    leaf flr-calculation-interval {
                      type uint32;
                      units "millisecond";
                      description
                        "Interval between FLR calculations for SLM, in
    milliseconds";
                    }
    
                    list operation-metric {
                      description
                        "Array of the metrics that are measured by the
    operation";
                      container metric-config {
                        description
                          "Configuration of the metric";
                        leaf metric-type {
                          type Sla-recordable-metric;
                          description
                            "Type of metric to which this configuration
    applies";
                        }
    
                        leaf bins-count {
                          type uint16;
                          description
                            "Total number of bins into which to aggregate. 0
    if no aggregation.";
                        }
    
                        leaf bins-width {
                          type uint16;
                          description
                            "Width of each bin into which to aggregate. 0 if
    no aggregation. For SLM, the units of this value
    are in single units of percent; for LMM they are
    in tenths of percent; for other measurements
    they are in milliseconds.";
                        }
    
                        leaf bucket-size {
                          type uint8;
                          description
                            "Size of buckets into which measurements are
    collected";
                        }
    
                        leaf bucket-size-unit {
                          type Sla-bucket-size;
                          description
                            "Whether bucket size is 'per-probe' or 'probes'";
                        }
    
                        leaf buckets-archive {
                          type uint32;
                          description
                            "Maximum number of buckets to store in memory";
                        }
                      }  // container metric-config
    
                      leaf current-buckets-archive {
                        type uint32;
                        description
                          "Number of valid buckets currently in the buckets
    archive";
                      }
    
                      list threshold {
                        description
                          "Thresholds configured on the metric";
                        container configuration {
                          description
                            "Configuration of the threshold";
                          leaf threshold-type {
                            type Sla-cfg-threshold;
                            description
                              "Type of the threshold";
                          }
    
                          leaf threshold-condition {
                            type Sla-cfg-thresh-condition;
                            description
                              "Condition required for the threshold to be
    breached";
                          }
    
                          leaf threshold-value {
                            type int32;
                            description
                              "Configured threshold value, above which the
    threshold is breached";
                          }
    
                          leaf bin-threshold {
                            type uint32;
                            description
                              "For bin condition thresholds, this gives the bin
    number in and above which samples count towards
    the threshold breach value";
                          }
                        }  // container configuration
    
                        leaf action-name {
                          type string;
                          description
                            "Name of the threshold action";
                        }
                      }  // list threshold
                    }  // list operation-metric
                  }  // container profile-options
    
                  container specific-options {
                    description
                      "Options specific to the type of operation";
                    container configured-operation-options {
                      when
                        "../oper-type = 'operation-type-configured'" {
                        description
                          "../OperType = 'OperationTypeConfigured'";
                      }
                      description
                        "Parameters for a configured operation";
                      leaf profile-name {
                        type string;
                        description
                          "Name of the profile used by the operation";
                      }
                    }  // container configured-operation-options
    
                    container ondemand-operation-options {
                      when
                        "../oper-type = 'operation-type-ondemand'" {
                        description
                          "../OperType = 'OperationTypeOndemand'";
                      }
                      description
                        "Parameters for an ondemand operation";
                      leaf ondemand-operation-id {
                        type uint32;
                        description
                          "ID of the ondemand operation";
                      }
    
                      leaf probe-count {
                        type uint8;
                        description
                          "Total number of probes sent during the operation";
                      }
                    }  // container ondemand-operation-options
    
                    leaf oper-type {
                      type Sla-oper-operation;
                      description "OperType";
                    }
                  }  // container specific-options
    
                  leaf display-short {
                    type string;
                    description
                      "Short display name used by the operation";
                  }
    
                  leaf display-long {
                    type string;
                    description
                      "Long display name used by the operation";
                  }
    
                  leaf last-run {
                    type uint32;
                    description
                      "Time that the last probe for the operation was
    run, NULL if never run.";
                  }
                }  // list operation
              }  // container operations
    
              container statistics-historicals {
                description
                  "Table of historical statistics for SLA
    operations";
                list statistics-historical {
                  description
                    "Historical statistics data for an SLA
    configured operation";
                  leaf profile-name {
                    type xr:Cisco-ios-xr-string;
                    description "Profile Name";
                  }
    
                  leaf domain-name {
                    type string;
                    description "Domain name";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf mep-id {
                    type dt1:Cfm-mep-id;
                    description
                      "MEP ID in the range 1 to 8191. Either MEP ID
    or MAC address must be specified.";
                  }
    
                  leaf mac-address {
                    type yang:mac-address;
                    description
                      "Unicast MAC Address in xxxx.xxxx.xxxx format.
    Either MEP ID or MAC address must be
    specified.";
                  }
    
                  container specific-options {
                    description
                      "Options specific to the type of operation";
                    container configured-operation-options {
                      when
                        "../oper-type = 'operation-type-configured'" {
                        description
                          "../OperType = 'OperationTypeConfigured'";
                      }
                      description
                        "Parameters for a configured operation";
                      leaf profile-name {
                        type string;
                        description
                          "Name of the profile used by the operation";
                      }
                    }  // container configured-operation-options
    
                    container ondemand-operation-options {
                      when
                        "../oper-type = 'operation-type-ondemand'" {
                        description
                          "../OperType = 'OperationTypeOndemand'";
                      }
                      description
                        "Parameters for an ondemand operation";
                      leaf ondemand-operation-id {
                        type uint32;
                        description
                          "ID of the ondemand operation";
                      }
    
                      leaf probe-count {
                        type uint8;
                        description
                          "Total number of probes sent during the operation";
                      }
                    }  // container ondemand-operation-options
    
                    leaf oper-type {
                      type Sla-oper-operation;
                      description "OperType";
                    }
                  }  // container specific-options
    
                  container operation-schedule {
                    description
                      "Operation schedule";
                    leaf start-time {
                      type uint32;
                      units "second";
                      description
                        "Start time of the first probe, in seconds since
    the Unix Epoch";
                    }
    
                    leaf start-time-configured {
                      type boolean;
                      description
                        "Whether or not the operation start time was
    explicitly configured";
                    }
    
                    leaf schedule-duration {
                      type uint32;
                      units "second";
                      description
                        "Duration of a probe for the operation in seconds";
                    }
    
                    leaf schedule-interval {
                      type uint32;
                      units "second";
                      description
                        "Interval between the start times of consecutive
    probes,  in seconds.";
                    }
                  }  // container operation-schedule
    
                  leaf probe-type {
                    type string;
                    description
                      "Type of probe used by the operation";
                  }
    
                  leaf display-short {
                    type string;
                    description
                      "Short display name used by the operation";
                  }
    
                  leaf display-long {
                    type string;
                    description
                      "Long display name used by the operation";
                  }
    
                  leaf flr-calculation-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Interval between FLR calculations for SLM, in
    milliseconds";
                  }
    
                  list operation-metric {
                    description
                      "Metrics gathered for the operation";
                    container config {
                      description
                        "Configuration of the metric";
                      leaf metric-type {
                        type Sla-recordable-metric;
                        description
                          "Type of metric to which this configuration
    applies";
                      }
    
                      leaf bins-count {
                        type uint16;
                        description
                          "Total number of bins into which to aggregate. 0
    if no aggregation.";
                      }
    
                      leaf bins-width {
                        type uint16;
                        description
                          "Width of each bin into which to aggregate. 0 if
    no aggregation. For SLM, the units of this value
    are in single units of percent; for LMM they are
    in tenths of percent; for other measurements
    they are in milliseconds.";
                      }
    
                      leaf bucket-size {
                        type uint8;
                        description
                          "Size of buckets into which measurements are
    collected";
                      }
    
                      leaf bucket-size-unit {
                        type Sla-bucket-size;
                        description
                          "Whether bucket size is 'per-probe' or 'probes'";
                      }
    
                      leaf buckets-archive {
                        type uint32;
                        description
                          "Maximum number of buckets to store in memory";
                      }
                    }  // container config
    
                    list threshold {
                      description
                        "Thresholds on the metric";
                      container configuration {
                        description
                          "Configuration of the threshold";
                        leaf threshold-type {
                          type Sla-cfg-threshold;
                          description
                            "Type of the threshold";
                        }
    
                        leaf threshold-condition {
                          type Sla-cfg-thresh-condition;
                          description
                            "Condition required for the threshold to be
    breached";
                        }
    
                        leaf threshold-value {
                          type int32;
                          description
                            "Configured threshold value, above which the
    threshold is breached";
                        }
    
                        leaf bin-threshold {
                          type uint32;
                          description
                            "For bin condition thresholds, this gives the bin
    number in and above which samples count towards
    the threshold breach value";
                        }
                      }  // container configuration
    
                      leaf state {
                        type Sla-metric-threshold-state;
                        description
                          "State of the threshold";
                      }
    
                      leaf breaching-value {
                        type int32;
                        description
                          "The breaching value of the threshold, if
    applicable";
                      }
    
                      leaf action-name {
                        type string;
                        description
                          "Name of the threshold action";
                      }
                    }  // list threshold
    
                    list bucket {
                      description
                        "Buckets stored for the metric";
                      container contents {
                        description
                          "The contents of the bucket; bins or samples";
                        container aggregated {
                          when
                            "../bucket-type = 'bucket-type-bins'" {
                            description
                              "../BucketType = 'BucketTypeBins'";
                          }
                          description
                            "Result bins in an SLA metric bucket";
                          list bins {
                            description
                              "The bins of an SLA metric bucket";
                            leaf lower-bound {
                              type int32;
                              description
                                "Lower bound (inclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf upper-bound {
                              type int32;
                              description
                                "Upper bound (exclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf lower-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Lower bound (inclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf upper-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Upper bound (exclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf sum {
                              type int64;
                              description
                                "The sum of the results in the bin, in
    microseconds or millionths of a percent";
                            }
    
                            leaf count {
                              type uint32;
                              description
                                "The total number of results in the bin";
                            }
                          }  // list bins
                        }  // container aggregated
    
                        container unaggregated {
                          when
                            "../bucket-type = 'bucket-type-samples'" {
                            description
                              "../BucketType = 'BucketTypeSamples'";
                          }
                          description
                            "Result samples in an SLA metric bucket";
                          list sample {
                            description
                              "The samples of an SLA metric bucket";
                            leaf sent-at {
                              type uint32;
                              units
                                "millisecond";
                              description
                                "The time (in milliseconds relative to the start
    time of the bucket) that the sample was sent at";
                            }
    
                            leaf sent {
                              type boolean;
                              description
                                "Whether the sample packet was sucessfully sent";
                            }
    
                            leaf timed-out {
                              type boolean;
                              description
                                "Whether the sample packet timed out";
                            }
    
                            leaf corrupt {
                              type boolean;
                              description
                                "Whether the sample packet was corrupt";
                            }
    
                            leaf out-of-order {
                              type boolean;
                              description
                                "Whether the sample packet was received
    out-of-order";
                            }
    
                            leaf no-data-packets {
                              type boolean;
                              description
                                "Whether a measurement could not be made because
    no data packets were sent in the sample period.
    Only applicable for LMM measurements";
                            }
    
                            leaf result {
                              type int32;
                              description
                                "The result (in microseconds or millionths of a
    percent) of the sample, if available";
                            }
    
                            leaf frames-sent {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames sent,
    if available";
                            }
    
                            leaf frames-lost {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames lost,
    if available";
                            }
                          }  // list sample
                        }  // container unaggregated
    
                        leaf bucket-type {
                          type Sla-oper-bucket;
                          description
                            "BucketType";
                        }
                      }  // container contents
    
                      leaf start-at {
                        type uint32;
                        description
                          "Absolute time that the bucket started being
    filled at";
                      }
    
                      leaf duration {
                        type uint32;
                        units "second";
                        description
                          "Length of time for which the bucket is being
    filled in seconds";
                      }
    
                      leaf sent {
                        type uint32;
                        description
                          "Number of packets sent in the probe";
                      }
    
                      leaf lost {
                        type uint32;
                        description
                          "Number of lost packets in the probe";
                      }
    
                      leaf corrupt {
                        type uint32;
                        description
                          "Number of corrupt packets in the probe";
                      }
    
                      leaf out-of-order {
                        type uint32;
                        description
                          "Number of packets recieved out-of-order in the
    probe";
                      }
    
                      leaf duplicates {
                        type uint32;
                        description
                          "Number of duplicate packets received in the
    probe";
                      }
    
                      leaf minimum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf maximum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf time-of-minimum {
                        type uint32;
                        description
                          "Absolute time that the minimum value was
    recorded";
                      }
    
                      leaf time-of-maximum {
                        type uint32;
                        description
                          "Absolute time that the maximum value was
    recorded";
                      }
    
                      leaf average {
                        type int32;
                        description
                          "Mean of the results in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf standard-deviation {
                        type int32;
                        description
                          "Standard deviation of the results in the probe,
    in microseconds or millionths of a percent";
                      }
    
                      leaf result-count {
                        type uint32;
                        description
                          "The count of samples collected in the bucket.";
                      }
    
                      leaf data-sent-count {
                        type uint32;
                        description
                          "The number of data packets sent across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf data-lost-count {
                        type uint32;
                        description
                          "The number of data packets lost across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf overall-flr {
                        type int32;
                        units "percentage";
                        description
                          "Frame Loss Ratio across the whole bucket, in
    millionths of a percent";
                      }
    
                      leaf suspect-start-mid-bucket {
                        type boolean;
                        description
                          "Results suspect due to a probe starting mid-way
    through a bucket";
                      }
    
                      leaf suspect-schedule-latency {
                        type boolean;
                        description
                          "Results suspect due to scheduling latency
    causing one or more packets to not be sent";
                      }
    
                      leaf suspect-send-fail {
                        type boolean;
                        description
                          "Results suspect due to failure to send one or
    more packets";
                      }
    
                      leaf suspect-premature-end {
                        type boolean;
                        description
                          "Results suspect due to a probe ending
    prematurely";
                      }
    
                      leaf suspect-clock-drift {
                        type boolean;
                        description
                          "Results suspect as more than 10 seconds time
    drift detected";
                      }
    
                      leaf suspect-memory-allocation-failed {
                        type boolean;
                        description
                          "Results suspect due to a memory allocation
    failure";
                      }
    
                      leaf suspect-cleared-mid-bucket {
                        type boolean;
                        description
                          "Results suspect as bucket was cleared mid-way
    through being filled";
                      }
    
                      leaf suspect-probe-restarted {
                        type boolean;
                        description
                          "Results suspect as probe restarted mid-way
    through the bucket";
                      }
    
                      leaf suspect-management-latency {
                        type boolean;
                        description
                          "Results suspect as processing of results has
    been delayed";
                      }
    
                      leaf suspect-multiple-buckets {
                        type boolean;
                        description
                          "Results suspect as the probe has been configured
    across multiple buckets";
                      }
    
                      leaf suspect-misordering {
                        type boolean;
                        description
                          "Results suspect as misordering has been detected
    , affecting results";
                      }
    
                      leaf suspect-flr-low-packet-count {
                        type boolean;
                        description
                          "Results suspect as FLR calculated based on a low
    packet count";
                      }
    
                      leaf premature-reason {
                        type uint32;
                        description
                          "If the probe ended prematurely, the error that
    caused a probe to end";
                      }
    
                      leaf premature-reason-string {
                        type string;
                        description
                          "Description of the error code that caused the
    probe to end prematurely. For informational
    purposes only";
                      }
                    }  // list bucket
                  }  // list operation-metric
                }  // list statistics-historical
              }  // container statistics-historicals
    
              container statistics-on-demand-historicals {
                description
                  "Table of historical statistics for SLA
    on-demand operations";
                list statistics-on-demand-historical {
                  description
                    "Historical statistics data for an SLA
    on-demand  operation";
                  leaf operation-id {
                    type uint32 {
                      range "1..4294967295";
                    }
                    description "Operation ID";
                  }
    
                  leaf domain-name {
                    type string;
                    description "Domain name";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf mep-id {
                    type dt1:Cfm-mep-id;
                    description
                      "MEP ID in the range 1 to 8191. Either MEP ID
    or MAC address must be specified.";
                  }
    
                  leaf mac-address {
                    type yang:mac-address;
                    description
                      "Unicast MAC Address in xxxx.xxxx.xxxx format.
    Either MEP ID or MAC address must be
    specified.";
                  }
    
                  container specific-options {
                    description
                      "Options specific to the type of operation";
                    container configured-operation-options {
                      when
                        "../oper-type = 'operation-type-configured'" {
                        description
                          "../OperType = 'OperationTypeConfigured'";
                      }
                      description
                        "Parameters for a configured operation";
                      leaf profile-name {
                        type string;
                        description
                          "Name of the profile used by the operation";
                      }
                    }  // container configured-operation-options
    
                    container ondemand-operation-options {
                      when
                        "../oper-type = 'operation-type-ondemand'" {
                        description
                          "../OperType = 'OperationTypeOndemand'";
                      }
                      description
                        "Parameters for an ondemand operation";
                      leaf ondemand-operation-id {
                        type uint32;
                        description
                          "ID of the ondemand operation";
                      }
    
                      leaf probe-count {
                        type uint8;
                        description
                          "Total number of probes sent during the operation";
                      }
                    }  // container ondemand-operation-options
    
                    leaf oper-type {
                      type Sla-oper-operation;
                      description "OperType";
                    }
                  }  // container specific-options
    
                  container operation-schedule {
                    description
                      "Operation schedule";
                    leaf start-time {
                      type uint32;
                      units "second";
                      description
                        "Start time of the first probe, in seconds since
    the Unix Epoch";
                    }
    
                    leaf start-time-configured {
                      type boolean;
                      description
                        "Whether or not the operation start time was
    explicitly configured";
                    }
    
                    leaf schedule-duration {
                      type uint32;
                      units "second";
                      description
                        "Duration of a probe for the operation in seconds";
                    }
    
                    leaf schedule-interval {
                      type uint32;
                      units "second";
                      description
                        "Interval between the start times of consecutive
    probes,  in seconds.";
                    }
                  }  // container operation-schedule
    
                  leaf probe-type {
                    type string;
                    description
                      "Type of probe used by the operation";
                  }
    
                  leaf display-short {
                    type string;
                    description
                      "Short display name used by the operation";
                  }
    
                  leaf display-long {
                    type string;
                    description
                      "Long display name used by the operation";
                  }
    
                  leaf flr-calculation-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Interval between FLR calculations for SLM, in
    milliseconds";
                  }
    
                  list operation-metric {
                    description
                      "Metrics gathered for the operation";
                    container config {
                      description
                        "Configuration of the metric";
                      leaf metric-type {
                        type Sla-recordable-metric;
                        description
                          "Type of metric to which this configuration
    applies";
                      }
    
                      leaf bins-count {
                        type uint16;
                        description
                          "Total number of bins into which to aggregate. 0
    if no aggregation.";
                      }
    
                      leaf bins-width {
                        type uint16;
                        description
                          "Width of each bin into which to aggregate. 0 if
    no aggregation. For SLM, the units of this value
    are in single units of percent; for LMM they are
    in tenths of percent; for other measurements
    they are in milliseconds.";
                      }
    
                      leaf bucket-size {
                        type uint8;
                        description
                          "Size of buckets into which measurements are
    collected";
                      }
    
                      leaf bucket-size-unit {
                        type Sla-bucket-size;
                        description
                          "Whether bucket size is 'per-probe' or 'probes'";
                      }
    
                      leaf buckets-archive {
                        type uint32;
                        description
                          "Maximum number of buckets to store in memory";
                      }
                    }  // container config
    
                    list threshold {
                      description
                        "Thresholds on the metric";
                      container configuration {
                        description
                          "Configuration of the threshold";
                        leaf threshold-type {
                          type Sla-cfg-threshold;
                          description
                            "Type of the threshold";
                        }
    
                        leaf threshold-condition {
                          type Sla-cfg-thresh-condition;
                          description
                            "Condition required for the threshold to be
    breached";
                        }
    
                        leaf threshold-value {
                          type int32;
                          description
                            "Configured threshold value, above which the
    threshold is breached";
                        }
    
                        leaf bin-threshold {
                          type uint32;
                          description
                            "For bin condition thresholds, this gives the bin
    number in and above which samples count towards
    the threshold breach value";
                        }
                      }  // container configuration
    
                      leaf state {
                        type Sla-metric-threshold-state;
                        description
                          "State of the threshold";
                      }
    
                      leaf breaching-value {
                        type int32;
                        description
                          "The breaching value of the threshold, if
    applicable";
                      }
    
                      leaf action-name {
                        type string;
                        description
                          "Name of the threshold action";
                      }
                    }  // list threshold
    
                    list bucket {
                      description
                        "Buckets stored for the metric";
                      container contents {
                        description
                          "The contents of the bucket; bins or samples";
                        container aggregated {
                          when
                            "../bucket-type = 'bucket-type-bins'" {
                            description
                              "../BucketType = 'BucketTypeBins'";
                          }
                          description
                            "Result bins in an SLA metric bucket";
                          list bins {
                            description
                              "The bins of an SLA metric bucket";
                            leaf lower-bound {
                              type int32;
                              description
                                "Lower bound (inclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf upper-bound {
                              type int32;
                              description
                                "Upper bound (exclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf lower-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Lower bound (inclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf upper-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Upper bound (exclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf sum {
                              type int64;
                              description
                                "The sum of the results in the bin, in
    microseconds or millionths of a percent";
                            }
    
                            leaf count {
                              type uint32;
                              description
                                "The total number of results in the bin";
                            }
                          }  // list bins
                        }  // container aggregated
    
                        container unaggregated {
                          when
                            "../bucket-type = 'bucket-type-samples'" {
                            description
                              "../BucketType = 'BucketTypeSamples'";
                          }
                          description
                            "Result samples in an SLA metric bucket";
                          list sample {
                            description
                              "The samples of an SLA metric bucket";
                            leaf sent-at {
                              type uint32;
                              units
                                "millisecond";
                              description
                                "The time (in milliseconds relative to the start
    time of the bucket) that the sample was sent at";
                            }
    
                            leaf sent {
                              type boolean;
                              description
                                "Whether the sample packet was sucessfully sent";
                            }
    
                            leaf timed-out {
                              type boolean;
                              description
                                "Whether the sample packet timed out";
                            }
    
                            leaf corrupt {
                              type boolean;
                              description
                                "Whether the sample packet was corrupt";
                            }
    
                            leaf out-of-order {
                              type boolean;
                              description
                                "Whether the sample packet was received
    out-of-order";
                            }
    
                            leaf no-data-packets {
                              type boolean;
                              description
                                "Whether a measurement could not be made because
    no data packets were sent in the sample period.
    Only applicable for LMM measurements";
                            }
    
                            leaf result {
                              type int32;
                              description
                                "The result (in microseconds or millionths of a
    percent) of the sample, if available";
                            }
    
                            leaf frames-sent {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames sent,
    if available";
                            }
    
                            leaf frames-lost {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames lost,
    if available";
                            }
                          }  // list sample
                        }  // container unaggregated
    
                        leaf bucket-type {
                          type Sla-oper-bucket;
                          description
                            "BucketType";
                        }
                      }  // container contents
    
                      leaf start-at {
                        type uint32;
                        description
                          "Absolute time that the bucket started being
    filled at";
                      }
    
                      leaf duration {
                        type uint32;
                        units "second";
                        description
                          "Length of time for which the bucket is being
    filled in seconds";
                      }
    
                      leaf sent {
                        type uint32;
                        description
                          "Number of packets sent in the probe";
                      }
    
                      leaf lost {
                        type uint32;
                        description
                          "Number of lost packets in the probe";
                      }
    
                      leaf corrupt {
                        type uint32;
                        description
                          "Number of corrupt packets in the probe";
                      }
    
                      leaf out-of-order {
                        type uint32;
                        description
                          "Number of packets recieved out-of-order in the
    probe";
                      }
    
                      leaf duplicates {
                        type uint32;
                        description
                          "Number of duplicate packets received in the
    probe";
                      }
    
                      leaf minimum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf maximum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf time-of-minimum {
                        type uint32;
                        description
                          "Absolute time that the minimum value was
    recorded";
                      }
    
                      leaf time-of-maximum {
                        type uint32;
                        description
                          "Absolute time that the maximum value was
    recorded";
                      }
    
                      leaf average {
                        type int32;
                        description
                          "Mean of the results in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf standard-deviation {
                        type int32;
                        description
                          "Standard deviation of the results in the probe,
    in microseconds or millionths of a percent";
                      }
    
                      leaf result-count {
                        type uint32;
                        description
                          "The count of samples collected in the bucket.";
                      }
    
                      leaf data-sent-count {
                        type uint32;
                        description
                          "The number of data packets sent across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf data-lost-count {
                        type uint32;
                        description
                          "The number of data packets lost across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf overall-flr {
                        type int32;
                        units "percentage";
                        description
                          "Frame Loss Ratio across the whole bucket, in
    millionths of a percent";
                      }
    
                      leaf suspect-start-mid-bucket {
                        type boolean;
                        description
                          "Results suspect due to a probe starting mid-way
    through a bucket";
                      }
    
                      leaf suspect-schedule-latency {
                        type boolean;
                        description
                          "Results suspect due to scheduling latency
    causing one or more packets to not be sent";
                      }
    
                      leaf suspect-send-fail {
                        type boolean;
                        description
                          "Results suspect due to failure to send one or
    more packets";
                      }
    
                      leaf suspect-premature-end {
                        type boolean;
                        description
                          "Results suspect due to a probe ending
    prematurely";
                      }
    
                      leaf suspect-clock-drift {
                        type boolean;
                        description
                          "Results suspect as more than 10 seconds time
    drift detected";
                      }
    
                      leaf suspect-memory-allocation-failed {
                        type boolean;
                        description
                          "Results suspect due to a memory allocation
    failure";
                      }
    
                      leaf suspect-cleared-mid-bucket {
                        type boolean;
                        description
                          "Results suspect as bucket was cleared mid-way
    through being filled";
                      }
    
                      leaf suspect-probe-restarted {
                        type boolean;
                        description
                          "Results suspect as probe restarted mid-way
    through the bucket";
                      }
    
                      leaf suspect-management-latency {
                        type boolean;
                        description
                          "Results suspect as processing of results has
    been delayed";
                      }
    
                      leaf suspect-multiple-buckets {
                        type boolean;
                        description
                          "Results suspect as the probe has been configured
    across multiple buckets";
                      }
    
                      leaf suspect-misordering {
                        type boolean;
                        description
                          "Results suspect as misordering has been detected
    , affecting results";
                      }
    
                      leaf suspect-flr-low-packet-count {
                        type boolean;
                        description
                          "Results suspect as FLR calculated based on a low
    packet count";
                      }
    
                      leaf premature-reason {
                        type uint32;
                        description
                          "If the probe ended prematurely, the error that
    caused a probe to end";
                      }
    
                      leaf premature-reason-string {
                        type string;
                        description
                          "Description of the error code that caused the
    probe to end prematurely. For informational
    purposes only";
                      }
                    }  // list bucket
                  }  // list operation-metric
                }  // list statistics-on-demand-historical
              }  // container statistics-on-demand-historicals
    
              container config-errors {
                description
                  "Table of SLA configuration errors on configured
    operations";
                list config-error {
                  description
                    "SLA operation to get configuration errors data
    for";
                  leaf profile-name {
                    type xr:Cisco-ios-xr-string;
                    description "Profile Name";
                  }
    
                  leaf domain-name {
                    type string;
                    description "Domain name";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf mep-id {
                    type dt1:Cfm-mep-id;
                    description
                      "MEP ID in the range 1 to 8191";
                  }
    
                  leaf mac-address {
                    type yang:mac-address;
                    description
                      "Unicast MAC Address in xxxx.xxxx.xxxx format";
                  }
    
                  leaf profile-name-xr {
                    type string;
                    description
                      "The name of the operation profile.";
                  }
    
                  leaf display-short {
                    type string;
                    description
                      "Short display name used by the operation";
                  }
    
                  leaf rt-delay-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect RT Delay
    but the packet type doesn't support it?";
                  }
    
                  leaf ow-delay-sd-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect OW Delay
    (SD) but the packet type doesn't support it?";
                  }
    
                  leaf ow-delay-ds-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect OW Delay
    (DS) but the packet type doesn't support it?";
                  }
    
                  leaf rt-jitter-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect RT Jitter
    but the packet type doesn't support it?";
                  }
    
                  leaf ow-jitter-sd-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect OW Jitter
    (SD) but the packet type doesn't support it?";
                  }
    
                  leaf ow-jitter-ds-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect OW Delay
    (DS) but the packet type doesn't support it?";
                  }
    
                  leaf ow-loss-sd-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect OW Frame
    Loss (SD) but the packet type doesn't support it
    ?";
                  }
    
                  leaf ow-loss-ds-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to collect OW Frame
    Loss (DS) but the packet type doesn't support it
    ?";
                  }
    
                  leaf packet-pad-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to pad packets but the
    packet type doesn't support it?";
                  }
    
                  leaf packet-rand-pad-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to pad packets with a
    pseudo-random string but the packet type doesn't
    support it?";
                  }
    
                  leaf min-packet-interval-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to send packets more
    frequently than the protocol allows?";
                  }
    
                  leaf priority-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to use a packet
    priority scheme that the protocol does not
    support?";
                  }
    
                  leaf packet-type-inconsistent {
                    type boolean;
                    description
                      "Is the profile configured to use a packet type
    that isn't supported by any protocols?";
                  }
    
                  leaf profile-doesnt-exist {
                    type boolean;
                    description
                      "Is the operation configured to use a profile
    that is not currently defined for the protocol?";
                  }
    
                  leaf synthetic-loss-not-supported {
                    type boolean;
                    description
                      "The profile is configured to use a packet type
    which doesn't support synthetic loss measurement
    and the number of packets per FLR calculation
    has been configured";
                  }
    
                  leaf probe-too-big {
                    type boolean;
                    description
                      "The profile is configured to use a packet type
    which does not allow more than 72000 packets per
    probe and greater than 72000 packets per probe
    have been configured";
                  }
    
                  leaf no-statistics-configured {
                    type boolean;
                    description
                      "Is the profile configured without any statistics
    collection?";
                  }
    
                  list error-string {
                    description
                      "Displays other issues not indicated from the
    flags above, for example MIB incompatibility
    issues.";
                    leaf entry {
                      type Sla-error-string;
                      description
                        "Displays other issues not indicated from the
    flags above, for example MIB incompatibility
    issues.";
                    }
                  }  // list error-string
                }  // list config-error
              }  // container config-errors
    
              container on-demand-operations {
                description
                  "Table of SLA on-demand operations";
                list on-demand-operation {
                  description
                    "SLA on-demand operation to get operation data
    for";
                  leaf operation-id {
                    type uint32 {
                      range "1..4294967295";
                    }
                    description "Operation ID";
                  }
    
                  leaf domain-name {
                    type string;
                    description "Domain name";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf mep-id {
                    type dt1:Cfm-mep-id;
                    description
                      "MEP ID in the range 1 to 8191. Either MEP ID
    or MAC address must be specified.";
                  }
    
                  leaf mac-address {
                    type yang:mac-address;
                    description
                      "Unicast MAC Address in xxxx.xxxx.xxxx format.
    Either MEP ID or MAC address must be
    specified.";
                  }
    
                  container profile-options {
                    description
                      "Options that are only valid if the operation has
    a profile";
                    container packet-padding {
                      description
                        "Configuration of the packet padding";
                      leaf packet-pad-size {
                        type uint16;
                        description
                          "Size that packets are being padded to";
                      }
    
                      leaf test-pattern-pad-scheme {
                        type Sla-oper-test-pattern-scheme;
                        description
                          "Test pattern scheme that is used in the packet
    padding";
                      }
    
                      leaf test-pattern-pad-hex-string {
                        type uint32;
                        description
                          "Hex string that is used in the packet padding";
                      }
                    }  // container packet-padding
    
                    container priority {
                      description
                        "Priority at which to send the packet, if
    configured";
                      leaf priority-type {
                        type Sla-oper-packet-priority;
                        description
                          "PriorityType";
                      }
    
                      leaf cos {
                        when
                          "../priority-type = 'priority-cos'" {
                          description
                            "../PriorityType = 'PriorityCOS'";
                        }
                        type uint8;
                        description
                          "3-bit COS priority value applied to packets";
                      }
                    }  // container priority
    
                    container operation-schedule {
                      description
                        "Operation schedule";
                      leaf start-time {
                        type uint32;
                        units "second";
                        description
                          "Start time of the first probe, in seconds since
    the Unix Epoch";
                      }
    
                      leaf start-time-configured {
                        type boolean;
                        description
                          "Whether or not the operation start time was
    explicitly configured";
                      }
    
                      leaf schedule-duration {
                        type uint32;
                        units "second";
                        description
                          "Duration of a probe for the operation in seconds";
                      }
    
                      leaf schedule-interval {
                        type uint32;
                        units "second";
                        description
                          "Interval between the start times of consecutive
    probes,  in seconds.";
                      }
                    }  // container operation-schedule
    
                    leaf probe-type {
                      type string;
                      description
                        "Type of probe used by the operation";
                    }
    
                    leaf packets-per-burst {
                      type uint16;
                      description
                        "Number of packets sent per burst";
                    }
    
                    leaf inter-packet-interval {
                      type uint16;
                      units "millisecond";
                      description
                        "Interval between packets within a burst in
    milliseconds";
                    }
    
                    leaf bursts-per-probe {
                      type uint32;
                      description
                        "Number of bursts sent per probe";
                    }
    
                    leaf inter-burst-interval {
                      type uint32;
                      units "millisecond";
                      description
                        "Interval between bursts within a probe in
    milliseconds";
                    }
    
                    leaf flr-calculation-interval {
                      type uint32;
                      units "millisecond";
                      description
                        "Interval between FLR calculations for SLM, in
    milliseconds";
                    }
    
                    list operation-metric {
                      description
                        "Array of the metrics that are measured by the
    operation";
                      container metric-config {
                        description
                          "Configuration of the metric";
                        leaf metric-type {
                          type Sla-recordable-metric;
                          description
                            "Type of metric to which this configuration
    applies";
                        }
    
                        leaf bins-count {
                          type uint16;
                          description
                            "Total number of bins into which to aggregate. 0
    if no aggregation.";
                        }
    
                        leaf bins-width {
                          type uint16;
                          description
                            "Width of each bin into which to aggregate. 0 if
    no aggregation. For SLM, the units of this value
    are in single units of percent; for LMM they are
    in tenths of percent; for other measurements
    they are in milliseconds.";
                        }
    
                        leaf bucket-size {
                          type uint8;
                          description
                            "Size of buckets into which measurements are
    collected";
                        }
    
                        leaf bucket-size-unit {
                          type Sla-bucket-size;
                          description
                            "Whether bucket size is 'per-probe' or 'probes'";
                        }
    
                        leaf buckets-archive {
                          type uint32;
                          description
                            "Maximum number of buckets to store in memory";
                        }
                      }  // container metric-config
    
                      leaf current-buckets-archive {
                        type uint32;
                        description
                          "Number of valid buckets currently in the buckets
    archive";
                      }
    
                      list threshold {
                        description
                          "Thresholds configured on the metric";
                        container configuration {
                          description
                            "Configuration of the threshold";
                          leaf threshold-type {
                            type Sla-cfg-threshold;
                            description
                              "Type of the threshold";
                          }
    
                          leaf threshold-condition {
                            type Sla-cfg-thresh-condition;
                            description
                              "Condition required for the threshold to be
    breached";
                          }
    
                          leaf threshold-value {
                            type int32;
                            description
                              "Configured threshold value, above which the
    threshold is breached";
                          }
    
                          leaf bin-threshold {
                            type uint32;
                            description
                              "For bin condition thresholds, this gives the bin
    number in and above which samples count towards
    the threshold breach value";
                          }
                        }  // container configuration
    
                        leaf action-name {
                          type string;
                          description
                            "Name of the threshold action";
                        }
                      }  // list threshold
                    }  // list operation-metric
                  }  // container profile-options
    
                  container specific-options {
                    description
                      "Options specific to the type of operation";
                    container configured-operation-options {
                      when
                        "../oper-type = 'operation-type-configured'" {
                        description
                          "../OperType = 'OperationTypeConfigured'";
                      }
                      description
                        "Parameters for a configured operation";
                      leaf profile-name {
                        type string;
                        description
                          "Name of the profile used by the operation";
                      }
                    }  // container configured-operation-options
    
                    container ondemand-operation-options {
                      when
                        "../oper-type = 'operation-type-ondemand'" {
                        description
                          "../OperType = 'OperationTypeOndemand'";
                      }
                      description
                        "Parameters for an ondemand operation";
                      leaf ondemand-operation-id {
                        type uint32;
                        description
                          "ID of the ondemand operation";
                      }
    
                      leaf probe-count {
                        type uint8;
                        description
                          "Total number of probes sent during the operation";
                      }
                    }  // container ondemand-operation-options
    
                    leaf oper-type {
                      type Sla-oper-operation;
                      description "OperType";
                    }
                  }  // container specific-options
    
                  leaf display-short {
                    type string;
                    description
                      "Short display name used by the operation";
                  }
    
                  leaf display-long {
                    type string;
                    description
                      "Long display name used by the operation";
                  }
    
                  leaf last-run {
                    type uint32;
                    description
                      "Time that the last probe for the operation was
    run, NULL if never run.";
                  }
                }  // list on-demand-operation
              }  // container on-demand-operations
    
              container statistics-currents {
                description
                  "Table of current statistics for SLA operations";
                list statistics-current {
                  description
                    "Current statistics data for an SLA configured
    operation";
                  leaf profile-name {
                    type xr:Cisco-ios-xr-string;
                    description "Profile Name";
                  }
    
                  leaf domain-name {
                    type string;
                    description "Domain name";
                  }
    
                  leaf interface-name {
                    type xr:Interface-name;
                    description "Interface name";
                  }
    
                  leaf mep-id {
                    type dt1:Cfm-mep-id;
                    description
                      "MEP ID in the range 1 to 8191. Either MEP ID
    or MAC address must be specified.";
                  }
    
                  leaf mac-address {
                    type yang:mac-address;
                    description
                      "Unicast MAC Address in xxxx.xxxx.xxxx format.
    Either MEP ID or MAC address must be
    specified.";
                  }
    
                  container specific-options {
                    description
                      "Options specific to the type of operation";
                    container configured-operation-options {
                      when
                        "../oper-type = 'operation-type-configured'" {
                        description
                          "../OperType = 'OperationTypeConfigured'";
                      }
                      description
                        "Parameters for a configured operation";
                      leaf profile-name {
                        type string;
                        description
                          "Name of the profile used by the operation";
                      }
                    }  // container configured-operation-options
    
                    container ondemand-operation-options {
                      when
                        "../oper-type = 'operation-type-ondemand'" {
                        description
                          "../OperType = 'OperationTypeOndemand'";
                      }
                      description
                        "Parameters for an ondemand operation";
                      leaf ondemand-operation-id {
                        type uint32;
                        description
                          "ID of the ondemand operation";
                      }
    
                      leaf probe-count {
                        type uint8;
                        description
                          "Total number of probes sent during the operation";
                      }
                    }  // container ondemand-operation-options
    
                    leaf oper-type {
                      type Sla-oper-operation;
                      description "OperType";
                    }
                  }  // container specific-options
    
                  container operation-schedule {
                    description
                      "Operation schedule";
                    leaf start-time {
                      type uint32;
                      units "second";
                      description
                        "Start time of the first probe, in seconds since
    the Unix Epoch";
                    }
    
                    leaf start-time-configured {
                      type boolean;
                      description
                        "Whether or not the operation start time was
    explicitly configured";
                    }
    
                    leaf schedule-duration {
                      type uint32;
                      units "second";
                      description
                        "Duration of a probe for the operation in seconds";
                    }
    
                    leaf schedule-interval {
                      type uint32;
                      units "second";
                      description
                        "Interval between the start times of consecutive
    probes,  in seconds.";
                    }
                  }  // container operation-schedule
    
                  leaf probe-type {
                    type string;
                    description
                      "Type of probe used by the operation";
                  }
    
                  leaf display-short {
                    type string;
                    description
                      "Short display name used by the operation";
                  }
    
                  leaf display-long {
                    type string;
                    description
                      "Long display name used by the operation";
                  }
    
                  leaf flr-calculation-interval {
                    type uint32;
                    units "millisecond";
                    description
                      "Interval between FLR calculations for SLM, in
    milliseconds";
                  }
    
                  list operation-metric {
                    description
                      "Metrics gathered for the operation";
                    container config {
                      description
                        "Configuration of the metric";
                      leaf metric-type {
                        type Sla-recordable-metric;
                        description
                          "Type of metric to which this configuration
    applies";
                      }
    
                      leaf bins-count {
                        type uint16;
                        description
                          "Total number of bins into which to aggregate. 0
    if no aggregation.";
                      }
    
                      leaf bins-width {
                        type uint16;
                        description
                          "Width of each bin into which to aggregate. 0 if
    no aggregation. For SLM, the units of this value
    are in single units of percent; for LMM they are
    in tenths of percent; for other measurements
    they are in milliseconds.";
                      }
    
                      leaf bucket-size {
                        type uint8;
                        description
                          "Size of buckets into which measurements are
    collected";
                      }
    
                      leaf bucket-size-unit {
                        type Sla-bucket-size;
                        description
                          "Whether bucket size is 'per-probe' or 'probes'";
                      }
    
                      leaf buckets-archive {
                        type uint32;
                        description
                          "Maximum number of buckets to store in memory";
                      }
                    }  // container config
    
                    list threshold {
                      description
                        "Thresholds on the metric";
                      container configuration {
                        description
                          "Configuration of the threshold";
                        leaf threshold-type {
                          type Sla-cfg-threshold;
                          description
                            "Type of the threshold";
                        }
    
                        leaf threshold-condition {
                          type Sla-cfg-thresh-condition;
                          description
                            "Condition required for the threshold to be
    breached";
                        }
    
                        leaf threshold-value {
                          type int32;
                          description
                            "Configured threshold value, above which the
    threshold is breached";
                        }
    
                        leaf bin-threshold {
                          type uint32;
                          description
                            "For bin condition thresholds, this gives the bin
    number in and above which samples count towards
    the threshold breach value";
                        }
                      }  // container configuration
    
                      leaf state {
                        type Sla-metric-threshold-state;
                        description
                          "State of the threshold";
                      }
    
                      leaf breaching-value {
                        type int32;
                        description
                          "The breaching value of the threshold, if
    applicable";
                      }
    
                      leaf action-name {
                        type string;
                        description
                          "Name of the threshold action";
                      }
                    }  // list threshold
    
                    list bucket {
                      description
                        "Buckets stored for the metric";
                      container contents {
                        description
                          "The contents of the bucket; bins or samples";
                        container aggregated {
                          when
                            "../bucket-type = 'bucket-type-bins'" {
                            description
                              "../BucketType = 'BucketTypeBins'";
                          }
                          description
                            "Result bins in an SLA metric bucket";
                          list bins {
                            description
                              "The bins of an SLA metric bucket";
                            leaf lower-bound {
                              type int32;
                              description
                                "Lower bound (inclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf upper-bound {
                              type int32;
                              description
                                "Upper bound (exclusive) of the bin, in
    milliseconds or single units of percent. This
    field is not used for LMM measurements";
                            }
    
                            leaf lower-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Lower bound (inclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf upper-bound-tenths {
                              type int32;
                              units "percentage";
                              description
                                "Upper bound (exclusive) of the bin, in tenths of
    percent. This field is only used for LMM
    measurements";
                            }
    
                            leaf sum {
                              type int64;
                              description
                                "The sum of the results in the bin, in
    microseconds or millionths of a percent";
                            }
    
                            leaf count {
                              type uint32;
                              description
                                "The total number of results in the bin";
                            }
                          }  // list bins
                        }  // container aggregated
    
                        container unaggregated {
                          when
                            "../bucket-type = 'bucket-type-samples'" {
                            description
                              "../BucketType = 'BucketTypeSamples'";
                          }
                          description
                            "Result samples in an SLA metric bucket";
                          list sample {
                            description
                              "The samples of an SLA metric bucket";
                            leaf sent-at {
                              type uint32;
                              units
                                "millisecond";
                              description
                                "The time (in milliseconds relative to the start
    time of the bucket) that the sample was sent at";
                            }
    
                            leaf sent {
                              type boolean;
                              description
                                "Whether the sample packet was sucessfully sent";
                            }
    
                            leaf timed-out {
                              type boolean;
                              description
                                "Whether the sample packet timed out";
                            }
    
                            leaf corrupt {
                              type boolean;
                              description
                                "Whether the sample packet was corrupt";
                            }
    
                            leaf out-of-order {
                              type boolean;
                              description
                                "Whether the sample packet was received
    out-of-order";
                            }
    
                            leaf no-data-packets {
                              type boolean;
                              description
                                "Whether a measurement could not be made because
    no data packets were sent in the sample period.
    Only applicable for LMM measurements";
                            }
    
                            leaf result {
                              type int32;
                              description
                                "The result (in microseconds or millionths of a
    percent) of the sample, if available";
                            }
    
                            leaf frames-sent {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames sent,
    if available";
                            }
    
                            leaf frames-lost {
                              type uint32;
                              description
                                "For FLR measurements, the number of frames lost,
    if available";
                            }
                          }  // list sample
                        }  // container unaggregated
    
                        leaf bucket-type {
                          type Sla-oper-bucket;
                          description
                            "BucketType";
                        }
                      }  // container contents
    
                      leaf start-at {
                        type uint32;
                        description
                          "Absolute time that the bucket started being
    filled at";
                      }
    
                      leaf duration {
                        type uint32;
                        units "second";
                        description
                          "Length of time for which the bucket is being
    filled in seconds";
                      }
    
                      leaf sent {
                        type uint32;
                        description
                          "Number of packets sent in the probe";
                      }
    
                      leaf lost {
                        type uint32;
                        description
                          "Number of lost packets in the probe";
                      }
    
                      leaf corrupt {
                        type uint32;
                        description
                          "Number of corrupt packets in the probe";
                      }
    
                      leaf out-of-order {
                        type uint32;
                        description
                          "Number of packets recieved out-of-order in the
    probe";
                      }
    
                      leaf duplicates {
                        type uint32;
                        description
                          "Number of duplicate packets received in the
    probe";
                      }
    
                      leaf minimum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf maximum {
                        type int32;
                        description
                          "Overall minimum result in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf time-of-minimum {
                        type uint32;
                        description
                          "Absolute time that the minimum value was
    recorded";
                      }
    
                      leaf time-of-maximum {
                        type uint32;
                        description
                          "Absolute time that the maximum value was
    recorded";
                      }
    
                      leaf average {
                        type int32;
                        description
                          "Mean of the results in the probe, in
    microseconds or millionths of a percent";
                      }
    
                      leaf standard-deviation {
                        type int32;
                        description
                          "Standard deviation of the results in the probe,
    in microseconds or millionths of a percent";
                      }
    
                      leaf result-count {
                        type uint32;
                        description
                          "The count of samples collected in the bucket.";
                      }
    
                      leaf data-sent-count {
                        type uint32;
                        description
                          "The number of data packets sent across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf data-lost-count {
                        type uint32;
                        description
                          "The number of data packets lost across the
    bucket, used in the calculation of overall FLR.";
                      }
    
                      leaf overall-flr {
                        type int32;
                        units "percentage";
                        description
                          "Frame Loss Ratio across the whole bucket, in
    millionths of a percent";
                      }
    
                      leaf suspect-start-mid-bucket {
                        type boolean;
                        description
                          "Results suspect due to a probe starting mid-way
    through a bucket";
                      }
    
                      leaf suspect-schedule-latency {
                        type boolean;
                        description
                          "Results suspect due to scheduling latency
    causing one or more packets to not be sent";
                      }
    
                      leaf suspect-send-fail {
                        type boolean;
                        description
                          "Results suspect due to failure to send one or
    more packets";
                      }
    
                      leaf suspect-premature-end {
                        type boolean;
                        description
                          "Results suspect due to a probe ending
    prematurely";
                      }
    
                      leaf suspect-clock-drift {
                        type boolean;
                        description
                          "Results suspect as more than 10 seconds time
    drift detected";
                      }
    
                      leaf suspect-memory-allocation-failed {
                        type boolean;
                        description
                          "Results suspect due to a memory allocation
    failure";
                      }
    
                      leaf suspect-cleared-mid-bucket {
                        type boolean;
                        description
                          "Results suspect as bucket was cleared mid-way
    through being filled";
                      }
    
                      leaf suspect-probe-restarted {
                        type boolean;
                        description
                          "Results suspect as probe restarted mid-way
    through the bucket";
                      }
    
                      leaf suspect-management-latency {
                        type boolean;
                        description
                          "Results suspect as processing of results has
    been delayed";
                      }
    
                      leaf suspect-multiple-buckets {
                        type boolean;
                        description
                          "Results suspect as the probe has been configured
    across multiple buckets";
                      }
    
                      leaf suspect-misordering {
                        type boolean;
                        description
                          "Results suspect as misordering has been detected
    , affecting results";
                      }
    
                      leaf suspect-flr-low-packet-count {
                        type boolean;
                        description
                          "Results suspect as FLR calculated based on a low
    packet count";
                      }
    
                      leaf premature-reason {
                        type uint32;
                        description
                          "If the probe ended prematurely, the error that
    caused a probe to end";
                      }
    
                      leaf premature-reason-string {
                        type string;
                        description
                          "Description of the error code that caused the
    probe to end prematurely. For informational
    purposes only";
                      }
                    }  // list bucket
                  }  // list operation-metric
                }  // list statistics-current
              }  // container statistics-currents
            }  // container ethernet
          }  // container protocols
        }  // container sla
    
        container sla-nodes {
          config false;
          description
            "SLA Node table for node-specific operational data";
          list node {
            key "node";
            description
              "Node-specific data for a particular node";
            container protocols {
              description
                "Table of all SLA protocols";
              container ethernet {
                description
                  "The Ethernet SLA protocol";
                container summary {
                  description
                    "SLA summary configured data";
                  leaf packets-per-second {
                    type uint32;
                    description
                      "Average packets sent per second across all
    operations";
                  }
    
                  list packet-type {
                    description
                      "Summary of operations information";
                    leaf packet-name {
                      type string;
                      description
                        "The name of the packet type";
                    }
    
                    leaf operation-count {
                      type uint32;
                      description
                        "Number of operations";
                    }
    
                    leaf memory-usage {
                      type uint64;
                      description
                        "Total memory usage";
                    }
                  }  // list packet-type
                }  // container summary
    
                container on-demand-summary {
                  description
                    "SLA summary on-demand data";
                  leaf packets-per-second {
                    type uint32;
                    description
                      "Average packets sent per second across all
    operations";
                  }
    
                  list packet-type {
                    description
                      "Summary of operations information";
                    leaf packet-name {
                      type string;
                      description
                        "The name of the packet type";
                    }
    
                    leaf operation-count {
                      type uint32;
                      description
                        "Number of operations";
                    }
    
                    leaf memory-usage {
                      type uint64;
                      description
                        "Total memory usage";
                    }
                  }  // list packet-type
                }  // container on-demand-summary
              }  // container ethernet
            }  // container protocols
    
            leaf node {
              type xr:Node-id;
              description "Node";
            }
          }  // list node
        }  // container sla-nodes
      }  // module Cisco-IOS-XR-infra-sla-oper
    

© 2023 YumaWorks, Inc. All rights reserved.