-
Notifications
You must be signed in to change notification settings - Fork 9
/
qos.proto
312 lines (296 loc) · 22.7 KB
/
qos.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
// Copyright (c) 2015, Cisco Systems
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its
// contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// This file is autogenerated
//
// The following edits are possible, without affecting the validity of the
// file:
//
// * Fields may be renamed.
// * Fields may be deleted.
// * The unique numbered tag for a field may be changed, provided that
// the ordering of tags for fields within a message is preserved.
// * Message types may be renamed.
// * Message types may be deleted (if all fields that reference them
// have been deleted).
//
// All Cisco message and field extensions must be preserved (except when the
// field itself is being deleted).
syntax = "proto2";
import "cisco.proto";
// policy map statistics
message qos_stats {
option (cisco_msg).schema_path = "RootOper.QOS.Node.PolicyMap.Interface.Input.Statistics";
optional string node_name = 1 [(cisco_field).path_element="RootOper.QOS.Node(NodeName)"];
optional string interface_name = 2 [(cisco_field).path_element="RootOper.QOS.Node.PolicyMap.Interface(InterfaceName)"];
optional string policy_name = 50 [(cisco_field).name="PolicyName"];
optional string subscriber_group = 51 [(cisco_field).name="SubscriberGroup"];
optional string state = 52 [(cisco_field).name="State"];
optional string state_description = 53 [(cisco_field).name="StateDescription"];
// array of classes contained in policy
repeated class_stats class_stats = 54 [(cisco_field).name="class_stats"];
// to maintain satellite id
optional uint32 satid = 55 [(cisco_field).name="Satid"];
}
message policy_param_uint32_st_ {
optional uint32 value = 1 [(cisco_field).name="value"];
optional string unit = 2 [(cisco_field).name="unit"];
}
// Counters common to all features
message gen_stats_st {
// Transmitted packets (packets/bytes)
optional uint64 transmit_packets = 1 [(cisco_field).name="TransmitPackets"];
// Transmitted bytes (packets/bytes)
optional uint64 transmit_bytes = 2 [(cisco_field).name="TransmitBytes"];
// Dropped packets (packets/bytes)
optional uint64 total_drop_packets = 3 [(cisco_field).name="TotalDropPackets"];
// Dropped bytes (packets/bytes)
optional uint64 total_drop_bytes = 4 [(cisco_field).name="TotalDropBytes"];
// Total drop rate (packets/bytes)
optional uint32 total_drop_rate = 5 [(cisco_field).name="TotalDropRate"];
// Incoming matched data rate in kbps
optional uint32 match_data_rate = 6 [(cisco_field).name="MatchDataRate"];
// Total transmit rate in kbps
optional uint32 total_transmit_rate = 7 [(cisco_field).name="TotalTransmitRate"];
// Matched pkts before applying policy
optional uint64 pre_policy_matched_packets = 8 [(cisco_field).name="PrePolicyMatchedPackets"];
// Matched bytes before applying policy
optional uint64 pre_policy_matched_bytes = 9 [(cisco_field).name="PrePolicyMatchedBytes"];
}
// Color Aware Policer statistics
message plc_color_class_stats_st {
// Packets with classification result conform and policer result conform
optional uint64 conform_class_conform_packets = 1 [(cisco_field).name="ConformClassConformPackets"];
// Bytes with classification result conform and policer result conform
optional uint64 conform_class_conform_bytes = 2 [(cisco_field).name="ConformClassConformBytes"];
// Conform Class Conform rate in kbps
optional uint32 conform_class_conform_rate = 3 [(cisco_field).name="ConformClassConformRate"];
// Packets with classification result conform and policer result exceed
optional uint64 conform_class_exceed_packets = 4 [(cisco_field).name="ConformClassExceedPackets"];
// Bytes with classification result conform and policer result exceed
optional uint64 conform_class_exceed_bytes = 5 [(cisco_field).name="ConformClassExceedBytes"];
// Conform Class Exceed rate in kbps
optional uint32 conform_class_exceed_rate = 6 [(cisco_field).name="ConformClassExceedRate"];
// Packets with classification result conform and policer result violate
optional uint64 conform_class_violate_packets = 7 [(cisco_field).name="ConformClassViolatePackets"];
// Bytes with classification result conform and policer result violate
optional uint64 conform_class_violate_bytes = 8 [(cisco_field).name="ConformClassViolateBytes"];
// Conform Class Violate rate in kbps
optional uint32 conform_class_violate_rate = 9 [(cisco_field).name="ConformClassViolateRate"];
// Packets with classification result exceed and policer result exceed
optional uint64 exceed_class_exceed_packets = 10 [(cisco_field).name="ExceedClassExceedPackets"];
// Bytes with classification result exceed and policer result exceed
optional uint64 exceed_class_exceed_bytes = 11 [(cisco_field).name="ExceedClassExceedBytes"];
// Exceed Class Exceed rate in kbps
optional uint32 exceed_class_exceed_rate = 12 [(cisco_field).name="ExceedClassExceedRate"];
// Packets with classification result exceed and policer result violate
optional uint64 exceed_class_violate_packets = 13 [(cisco_field).name="ExceedClassViolatePackets"];
// Bytes with classification result exceed and policer result violate
optional uint64 exceed_class_violate_bytes = 14 [(cisco_field).name="ExceedClassViolateBytes"];
// Exceed Class Violate rate in kbps
optional uint32 exceed_class_violate_rate = 15 [(cisco_field).name="ExceedClassViolateRate"];
// Packets with classification result violate and policer result violate
optional uint64 violate_class_violate_packets = 16 [(cisco_field).name="ViolateClassViolatePackets"];
// Bytes with classification result violate and policer result violate
optional uint64 violate_class_violate_bytes = 17 [(cisco_field).name="ViolateClassViolateBytes"];
// Violate Class Violate rate in kbps
optional uint32 violate_class_violate_rate = 18 [(cisco_field).name="ViolateClassViolateRate"];
}
// Policer statistics
message plc_stats_st {
// Police dropped packets
optional uint64 drop_packets = 1 [(cisco_field).name="DropPackets"];
// Police dropped bytes
optional uint64 drop_bytes = 2 [(cisco_field).name="DropBytes"];
// Packets that conform to the policed rate
optional uint64 conform_packets = 3 [(cisco_field).name="ConformPackets"];
// Bytes that conform to the policed rate
optional uint64 conform_bytes = 4 [(cisco_field).name="ConformBytes"];
// Packets that exceed the policed rate
optional uint64 exceed_packets = 5 [(cisco_field).name="ExceedPackets"];
// Bytes that exceed the policed rate
optional uint64 exceed_bytes = 6 [(cisco_field).name="ExceedBytes"];
// Packets violating the policed rate
optional uint64 violate_packets = 7 [(cisco_field).name="ViolatePackets"];
// Bytes that violate the policed rate
optional uint64 violate_bytes = 8 [(cisco_field).name="ViolateBytes"];
// Dropped pkts by the parent policer
optional uint64 parent_drop_packets = 9 [(cisco_field).name="ParentDropPackets"];
// Dropped bytes by the parent policer
optional uint64 parent_drop_bytes = 10 [(cisco_field).name="ParentDropBytes"];
// Conform rate in kbps
optional uint32 conform_rate = 11 [(cisco_field).name="ConformRate"];
// Exceed rate in kbps
optional uint32 exceed_rate = 12 [(cisco_field).name="ExceedRate"];
// Violate rate in kbps
optional uint32 violate_rate = 13 [(cisco_field).name="ViolateRate"];
optional plc_color_class_stats_st color_class_stats = 14 [(cisco_field).name="ColorClassStats"];
}
// CAC statistics
message cac_stats_st {
// CAC dropped packets
optional uint64 drop_packets = 1 [(cisco_field).name="DropPackets"];
// CAC dropped bytes
optional uint64 drop_bytes = 2 [(cisco_field).name="DropBytes"];
// CAC dropped rate
optional uint32 drop_rates = 3 [(cisco_field).name="DropRates"];
// Admitted packets (pkts/bytes)
optional uint64 admitpackets = 4 [(cisco_field).name="Admitpackets"];
// Admitted bytes (pkts/bytes)
optional uint64 admit_bytes = 5 [(cisco_field).name="AdmitBytes"];
// CAC admit rate
optional uint32 admit_rates = 6 [(cisco_field).name="AdmitRates"];
}
// IPHC Stats
message iphc_stats_st {
// TotalNum of Non tcp pkts sent
optional uint64 non_tcp_total_out_packets = 1 [(cisco_field).name="NonTCP_TotalOutPackets"];
// TotalNum of Non Tcp Bytes sent
optional uint64 non_tcp_total_out_bytes = 2 [(cisco_field).name="NonTCP_TotalOutBytes"];
// Non Tcp Bytes saved due to compression
optional uint64 non_tcp_bytes_saved = 3 [(cisco_field).name="NonTCP_BytesSaved"];
// Num of non tcp compressed pkts sent
optional uint64 non_tcp_compressed_packets_out = 4 [(cisco_field).name="NonTcp_CompressedPacketsOut"];
// Compressed Non Tcp Bytes sent rate
optional uint32 non_tcp_bytes_sent_rate = 5 [(cisco_field).name="NonTCP_BytesSentRate"];
// Num of non tcp fullheader pkts sent
optional uint64 non_tcp_full_header_packets_out = 6 [(cisco_field).name="NonTCP_FullHeaderPacketsOut"];
// Total Num of tcp pkts sent
optional uint64 tcp_total_out_packets = 7 [(cisco_field).name="TCP_TotalOutPackets"];
// TotalNum of Tcp Bytes sent
optional uint64 tcp_total_out_bytes = 8 [(cisco_field).name="TCP_TotalOutBytes"];
// Tcp Bytes saved due to compression
optional uint64 tcp_bytes_saved = 9 [(cisco_field).name="TCP_BytesSaved"];
// Num of tcp compressed pkts sent
optional uint64 tcp_compressed_packets_out = 10 [(cisco_field).name="TCP_CompressedPacketsOut"];
// Compressed Tcp Bytes sent rate
optional uint32 tcp_bytes_sent_rate = 11 [(cisco_field).name="TCP_BytesSentRate"];
// Num of tcp fullheader pkts sent
optional uint64 tcp_full_header_packets_out = 12 [(cisco_field).name="TCP_FullHeaderPacketsOut"];
}
// Queue limit statistics
message q_stats_st {
// Queue Id used for Fabric Stats
optional uint32 queue_id = 1 [(cisco_field).name="QueueID"];
// Packets tail dropped
optional uint64 tail_drop_packets = 2 [(cisco_field).name="TailDropPackets"];
// Bytes tail dropped
optional uint64 tail_drop_bytes = 3 [(cisco_field).name="TailDropBytes"];
// ATP CLP 0 matched packets dropped
optional uint64 atm_clp0_drop_packets = 4 [(cisco_field).name="ATM_CLP0DropPackets"];
// ATP CLP 0 matched bytes dropped
optional uint64 atm_clp0_drop_bytes = 5 [(cisco_field).name="ATM_CLP0DropBytes"];
// ATP CLP 0 matched packets dropped
optional uint64 atm_clp1_drop_packets = 6 [(cisco_field).name="ATM_CLP1DropPackets"];
// ATP CLP 0 matched bytes dropped
optional uint64 atm_clp1_drop_bytes = 7 [(cisco_field).name="ATM_CLP1DropBytes"];
// Queue instance length
repeated policy_param_uint32_st_ queue_instance_length = 8 [(cisco_field).name="QueueInstanceLength"];
// Queue average length
repeated policy_param_uint32_st_ queue_average_length = 9 [(cisco_field).name="QueueAverageLength"];
// Queue maximum length
repeated policy_param_uint32_st_ queue_max_length = 10 [(cisco_field).name="QueueMaxLength"];
// tail drop threshold of the queue in bytes
optional uint32 queue_drop_threshold = 11 [(cisco_field).name="QueueDropThreshold"];
// flag to forcedisplay of WRED even when per WredWRED profile stats is not available
optional bool forced_wred_stats_display = 12 [(cisco_field).name="ForcedWREDStatsDisplay"];
// Packets probabilistically dropped
optional uint64 random_drop_packets = 13 [(cisco_field).name="RandomDropPackets"];
// Bytes probabilistically dropped
optional uint64 random_drop_bytes = 14 [(cisco_field).name="RandomDropBytes"];
// Dropped packets with the average queue size at the max-threshold
optional uint64 max_threshold_packets = 15 [(cisco_field).name="MaxThresholdPackets"];
// Dropped bytes with the average queue size at the max-threshold
optional uint64 max_threshold_bytes = 16 [(cisco_field).name="MaxThresholdBytes"];
// Packets that conform to the queue rate
optional uint64 conform_packets = 17 [(cisco_field).name="ConformPackets"];
// Bytes that conform to the queue rate
optional uint64 conform_bytes = 18 [(cisco_field).name="ConformBytes"];
// Packets that exceed the queue rate
optional uint64 exceed_packets = 19 [(cisco_field).name="ExceedPackets"];
// Bytes that exceed the queue rate
optional uint64 exceed_bytes = 20 [(cisco_field).name="ExceedBytes"];
// Conform rate
optional uint32 conform_rate = 21 [(cisco_field).name="ConformRate"];
// Exceed rate
optional uint32 exceed_rate = 22 [(cisco_field).name="ExceedRate"];
}
// WRED Type Value pairs
message wred_type_value {
// WRED type DSCP, EXP, PREC etc.
optional string wred_type = 1 [(cisco_field).name="WREDType"];
// WRED value for this type.
optional uint32 value = 2 [(cisco_field).name="value"];
}
// Per RED profile stats
message red_profile_stats {
optional string profile_title = 1 [(cisco_field).name="ProfileTitle"];
// Array of WRED Typevalues as in PRP stats is available per threshold
repeated wred_type_value red_label = 2 [(cisco_field).name="REDLabel"];
// Transmitted packets
optional uint64 red_transmit_packets = 3 [(cisco_field).name="REDTransmitPackets"];
// Transmitted bytes
optional uint64 red_transmit_bytes = 4 [(cisco_field).name="REDTransmitBytes"];
// Probabilistically dropped packets
optional uint64 random_drop_packets = 5 [(cisco_field).name="RandomDropPackets"];
// Probabilisticallydropped bytes
optional uint64 random_drop_bytes = 6 [(cisco_field).name="RandomDropBytes"];
// Dropped packets with the average queue size at the max-threshold
optional uint64 max_threshold_packets = 7 [(cisco_field).name="MaxThresholdPackets"];
// Dropped bytes with the average queue size at the max-threshold
optional uint64 max_threshold_bytes = 8 [(cisco_field).name="MaxThresholdBytes"];
// ECN marked packets
optional uint64 red_ecn_marked_packets = 9 [(cisco_field).name="RED_ECNMarkedPackets"];
// ECN marked bytes
optional uint64 red_ecn_marked_bytes = 10 [(cisco_field).name="RED_ECNMarkedBytes"];
}
message class_stats {
// Bitmask to indicate which counter or counters are undetermined. Counters will be marked undetermined when one or more classes share queues with class-default because in such cases the value of counters for each class is invalid. Based on the flag(s) set, the following counters will be marked undetermined. For example, if value of this object returned is 0x00000101, counters TransmitPackets/TransmitBytes/TotalTransmitRate and DropPackets/DropBytes are undetermined.0x00000001 - Transmit (TransmitPackets/TransmitBytes/TotalTransmitRate), 0x00000002 - Total drop (TotalDropPackets/TotalDropBytes/TotalDropRate), 0x00000004 - Match (MatchDataRate/PrepolicyMatchedPackets/PrepolicyMatchedBytes), 0x00000100 - Police drop (DropPackets/DropBytes), 0x00000200 - Police conform (ConformPackets/ConformBytes/ConformRate), 0x00000400 - Police exceed (ExceedPackets/ExceedBytes/ExceedRate), 0x00000800 - Police violate (ViolatePackets/ViolateBytes/ViolateRate), 0x00001000 - Parent policer drop (ParentDropPackets/ParentDropBytes), 0x00010000 - Queueing drop (TailDropPackets/TailDropBytes), 0x00020000 - Red queue drop (RandomDropPackets/RandomDropBytes), 0x00040000 - Queue maximum threshold drop (MaxThresholdPackets/MaxThresholdBytes), 0x00080000 - Queue conform (ConformPackets/ConformBytes/ConformRate), 0x00100000 - Queue exceed (ExceedPackets/ExceedBytes/ExceedRate), 0x00200000 - CLP limit drop (ATM_CLP0DropPackets/ATM_CLP0DropBytes/ATM_CLP1DropPackets/ATM_CLP1DropBytes), 0x01000000 - RED transmit (RedTransmitPackets/RedTransmitBytes), 0x02000000 - RED drop (RandomDropPackets/RandomDropBytes), 0x04000000 - RED maximum threshold drop (MaxThresholdPackets/MaxThresholdBytes)
optional uint64 counter_validity_bitmask = 1 [(cisco_field).name="CounterValidityBitmask"];
optional string class_name = 2 [(cisco_field).name="ClassName"];
// q-id of the shared queue for this class
optional uint32 shared_queue_id = 3 [(cisco_field).name="SharedQueueID"];
// Description of queue for the class
optional string queue_descr = 4 [(cisco_field).name="QueueDescr"];
optional string cac_state = 5 [(cisco_field).name="CACState"];
optional gen_stats_st general_stats = 6 [(cisco_field).name="GeneralStats"];
// array of queue stats
repeated q_stats_st queue_stats_array = 7 [(cisco_field).name="QueueStatsArray"];
// array of police stats
repeated plc_stats_st police_stats_array = 8 [(cisco_field).name="PoliceStatsArray"];
// array of red stats
repeated red_profile_stats wred_stats_array = 9 [(cisco_field).name="WREDStatsArray"];
// IPHC stats
optional iphc_stats_st iphc_stats = 10 [(cisco_field).name="IphcStats"];
optional qos_stats child_policy = 11 [(cisco_field).name="ChildPolicy"];
// bag for cac stats
optional cac_stats_st cac_stats = 12 [(cisco_field).name="CACStats"];
}
// The following metadata must not be deleted or modified:
option (cisco_file).metadata="{\"enums\": {\"cac_state_en\": {\"0\": \"Unknown\", \"1\": \"ADMIT\", \"2\": \"REDIRECT\", \"3\": \"UBRL\"}, \"policy_state_en\": {\"0\": \"Active\", \"1\": \"Suspended\"}, \"wred_type_en_\": {\"0\": \"WRED_COS_CMD\", \"1\": \"WRED_DSCP_CMD\", \"2\": \"WRED_PRECEDENCE_CMD\", \"3\": \"WRED_DISCARD_CLASS_CMD\", \"4\": \"WRED_MPLS_EXP_CMD\", \"5\": \"RED_WITH_USER_MIN_MAX\", \"6\": \"RED_WITH_DEFAULT_MIN_MAX\", \"7\": \"WRED_DEI_CMD\", \"8\": \"WRED_ECN_CMD\", \"9\": \"WRED_INVALID_CMD\"}, \"policy_param_unit_type_\": {\"0\": \"POLICY_PARAM_UNIT_INVALID\", \"1\": \"POLICY_PARAM_UNIT_BYTES\", \"2\": \"POLICY_PARAM_UNIT_KBYTES\", \"3\": \"POLICY_PARAM_UNIT_MBYTES\", \"4\": \"POLICY_PARAM_UNIT_GBYTES\", \"5\": \"POLICY_PARAM_UNIT_BITSPS\", \"6\": \"POLICY_PARAM_UNIT_KBITSPS\", \"7\": \"POLICY_PARAM_UNIT_MBITSPS\", \"8\": \"POLICY_PARAM_UNIT_GBITSPS\", \"9\": \"POLICY_PARAM_UNIT_CELLSPS\", \"10\": \"POLICY_PARAM_UNIT_PACKETSPS\", \"11\": \"POLICY_PARAM_UNIT_US\", \"12\": \"POLICY_PARAM_UNIT_MS\", \"13\": \"POLICY_PARAM_UNIT_SECONDS\", \"14\": \"POLICY_PARAM_UNIT_PACKETS\", \"15\": \"POLICY_PARAM_UNIT_CELLS\", \"16\": \"POLICY_PARAM_UNIT_PERCENT\", \"17\": \"POLICY_PARAM_UNIT_PERTHOUSAND\", \"18\": \"POLICY_PARAM_UNIT_PERMILLION\", \"19\": \"POLICY_PARAM_UNIT_HZ\", \"20\": \"POLICY_PARAM_UNIT_KHZ\", \"21\": \"POLICY_PARAM_UNIT_MHZ\", \"22\": \"POLICY_PARAM_UNIT_RATIO\", \"23\": \"POLICY_PARAM_UNIT_MAX\"}}, \"subtypes\": {\"64\": \"wred_type_value\", \"65\": \"red_profile_stats\", \"66\": \"qos_stats\", \"67\": \"class_stats\", \"6\": \"policy_param_uint32_st_\", \"58\": \"gen_stats_st\", \"59\": \"plc_color_class_stats_st\", \"60\": \"plc_stats_st\", \"61\": \"cac_stats_st\", \"62\": \"iphc_stats_st\", \"63\": \"q_stats_st\"}, \"bytecode\": \"$66={NodeName}P42x%S{PolicyName}65s{SubscriberGroup}34s{State}[policy_state_en]e{StateDescription}128s{class_stats}a($67){Satid}D;$6={value}D{unit}[policy_param_unit_type_]e;$58={TransmitPackets}H{TransmitBytes}H{TotalDropPackets}H{TotalDropBytes}H{TotalDropRate}D{MatchDataRate}D{TotalTransmitRate}D{PrePolicyMatchedPackets}H{PrePolicyMatchedBytes}H;$59={ConformClassConformPackets}H{ConformClassConformBytes}H{ConformClassConformRate}D{ConformClassExceedPackets}H{ConformClassExceedBytes}H{ConformClassExceedRate}D{ConformClassViolatePackets}H{ConformClassViolateBytes}H{ConformClassViolateRate}D{ExceedClassExceedPackets}H{ExceedClassExceedBytes}H{ExceedClassExceedRate}D{ExceedClassViolatePackets}H{ExceedClassViolateBytes}H{ExceedClassViolateRate}D{ViolateClassViolatePackets}H{ViolateClassViolateBytes}H{ViolateClassViolateRate}D;$60={DropPackets}H{DropBytes}H{ConformPackets}H{ConformBytes}H{ExceedPackets}H{ExceedBytes}H{ViolatePackets}H{ViolateBytes}H{ParentDropPackets}H{ParentDropBytes}H{ConformRate}D{ExceedRate}D{ViolateRate}D{ColorClassStats}p($59);$61={DropPackets}H{DropBytes}H{DropRates}D{Admitpackets}H{AdmitBytes}H{AdmitRates}D;$62={NonTCP_TotalOutPackets}H{NonTCP_TotalOutBytes}H{NonTCP_BytesSaved}H{NonTcp_CompressedPacketsOut}H{NonTCP_BytesSentRate}D{NonTCP_FullHeaderPacketsOut}H{TCP_TotalOutPackets}H{TCP_TotalOutBytes}H{TCP_BytesSaved}H{TCP_CompressedPacketsOut}H{TCP_BytesSentRate}D{TCP_FullHeaderPacketsOut}H;$63={QueueID}D{TailDropPackets}H{TailDropBytes}H{atm_clp0_drop_pkts}PH{atm_clp0_drop_bytes}PH{atm_clp1_drop_pkts}PH{atm_clp1_drop_bytes}PH{ATM_CLP0DropPackets}p(H){ATM_CLP0DropBytes}p(H){ATM_CLP1DropPackets}p(H){ATM_CLP1DropBytes}p(H){QueueInstanceLength}a($6){QueueAverageLength}a($6){QueueMaxLength}a($6){QueueDropThreshold}D{ForcedWREDStatsDisplay}b{RandomDropPackets}H{RandomDropBytes}H{MaxThresholdPackets}H{MaxThresholdBytes}H{ConformPackets}H{ConformBytes}H{ExceedPackets}H{ExceedBytes}H{ConformRate}D{ExceedRate}D;$64={WREDType}[wred_type_en_]e{value}C;$65={ProfileTitle}300s{REDLabel}a($64){REDTransmitPackets}H{REDTransmitBytes}H{RandomDropPackets}H{RandomDropBytes}H{MaxThresholdPackets}H{MaxThresholdBytes}H{RED_ECNMarkedPackets}H{RED_ECNMarkedBytes}H;$67={CounterValidityBitmask}H{ClassName}65s{system_added_default_class}PC{SharedQueueID}p(D){QueueDescr}256s{CACState}[cac_state_en]e{GeneralStats}$58{QueueStatsArray}a($63){PoliceStatsArray}a($60){WREDStatsArray}a($65){IphcStats}p($62){ChildPolicy}p($66){CACStats}p($61);\", \"v_maj\": 111, \"schema_names\": [[\"RootOper.QOS.Node(NodeName)\", \"\"], [\"RootOper.QOS.Node.PolicyMap.Interface(InterfaceName)\", \"\"]], \"schema_path\": \"RootOper.QOS.Node.PolicyMap.Interface.Input.Statistics\", \"version\": 1.0, \"v_min\": 0, \"bag\": \"qos_stats\"}";