1 -- *****************************************************************
2 -- CISCO-QOS-POLICY-CONFIG-MIB: Mib for QoS policy configuration.
3 --
4 -- November 2000, Frank Chao
5 --
6 -- Copyright (c) 2000 by Cisco Systems, Inc.
7 -- All rights reserved.
8 -- *****************************************************************
9 --
10
11CISCO-QOS-POLICY-CONFIG-MIB DEFINITIONS ::= BEGIN
12
13IMPORTS
14    MODULE-IDENTITY,
15    OBJECT-TYPE
16        FROM SNMPv2-SMI
17
18    MODULE-COMPLIANCE,
19    OBJECT-GROUP
20        FROM SNMPv2-CONF
21
22    TruthValue,
23    TEXTUAL-CONVENTION
24        FROM SNMPv2-TC
25
26    ifIndex
27        FROM IF-MIB
28
29    ciscoMgmt
30        FROM CISCO-SMI
31
32    QosInterfaceQueueType
33        FROM CISCO-QOS-PIB-MIB
34    ;
35
36ciscoQosPolicyConfigMIB    MODULE-IDENTITY
37    LAST-UPDATED    "200011021030Z"
38    ORGANIZATION    "Cisco Systems Inc."
39    CONTACT-INFO
40        "Cisco Systems
41         Customer Service
42
43         Postal: 170 W. Tasman Drive
44         San Jose, CA 95134, USA
45
46         Tel: +1 800 553-NETS
47
48         E-mail: cs-wbu@cisco.com"
49    DESCRIPTION
50        "This MIB module defines managed objects that support the
51        policy source configuration of Quality of Service (QoS) on
52        the device.
53
54        Terminology :
55
56        Common Open Policy Service (COPS) : A client/server model for
57        supporting policy control over QoS Signaling Protocols and
58        provisioned QoS resource management, etc.  COPS is a query and
59        response protocol that can be used to exchange policy
60        information between a policy server (Policy Decision Point or
61        PDP) and its clients (Policy Enforcement Points or PEPs).
62
63        Policy Information Base (PIB) : The database of policy
64        information stored in the COPS client device.
65
66        QoS : The method which attempts to ensure that the network
67        requirements of different applications can be met by giving
68        preferential forwarding treatment to some traffic, perhaps at
69        the expense of other traffic.
70
71        QoS policy : a set of parameters used to achieve QoS purpose.
72        The device uses these parameters in flow classification, flow
73        scheduling, flow policing and codepoint mutation.
74
75        RSVP : Resource Reservation Protocol.  RSVP is a signaling
76        mechanism that the application will use to signal parameters
77        to the network, so that network can assign QoS for the
78        application data stream.
79
80        COPS-PR : a COPS client type which supports device's
81        provisioning of QoS policy.
82
83        COPS-RSVP : a COPS client type which supports device's
84        outsourcing of QoS policy (RSVP).
85
86        "
87
88    REVISION    "200011021030Z"
89    DESCRIPTION
90        "Revised version from CISCO-QOS-CONFIG-MIB.  The original OID is
91         assigned to CISCO-QOS-CONFIG-MIB and then after discussing
92         with people in COPS group, we decided to change the name of the
93         MIB. And also adding some objects to reflect the difference
94         between users' QoS policy configuration and runtime QoS policy
95         configuration."
96
97    REVISION    "200002261930Z"
98    DESCRIPTION
99        "Initial version of this MIB module."
100
101--        REFERENCE
102--            "See also CISCO-COPS-CLIENT-MIB and CISCO-QOS-PIB-MIB."
103
104    ::= { ciscoMgmt 159 }
105
106 -- Textual Conventions used in the Qos Config MIB.
107
108QosPolicySource ::= TEXTUAL-CONVENTION
109    STATUS        current
110    DESCRIPTION
111        "The source where a device obtains QoS policy.
112
113        none (1) indicates that there is no QoS policy applied on this
114        device.  And this value only can be read and cannot be set by
115        the users.
116
117        local (2) indicates that the QoS policy is from local device
118        configuration.  For example, the QoS policy can be configured
119        through command line interface (CLI).
120
121        cops (3) indicates that the QoS policy is from a COPS server."
122    SYNTAX    INTEGER {
123                  none (1),   -- read-only, users cannot set this value.
124                  local (2),
125                  cops  (3)
126              }
127
128--
129-- Overview of MIB Objects:
130--
131
132ciscoQosPolicyConfigMIBObjects OBJECT IDENTIFIER
133    ::= { ciscoQosPolicyConfigMIB 1 }
134
135-- object groups
136
137qosPolicyGlobalObjects          OBJECT IDENTIFIER
138    ::= { ciscoQosPolicyConfigMIBObjects 1 }
139
140qosPolicyInterfaceObjects       OBJECT IDENTIFIER
141    ::= { ciscoQosPolicyConfigMIBObjects 2 }
142
143--
144--
145-- The qosPolicyGlobalObjects group
146--
147--
148
149qosEnabled  OBJECT-TYPE
150    SYNTAX     TruthValue
151    MAX-ACCESS read-write
152    STATUS     current
153    DESCRIPTION
154        "Indicates whether the QoS feature is enabled on the device.
155
156        true(1) means that the QoS feature is enabled on this device.
157
158        false(2) means that the QoS feature is disabled. All the QoS
159        policy on the device will be ignored."
160    DEFVAL { false }
161    ::= { qosPolicyGlobalObjects 1 }
162
163qosPrAdminPolicySource OBJECT-TYPE
164    SYNTAX     QosPolicySource
165    MAX-ACCESS read-write
166    STATUS     current
167    DESCRIPTION
168        "Indicates the desired source of a device's provisioning of
169        QoS policy for the whole device.
170
171        Actually, the source of an interface's provisioning of QoS
172        policy is controlled by two level configurations.  The first
173        level is the system level to be the global control for the
174        whole device.  This object is for the system level.  The second
175        level is for each individual interface.  The
176        qosPrIfAdminPolicySource is for the interface level.  So, the
177        value of this object will decide that the value of
178        qosPrIfAdminPolicySource can take precedence or not.  If this
179        object is configured to cops(3), the value of
180        qosPrIfAdminPolicySource has the precedence configuration of
181        the interface's provisioning of QoS policy source.
182
183        That is to say if this object is configured to local(2), then
184        the value of qosPrIfAdminPolicySource will be ignored.  It
185        means the provisioning of QoS policy source of all the
186        interfaces in this device will be from local information if
187        this MIB is configured to local(2).
188
189        If this object is configured to cops(3), then the final
190        provisioning of QoS policy of an interface is determined by the
191        configuration of the qosPrIfAdminPolicySource object of that
192        interface.
193
194        Changing qosPrIfAdminPolicySource of an interface from cops(3)
195        to local(2) while the value of this object is cops(3) makes the
196        interface discard the QoS provisioning policy from the COPS
197        server and uses the local QoS provisioning policy configuration
198        instead."
199    DEFVAL { local }
200    ::= { qosPolicyGlobalObjects 2 }
201
202qosPrOperPolicySource OBJECT-TYPE
203    SYNTAX     QosPolicySource
204    MAX-ACCESS read-only
205    STATUS     current
206    DESCRIPTION
207        "Indicates the operational source of a device's provisioning of
208        QoS policy.
209
210        Note that when qosPrAdminPolicySource transitions to cops(3),
211        qosPrOperPolicySource will normally also transition to
212        cops(3).  In this situation, it is possible that
213        qosPrOperPolicySource's transition will not occur immediately
214        because the system is initializing the COPS function at the
215        system booting up time, but rather after a small time lag to
216        complete certain operations before going 'cops'."
217    ::= { qosPolicyGlobalObjects 3 }
218
219qosRsvpAdminPolicySource OBJECT-TYPE
220    SYNTAX     QosPolicySource
221    MAX-ACCESS read-write
222    STATUS     current
223    DESCRIPTION
224        "Indicates the desired source of a device's outsourcing of QoS
225        policy.  Outsourcing means the policy information is from
226        outside source not from local information."
227    DEFVAL { local }
228    ::= { qosPolicyGlobalObjects 4 }
229
230qosRsvpOperPolicySource OBJECT-TYPE
231    SYNTAX     QosPolicySource
232    MAX-ACCESS read-only
233    STATUS     current
234    DESCRIPTION
235        "Indicates the current operational source of a device's
236        outsourcing of QoS policy.
237
238        Note that when qosRsvpAdminPolicySource transitions to
239        cops(3), qosRsvpOperPolicySource will normally also transition
240        to cops(3).  In this situation, it is possible that
241        qosRsvpOperPolicySource's transition will not occur
242        immediately because the system is initializing the COPS
243        function at the system boot up time, but rather after a small
244        time lag to complete certain operations before going 'cops'."
245    ::= { qosPolicyGlobalObjects 5 }
246
247qosCopsPolicyStatus    OBJECT-TYPE
248    SYNTAX     INTEGER { keep(1), discard(2) }
249    MAX-ACCESS read-write
250    STATUS     current
251    DESCRIPTION
252        "This object indicates whether the QoS policy downloaded from
253        COPS server should be kept or discarded by the system while
254        the COPS function is not running in the system or the
255        connection between PDP and PEP is lost or any other reason
256        that system cannot get the QoS policy from COPS server."
257    ::= { qosPolicyGlobalObjects 6 }
258
259--
260-- The qosPrIfObjects group
261--
262
263qosPrIfTable OBJECT-TYPE
264    SYNTAX      SEQUENCE OF QosPrIfEntry
265    MAX-ACCESS  not-accessible
266    STATUS      current
267    DESCRIPTION
268        "A list of interface entries.  An entry will exist for each
269        interface which can support the provisioning of QoS policy
270        feature."
271    ::= { qosPolicyInterfaceObjects 1 }
272
273qosPrIfEntry OBJECT-TYPE
274    SYNTAX      QosPrIfEntry
275    MAX-ACCESS  not-accessible
276    STATUS      current
277    DESCRIPTION
278        "An entry containing the configuration of provisioning of QoS
279        policy of a particular interface."
280    INDEX { ifIndex }
281    ::= { qosPrIfTable 1 }
282
283QosPrIfEntry ::= SEQUENCE {
284    qosPrIfAdminPolicySource    QosPolicySource,
285    qosPrIfOperPolicySource     QosPolicySource
286}
287
288qosPrIfAdminPolicySource  OBJECT-TYPE
289    SYNTAX   QosPolicySource
290    MAX-ACCESS  read-write
291    STATUS      current
292    DESCRIPTION
293        "Indicates the desired source of QoS provision policy for
294        this interface.
295
296        This object is only effective when the value of
297        qosPrOperPolicySource is cops(3) and the value of qosEnabled
298        is true(1)."
299    DEFVAL { cops }
300    ::= { qosPrIfEntry 1 }
301
302qosPrIfOperPolicySource  OBJECT-TYPE
303    SYNTAX   QosPolicySource
304    MAX-ACCESS  read-only
305    STATUS      current
306    DESCRIPTION
307        "Indicates the operational source of QoS provisioning policy
308        for this interface.
309
310        When the value of the object qosPrOperPolicySource is
311        local(2), the QoS provisioning policy for this interface is
312        taken from device's local configuration.  If
313        qosPrOperPolicySource is configured to cops(3), the current
314        operational source of QoS provisioning policy will depend on
315        the configuration of qosPrIfAdminPolicySource object.
316
317        Here is the logic.
318
319        IF qosPrOperPolicySource == local(2)
320        THEN qosPrIfOperPolicySource is local(2)
321        ELSE
322            IF qosPrOperPolicySource == cops(3)
323            THEN
324                IF qosPrIfAdminPolicySource == cops(3)
325                THEN qosPrIfOperPolicySource is cops(3)
326                ELSE qosPrIfOperPolicySource is local(2)
327            ELSE
328                qosPrIfOperPolicySource is none(1)
329            END
330        END
331
332        For example, if qosPrOperPolicySource shows local(2), although
333        the qosPrIfAdminPolicySource is configured cops(3), the QoS
334        provisioning policy running on this interface is from local
335        device configuration.  It means this object will be local(2).
336
337        Note that when qosPrIfAdminPolicySource transitions to
338        cops(3) if qosPrOperPolicySource is cops(3),
339        qosPrIfOperPolicySource will normally also transition to
340        cops(3).  In this situation, it is possible that
341        qosPrIfOperPolicySource's transition will not occur immediately
342        because the system is initializing the COPS function at the
343        system boot up time, but rather after a small time lag to
344        complete certain operations before going 'cops'."
345    ::= { qosPrIfEntry 2 }
346
347--
348-- QoS Interface Capability Table
349--
350
351qosIfCapabilityTable OBJECT-TYPE
352    SYNTAX      SEQUENCE OF QosIfCapabilityEntry
353    MAX-ACCESS  not-accessible
354    STATUS      current
355    DESCRIPTION
356        "A list of interface entries.  An entry will exist for each
357        interface which can support the QoS feature."
358    ::= { qosPolicyInterfaceObjects 2 }
359
360qosIfCapabilityEntry OBJECT-TYPE
361    SYNTAX      QosIfCapabilityEntry
362    MAX-ACCESS  not-accessible
363    STATUS      current
364    DESCRIPTION
365        "A description of an interface's QoS capabilities."
366    INDEX { ifIndex, qosIfDirection, qosIfQType }
367    ::= { qosIfCapabilityTable 1 }
368
369QosIfCapabilityEntry ::= SEQUENCE {
370    qosIfDirection        INTEGER,
371    qosIfQType            QosInterfaceQueueType,
372    qosIfCapabilities     BITS
373}
374
375qosIfDirection     OBJECT-TYPE
376    SYNTAX      INTEGER { ingress(1), egress(2), both(3) }
377    MAX-ACCESS  not-accessible
378    STATUS      current
379    DESCRIPTION
380        "The traffic direction of the interface.
381         'ingress' means the traffic coming in the interface.
382         'egress' means the traffic going out the interface.
383         'both' means the traffic coming in and going out."
384    ::= { qosIfCapabilityEntry 1 }
385
386qosIfQType      OBJECT-TYPE
387    SYNTAX      QosInterfaceQueueType
388    MAX-ACCESS  not-accessible
389    STATUS      current
390    DESCRIPTION
391        "The interface type in terms of number of queues and
392        thresholds.  A queue is a buffer for storing network packets.
393        A threshold is a water mark used to control traffic amount of
394        a queue."
395    ::= { qosIfCapabilityEntry 2 }
396
397qosIfCapabilities   OBJECT-TYPE
398    SYNTAX BITS {
399        unspecified (0),
400
401        -- Classification support
402        inputL2Classification (1), inputIpClassification (2),
403        outputL2Classification (3), outputIpClassification (4),
404        inputPortClassification (19), outputPortClassification (20),
405
406        -- Policing support
407        inputUflowPolicing (5), inputAggregatePolicing (6),
408        outputUflowPolicing (7), outputAggregatePolicing (8),
409        policeByMarkingDown (9), policeByDropping (10),
410        inputUflowShaping (21), inputAggregateShaping (22),
411        outputUflowShaping (23), outputAggregateShaping (24),
412
413        -- Supported scheduling mechanisms
414        fifo (11), wrr (12), wfq (13), cq (14), pq (15), cbwfq (16),
415        pqWrr (25), pqCbwfq (26),
416
417        -- Supported congestion control mechanisms
418        tailDrop (17), wred (18)
419    }
420    MAX-ACCESS  read-only
421    STATUS      current
422    DESCRIPTION
423        "An enumeration of interface capabilities.  Used by the
424        management side to select policies and configuration to
425        push to the device."
426    ::= { qosIfCapabilityEntry 3 }
427
428--
429-- Notifications
430--
431
432ciscoQosPolicyMIBNotifications  OBJECT IDENTIFIER
433    ::= { ciscoQosPolicyConfigMIB 2 }
434
435--
436-- Conformance
437--
438
439ciscoQosPolicyConfigMIBConformance OBJECT IDENTIFIER
440    ::= { ciscoQosPolicyConfigMIB 3 }
441
442ciscoQosPolicyConfigMIBCompliances OBJECT IDENTIFIER
443    ::= { ciscoQosPolicyConfigMIBConformance 1 }
444
445ciscoQosPolicyConfigMIBGroups      OBJECT IDENTIFIER
446    ::= { ciscoQosPolicyConfigMIBConformance 2 }
447
448
449-- Compliance
450
451ciscoQosPolicyConfigMIBCompliance MODULE-COMPLIANCE
452        STATUS current
453        DESCRIPTION
454            "The compliance statement for the
455             CISCO-QOS-POLICY-CONFIG-MIB."
456
457        MODULE
458        GROUP qosGlobalGroup
459        DESCRIPTION
460            "The group must be implemented in the Cisco devices
461            Catalyst 6000 serires switch."
462
463        OBJECT qosEnabled
464        MIN-ACCESS  read-only
465        DESCRIPTION
466            "If the device doesn't support the ability to
467            enable/disable QoS function, the object is only required
468            to be read-only."
469
470        GROUP qosPrGlobalGroup
471        DESCRIPTION
472            "If the device supports COPS-PR, it supports this group."
473
474        GROUP qosRsvpGlobalGroup
475        DESCRIPTION
476            "If the device supports COPS-RSVP, it supports this
477             group."
478
479        GROUP qosPrInterfaceGroup
480        DESCRIPTION
481            "A device which allows COPS-PR to be enabled on a
482            per-interface basis supports this group."
483
484        GROUP qosInterfaceCapabilityGroup
485        DESCRIPTION
486            "A device which supports QoS feature to be enabled on a
487            per-interface basis must support this group."
488
489        GROUP qosCopsPolicyStatusGroup
490        DESCRIPTION
491            "The group should be implemented in the Cisco devices
492            which supports QoS feature."
493
494        OBJECT qosCopsPolicyStatus
495        MIN-ACCESS read-only
496        DESCRIPTION
497            "If the device doesn't support the ability to configure
498            to keep or discard the QoS policy which is downloaded from
499            COPS server while the COPS function is not working, this
500            object is only required read-only."
501
502        ::= { ciscoQosPolicyConfigMIBCompliances 1 }
503
504--
505-- Units of Conformance
506-- Objects Groups Define
507--
508
509qosGlobalGroup OBJECT-GROUP
510    OBJECTS {
511        qosEnabled
512    }
513    STATUS      current
514    DESCRIPTION
515        "A collection of objects providing the ability to
516        enable/disable QoS feature on the device."
517    ::= { ciscoQosPolicyConfigMIBGroups 1 }
518
519qosPrGlobalGroup OBJECT-GROUP
520    OBJECTS {
521        qosPrAdminPolicySource,
522        qosPrOperPolicySource
523    }
524    STATUS current
525    DESCRIPTION
526        "A collection of objects providing the global configuration of
527        the provisioning of QoS policy source on the device."
528    ::= { ciscoQosPolicyConfigMIBGroups 2 }
529
530qosRsvpGlobalGroup OBJECT-GROUP
531    OBJECTS {
532        qosRsvpAdminPolicySource,
533        qosRsvpOperPolicySource
534    }
535    STATUS current
536    DESCRIPTION
537        "A collection of objects providing the global configuration of
538        the outsourcing of QoS policy source on the device."
539    ::= { ciscoQosPolicyConfigMIBGroups 3 }
540
541qosPrInterfaceGroup OBJECT-GROUP
542    OBJECTS {
543        qosPrIfAdminPolicySource,
544        qosPrIfOperPolicySource
545    }
546    STATUS current
547    DESCRIPTION
548        "A collection of objects providing the interface level
549        configuration of the provisioning of QoS policy source on the
550        device."
551    ::= { ciscoQosPolicyConfigMIBGroups 4 }
552
553qosInterfaceCapabilityGroup OBJECT-GROUP
554    OBJECTS {
555        qosIfCapabilities
556    }
557    STATUS current
558    DESCRIPTION
559        "A collection of object providing the QoS capabilities of the
560        interface on the device to help QoS policy configuration."
561    ::= { ciscoQosPolicyConfigMIBGroups 5 }
562
563qosCopsPolicyStatusGroup  OBJECT-GROUP
564    OBJECTS {
565        qosCopsPolicyStatus
566    }
567    STATUS current
568    DESCRIPTION
569        "A collection of object providing the status of QoS policy
570        downloaded from COPS server."
571    ::= { ciscoQosPolicyConfigMIBGroups 6 }
572
573END
574