Cisco-IOS-XE-perf-measure-oper

This module contains a collection of YANG definitions for performance measurement operational data. Copyright (c) 2019-2020 by C...

  • Version: 2020-07-01

    Cisco-IOS-XE-perf-measure-oper@2020-07-01


    
      module Cisco-IOS-XE-perf-measure-oper {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XE-perf-measure-oper";
    
        prefix perf-measure-ios-xe-oper;
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import cisco-semver {
          prefix cisco-semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
    
         Postal: 170 W Tasman Drive
         San Jose, CA 95134
    
         Tel: +1 1800 553-NETS
    
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for performance measurement operational data.
         Copyright (c) 2019-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-07-01" {
          description "Initial revision";
          reference
            "1.0.0";
    
        }
    
        cisco-semver:module-version "1.0.0";
    
        typedef pm-advert-reason {
          type enumeration {
            enum "none" {
              value 0;
              description "No advertise reason";
            }
            enum "per-threshold-avg" {
              value 1;
              description
                "Periodic average threshold crossed";
            }
            enum "per-threshold-min" {
              value 2;
              description
                "Periodic minimum threshold crossed";
            }
            enum "per-threshold-max" {
              value 3;
              description
                "Periodic maximum threshold crossed";
            }
            enum "per-threshold-var" {
              value 4;
              description
                "Periodic variance threshold crossed";
            }
            enum "accel-threshold-avg" {
              value 5;
              description
                "Accelerated average threshold crossed";
            }
            enum "accel-threshold-min" {
              value 6;
              description
                "Accelerated minimum threshold crossed";
            }
            enum "accel-threshold-max" {
              value 7;
              description
                "Accelerated maximum threshold crossed";
            }
            enum "accel-upper-bound-avg" {
              value 8;
              description
                "Accelerated average upper bound crossed";
            }
            enum "accel-upper-bound-min" {
              value 9;
              description
                "Accelerated minimum upper bound crossed";
            }
            enum "accel-upper-bound-max" {
              value 10;
              description
                "Accelerated maximum upper bound crossed";
            }
            enum "enabled" {
              value 11;
              description
                "Advertised reason enabled";
            }
            enum "disabled" {
              value 12;
              description
                "Advertised reason disabled";
            }
            enum "scb-unconfig" {
              value 13;
              description "Session unconfigured";
            }
            enum "clear-cli" {
              value 14;
              description
                "Clear command executed";
            }
            enum "adv-delay-cfg" {
              value 15;
              description
                "Advertise delay configured";
            }
            enum "adv-delay-uncfg" {
              value 16;
              description
                "Advertise delay unconfigured";
            }
            enum "control-code-error" {
              value 17;
              description "Control code error";
            }
            enum "per-first" {
              value 18;
              description
                "First periodic advertisement";
            }
            enum "accel-first" {
              value 19;
              description
                "First accelerated advertisement";
            }
            enum "adv-delay-sync" {
              value 20;
              description
                "Advertise delay synchronization to standby router";
            }
            enum "link-down" {
              value 21;
              description "Link down";
            }
          }
          description
            "Advertisement reason enumeration";
        }
    
        typedef pm-xtc-srpolicy-origin {
          type enumeration {
            enum "configured" {
              value 0;
              description
                "Policy origin is configured";
            }
            enum "bgp" {
              value 1;
              description "Policy origin is BGP";
            }
            enum "bgp-odn" {
              value 2;
              description
                "Policy origin is BGP On demand next hop";
            }
            enum "pce" {
              value 3;
              description "Policy origin is PCE";
            }
            enum "invalid" {
              value 4;
              description
                "Policy origin is INVALID";
            }
          }
          description
            "SR policy origin enumeration";
        }
    
        grouping metric {
          description "Computed statistics";
          leaf avg {
            type uint32;
            description "Average value";
          }
    
          leaf min {
            type uint32;
            description "Minimum value";
          }
    
          leaf max {
            type uint32;
            description "Maximum value";
          }
    
          leaf var {
            type uint32;
            description "Variance value";
          }
        }  // grouping metric
    
        grouping computed-probe {
          description
            "Computed interface probe values";
          container values {
            description "Computed metric";
            uses perf-measure-ios-xe-oper:metric;
          }  // container values
    
          leaf start-timestamp {
            type yang:date-and-time;
            description "Start timestamp";
          }
    
          leaf packets-sent {
            type uint32;
            description "Packets sent";
          }
    
          leaf packets-received {
            type uint32;
            description "Packets received";
          }
        }  // grouping computed-probe
    
        grouping computed-aggregation {
          description
            "Computed interface aggregated values";
          container values {
            description "Metric values";
            uses perf-measure-ios-xe-oper:metric;
          }  // container values
    
          leaf timestamp {
            type yang:date-and-time;
            description
              "Time of aggregation of probes";
          }
        }  // grouping computed-aggregation
    
        grouping computed-advertisement {
          description
            "Computed interface advertisement";
          container values {
            description "Metric values";
            uses perf-measure-ios-xe-oper:metric;
          }  // container values
    
          leaf timestamp {
            type yang:date-and-time;
            description "Time of advertisement";
          }
    
          leaf advertised-reason {
            type pm-advert-reason;
            description
              "Reason of advertisement";
          }
        }  // grouping computed-advertisement
    
        grouping pm-interface-delay-container {
          description
            "Interface delay container";
          leaf if-name {
            type string;
            description "Interface name";
          }
    
          leaf probe-is-valid {
            type empty;
            description "Probe values are valid";
          }
    
          leaf aggr-is-valid {
            type empty;
            description
              "Aggregation values are valid";
          }
    
          leaf adv-is-valid {
            type empty;
            description
              "Advertisement values are valid";
          }
    
          container last-probe {
            when 'boolean(../probe-is-valid)';
            description "Last probe data";
            uses perf-measure-ios-xe-oper:computed-probe;
          }  // container last-probe
    
          container last-aggr {
            when 'boolean(../aggr-is-valid)';
            description "Last aggregation data";
            uses perf-measure-ios-xe-oper:computed-aggregation;
          }  // container last-aggr
    
          container last-adv {
            when 'boolean(../adv-is-valid)';
            description
              "Last advertisement data";
            uses perf-measure-ios-xe-oper:computed-advertisement;
          }  // container last-adv
    
          list probe-history {
            when 'boolean(../probe-is-valid)';
            description "Probe history data";
            uses perf-measure-ios-xe-oper:computed-probe;
          }  // list probe-history
    
          list aggr-history {
            when 'boolean(../aggr-is-valid)';
            description
              "Aggregation history data";
            uses perf-measure-ios-xe-oper:computed-aggregation;
          }  // list aggr-history
    
          list adv-history {
            when 'boolean(../adv-is-valid)';
            description
              "Advertisement history data";
            uses perf-measure-ios-xe-oper:computed-advertisement;
          }  // list adv-history
        }  // grouping pm-interface-delay-container
    
        grouping atomic-path-id {
          description "Atomic path credentials";
          leaf session-id {
            type uint64;
            description "Session ID";
          }
    
          leaf-list hop-address {
            type inet:ip-address;
            ordered-by user;
            description
              "List of all hop IP addresses the atomic path takes";
          }
    
          leaf-list label {
            type uint64;
            ordered-by user;
            description "List of label";
          }
    
          leaf out-if {
            type string;
            description "Outgoing interface";
          }
    
          leaf next-hop {
            type inet:ip-address;
            description "IP address of next hop";
          }
    
          leaf dest {
            type inet:ip-address;
            description
              "IP address of destination node";
          }
        }  // grouping atomic-path-id
    
        grouping candidate-path-id {
          description
            "Candidate path credentials";
          leaf pref {
            type uint64;
            description "Policy preference";
          }
    
          leaf origin {
            type pm-xtc-srpolicy-origin;
            description "Policy origin";
          }
    
          leaf discr {
            type uint64;
            description "Policy discriminator";
          }
        }  // grouping candidate-path-id
    
        grouping atomic-path-probe {
          description
            "Atomic path structure for probe";
          container id {
            description "Atomic path identifier";
            uses perf-measure-ios-xe-oper:atomic-path-id;
          }  // container id
    
          list stat {
            description "Atomic path statistics";
            uses perf-measure-ios-xe-oper:computed-probe;
          }  // list stat
        }  // grouping atomic-path-probe
    
        grouping segment-list-probe {
          description
            "Segment list structure for probe";
          leaf sl-name {
            type string;
            description
              "Name of probe segment list";
          }
    
          list stat {
            description
              "Probe segment list statistics";
            uses perf-measure-ios-xe-oper:computed-probe;
          }  // list stat
    
          list atomic-path {
            description
              "List of probe atomic paths under segment list";
            uses perf-measure-ios-xe-oper:atomic-path-probe;
          }  // list atomic-path
        }  // grouping segment-list-probe
    
        grouping candidate-path-probe {
          description
            "Candidate path structure for probe";
          container id {
            description
              "Probe candidate path identifier";
            uses perf-measure-ios-xe-oper:candidate-path-id;
          }  // container id
    
          list stat {
            description
              "Probe candidate path statistics";
            uses perf-measure-ios-xe-oper:computed-probe;
          }  // list stat
    
          list seg-list {
            description "Probe segment list";
            uses perf-measure-ios-xe-oper:segment-list-probe;
          }  // list seg-list
        }  // grouping candidate-path-probe
    
        grouping computed-srpol-probe {
          description
            "Structure for segment routing policy probe";
          list candidate-path {
            description
              "List of probe candidate paths";
            uses perf-measure-ios-xe-oper:candidate-path-probe;
          }  // list candidate-path
        }  // grouping computed-srpol-probe
    
        grouping atomic-path-aggregation {
          description
            "Atomic path structure for aggregation";
          container id {
            description
              "Aggregation atomic path identifier";
            uses perf-measure-ios-xe-oper:atomic-path-id;
          }  // container id
    
          list stat {
            description
              "Aggregation atomic path statistics";
            uses perf-measure-ios-xe-oper:computed-aggregation;
          }  // list stat
        }  // grouping atomic-path-aggregation
    
        grouping segment-list-aggregation {
          description
            "Segment list structure for aggregation";
          leaf sl-name {
            type string;
            description
              "Aggregation segment list name";
          }
    
          list stat {
            description
              "Aggregation segment list statistics";
            uses perf-measure-ios-xe-oper:computed-aggregation;
          }  // list stat
    
          list atomic-path {
            description
              "List of aggregation atomic paths";
            uses perf-measure-ios-xe-oper:atomic-path-aggregation;
          }  // list atomic-path
        }  // grouping segment-list-aggregation
    
        grouping candidate-path-aggregation {
          description
            "Candidate path structure for aggregation";
          container id {
            description
              "Aggregation candidate path identifier";
            uses perf-measure-ios-xe-oper:candidate-path-id;
          }  // container id
    
          list stat {
            description
              "Aggregation candidate path statistics";
            uses perf-measure-ios-xe-oper:computed-aggregation;
          }  // list stat
    
          list seg-list {
            description
              "Aggregation segment list";
            uses perf-measure-ios-xe-oper:segment-list-aggregation;
          }  // list seg-list
        }  // grouping candidate-path-aggregation
    
        grouping computed-srpol-aggregation {
          description
            "Segment routing policy aggregation";
          list candidate-path {
            description
              "Aggregation candidate paths";
            uses perf-measure-ios-xe-oper:candidate-path-aggregation;
          }  // list candidate-path
        }  // grouping computed-srpol-aggregation
    
        grouping atomic-path-advertisement {
          description
            "Atomic path structure for advertisement";
          container id {
            description
              "Advertisement atomic path identifier";
            uses perf-measure-ios-xe-oper:atomic-path-id;
          }  // container id
    
          list stat {
            description
              "Advertisement atomic path statistics";
            uses perf-measure-ios-xe-oper:computed-advertisement;
          }  // list stat
        }  // grouping atomic-path-advertisement
    
        grouping segment-list-advertisement {
          description
            "Segment list advertisement for advertisement";
          leaf sl-name {
            type string;
            description
              "Advertisement segment list name";
          }
    
          list stat {
            description
              "Advertisement segment list statistics";
            uses perf-measure-ios-xe-oper:computed-advertisement;
          }  // list stat
    
          list atomic-path {
            description
              "Advertisement atomic paths list for advertisement";
            uses perf-measure-ios-xe-oper:atomic-path-advertisement;
          }  // list atomic-path
        }  // grouping segment-list-advertisement
    
        grouping candidate-path-advertisement {
          description
            "Candidate path structure for advertisement";
          container id {
            description
              "Advertisement candidate path identifier";
            uses perf-measure-ios-xe-oper:candidate-path-id;
          }  // container id
    
          list stat {
            description
              "Advertisement candidate path statistics";
            uses perf-measure-ios-xe-oper:computed-advertisement;
          }  // list stat
    
          list seg-list {
            description
              "Advertisement segment list";
            uses perf-measure-ios-xe-oper:segment-list-advertisement;
          }  // list seg-list
        }  // grouping candidate-path-advertisement
    
        grouping computed-srpol-advertisement {
          description
            "Segment routing policy advertisement";
          list candidate-path {
            description
              "Advertisement candidate paths";
            uses perf-measure-ios-xe-oper:candidate-path-advertisement;
          }  // list candidate-path
        }  // grouping computed-srpol-advertisement
    
        grouping pm-srpolicy-delay-container {
          description
            "Container for segment routing policy delay data";
          leaf sr-policy-name {
            type string;
            description
              "Segment routing policy name";
          }
    
          leaf probe-is-valid {
            type empty;
            description
              "Policy probe data is available when true";
          }
    
          leaf aggr-is-valid {
            type empty;
            description
              "Policy aggregation data is available when true";
          }
    
          leaf adv-is-valid {
            type empty;
            description
              "Policy advertisement data is available when true";
          }
    
          container last-probe {
            when 'boolean(../probe-is-valid)';
            description
              "Policy last probe values";
            uses perf-measure-ios-xe-oper:computed-srpol-probe;
          }  // container last-probe
    
          container probe-history {
            when 'boolean(../probe-is-valid)';
            description "Policy probe history";
            uses perf-measure-ios-xe-oper:computed-srpol-probe;
          }  // container probe-history
    
          container last-aggr {
            when 'boolean(../aggr-is-valid)';
            description
              "Policy last aggregation";
            uses perf-measure-ios-xe-oper:computed-srpol-aggregation;
          }  // container last-aggr
    
          container aggr-history {
            when 'boolean(../aggr-is-valid)';
            description
              "Policy aggregation history";
            uses perf-measure-ios-xe-oper:computed-srpol-aggregation;
          }  // container aggr-history
    
          container last-adv {
            when 'boolean(../adv-is-valid)';
            description
              "Policy last advertisement";
            uses perf-measure-ios-xe-oper:computed-srpol-advertisement;
          }  // container last-adv
    
          container adv-history {
            when 'boolean(../adv-is-valid)';
            description
              "Policy advertisement history";
            uses perf-measure-ios-xe-oper:computed-srpol-advertisement;
          }  // container adv-history
        }  // grouping pm-srpolicy-delay-container
    
        container performance-measurement {
          config false;
          description
            "Performance measurement operational data";
          list if-delay {
            key "if-name";
            description
              "Interface delay container";
            uses perf-measure-ios-xe-oper:pm-interface-delay-container;
          }  // list if-delay
    
          list sr-policy-delay {
            key "sr-policy-name";
            description
              "Segment routing policy delay container";
            uses perf-measure-ios-xe-oper:pm-srpolicy-delay-container;
          }  // list sr-policy-delay
        }  // container performance-measurement
      }  // module Cisco-IOS-XE-perf-measure-oper
    

© 2023 YumaWorks, Inc. All rights reserved.