-- ***************************************************************** -- CISCO-QOS-POLICY-CONFIG-MIB: Mib for QoS policy configuration. -- -- November 2000, Frank Chao -- -- Copyright (c) 2000 by Cisco Systems, Inc. -- All rights reserved. -- ***************************************************************** -- CISCO-QOS-POLICY-CONFIG-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF TruthValue, TEXTUAL-CONVENTION FROM SNMPv2-TC ifIndex FROM IF-MIB ciscoMgmt FROM CISCO-SMI QosInterfaceQueueType FROM CISCO-QOS-PIB-MIB ; ciscoQosPolicyConfigMIB MODULE-IDENTITY LAST-UPDATED "200011021030Z" ORGANIZATION "Cisco Systems Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W. Tasman Drive San Jose, CA 95134, USA Tel: +1 800 553-NETS E-mail: cs-wbu@cisco.com" DESCRIPTION "This MIB module defines managed objects that support the policy source configuration of Quality of Service (QoS) on the device. Terminology : Common Open Policy Service (COPS) : A client/server model for supporting policy control over QoS Signaling Protocols and provisioned QoS resource management, etc. COPS is a query and response protocol that can be used to exchange policy information between a policy server (Policy Decision Point or PDP) and its clients (Policy Enforcement Points or PEPs). Policy Information Base (PIB) : The database of policy information stored in the COPS client device. QoS : The method which attempts to ensure that the network requirements of different applications can be met by giving preferential forwarding treatment to some traffic, perhaps at the expense of other traffic. QoS policy : a set of parameters used to achieve QoS purpose. The device uses these parameters in flow classification, flow scheduling, flow policing and codepoint mutation. RSVP : Resource Reservation Protocol. RSVP is a signaling mechanism that the application will use to signal parameters to the network, so that network can assign QoS for the application data stream. COPS-PR : a COPS client type which supports device's provisioning of QoS policy. COPS-RSVP : a COPS client type which supports device's outsourcing of QoS policy (RSVP). " REVISION "200011021030Z" DESCRIPTION "Revised version from CISCO-QOS-CONFIG-MIB. The original OID is assigned to CISCO-QOS-CONFIG-MIB and then after discussing with people in COPS group, we decided to change the name of the MIB. And also adding some objects to reflect the difference between users' QoS policy configuration and runtime QoS policy configuration." REVISION "200002261930Z" DESCRIPTION "Initial version of this MIB module." -- REFERENCE -- "See also CISCO-COPS-CLIENT-MIB and CISCO-QOS-PIB-MIB." ::= { ciscoMgmt 159 } -- Textual Conventions used in the Qos Config MIB. QosPolicySource ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The source where a device obtains QoS policy. none (1) indicates that there is no QoS policy applied on this device. And this value only can be read and cannot be set by the users. local (2) indicates that the QoS policy is from local device configuration. For example, the QoS policy can be configured through command line interface (CLI). cops (3) indicates that the QoS policy is from a COPS server." SYNTAX INTEGER { none (1), -- read-only, users cannot set this value. local (2), cops (3) } -- -- Overview of MIB Objects: -- ciscoQosPolicyConfigMIBObjects OBJECT IDENTIFIER ::= { ciscoQosPolicyConfigMIB 1 } -- object groups qosPolicyGlobalObjects OBJECT IDENTIFIER ::= { ciscoQosPolicyConfigMIBObjects 1 } qosPolicyInterfaceObjects OBJECT IDENTIFIER ::= { ciscoQosPolicyConfigMIBObjects 2 } -- -- -- The qosPolicyGlobalObjects group -- -- qosEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether the QoS feature is enabled on the device. true(1) means that the QoS feature is enabled on this device. false(2) means that the QoS feature is disabled. All the QoS policy on the device will be ignored." DEFVAL { false } ::= { qosPolicyGlobalObjects 1 } qosPrAdminPolicySource OBJECT-TYPE SYNTAX QosPolicySource MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the desired source of a device's provisioning of QoS policy for the whole device. Actually, the source of an interface's provisioning of QoS policy is controlled by two level configurations. The first level is the system level to be the global control for the whole device. This object is for the system level. The second level is for each individual interface. The qosPrIfAdminPolicySource is for the interface level. So, the value of this object will decide that the value of qosPrIfAdminPolicySource can take precedence or not. If this object is configured to cops(3), the value of qosPrIfAdminPolicySource has the precedence configuration of the interface's provisioning of QoS policy source. That is to say if this object is configured to local(2), then the value of qosPrIfAdminPolicySource will be ignored. It means the provisioning of QoS policy source of all the interfaces in this device will be from local information if this MIB is configured to local(2). If this object is configured to cops(3), then the final provisioning of QoS policy of an interface is determined by the configuration of the qosPrIfAdminPolicySource object of that interface. Changing qosPrIfAdminPolicySource of an interface from cops(3) to local(2) while the value of this object is cops(3) makes the interface discard the QoS provisioning policy from the COPS server and uses the local QoS provisioning policy configuration instead." DEFVAL { local } ::= { qosPolicyGlobalObjects 2 } qosPrOperPolicySource OBJECT-TYPE SYNTAX QosPolicySource MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the operational source of a device's provisioning of QoS policy. Note that when qosPrAdminPolicySource transitions to cops(3), qosPrOperPolicySource will normally also transition to cops(3). In this situation, it is possible that qosPrOperPolicySource's transition will not occur immediately because the system is initializing the COPS function at the system booting up time, but rather after a small time lag to complete certain operations before going 'cops'." ::= { qosPolicyGlobalObjects 3 } qosRsvpAdminPolicySource OBJECT-TYPE SYNTAX QosPolicySource MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the desired source of a device's outsourcing of QoS policy. Outsourcing means the policy information is from outside source not from local information." DEFVAL { local } ::= { qosPolicyGlobalObjects 4 } qosRsvpOperPolicySource OBJECT-TYPE SYNTAX QosPolicySource MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the current operational source of a device's outsourcing of QoS policy. Note that when qosRsvpAdminPolicySource transitions to cops(3), qosRsvpOperPolicySource will normally also transition to cops(3). In this situation, it is possible that qosRsvpOperPolicySource's transition will not occur immediately because the system is initializing the COPS function at the system boot up time, but rather after a small time lag to complete certain operations before going 'cops'." ::= { qosPolicyGlobalObjects 5 } qosCopsPolicyStatus OBJECT-TYPE SYNTAX INTEGER { keep(1), discard(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether the QoS policy downloaded from COPS server should be kept or discarded by the system while the COPS function is not running in the system or the connection between PDP and PEP is lost or any other reason that system cannot get the QoS policy from COPS server." ::= { qosPolicyGlobalObjects 6 } -- -- The qosPrIfObjects group -- qosPrIfTable OBJECT-TYPE SYNTAX SEQUENCE OF QosPrIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of interface entries. An entry will exist for each interface which can support the provisioning of QoS policy feature." ::= { qosPolicyInterfaceObjects 1 } qosPrIfEntry OBJECT-TYPE SYNTAX QosPrIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing the configuration of provisioning of QoS policy of a particular interface." INDEX { ifIndex } ::= { qosPrIfTable 1 } QosPrIfEntry ::= SEQUENCE { qosPrIfAdminPolicySource QosPolicySource, qosPrIfOperPolicySource QosPolicySource } qosPrIfAdminPolicySource OBJECT-TYPE SYNTAX QosPolicySource MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates the desired source of QoS provision policy for this interface. This object is only effective when the value of qosPrOperPolicySource is cops(3) and the value of qosEnabled is true(1)." DEFVAL { cops } ::= { qosPrIfEntry 1 } qosPrIfOperPolicySource OBJECT-TYPE SYNTAX QosPolicySource MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the operational source of QoS provisioning policy for this interface. When the value of the object qosPrOperPolicySource is local(2), the QoS provisioning policy for this interface is taken from device's local configuration. If qosPrOperPolicySource is configured to cops(3), the current operational source of QoS provisioning policy will depend on the configuration of qosPrIfAdminPolicySource object. Here is the logic. IF qosPrOperPolicySource == local(2) THEN qosPrIfOperPolicySource is local(2) ELSE IF qosPrOperPolicySource == cops(3) THEN IF qosPrIfAdminPolicySource == cops(3) THEN qosPrIfOperPolicySource is cops(3) ELSE qosPrIfOperPolicySource is local(2) ELSE qosPrIfOperPolicySource is none(1) END END For example, if qosPrOperPolicySource shows local(2), although the qosPrIfAdminPolicySource is configured cops(3), the QoS provisioning policy running on this interface is from local device configuration. It means this object will be local(2). Note that when qosPrIfAdminPolicySource transitions to cops(3) if qosPrOperPolicySource is cops(3), qosPrIfOperPolicySource will normally also transition to cops(3). In this situation, it is possible that qosPrIfOperPolicySource's transition will not occur immediately because the system is initializing the COPS function at the system boot up time, but rather after a small time lag to complete certain operations before going 'cops'." ::= { qosPrIfEntry 2 } -- -- QoS Interface Capability Table -- qosIfCapabilityTable OBJECT-TYPE SYNTAX SEQUENCE OF QosIfCapabilityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of interface entries. An entry will exist for each interface which can support the QoS feature." ::= { qosPolicyInterfaceObjects 2 } qosIfCapabilityEntry OBJECT-TYPE SYNTAX QosIfCapabilityEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A description of an interface's QoS capabilities." INDEX { ifIndex, qosIfDirection, qosIfQType } ::= { qosIfCapabilityTable 1 } QosIfCapabilityEntry ::= SEQUENCE { qosIfDirection INTEGER, qosIfQType QosInterfaceQueueType, qosIfCapabilities BITS } qosIfDirection OBJECT-TYPE SYNTAX INTEGER { ingress(1), egress(2), both(3) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "The traffic direction of the interface. 'ingress' means the traffic coming in the interface. 'egress' means the traffic going out the interface. 'both' means the traffic coming in and going out." ::= { qosIfCapabilityEntry 1 } qosIfQType OBJECT-TYPE SYNTAX QosInterfaceQueueType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The interface type in terms of number of queues and thresholds. A queue is a buffer for storing network packets. A threshold is a water mark used to control traffic amount of a queue." ::= { qosIfCapabilityEntry 2 } qosIfCapabilities OBJECT-TYPE SYNTAX BITS { unspecified (0), -- Classification support inputL2Classification (1), inputIpClassification (2), outputL2Classification (3), outputIpClassification (4), inputPortClassification (19), outputPortClassification (20), -- Policing support inputUflowPolicing (5), inputAggregatePolicing (6), outputUflowPolicing (7), outputAggregatePolicing (8), policeByMarkingDown (9), policeByDropping (10), inputUflowShaping (21), inputAggregateShaping (22), outputUflowShaping (23), outputAggregateShaping (24), -- Supported scheduling mechanisms fifo (11), wrr (12), wfq (13), cq (14), pq (15), cbwfq (16), pqWrr (25), pqCbwfq (26), -- Supported congestion control mechanisms tailDrop (17), wred (18) } MAX-ACCESS read-only STATUS current DESCRIPTION "An enumeration of interface capabilities. Used by the management side to select policies and configuration to push to the device." ::= { qosIfCapabilityEntry 3 } -- -- Notifications -- ciscoQosPolicyMIBNotifications OBJECT IDENTIFIER ::= { ciscoQosPolicyConfigMIB 2 } -- -- Conformance -- ciscoQosPolicyConfigMIBConformance OBJECT IDENTIFIER ::= { ciscoQosPolicyConfigMIB 3 } ciscoQosPolicyConfigMIBCompliances OBJECT IDENTIFIER ::= { ciscoQosPolicyConfigMIBConformance 1 } ciscoQosPolicyConfigMIBGroups OBJECT IDENTIFIER ::= { ciscoQosPolicyConfigMIBConformance 2 } -- Compliance ciscoQosPolicyConfigMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for the CISCO-QOS-POLICY-CONFIG-MIB." MODULE GROUP qosGlobalGroup DESCRIPTION "The group must be implemented in the Cisco devices Catalyst 6000 serires switch." OBJECT qosEnabled MIN-ACCESS read-only DESCRIPTION "If the device doesn't support the ability to enable/disable QoS function, the object is only required to be read-only." GROUP qosPrGlobalGroup DESCRIPTION "If the device supports COPS-PR, it supports this group." GROUP qosRsvpGlobalGroup DESCRIPTION "If the device supports COPS-RSVP, it supports this group." GROUP qosPrInterfaceGroup DESCRIPTION "A device which allows COPS-PR to be enabled on a per-interface basis supports this group." GROUP qosInterfaceCapabilityGroup DESCRIPTION "A device which supports QoS feature to be enabled on a per-interface basis must support this group." GROUP qosCopsPolicyStatusGroup DESCRIPTION "The group should be implemented in the Cisco devices which supports QoS feature." OBJECT qosCopsPolicyStatus MIN-ACCESS read-only DESCRIPTION "If the device doesn't support the ability to configure to keep or discard the QoS policy which is downloaded from COPS server while the COPS function is not working, this object is only required read-only." ::= { ciscoQosPolicyConfigMIBCompliances 1 } -- -- Units of Conformance -- Objects Groups Define -- qosGlobalGroup OBJECT-GROUP OBJECTS { qosEnabled } STATUS current DESCRIPTION "A collection of objects providing the ability to enable/disable QoS feature on the device." ::= { ciscoQosPolicyConfigMIBGroups 1 } qosPrGlobalGroup OBJECT-GROUP OBJECTS { qosPrAdminPolicySource, qosPrOperPolicySource } STATUS current DESCRIPTION "A collection of objects providing the global configuration of the provisioning of QoS policy source on the device." ::= { ciscoQosPolicyConfigMIBGroups 2 } qosRsvpGlobalGroup OBJECT-GROUP OBJECTS { qosRsvpAdminPolicySource, qosRsvpOperPolicySource } STATUS current DESCRIPTION "A collection of objects providing the global configuration of the outsourcing of QoS policy source on the device." ::= { ciscoQosPolicyConfigMIBGroups 3 } qosPrInterfaceGroup OBJECT-GROUP OBJECTS { qosPrIfAdminPolicySource, qosPrIfOperPolicySource } STATUS current DESCRIPTION "A collection of objects providing the interface level configuration of the provisioning of QoS policy source on the device." ::= { ciscoQosPolicyConfigMIBGroups 4 } qosInterfaceCapabilityGroup OBJECT-GROUP OBJECTS { qosIfCapabilities } STATUS current DESCRIPTION "A collection of object providing the QoS capabilities of the interface on the device to help QoS policy configuration." ::= { ciscoQosPolicyConfigMIBGroups 5 } qosCopsPolicyStatusGroup OBJECT-GROUP OBJECTS { qosCopsPolicyStatus } STATUS current DESCRIPTION "A collection of object providing the status of QoS policy downloaded from COPS server." ::= { ciscoQosPolicyConfigMIBGroups 6 } END