1-- *****************************************************************
2-- MIB for FIFO, Priority, Custom, and Fair Queuing
3--
4-- May 1995, Fred Baker
5--
6-- Copyright (c) 1995-1996 by cisco Systems, Inc.
7-- All rights reserved.
8-- *****************************************************************
9
10CISCO-QUEUE-MIB DEFINITIONS ::= BEGIN
11
12IMPORTS
13	MODULE-IDENTITY, OBJECT-TYPE,
14	Counter32, Integer32, Gauge32
15		FROM SNMPv2-SMI
16	MODULE-COMPLIANCE, OBJECT-GROUP
17		FROM SNMPv2-CONF
18	TEXTUAL-CONVENTION
19		FROM SNMPv2-TC
20	ifIndex
21		FROM RFC1213-MIB
22	ciscoMgmt
23		FROM CISCO-SMI;
24
25ciscoQueueMIB MODULE-IDENTITY
26	LAST-UPDATED	"9505310000Z"
27	ORGANIZATION	"Cisco Systems, Inc."
28	CONTACT-INFO
29		"	Cisco Systems
30			Customer Service
31
32		Postal: 170 West Tasman Drive
33			San Jose, CA  95134
34			USA
35
36		Tel:	+1 800 553-NETS
37
38		E-mail: cs-snmp@cisco.com"
39	DESCRIPTION
40		"This is the MIB module for objects used to manage
41		interface queuing in Cisco devices."
42	REVISION        "9508210000Z"
43	DESCRIPTION
44		"Minor cleanups to pacify mib compiler."
45	::= { ciscoMgmt 37 }
46
47ciscoQueueObjects OBJECT IDENTIFIER ::= { ciscoQueueMIB 1 }
48ciscoQueueTraps OBJECT IDENTIFIER ::= { ciscoQueueMIB 2 }
49ciscoQueueConformance OBJECT IDENTIFIER ::= { ciscoQueueMIB 3 }
50
51CQAlgorithm ::= TEXTUAL-CONVENTION
52    STATUS  current
53    DESCRIPTION
54        "The type of queuing algorithm used on the interface."
55    SYNTAX      INTEGER {
56	fifo(1),	-- First In First Out
57	priority(2),	-- Priority Queuing
58	custom(3),	-- Custom Queuing
59	weightedFair(4)	-- Weighted Fair Queuing
60    }
61
62-- Queue Interface Table
63--
64-- This table describes Cisco specific queuing extensions
65
66cQIfTable OBJECT-TYPE
67    SYNTAX      SEQUENCE OF CQIfEntry
68    MAX-ACCESS  not-accessible
69    STATUS      current
70    DESCRIPTION
71	"This table contains objects that describe the queues on a
72	Cisco Interface.
73
74	An interface queue is modeled as a collection of one or more
75	secondary queues that feed into a device's hardware queue. The
76	hardware queue has a maximum depth set by the MCI tx-queue-limit
77	command or equivalent. The secondary queues (also known as the
78	'hold queue') have maximum depths set by the hold-queue command
79	or equivalent.
80
81	This table parallels the ifTable, and indicates the type of
82	queuing in use on the interface, number of queues, and similar
83	parameters."
84    ::= { ciscoQueueObjects 1 }
85
86cQIfEntry OBJECT-TYPE
87    SYNTAX      CQIfEntry
88    MAX-ACCESS not-accessible
89    STATUS      current
90    DESCRIPTION
91	"A list of queue attributes for an interface."
92    INDEX   { ifIndex }
93    ::= { cQIfTable 1 }
94
95CQIfEntry ::= SEQUENCE {
96    cQIfQType	CQAlgorithm,
97    cQIfTxLimit	Integer32,
98    cQIfSubqueues	Integer32
99}
100
101cQIfQType OBJECT-TYPE
102    SYNTAX      CQAlgorithm
103    MAX-ACCESS  read-only
104    STATUS      current
105    DESCRIPTION
106	"The type of queuing used in the Hold Queue.
107
108	First In First Out Queuing implies that the interface always
109	transmits messages in the order that they are received.
110
111	Priority Queuing sorts messages out by the use of access lists.
112	Messages in a higher priority queue are always sent in
113	preference to messages in a lower priority queue.
114
115	Custom Queuing sorts messages out by the use of access lists.
116	Sub-queues are selected in round robin order as either the
117	sub-queue is drained or a given number of octets is moved from
118	the sub-queue to the transmission queue.
119
120	Weighted Fair Queuing sorts messages by 'conversation', which
121	is source-destination pair of addresses and sockets or ports,
122	as defined by the network layer protocol. Messages are removed
123	from queues in a sequence that gives each conversation a
124	proportion of the available bandwidth."
125    ::= { cQIfEntry 1 }
126
127cQIfTxLimit OBJECT-TYPE
128    SYNTAX      Integer32
129    MAX-ACCESS  read-only
130    STATUS      current
131    DESCRIPTION
132	"The maximum number of messages placed into the hardware
133	transmission queue. This is a first come first serve queue, fed
134	by the hold queue.  If the hold queue contains information,
135	this queue is presumably full."
136    ::= { cQIfEntry 2 }
137
138cQIfSubqueues OBJECT-TYPE
139    SYNTAX      Integer32
140    MAX-ACCESS  read-only
141    STATUS      current
142    DESCRIPTION
143	"The number of sub-queues of which the hold queue is built.
144	This is a constant for each value of cQIfQType."
145    ::= { cQIfEntry 3 }
146
147-- Sub-Queue Statistics Table
148--
149-- This table describes Cisco specific queuing extensions
150
151cQStatsTable OBJECT-TYPE
152    SYNTAX      SEQUENCE OF CQStatsEntry
153    MAX-ACCESS  not-accessible
154    STATUS      current
155    DESCRIPTION
156	"This table contains statistical objects that for the
157	sub-queues of a Cisco Interface."
158    ::= { ciscoQueueObjects 2 }
159
160cQStatsEntry OBJECT-TYPE
161    SYNTAX      CQStatsEntry
162    MAX-ACCESS  not-accessible
163    STATUS      current
164    DESCRIPTION
165	"A list of sub-queue attributes for an interface."
166    INDEX   { ifIndex, cQStatsQNumber }
167    ::= { cQStatsTable 1 }
168
169CQStatsEntry ::= SEQUENCE {
170    cQStatsQNumber	Integer32 (0..2147483647),
171    cQStatsDepth	Gauge32,
172    cQStatsMaxDepth	Integer32,
173    cQStatsDiscards	Counter32
174}
175
176cQStatsQNumber OBJECT-TYPE
177    SYNTAX      Integer32 (0..2147483647)
178    MAX-ACCESS  not-accessible
179    STATUS      current
180    DESCRIPTION
181	"The number of the queue within the queue set.
182
183	In FIFO queuing, this value is always 2.
184
185	In Priority Queuing, it corresponds to the various priorities:
186
187    		high = 0
188    		medium = 1
189    		normal = 2
190    		low = 3
191
192	In Custom Queuing, it is the queue number referenced in the
193	access list.
194
195	In Weighted Fair Queuing, it is the queue number associated
196	with the traffic stream (conversation) identified."
197    ::= { cQStatsEntry 1 }
198
199cQStatsDepth OBJECT-TYPE
200    SYNTAX      Gauge32
201    MAX-ACCESS  read-only
202    STATUS      current
203    DESCRIPTION
204	"The number of messages in the sub-queue."
205    ::= { cQStatsEntry 2 }
206
207cQStatsMaxDepth OBJECT-TYPE
208    SYNTAX      Integer32
209    MAX-ACCESS  read-only
210    STATUS      current
211    DESCRIPTION
212	"The maximum number of messages permitted in the sub-queue."
213    ::= { cQStatsEntry 3 }
214
215cQStatsDiscards OBJECT-TYPE
216    SYNTAX      Counter32
217    MAX-ACCESS  read-only
218    STATUS      current
219    DESCRIPTION
220	"The number of messages discarded from this queue since restart
221	by reason of enqueue at a time that cQStatsDepth >= cQStatsMaxDepth."
222    ::= { cQStatsEntry 4 }
223
224-- Custom Queue Rotation Table
225--
226-- This table describes Cisco specific queuing extensions
227
228cQRotationTable OBJECT-TYPE
229    SYNTAX      SEQUENCE OF CQRotationEntry
230    MAX-ACCESS  not-accessible
231    STATUS      current
232    DESCRIPTION
233	"This table describes the rotation of Custom Queuing on an
234	Interface."
235    ::= { ciscoQueueObjects 3 }
236
237cQRotationEntry OBJECT-TYPE
238    SYNTAX      CQRotationEntry
239    MAX-ACCESS  not-accessible
240    STATUS      current
241    DESCRIPTION
242	"Custom Queuing sub-queue attributes for an interface."
243    INDEX   { ifIndex, cQStatsQNumber }
244    ::= { cQRotationTable 1 }
245
246CQRotationEntry ::= SEQUENCE {
247    cQRotationOctets	Integer32
248}
249
250cQRotationOctets OBJECT-TYPE
251    SYNTAX      Integer32
252    MAX-ACCESS  read-only
253    STATUS      current
254    DESCRIPTION
255	"The number of octets which may be transmitted from a custom
256	queuing sub-queue before it must yield to another queue."
257    ::= { cQRotationEntry 1 }
258
259--
260-- Conformance Information
261--
262
263cQCompliances   OBJECT IDENTIFIER ::= { ciscoQueueConformance 1 }
264cQGroups        OBJECT IDENTIFIER ::= { ciscoQueueConformance 2 }
265
266--
267-- Compliance Statements
268--
269
270cQCompliance MODULE-COMPLIANCE
271    STATUS current
272    DESCRIPTION
273        "The core compliance statement for all queued interfaces."
274    MODULE
275        MANDATORY-GROUPS { cQIfGroup, cQStatsGroup, cQRotationGroup }
276    ::= { cQCompliances 1 }
277
278--
279-- Core Conformance Groups for All Link Stations
280--
281
282cQIfGroup    OBJECT-GROUP
283    OBJECTS { cQIfQType, cQIfTxLimit, cQIfSubqueues }
284    STATUS current
285    DESCRIPTION
286	"The configuration of queuing on the interface.  Interface
287	Queuing statistics (ifOutQDepth and ifOutDiscards) are kept in
288	the interface table."
289    ::= { cQGroups 1 }
290
291cQStatsGroup OBJECT-GROUP
292    OBJECTS { cQStatsDepth, cQStatsMaxDepth, cQStatsDiscards }
293    STATUS current
294    DESCRIPTION
295	"The statistics for individual queues in the interface queuing
296	system."
297    ::= { cQGroups 2 }
298
299cQRotationGroup OBJECT-GROUP
300    OBJECTS { cQRotationOctets }
301    STATUS current
302    DESCRIPTION
303	"The Custom Queuing queue rotation weights."
304    ::= { cQGroups 3 }
305END
306