This module contains a collection of YANG definitions for performance measurement operational data. Copyright (c) 2019-2020 by C...
Version: 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.