This submodule contains a collection of YANG definitions for Cisco IOS-XR asr9k-qos package operational data. Copyright (c) 201...
Version: 2021-04-09
submodule Cisco-IOS-XR-asr9k-qos-oper-sub2 { yang-version 1; belongs-to Cisco-IOS-XR-asr9k-qos-oper { prefix Cisco-IOS-XR-asr9k-qos-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 submodule contains a collection of YANG definitions for Cisco IOS-XR asr9k-qos package operational data. Copyright (c) 2013-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-04-09" { description "pi changes to support wred drop probability"; } revision "2020-12-23" { description "Introduced an CLI to show qos performance stats"; } revision "2019-09-30" { description "YANG support for PWHE interface"; } revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2015-11-09" { description "IOS XR 6.0 revision."; } semver:module-version "1.0.0"; typedef Shape-profiletype-v2 { type enumeration { enum "invalid" { value 0; description "Shape Profile Type Invalid"; } enum "always" { value 1; description "Shape Profile Type Always"; } enum "never" { value 2; description "Shape Profile Type Never"; } enum "explicit" { value 3; description "Shape Profile Type Explicit"; } enum "scale" { value 4; description "Shape Profile Type Scale"; } enum "grid" { value 5; description "Shape Profile Type Grid"; } } description "SHAPE profile type"; } typedef Action { type enumeration { enum "police-transmit" { value 0; description "Police action transmit"; } enum "police-set-transmit" { value 1; description "Police action set transmit"; } enum "police-drop" { value 2; description "Police action drop"; } enum "police-unknown" { value 3; description "Police action unknown"; } } description "Action type"; } typedef Action-opcode { type enumeration { enum "precedence" { value 0; description "Precedence"; } enum "dscp" { value 1; description "DSCP"; } enum "discard-class" { value 2; description "Discard class"; } enum "qos-group" { value 3; description "QoS group"; } enum "cos-inner" { value 4; description "COS inner"; } enum "cos" { value 5; description "COS"; } enum "exp-top" { value 6; description "EXP top"; } enum "exp-imp" { value 7; description "EXP IMP"; } enum "tunnel-precedence" { value 8; description "Tunnel precedence"; } enum "tunnel-dscp" { value 9; description "Tunnel DSCP"; } enum "itag-dei" { value 10; description "ITAG DEI"; } enum "itag-cos" { value 11; description "ITAG COS"; } enum "cos-imposition" { value 12; description "COS imposition"; } enum "dei-imposition" { value 13; description "DEI imposition"; } enum "dei" { value 14; description "DEI"; } enum "no-marking" { value 15; description "No marking"; } } description "Action opcode"; } typedef Wred { type enumeration { enum "wred-cos" { value 0; description "WRED based on COS"; } enum "wred-dscp" { value 1; description "WRED based on DSCP"; } enum "wred-precedence" { value 2; description "WRED based on Precedence"; } enum "wred-discard-class" { value 3; description "WRED based on discard class"; } enum "wred-mpls-exp" { value 4; description "WRED based on MPLS EXP"; } enum "red-with-user-min-max" { value 5; description "RED with user defined min and max"; } enum "red-with-default-min-max" { value 6; description "RED with default min and max"; } enum "wred-dei" { value 7; description "WRED DEI"; } } description "WRED type"; } typedef Tb-algorithm { type enumeration { enum "inactive" { value 0; description "Inactive, configured but disabled"; } enum "single" { value 1; description "Single token bucket"; } enum "single-rate-tcm" { value 2; description "Single rate three color marker"; } enum "two-rate-tcm" { value 3; description "Two rate three color marker"; } enum "mef-tcm" { value 4; description "Allows coupling between CIR and PIR tb's"; } enum "dummy" { value 5; description "Internal dummy token bucket for coupled-policer child"; } } description "Tokenbucket type"; } typedef Queue { type enumeration { enum "port-default" { value 0; description "Port default queue"; } enum "class-default" { value 1; description "The default queue in this policy"; } enum "priority1-queue" { value 2; description "Create the priority 1 queue in the level which will be shared by other p1 classes"; } enum "priority2-queue" { value 3; description "Create the priority 2 queue in the level, which will be shared by other p2 classes"; } enum "priority3-queue" { value 4; description "Create the priority 3 queue in the level, which will be shared by other p3 classes"; } enum "priority4-queue" { value 5; description "Create the priority 4 queue in the level, which will be shared by other p4 classes"; } enum "priority5-queue" { value 6; description "Create the priority 5 queue in the level, which will be shared by other p5 classes"; } enum "priority6-queue" { value 7; description "Create the priority 6 queue in the level, which will be shared by other p6 classes"; } enum "priority7-queue" { value 8; description "Create the priority 7 queue in the level, which will be shared by other p7 classes"; } enum "first-p1-class-name" { value 9; description "Current level's priority 1 queue"; } enum "first-p2-class-name" { value 10; description "Current level's priority 2 queue"; } enum "first-p3-class-name" { value 11; description "Current level's priority 3 queue"; } enum "first-p4-class-name" { value 12; description "Current level's priority 4 queue"; } enum "first-p5-class-name" { value 13; description "Current level's priority 5 queue"; } enum "first-p6-class-name" { value 14; description "Current level's priority 6 queue"; } enum "first-p7-class-name" { value 15; description "Current level's priority 7 queue"; } enum "port-priority1" { value 16; description "Port priority 1 queue"; } enum "port-priority2" { value 17; description "Port priority 2 queue"; } enum "port-priority3" { value 18; description "Port priority 3 queue"; } enum "port-priority4" { value 19; description "Port priority 4 queue"; } enum "port-priority5" { value 20; description "Port priority 5 queue"; } enum "port-priority6" { value 21; description "Port priority 6 queue"; } enum "port-priority7" { value 22; description "Port priority 7 queue"; } enum "new" { value 23; description "Create a new queue for this class"; } enum "parent-class" { value 24; description "Under parent queue"; } enum "priority1" { value 25; description "Priority 1"; } enum "priority2" { value 26; description "Priority 2"; } enum "priority3" { value 27; description "Priority 3"; } enum "priority4" { value 28; description "Priority 4"; } enum "priority5" { value 29; description "Priority 5"; } enum "priority6" { value 30; description "Priority 6"; } enum "priority7" { value 31; description "Priority 7"; } enum "priority-ignored-normal" { value 32; description "Priority ignored level"; } enum "normal-priority" { value 33; description "Normal priority"; } enum "class-unknown" { value 34; description "Class unknown"; } enum "unknown-priority" { value 35; description "Unknown priority"; } } description "Queue type"; } typedef Qos-unit { type enumeration { enum "invalid" { value 0; description "Invalid type"; } enum "bytes" { value 1; description "Bytes"; } enum "kilobytes" { value 2; description "Kilobytes"; } enum "megabytes" { value 3; description "Megabytes"; } enum "gigabytes" { value 4; description "Gigabytes"; } enum "bps" { value 5; description "Bits per second"; } enum "kbps" { value 6; description "Kilo bits per second"; } enum "mbps" { value 7; description "Mega bits per second"; } enum "gbps" { value 8; description "Giga bits per second"; } enum "cells-per-second" { value 9; description "Cells per second"; } enum "packets-per-second" { value 10; description "Packets per second"; } enum "microsecond" { value 11; description "Microsecond"; } enum "millisecond" { value 12; description "Millisecond"; } enum "packets" { value 13; description "Number of packets"; } enum "cells" { value 14; description "Number of cells"; } enum "percentage" { value 15; description "Percentage"; } enum "ratio" { value 16; description "Ratio"; } } description "QoS parameter unit"; } grouping QOS-SHOW-EA-PROFILE-ST { description "QoS profile structure"; leaf total-time { type uint64; description "Total Time"; } leaf total-count { type uint64; description "Total count"; } leaf time-highest { type string { length "0..11"; } description "Time Highest"; } leaf time-lowest { type string { length "0..11"; } description "Time Lowest"; } leaf total-events { type uint64; description "Total Events"; } } // grouping QOS-SHOW-EA-PROFILE-ST grouping QOS-EA-PERF-STATS { description "QoS perf stats"; container profile-data { description "Profiling Data"; uses QOS-SHOW-EA-PROFILE-ST; } // container profile-data } // grouping QOS-EA-PERF-STATS grouping WRED-CURVE-PARAMS-V2 { description "Typhoon WRED curve parameters"; container min-threshold { description "Minimum threshold"; uses QOS-PARAM; } // container min-threshold container min-threshold-user-config { description "Minimum threshold WRED context"; uses QOS-PARAM; } // container min-threshold-user-config container max-threshold { description "Maximum threshold"; uses QOS-PARAM; } // container max-threshold container max-threshold-user-config { description "Maximum threshold WRED context"; uses QOS-PARAM; } // container max-threshold-user-config leaf absolute-index { type uint16; description "Absolute Index"; } leaf template-id { type uint16; description "Template ID"; } leaf curve-id { type uint16; description "Curve ID"; } leaf match { type string; description "WRED match if precedence start value equals to end value Format: <start-value> , else range Format: <start-value> <end-value>"; } leaf exp-match { type string; description "WRED exp match if EXP start value equals to end value Format: <start-value> , else range Format: <start-value> <end-value>"; } } // grouping WRED-CURVE-PARAMS-V2 grouping WRED-PARAMS-V2 { description "Typhoon WRED parameters"; leaf type { type Wred; description "WRED type"; } leaf curve-xr { type uint16; description "Number of curves"; } list curve { max-elements 64; description "Curve details"; uses WRED-CURVE-PARAMS-V2; } // list curve } // grouping WRED-PARAMS-V2 grouping PIR-SHAPE-PARAMS-V2 { description "PIR Shape Params"; container pir { description "PIR in kbps"; uses QOS-PARAM; } // container pir container pbs { description "PBS in bytes"; uses QOS-PARAM; } // container pbs leaf chunk-id { type uint32; description "Shape Chunk ID"; } leaf profile-id { type uint16; description "Shape profile ID"; } leaf scale-factor { type uint16; description "Scale Factor"; } } // grouping PIR-SHAPE-PARAMS-V2 grouping CIR-SHAPE-PARAMS-V2 { description "CIR Shape Params"; container cir { description "CIR in kbps"; uses QOS-PARAM; } // container cir container config-bandwidth { description "Config bandwidth"; uses SHAPE-USER-CFG-BW; } // container config-bandwidth container cbs { description "CBS in bytes"; uses QOS-PARAM; } // container cbs leaf chunk-id { type uint32; description "Shape Chunk ID"; } leaf profile-id { type uint16; description "Shape profile ID"; } leaf scale-factor { type uint16; description "Scale Factor"; } } // grouping CIR-SHAPE-PARAMS-V2 grouping SHAPER-PARAMS-V2 { description "Shaper parameters"; container cir-shape { description "CIR shaper params"; uses CIR-SHAPE-PARAMS-V2; } // container cir-shape container pir-shape { description "PIR shaper params"; uses PIR-SHAPE-PARAMS-V2; } // container pir-shape leaf cir-shape-type { type Shape-profiletype-v2; description "CIR Shaper type"; } leaf pir-shape-type { type Shape-profiletype-v2; description "PIR Shaper type"; } } // grouping SHAPER-PARAMS-V2 grouping QUEUE-LIMIT-PARAMS-V2 { description "Queue limit parameters"; container queue-limit { description "Queue limit in kbytes"; uses QOS-PARAM; } // container queue-limit container config-queue-limit { description "Config queue limit"; uses QOS-PARAM; } // container config-queue-limit leaf absolute-index { type uint16; description "Absolute Index"; } leaf template-id { type uint16; description "Template ID"; } leaf curve-id { type uint16; description "Curve ID"; } } // grouping QUEUE-LIMIT-PARAMS-V2 grouping QOS-SHOW-EA-ST-V2 { description "QoS policy"; list qos-show-ea-st-v2 { description "qos show ea st v2"; container queue { description "Queue parameters"; uses QUEUE-PARAMS; } // container queue container queue-limit-parameters { description "Queue limit parameters"; uses QUEUE-LIMIT-PARAMS-V2; } // container queue-limit-parameters container shape { description "Shape parameters"; uses SHAPER-PARAMS-V2; } // container shape container police { description "Police parameters"; uses POLICE-PARAMS; } // container police container wfq { description "WFQ parameters"; uses WFQ-PARAMS; } // container wfq container wred { description "WRED parameters"; uses WRED-PARAMS-V2; } // container wred container mark { description "Mark parameters"; uses CLASS-MARK-ACTIONS; } // container mark leaf class-level { type uint8; description "Class level"; } leaf class-name { type string { length "0..65"; } description "Class name"; } leaf policy-name { type string { length "0..65"; } description "Policy name"; } leaf parent-policy-name { type string { length "0..65"; } description "Parent policy name"; } leaf parent-class-name { type string { length "0..65"; } description "Parent class name"; } } // list qos-show-ea-st-v2 } // grouping QOS-SHOW-EA-ST-V2 grouping MARK-ACTION { description "Marking parameters"; leaf mark-value { type uint8; description "Mark value"; } leaf action-opcode { type Action-opcode; description "Action opcode"; } } // grouping MARK-ACTION grouping MARK-ACTION-PER-CATEGORY { description "Marking action"; leaf action-type { type Action; description "Action type"; } list mark-detail { max-elements 2; description "Mark value"; uses MARK-ACTION; } // list mark-detail } // grouping MARK-ACTION-PER-CATEGORY grouping CLASS-MARK-ACTIONS { description "Mark parameters"; container child-mark { description "Child mark only"; uses MARK-ACTION-PER-CATEGORY; } // container child-mark container police-conform { description "Child police conform mark"; uses MARK-ACTION-PER-CATEGORY; } // container police-conform container police-exceed { description "Child police exceed mark"; uses MARK-ACTION-PER-CATEGORY; } // container police-exceed container police-violate { description "Child police violate mark"; uses MARK-ACTION-PER-CATEGORY; } // container police-violate container parent-mark { description "Parent mark only"; uses MARK-ACTION-PER-CATEGORY; } // container parent-mark container parent-police-conform { description "Parent police conform mark"; uses MARK-ACTION-PER-CATEGORY; } // container parent-police-conform container parent-police-exceed { description "Parent police exceed mark"; uses MARK-ACTION-PER-CATEGORY; } // container parent-police-exceed container parent-police-violate { description "Parent police violate mark"; uses MARK-ACTION-PER-CATEGORY; } // container parent-police-violate } // grouping CLASS-MARK-ACTIONS grouping WRED-CURVE-PARAMS-V1 { description "Trident WRED curve parameters"; container min-threshold { description "Minimum threshold"; uses QOS-PARAM; } // container min-threshold container min-threshold-user-config { description "Minimum threshold WRED context"; uses QOS-PARAM; } // container min-threshold-user-config container max-threshold { description "Maximum threshold"; uses QOS-PARAM; } // container max-threshold container max-threshold-user-config { description "Maximum threshold WRED context"; uses QOS-PARAM; } // container max-threshold-user-config leaf match { type string; description "WRED precedence match if precedence start value equals to end value Format: <start-value> , else range Format: <start-value> <end-value>"; } } // grouping WRED-CURVE-PARAMS-V1 grouping WRED-PARAMS-V1 { description "Trident WRED parameters"; leaf type { type Wred; description "WRED type"; } leaf curve-xr { type uint16; description "Number of curves"; } leaf table-id { type uint8; description "Table ID"; } leaf profile-id { type uint32; description "Profile ID"; } leaf scaling-profile-id { type uint32; description "Scaling profile ID"; } list curve { max-elements 64; description "Curve details"; uses WRED-CURVE-PARAMS-V1; } // list curve } // grouping WRED-PARAMS-V1 grouping WFQ-PARAMS { description "WFQ parameters"; container parent-bandwidth { description "Parent bandwidth"; uses QOS-PARAM; } // container parent-bandwidth container bandwidth { description "CFG Bandwidth"; uses QOS-PARAM; } // container bandwidth leaf profile-id { type uint32; description "WFQ profile"; } leaf committed-weight { type uint32; description "Committed weight"; } leaf excess-weight { type uint16; description "Excess weight"; } leaf excess-ratio { type uint16; description "Parent Excess ratio"; } leaf chunk-id { type uint32; description "Chunk ID"; } leaf level { type uint8; description "Level"; } } // grouping WFQ-PARAMS grouping CFG-POLICE { description "Config police parameters"; container average-rate { description "Average rate"; uses QOS-PARAM; } // container average-rate container peak-rate { description "Peak rate"; uses QOS-PARAM; } // container peak-rate container conform-burst { description "Conform burst"; uses QOS-PARAM; } // container conform-burst container exceed-burst { description "Exceed burst"; uses QOS-PARAM; } // container exceed-burst } // grouping CFG-POLICE grouping POLICE-PARAMS { description "Police parameters"; container cir { description "CIR"; uses QOS-PARAM; } // container cir container cbs { description "CBS"; uses QOS-PARAM; } // container cbs container pir { description "PIR"; uses QOS-PARAM; } // container pir container pbs { description "PBS"; uses QOS-PARAM; } // container pbs container police-config-parameters { description "Police config parameters"; uses CFG-POLICE; } // container police-config-parameters leaf policer-type { type Tb-algorithm; description "Policer type"; } leaf profile-id { type uint32; description "Police profile ID"; } } // grouping POLICE-PARAMS grouping SHAPE-USER-CFG-BW { description "Config bandwidth parameters"; container minimum-rate { description "Minimum bandwidth rate"; uses QOS-PARAM; } // container minimum-rate } // grouping SHAPE-USER-CFG-BW grouping SHAPER-PARAMS-V1 { description "Shaper parameters"; container cir { description "CIR in kbps"; uses QOS-PARAM; } // container cir container config-bandwidth { description "Config bandwidth"; uses SHAPE-USER-CFG-BW; } // container config-bandwidth container cbs { description "CBS in bytes"; uses QOS-PARAM; } // container cbs container pir { description "PIR in kbps"; uses QOS-PARAM; } // container pir container pbs { description "PBS in bytes"; uses QOS-PARAM; } // container pbs leaf profile-id { type uint16; description "Shape profile ID"; } } // grouping SHAPER-PARAMS-V1 grouping QUEUE-LIMIT-PARAMS-V1 { description "Queue limit parameters"; container queue-limit { description "Queue limit in kbytes"; uses QOS-PARAM; } // container queue-limit container config-queue-limit { description "Config queue limit"; uses QOS-PARAM; } // container config-queue-limit leaf profile-id { type uint32; description "Profile ID"; } leaf scaling-profile-id { type uint32; description "Scaling profile ID"; } } // grouping QUEUE-LIMIT-PARAMS-V1 grouping QUEUE-PARAMS { description "Queue parameters"; leaf queue-id { type uint32; description "Queue ID"; } leaf queue-type { type Queue; description "Queue type"; } leaf class-name { type string { length "0..65"; } description "Class name"; } } // grouping QUEUE-PARAMS grouping QOS-SHOW-EA-ST-V1 { description "QoS policy"; list qos-show-ea-st-v1 { description "qos show ea st v1"; container queue { description "Queue parameters"; uses QUEUE-PARAMS; } // container queue container queue-limit-parameters { description "Queue limit parameters"; uses QUEUE-LIMIT-PARAMS-V1; } // container queue-limit-parameters container shape { description "Shape parameters"; uses SHAPER-PARAMS-V1; } // container shape container police { description "Police parameters"; uses POLICE-PARAMS; } // container police container wfq { description "WFQ parameters"; uses WFQ-PARAMS; } // container wfq container wred { description "WRED parameters"; uses WRED-PARAMS-V1; } // container wred container mark { description "Mark parameters"; uses CLASS-MARK-ACTIONS; } // container mark leaf class-level { type uint8; description "Class level"; } leaf class-name { type string { length "0..65"; } description "Class name"; } leaf policy-name { type string { length "0..65"; } description "Policy name"; } leaf parent-policy-name { type string { length "0..65"; } description "Parent policy name"; } leaf parent-class-name { type string { length "0..65"; } description "Parent class name"; } } // list qos-show-ea-st-v1 } // grouping QOS-SHOW-EA-ST-V1 grouping QOS-PARAM { description "Config details"; leaf value { type uint32; description "Config value"; } leaf unit { type Qos-unit; description "Config unit"; } } // grouping QOS-PARAM grouping INTF-CONFIG-PROGRAMED { description "Interface configured and programmed parameters"; container port-config-bandwidth { description "Bandwidth due to port speed change"; uses QOS-PARAM; } // container port-config-bandwidth container ancp-config-bandwidth { description "Bandwidth obtain from IM"; uses QOS-PARAM; } // container ancp-config-bandwidth container ancp-programmed-bandwidth { description "ANCP bandwidth that was programmed"; uses QOS-PARAM; } // container ancp-programmed-bandwidth container port-shaper-rate { description "Bandwidth that was programmed"; uses QOS-PARAM; } // container port-shaper-rate } // grouping INTF-CONFIG-PROGRAMED grouping QOS-SHOW-EA-HEADER-ST { description "QoS policy header"; container interface-parameters { description "Interface config and programmed parameters"; uses INTF-CONFIG-PROGRAMED; } // container interface-parameters container programmed-bandwidth { description "Bandwidth that was programmed"; uses QOS-PARAM; } // container programmed-bandwidth leaf classes { type uint16; description "Number of classes"; } leaf policy-name { type string { length "0..65"; } description "Policy name"; } } // grouping QOS-SHOW-EA-HEADER-ST grouping QOS-SHOW-EA-POLICY { description "QoS policy"; container header { description "QoS policy header"; uses QOS-SHOW-EA-HEADER-ST; } // container header container policy { description "Trident QoS policy details"; uses QOS-SHOW-EA-ST-V1; } // container policy container policy-typhoon { description "Typhoon QoS policy details"; uses QOS-SHOW-EA-ST-V2; } // container policy-typhoon } // grouping QOS-SHOW-EA-POLICY grouping QOS-EA-CAPABILITY { description "QoS capability"; leaf max-policy-maps { type uint32; description "Maximum policy maps per system"; } leaf max-policy-hierarchy { type uint32; description "Maximum policy hierarchy"; } leaf max-policy-name-length { type uint32; description "Maximum policy name length"; } leaf max-classes-per-child-policy { type uint32; description "Maximum classes per child policy"; } leaf max-classes-per-policy { type uint32; description "Maximum classes per policy"; } leaf max-classes-per-grand-parent-policy { type uint32; description "Maximum classes per parent policy"; } leaf max-police-actions-per-class { type uint32; description "Maximum police actions per class"; } leaf max-marking-actions-per-class { type uint32; description "Maximum marking action per class"; } leaf max-matches-per-class { type uint32; description "Maximum matches per class"; } leaf max-classmap-name-length { type uint32; description "Maximum classmap name length"; } leaf max-bundle-members { type uint32; description "Maximum bundle members"; } leaf max-instance-name-length { type uint32; description "Maximum instance name length"; } } // grouping QOS-EA-CAPABILITY } // submodule Cisco-IOS-XR-asr9k-qos-oper-sub2
© 2023 YumaWorks, Inc. All rights reserved.