1-- *****************************************************************
2-- Cisco Commited Access Rate MIB file.
3--
4-- August 1997, Shu Tai
5--
6-- Copyright (c) 1997-1999, 2000 by Cisco Systems, Inc.
7-- All rights reserved.
8--
9-- *****************************************************************
10-- $Endlog$
11--
12
13CISCO-CAR-MIB DEFINITIONS ::= BEGIN
14
15IMPORTS
16	MODULE-IDENTITY,
17	OBJECT-TYPE,
18	Integer32,
19	Gauge32,
20	Counter32,
21	Counter64
22		FROM SNMPv2-SMI
23	MODULE-COMPLIANCE,
24	OBJECT-GROUP
25		FROM SNMPv2-CONF
26	TEXTUAL-CONVENTION
27		FROM SNMPv2-TC
28	ifIndex
29		FROM IF-MIB
30	ciscoMgmt
31		FROM CISCO-SMI;
32
33ciscoCarMIB MODULE-IDENTITY
34	LAST-UPDATED	"0002180000Z"
35	ORGANIZATION	"Cisco Systems, Inc."
36	CONTACT-INFO
37		"	Cisco Systems
38			Customer Service
39
40		Postal:	170 W. Tasman Drive
41			San Jose, CA  95134-1706
42			USA
43
44		   Tel: +1 800 553-NETS
45
46		E-mail: cs-qos@cisco.com"
47
48	DESCRIPTION
49		"Cisco CAR MIB - Overview
50
51    Cisco Weighted Rate-limit, known as Commited Access Rate (CAR),
52    is a traffic control method which uses a set of rate limits
53    to be applied to an interface for packet switching purpose.
54    Each rate limit has a configurable action to be taken
55    when a condition suffices.
56
57    This MIB incorporates objects from the Cisco Rate-limit line interfaces.
58    Its purpose is to provide Weighted Rate-Limit packet filtering information.
59    "
60
61	REVISION	"9707180000Z"
62	DESCRIPTION
63		"Initial version of this MIB module."
64 	REVISION	"0002180000Z"
65 	DESCRIPTION
66 		"Added 32-bit overflow counters, as well as
67		 64-bit counters for both switched and filtered
68		 bytes and packet counts to the statistics table
69		 (ccarStatTable)."
70	::= { ciscoMgmt 113 }
71
72ciscoCarMIBObjects OBJECT IDENTIFIER ::= { ciscoCarMIB 1 }
73
74-- Subgroups:
75--		Rate-limit
76--
77
78ccarConfigs	OBJECT IDENTIFIER ::= { ciscoCarMIBObjects 1 }
79ccarStats	OBJECT IDENTIFIER ::= { ciscoCarMIBObjects 2 }
80
81-- Textual Conventions
82
83PacketSource ::= TEXTUAL-CONVENTION
84	STATUS	current
85	DESCRIPTION
86		"The source of the packet rate-limited for.
87
88		input	statistics of the input packets.
89		output	statistics of the output packets.
90		"
91	SYNTAX  INTEGER { input(1), output(2) }
92
93RateLimitType ::= TEXTUAL-CONVENTION
94	STATUS	current
95	DESCRIPTION
96		"The type of traffic rate-limited for.
97
98		all		all traffic.
99		quickAcc	traffic matches rate-limit's access list.
100		standardAcc	traffic matches standard access list.
101		"
102	SYNTAX  INTEGER { all(1), quickAcc(2), standardAcc(3) }
103
104RateLimitAction ::= TEXTUAL-CONVENTION
105	STATUS  current
106	DESCRIPTION
107		"The action taken after evaluating the rate limit.
108
109		drop		drop the packet.
110		xmit		transmit the packet.
111		continue	continue to evaluate to the subsequent
112				rate limits.
113		precedXmit	rewrite the IP precedence and transmit
114				the packet.
115		precedCont	rewrite the IP precedence and allow it
116				evaluated by subsequent rate limits.
117		"
118
119	SYNTAX	INTEGER { drop(1), xmit(2), continue(3),
120			  precedXmit(4), precedCont(5) }
121
122ccarConfigTable OBJECT-TYPE
123	SYNTAX  SEQUENCE OF CcarConfigEntry
124	MAX-ACCESS  not-accessible
125        STATUS  current
126        DESCRIPTION
127        "A table of rate limit configuration entries.
128	Rate Limit is a method of traffic control.  It allows a set
129	of rate limits to be configured and applied to packets flowing
130	into/out of an interface to regulate network traffic."
131
132        ::= { ccarConfigs 1 }
133
134ccarConfigEntry OBJECT-TYPE
135        SYNTAX CcarConfigEntry
136        MAX-ACCESS  not-accessible
137        STATUS  current
138        DESCRIPTION
139        	"A collection of rate-limit configuration objects on this
140		interface.  Entries in the ccarConfigTable is created
141		and deleted via the rate-limit command line interface."
142
143        INDEX { ifIndex, ccarConfigDirection, ccarConfigRowIndex }
144        ::= { ccarConfigTable 1 }
145
146CcarConfigEntry ::=
147	SEQUENCE {
148		ccarConfigDirection
149               		PacketSource,
150		ccarConfigRowIndex
151                        Integer32,
152		ccarConfigType
153                        RateLimitType,
154		ccarConfigAccIdx
155                        Integer32,
156		ccarConfigRate
157                        Integer32,
158		ccarConfigLimit
159                        Integer32,
160		ccarConfigExtLimit
161                        Integer32,
162		ccarConfigConformAction
163       			RateLimitAction,
164		ccarConfigExceedAction
165       			RateLimitAction
166	}
167
168ccarConfigDirection OBJECT-TYPE
169	SYNTAX  PacketSource
170        MAX-ACCESS  not-accessible
171        STATUS  current
172        DESCRIPTION
173       		"The data source for the Rate Limit object."
174        ::= { ccarConfigEntry 1 }
175
176ccarConfigRowIndex OBJECT-TYPE
177	SYNTAX  Integer32 (1..2147483647)
178        MAX-ACCESS  not-accessible
179        STATUS  current
180        DESCRIPTION
181                "An arbitrary index for rate limit objects.
182		It will increase as the list is traversed,
183		but may skip."
184
185        ::= { ccarConfigEntry 2 }
186
187ccarConfigType OBJECT-TYPE
188	SYNTAX  RateLimitType
189        MAX-ACCESS  read-only
190        STATUS  current
191        DESCRIPTION
192		"The type of traffic rate-limited against."
193
194	::= { ccarConfigEntry 3 }
195
196ccarConfigAccIdx OBJECT-TYPE
197	SYNTAX  Integer32
198        MAX-ACCESS  read-only
199        STATUS  current
200        DESCRIPTION
201		"The index to the access list if RateLimitType is either
202		quickAcc or standardAcc."
203
204	::= { ccarConfigEntry 4 }
205
206ccarConfigRate OBJECT-TYPE
207	SYNTAX  Integer32
208	UNITS	"bits/second"
209        MAX-ACCESS  read-only
210        STATUS  current
211        DESCRIPTION
212		"The comitted access rate.  This is the sustained
213		rate permitted by the rate limit."
214
215	::= { ccarConfigEntry 5 }
216
217ccarConfigLimit OBJECT-TYPE
218	SYNTAX  Integer32
219	UNITS	"bytes"
220        MAX-ACCESS  read-only
221        STATUS  current
222        DESCRIPTION
223		"The rate limit.  The amout of traffic, in bytes,
224		in excess of the committed access rate which will be
225		instantaneously permitted by the rate limit."
226
227	::= { ccarConfigEntry 6 }
228
229ccarConfigExtLimit OBJECT-TYPE
230	SYNTAX  Integer32
231	UNITS   "bytes"
232	MAX-ACCESS  read-only
233	STATUS  current
234	DESCRIPTION
235		"The extended burst limit. The amount of traffic,
236		in bytes, in excess of the burst limit which may be
237		conditionnally permitted by the rate limit.
238		The probability that the traffic is not permitted
239		increases as the received burst increases.
240
241		P(not permitted) =
242		    (BurstRate - ConfLimit) / (ConfLimitExt - ConfLimit)."
243
244	::= { ccarConfigEntry 7 }
245
246ccarConfigConformAction OBJECT-TYPE
247	SYNTAX	RateLimitAction
248	MAX-ACCESS  read-only
249	STATUS	current
250	DESCRIPTION
251		"Action to be taken when the traffic is within
252		the Rate Limit."
253
254	::= { ccarConfigEntry 8 }
255
256ccarConfigExceedAction OBJECT-TYPE
257	SYNTAX	RateLimitAction
258	MAX-ACCESS  read-only
259	STATUS	current
260	DESCRIPTION
261		"Action to be taken when the traffic exceeds
262		the Rate Limit."
263
264	::= { ccarConfigEntry 9 }
265
266-- end of ccarConfigTable
267
268ccarStatTable OBJECT-TYPE
269	SYNTAX  SEQUENCE OF CcarStatEntry
270	MAX-ACCESS  not-accessible
271        STATUS  current
272        DESCRIPTION
273        "A table of rate limit status entries."
274
275        ::= { ccarStats 1 }
276
277ccarStatEntry OBJECT-TYPE
278        SYNTAX CcarStatEntry
279        MAX-ACCESS  not-accessible
280        STATUS  current
281        DESCRIPTION
282        	"A collection of rate-limit status objects on this
283		interface.  Entries are created and deleted via
284		the rate-limit command line interface."
285
286        AUGMENTS { ccarConfigEntry }
287        ::= { ccarStatTable 1 }
288
289CcarStatEntry ::=
290	SEQUENCE {
291		ccarStatSwitchedPkts
292                        Counter32,
293		ccarStatSwitchedBytes
294                        Counter32,
295		ccarStatFilteredPkts
296                        Counter32,
297		ccarStatFilteredBytes
298                        Counter32,
299		ccarStatCurBurst
300       			Gauge32,
301		ccarStatSwitchedPktsOverflow
302                        Counter32,
303		ccarStatSwitchedBytesOverflow
304                        Counter32,
305		ccarStatFilteredPktsOverflow
306                        Counter32,
307		ccarStatFilteredBytesOverflow
308                        Counter32,
309		ccarStatHCSwitchedPkts
310                        Counter64,
311		ccarStatHCSwitchedBytes
312                        Counter64,
313		ccarStatHCFilteredPkts
314                        Counter64,
315		ccarStatHCFilteredBytes
316                        Counter64
317	}
318
319ccarStatSwitchedPkts OBJECT-TYPE
320	SYNTAX  Counter32
321	UNITS	"packets"
322	MAX-ACCESS  read-only
323	STATUS  current
324	DESCRIPTION
325		"The counter of packets permitted by this rate limit."
326
327	::= { ccarStatEntry 1 }
328
329ccarStatSwitchedBytes OBJECT-TYPE
330	SYNTAX  Counter32
331	UNITS	"bytes"
332	MAX-ACCESS  read-only
333	STATUS  current
334	DESCRIPTION
335		"The counter of bytes permitted by this interface."
336
337	::= { ccarStatEntry 2 }
338
339ccarStatFilteredPkts OBJECT-TYPE
340	SYNTAX  Counter32
341	UNITS	"packets"
342	MAX-ACCESS  read-only
343	STATUS  current
344	DESCRIPTION
345		"The counter of packets which exceeded this rate limit."
346
347	::= { ccarStatEntry 3 }
348
349ccarStatFilteredBytes OBJECT-TYPE
350	SYNTAX  Counter32
351	UNITS	"bytes"
352	MAX-ACCESS  read-only
353	STATUS  current
354	DESCRIPTION
355		"The counter of bytes which exceeded this rate limit."
356
357	::= { ccarStatEntry 4 }
358
359ccarStatCurBurst OBJECT-TYPE
360	SYNTAX  Gauge32
361	UNITS	"bytes"
362	MAX-ACCESS  read-only
363	STATUS  current
364	DESCRIPTION
365		"The current received burst size."
366	::= { ccarStatEntry 5 }
367
368ccarStatSwitchedPktsOverflow OBJECT-TYPE
369	SYNTAX  Counter32
370	UNITS	"packets"
371	MAX-ACCESS  read-only
372	STATUS  current
373	DESCRIPTION
374		"The high-word of the counter of packets permitted
375		 by this rate limit.
376
377		   NOTE:  The object ccarStatSwitchedPkts contains the
378			  lower 32 bits of the switched packet counts.
379			  If the number of switched packets is larger
380			  than what can be stored in a 32 bit value, then
381			  the high word value is stored in this object.
382			  As such SNMP Manager applications should
383			  combine this object along with the
384			  ccarStatSwitchedPkts object to come up with the
385			  64-bit value.
386
387			  SNMP v2c or v3 Manager can use the
388			  ccarStatHCSwitchedPkts object directly
389			  (which is a 64-bit object)."
390
391	::= { ccarStatEntry 6 }
392
393ccarStatSwitchedBytesOverflow OBJECT-TYPE
394	SYNTAX  Counter32
395	UNITS	"bytes"
396	MAX-ACCESS  read-only
397	STATUS  current
398	DESCRIPTION
399		"The high-word of the counter of bytes permitted by
400		 this interface.
401
402		   NOTE:  The object ccarStatSwitchedBytes contains the
403			  lower 32 bits of the switched byte counts.
404			  If the number of switched bytes is larger
405			  than what can be stored in a 32 bit value, then
406			  the high word value is stored in this object.
407			  As such SNMP Manager applications should
408			  combine this object along with the
409			  ccarStatSwitchedBytes object to come up with the
410			  64-bit value.
411
412			  SNMP v2c or v3 Manager can use the
413			  ccarStatHCSwitchedBytes object directly
414			  (which is a 64-bit object)."
415
416	::= { ccarStatEntry 7 }
417
418ccarStatFilteredPktsOverflow OBJECT-TYPE
419	SYNTAX  Counter32
420	UNITS	"packets"
421	MAX-ACCESS  read-only
422	STATUS  current
423	DESCRIPTION
424		"The high-word of the counter of packets which exceeded
425		 this rate limit.
426
427		   NOTE:  The object ccarStatFilteredPkts contains the
428			  lower 32 bits of the filtered packet counts.
429			  If the number of filtered packets is larger
430			  than what can be stored in a 32 bit value, then
431			  the high word value is stored in this object.
432			  As such SNMP Manager applications should combine
433			  this object along with the ccarStatFilteredPkts
434			  object to come up with the 64-bit value.
435
436			  SNMP v2c or v3 Manager can use the
437			  ccarStatHCFilteredPkts object directly
438			  (which is a 64-bit object)."
439
440	::= { ccarStatEntry 8 }
441
442ccarStatFilteredBytesOverflow OBJECT-TYPE
443	SYNTAX  Counter32
444	UNITS	"bytes"
445	MAX-ACCESS  read-only
446	STATUS  current
447	DESCRIPTION
448		"The high-word of the counter of bytes which exceeded
449		 this rate limit.
450
451		   NOTE:  The object ccarStatFilteredBytes contains the
452			  lower 32 bits of the filtered byte counts.
453			  If the number of filtered bytes is larger
454			  than what can be stored in a 32 bit value, then
455			  the high word value is stored in this object.
456			  As such SNMP Manager applications should combine
457			  this object along with the ccarStatFilteredBytes
458			  object to come up with the 64-bit value.
459
460			  SNMP v2c or v3 Manager can use the
461			  ccarStatHCFilteredBytes object directly
462			  (which is a 64-bit object)."
463
464	::= { ccarStatEntry 9 }
465
466
467
468ccarStatHCSwitchedPkts OBJECT-TYPE
469	SYNTAX  Counter64
470	UNITS	"packets"
471	MAX-ACCESS  read-only
472	STATUS  current
473	DESCRIPTION
474		"The counter of packets permitted by this rate limit.
475
476		   NOTE:  This is a 64 bit (High Capacity)
477			  version of the ccarStatSwitchedPkts
478			  counter for use with SNMP v2c or v3 Managers"
479
480	::= { ccarStatEntry 10 }
481
482ccarStatHCSwitchedBytes OBJECT-TYPE
483	SYNTAX  Counter64
484	UNITS	"bytes"
485	MAX-ACCESS  read-only
486	STATUS  current
487	DESCRIPTION
488		"The counter of bytes permitted by this interface.
489
490		   NOTE:  This is a 64 bit (High Capacity)
491			  version of the ccarStatSwitchedBytes
492			  counter for use with SNMP v2c or v3 Managers"
493
494	::= { ccarStatEntry 11 }
495
496ccarStatHCFilteredPkts OBJECT-TYPE
497	SYNTAX  Counter64
498	UNITS	"packets"
499	MAX-ACCESS  read-only
500	STATUS  current
501	DESCRIPTION
502		"The counter of packets which exceeded this rate limit.
503
504		   NOTE:  This is a 64 bit (High Capacity)
505			  version of the ccarStatFilteredPkts
506			  counter for use with SNMP v2c or v3 Managers"
507
508	::= { ccarStatEntry 12 }
509
510ccarStatHCFilteredBytes OBJECT-TYPE
511	SYNTAX  Counter64
512	UNITS	"bytes"
513	MAX-ACCESS  read-only
514	STATUS  current
515	DESCRIPTION
516		"The counter of bytes which exceeded this rate limit.
517
518		   NOTE:  This is a 64 bit (High Capacity)
519			  version of the ccarStatFilteredBytes
520			  counter for use with SNMP v2c or v3 Managers"
521
522	::= { ccarStatEntry 13 }
523
524
525
526-- end of ccarStatTable
527
528-- conformance information
529
530ciscoCarMIBConformance OBJECT IDENTIFIER ::= { ciscoCarMIB 3 }
531ciscoCarMIBCompliances OBJECT IDENTIFIER ::= { ciscoCarMIBConformance 1 }
532ciscoCarMIBGroups      OBJECT IDENTIFIER ::= { ciscoCarMIBConformance 2 }
533
534
535-- compliance statement
536
537ciscoCarMIBCompliance MODULE-COMPLIANCE
538	STATUS	current
539	DESCRIPTION
540		"The compliance statement for entities which implement
541		the CAR on a Cisco router."
542	MODULE	-- this module
543		MANDATORY-GROUPS { ciscoCarMIBGroup }
544	::= { ciscoCarMIBCompliances 1 }
545
546ciscoCarMIBComplianceHCCounters MODULE-COMPLIANCE
547	STATUS	current
548	DESCRIPTION
549		"The compliance statement for entities that implement
550		64-bit counters for Switched/Filtered Packet/Bytes objects
551		for CAR on a Cisco router."
552	MODULE	-- this module
553		MANDATORY-GROUPS {
554		    ciscoCarMIBGroup,
555		    ciscoCarMIBHCGroup
556	}
557	::= { ciscoCarMIBCompliances 2 }
558
559-- units of conformance
560
561ciscoCarMIBGroup OBJECT-GROUP
562	OBJECTS {
563		ccarConfigType,
564		ccarConfigAccIdx,
565		ccarConfigRate,
566		ccarConfigLimit,
567		ccarConfigExtLimit,
568		ccarConfigConformAction,
569		ccarConfigExceedAction,
570		ccarStatSwitchedPkts,
571		ccarStatSwitchedBytes,
572		ccarStatFilteredPkts,
573		ccarStatFilteredBytes,
574		ccarStatCurBurst
575	}
576	STATUS	current
577	DESCRIPTION
578		"A collection of objects providing CAR monitoring."
579	::= { ciscoCarMIBGroups 1 }
580
581ciscoCarMIBHCGroup OBJECT-GROUP
582	OBJECTS {
583		ccarStatSwitchedPktsOverflow,
584		ccarStatSwitchedBytesOverflow,
585		ccarStatFilteredPktsOverflow,
586		ccarStatFilteredBytesOverflow,
587		ccarStatHCSwitchedPkts,
588		ccarStatHCSwitchedBytes,
589		ccarStatHCFilteredPkts,
590		ccarStatHCFilteredBytes
591	}
592	STATUS current
593	DESCRIPTION
594		"A collection of high capacity counters (64-bit) provided
595		for CAR monitoring."
596	::= { ciscoCarMIBGroups 2 }
597
598END
599