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