idnits 2.17.1 draft-ietf-diffserv-pib-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 83 longer pages, the longest (page 2) being 60 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 84 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Abstract section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 3 instances of too long lines in the document, the longest one being 1 character in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 1065 has weird spacing: '... groups them ...' -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (March 10, 2000) is 8806 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'POLICY' is defined on line 3820, but no explicit reference was found in the text == Unused Reference: 'SNMP-SMI' is defined on line 3828, but no explicit reference was found in the text -- No information found for draft-ietf-rap-cops-pr - is the name correct? -- Possible downref: Normative reference to a draft: ref. 'COPS-PR' == Outdated reference: A later version (-07) exists of draft-ietf-rap-sppi-00 ** Downref: Normative reference to an Historic draft: draft-ietf-rap-sppi (ref. 'SPPI') ** Downref: Normative reference to an Informational RFC: RFC 2475 (ref. 'DSARCH') -- Possible downref: Non-RFC (?) normative reference: ref. 'FR-PIB' -- Possible downref: Normative reference to a draft: ref. 'POLICY' ** Downref: Normative reference to an Informational draft: draft-ietf-rap-framework (ref. 'RAP-FRAMEWORK') == Outdated reference: A later version (-06) exists of draft-ietf-diffserv-model-01 ** Downref: Normative reference to an Informational draft: draft-ietf-diffserv-model (ref. 'MODEL') Summary: 13 errors (**), 0 flaws (~~), 8 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group M. Fine 2 Internet Draft K. McCloghrie 3 Expires September 2000 Cisco Systems 4 J. Seligson 5 K. Chan 6 Nortel Networks 7 S. Hahn 8 Intel 9 A. Smith 10 Extreme Networks 11 Francis Reichmeyer 12 IPHighway 14 March 10, 2000 16 Differentiated Services Quality of Service Policy Information Base 18 draft-ietf-diffserv-pib-00.txt 20 Status of this Memo 22 This document is an Internet-Draft and is in full conformance with all 23 provisions of Section 10 of RFC2026. Internet-Drafts are working 24 documents of the Internet Engineering Task Force (IETF), its areas, and 25 its working groups. Note that other groups may also distribute working 26 documents as Internet-Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference material 31 or to cite them other than as ``work in progress.'' 33 To view the current status of any Internet-Draft, please check the 34 ``1id-abstracts.txt'' listing contained in an Internet-Drafts Shadow 35 Directory, see http://www.ietf.org/shadow.html. 37 DiffServ QoS Policy Information Base March 2000 39 1. Glossary 41 PRC Policy Rule Class. A type of policy data. 42 PRI Policy Rule Instance. An instance of a PRC. 43 PIB Policy Information Base. The database of policy information. 44 PDP Policy Decision Point. See [RAP-FRAMEWORK]. 45 PEP Policy Enforcement Point. See [RAP-FRAMEWORK]. 46 PRID Policy Rule Instance Identifier. Uniquely identifies an 47 instance of a a PRC. 49 2. Introduction 51 [SPPI] describes a structure for specifying policy information that can 52 then be transmitted to a network device for the purpose of configuring 53 policy at that device. The model underlying this structure is one of 54 well defined policy rule classes and instances of these classes residing 55 in a virtual information store called the Policy Information Base (PIB). 57 This document specifies a set of policy rule classes specifically for 58 configuring QoS Policy for Differentiated Services [DSARCH]. 60 One way to provision policy is by means of the COPS protocol [COPS] with 61 the extensions for provisioning [COPS-PR]. This protocol supports 62 multiple clients, each of which may provision policy for a specific 63 policy domain such as QoS. The PRCs defined in this DiffServ QoS PIB 64 are intended for use by the COPS-PR QoS client type. Furthemore, these 65 PRCs are in addition to any other PIBs that may be defined for the QoS 66 client type in the future, as well as the PRCs defined in the Framework 67 PIB [FR-PIB] 69 3. DiffServ PIB Concepts 71 3.1. Filters, Filter Groups and Classifiers 73 The basis of differential QoS treatment of packets is a filter. This is 74 simply a general specification for matching a pattern to appear in 75 packets belonging to flows, e.g. microflows or bandwidth aggregates. 76 Associated with each filter is a permit/deny flag which effectively 77 gives a negation operation. 79 Sets of these filters are used to create classifiers. Classifiers are 80 applied to interfaces with a direction flag to indicate an ingress or 81 egress classifier. Filters are combined, in order, into filter groups; 83 DiffServ QoS Policy Information Base March 2000 85 filter groups are then combined, in order, to build a classifier. This 86 allows a rudimentary classification grammar to be defined. On input, 87 each packet is checked against the ingress classifier on the interface. 88 Similarly, on output each packet is checked against the egress 89 classifier on the interface. The result of the classifier then feeds 90 into appropriate meters and actions to be applied to packets. 92 For each classifier, the packet is checked against the set of filter 93 groups in the appropriate order. The detailed operation of the PIB 94 syntax is as follows. If a packet matches a filter in the first filter 95 group of a classifier and the sense is "permit" then the subsequent 96 meters and actions associated with that classifier are applied to that 97 packet and no further filters are compared. If the sense is "deny" then 98 the rest of the filters in the current filter group are skipped and 99 operation proceeds with the first filter of the next filter group. If 100 the packet does not match any of the filters in the filter group then 101 the next filter group is tried. This process is continued until a 102 definitive match is obtained. Each classifier must cover all possible 103 matches i.e., it must be complete. 105 3.2. Applying QoS Policy Using Targets 107 The task of applying QoS policy within a network requires the 108 specification of several components. The flows to which QoS policy 109 should be applied must be identified. The interfaces of the device on 110 which the policy should be enforced must be known. A certain set of 111 parameters to support flow metering is also required. The combination of 112 these components provides the target against which QoS policy is to be 113 applied. Within the context of the QoS PIB, the association between 114 these components is defined efficiently using the Target class. 116 The Target class serves to logically link several other QoS policy 117 classes. Flow classification rules, specifying behavior aggregate (BA) 118 or multi-field (MF) classification parameters, are indirectly identified 119 using the PRC for the appropriate classification class (e.g., IP, 802) 120 coupled with an identifier for a specific classifier. Interface 121 information is specified using the role combination tag, defined in the 122 Interface Type class, to identify the group of interfaces on which 123 classification is to be performed. The direction of packet flow on the 124 identified interfaces is provided as well. A link to the metering 125 component is provided using the PRC for the appropriate metering class 126 instance. 128 Once a target has been defined, actions based on the classification and 129 metering phases must be specified. Action class instances are linked 131 DiffServ QoS Policy Information Base March 2000 133 with the Target entry through the associated Meter class instance. A 134 precedence component is also provided so that a definitive order of 135 evaluation may be defined for Target class instances being applied to 136 the same interface role and flow direction targets. The Target class 137 thus functions as the integration point for the range of components used 138 for the application of QoS policy. 140 3.3. Interface Modeling with Queue Sets 142 The traffic processing capabilities of an interface are determined by 143 the queuing resources that are associated with the interface. These 144 capabilities are represented abstractly using queue sets. A queue set 145 is comprised of one or more individual queues. The PDP creates the 146 queue sets, configures the parameters of the individual queues, 147 configures the scheduling discipline to be used to schedule the queues 148 and then assigns a queue set to each 149 tuple. In this way, the PDP sets the scheduling policy for each 150 interface based on the role combination of the interface and the type of 151 the interface. 153 In order for the PDP to configure a queue set that can be properly 154 realized by an interface, the PEP reports to the PDP the types of 155 interfaces it has together with various capabilities and configuration 156 limits (such as the maximum number of queues an interface could support) 157 of the interface types. 159 It should be emphasized that the PDP does not configure individual 160 interfaces directly. Rather, it configures them indirectly by 161 specifying the configuration for each interface type and role 162 combination pair. It is the responsibility of the PEP to apply the 163 queue set characteristics, and hence the interface scheduling 164 configuration, to the individual interfaces on the basis of the type and 165 role combination information. 167 3.3.1. Queue Scheduling 169 There are two basic scheduling disciplines supported by queue sets: 170 priority queueing and weighted fair queueing. To support these, each 171 queue is assigned a priority which is then used to determine a strict 172 processing order between queues. However, several queues may be 173 assigned the same priority. In this case, these queues form a group, 174 called a priority group, and are scheduled using WFQ. In other words, 175 service is given to the priority group with the highest priority that 176 has any non-empty queue. Within a priority group queues are serviced 178 DiffServ QoS Policy Information Base March 2000 180 using WFQ. 182 3.3.2. Assigning Packets To Queues and Thresholds 184 In keeping with the DiffServ model of classifying packets into behaviour 185 classes and then providing service suitable for that behaviour, packets 186 are assigned to queues on the basis of their final DSCP values. 187 Furthermore, each queue is configured with a set of thresholds to 188 support multiple discard priorities for the PHBs in a PHB group. 189 Packets are assigned to thresholds within a queue on the basis of their 190 DSCPs. The PDP is responsible for this assignment of DSCP values to 191 queues and the associated thresholds. 193 3.3.3. Hierarchies of Queues 195 Sometimes policy may require hierachies of queues. For example, a 196 department might has some set of traffic classes with a defined 197 scheduling policy between these classes. Multiple departments might 198 then share a link with there being a defined scheduling policy between 199 traffic from the various depertments. 201 The PIB does not support hierarchical queueing at this time. However, 202 we expect to add this support in the future by allowing the traffic from 203 one queue set to feed into the queues of another queue set. 205 3.4. IP Mapping to and from Layer 2 207 The PIB specifies QoS policy by assigning DSCP values to specific 208 queues, but in order to provide a complete QoS picture, the PIB must 209 consider that not all devices on the network are DiffServ capable, i.e., 210 capable of setting/inspecting a packet's DSCP value. Specifically, the 211 network might include layer 2 devices (switches) that can only support 212 IEEE 802.1p classes of service. In order to support network 213 configuration that consists of DiffServ capable devices and devices that 214 can only support IEEE 802.1p, the PIB has included a mapping table that 215 can allow the DSCP values to be mapped to specific IEEE 802.1p tag 216 values. 218 DSCP ---------- DSCP -------- DSCP ---------- DSCP 220 DiffServ QoS Policy Information Base March 2000 222 ----->|diffserv|--------->|L2 |--------->|diffserv|------> 223 | router | 802.1p |switch| 802.1p | router | 802.1p 224 ---------- priority -------- priority ---------- priority 226 A second case exists where packets coming into the network are arriving 227 from a non-DiffServ enabled device and no DSCP exists with in the 228 packet, but an 802.1p tag does exist. In the case where the DiffServ 229 device has the ability to set a DSCP in the packet, the DiffServ router 230 can map the layer 2 tag into a DSCP value. The PIB supports a mapping 231 table that can be used to map from the layer 2 tag to a DSCP value. 232 This mapping would be configured to apply to those ports where the 233 upstream device marks packets using a L2 802.1p tag as shown in the 234 figure below. 236 ---------- ------------ DSCP 237 -->| L2 |--------->| diffserv |-------> 238 -->| switch | 802.1p | router | 802.1p 239 ---------- priority ------------ priority 241 Alternatively, the DiffServ router can have policies applied to it that 242 cause it to reclassify the incoming packet using a MF classifier, 243 ignoring the incoming 802.1p tag. 245 4. Summary of the DiffServ PIB 247 The DiffServ PIB consists of two modules. The first, DIFFSERV-BASE-PIB 248 contains all the base PRCs for setting DiffServ policy, queues, 249 classifiers, meters, etc., and also contains filters for matching IP 250 packets. The second, the DIFFSERV-802-PIB contains PRCs to map the IEEE 251 802.3 class of service values to DiffServ code points and filters for 252 matching on the datalink headers of 802.3 frames. Devices are not 253 required to support the second module. 255 These two modules comprise several groups which are summarized in this 256 section. 258 QoS Interface Group 259 This group consists of PRCs to indicate to the PDP the types of 260 interface supported on the PEP in terms of their QoS capabilities 261 and PRCs that the PDP can install in order to configure these 262 interfaces (queues, scheduling parameters, buffer sizes, etc.) to 263 affect the desired policy. This group describes capabilities in 265 DiffServ QoS Policy Information Base March 2000 267 terms of the types of interfaces and takes configuration in terms 268 of interface types and role combinations [FR-PIB]; it does not deal 269 with individual interfaces on the device. 271 QoS Metering Group 272 This group contains configuration of meters. These meters can then 273 be used to by target classes to specify metering policy. 275 QoS Action Group 276 This group contains the policies that define the action to be taken 277 after the result of the classification and metering. This group 278 also contains the policies that associate the classifiers, meters 279 and actions. 281 IP Classification and Policing Group 282 This group contains the policies that define the IP classifier 283 elements. 285 802 Config Group 286 This group configures the relationship between 802.3 class of 287 service values and DiffServ codepoints. 289 802 Classification and Policing Group 290 This group contains the policies that define the IEEE 802 291 classifier elements. 293 5. PIB Operational Overview 295 This section provides an operation overview of configuring DiffServ QoS 296 policy. 298 After initial PEP to PDP communication setup, using [COPS-PR] for 299 example, the PEP will provide to the PDP the PIB Policy Rule Classes 300 (PRCs), interface types, and interface type capabilities it supports. 302 The PRCs supported by the PEP are reported to the PDP in the PRC Support 303 Table, policyPrcSupportTable defined in the framework PIB. Each 304 instance of the policyPrcSupportTable indicates a PRC that the PEP 305 understands and for which the PDP can send class instances as part of 306 the policy information. 308 The interface types the PEP supports are described by rows in the 309 interface type table, qosIfTypeTable. Each row, or instance of this 310 class describes the characteristics of an interface type. The PEP 312 DiffServ QoS Policy Information Base March 2000 314 informs the PDP of these interface types and then the PDP configures the 315 interfaces, per role combination, by means of installing queue sets. 317 The PDP, with knowledge of the PEP's capabilities, then provides the PEP 318 with: 320 (1) Administration domain policy information in 321 qosIfDscpAssignTable 322 qos802DscpMappingTable 323 qos802CosToDscpTable 325 (2) Interface type and role specific IP policy information in 326 qosIpAceTable 327 qosIpAclDefinitionTable 328 qosActionTable 329 qosTargetTable 330 qosMeterTable 332 (3) Interface type and role specific IEEE 802 policy information in 333 qos802AceTable 334 qos802AclDefinitionTable 336 Instances of the qosTargetTable define how the Traffic Conditioning 337 Elements are combined into Traffic Conditioning Blocks, as described in 338 [MODEL]. Each instance of the qosTargetTable applies to an interface 339 type defined by its roles and direction (ingress or egress). This is 340 pictured in the following diagram where the InterfaceRoles X, and Y 341 would be used by the network device to associate the traffic 342 conditioning block with the interfaces needing each of thess policies. 344 +----------------------------+ +----------------------------+ 345 | qosIpAclDefinitionEntries | | qosTargetEntry | 346 | with AclType = IP | | with AclType = IP | 347 | AclId = 1 | <------------ AclId = 1 | 348 | referencing its list of | | InterfaceRoles = X | 349 | qosIpAceEntries | | Order = 5 | 350 +----------------------------+ | Meter -----+ | 351 +-------------------|--------+ 352 | 353 v 354 +----------------+ 355 | qosMeterEntry | 356 +----------------+ 357 | 358 v 360 DiffServ QoS Policy Information Base March 2000 362 +----------------+ 363 | qosActionEntry | 364 +----------------+ 366 +----------------------------+ +----------------------------+ 367 | qos802AclDefinitionEntries | | qosTargetEntry | 368 | with AclType = 802 | | with AclType = 802 | 369 | AclId = 10 | <------------ AclId = 10 | 370 | referencing its list of | | InterfaceRoles = Y | 371 | qos802AceEntries | | Order = 15 | 372 +----------------------------+ | Meter -----+ | 373 +-------------------|--------+ 374 | 375 v 376 +----------------+ 377 | qosMeterEntry | 378 +----------------+ 379 | 380 v 381 +----------------+ 382 | qosActionEntry | 383 +----------------+ 385 Figure 7.1 DiffServ PIB Table Relationships 387 Notice in the above diagram, IEEE 802 type classifiers are intermixed 388 with the IP type classifiers, sharing the same pool of Traffic 389 Conditioning Elements. The qosTargetTable allows use of heterogeneous 390 classifiers with same instance of qosMeterTable. Using IP and IEEE 802 391 classifiers together is just one example. Other types of classifiers 392 may be used heterogeneously. 394 After receiving the PIB, the PEP will associate the Classifier, Meter 395 and Action with the corresponding interfaces supporting the specific 396 interface type and roles. 398 DiffServ QoS Policy Information Base March 2000 400 6. PIB Definitions 402 NOTE 403 In these PIB definitions, we use the term "access control entry" (ACE) 404 synonymous with filter, "access control list" (ACL) synonymous with 405 filter group, and sets of ACLs synonymous with classifier. 407 6.1. The DiffServ Base PIB 409 DIFFSERV-BASE-PIB PIB-DEFINITIONS ::= BEGIN 411 IMPORTS 412 Unsigned32, IpAddress, Integer32, 413 MODULE-IDENTITY, OBJECT-TYPE 414 FROM COPS-PR-SPPI 415 TruthValue, TEXTUAL-CONVENTION 416 FROM SNMPv2-TC 417 PolicyInstanceId, PolicyReferenceId 418 FROM COPS-PR-SPPI; 419 RoleCombination 420 FROM POLICY-FRAMEWORK-PIB; 422 qosPolicyIpPib MODULE-IDENTITY 423 CLIENT-TYPE { tbd -- QoS Client Type 424 } 425 LAST-UPDATED "200003101800Z" 426 ORGANIZATION "IETF DIFFSERV WG" 427 CONTACT-INFO " 428 Michael Fine 429 Cisco Systems, Inc. 430 170 West Tasman Drive 431 San Jose, CA 95134-1706 USA 432 Phone: +1 408 527 8218 433 Email: mfine@cisco.com 435 Keith McCloghrie 436 Cisco Systems, Inc. 437 170 West Tasman Drive, 438 San Jose, CA 95134-1706 USA 439 Phone: +1 408 526 5260 440 Email: kzm@cisco.com 442 John Seligson 444 DiffServ QoS Policy Information Base March 2000 446 Nortel Networks, Inc. 447 4401 Great America Parkway 448 Santa Clara, CA 95054 USA 449 Phone: +1 408 495 2992 450 Email: jseligso@nortelnetworks.com" 451 DESCRIPTION 452 "The PIB module containing a set of policy rule classes 453 that describe quality of service (QoS) policies for 454 DiffServ. It includes general classes that may be extended 455 by other PIB specifications as well as a set of PIB 456 classes related to IP processing." 458 ::= { tbd } 460 qosPolicyGenPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 1 } 461 qosPolicyIpPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 2 } 463 -- 464 -- Textual Conventions 465 -- 467 -- 468 -- DiffServ Codepoint 469 -- 471 Dscp ::= TEXTUAL-CONVENTION 472 STATUS current 473 DESCRIPTION 474 "An integer that is in the range of the DiffServ codepoint 475 values." 477 SYNTAX INTEGER (0..63) 479 -- 480 -- Interface types 481 -- 483 QosInterfaceQueueCount ::= TEXTUAL-CONVENTION 484 STATUS current 485 DESCRIPTION 486 "An integer that describes the number of queues an interface 487 supports. It is limited to the number of DSCP values." 489 SYNTAX INTEGER (1..64) 491 DiffServ QoS Policy Information Base March 2000 493 -- 494 -- QoS Interface Group 495 -- 496 -- 497 -- This group specifies the configuration of the various interface 498 -- types including the configuration of queue sets, setting of 499 -- queueing parameters and the mapping of DSCPs to thresholds in 500 -- queues. 502 qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 } 504 -- 505 -- Interface Type Table 506 -- 508 qosIfTypeTable OBJECT-TYPE 509 SYNTAX SEQUENCE OF QosIfTypeEntry 510 POLICY-ACCESS notify 511 STATUS current 512 DESCRIPTION 513 "Interface type definitions. This class describes the types 514 of interfaces that exist on the device. An interface type is 515 defined by its name. Associated with each interface type is a 516 set of capabilities. These capabilities are used by the PDP 517 to determine suitable queue sets for interfaces of this type." 519 ::= { qosIfParameters 1 } 521 qosIfTypeEntry OBJECT-TYPE 522 SYNTAX QosIfTypeEntry 523 STATUS current 524 DESCRIPTION 525 "An instance of this class describes the characteristics 526 of a type of an interface." 528 INDEX { qosIfTypePrid } 529 UNIQUENESS { qosIfTypeName, 530 qosIfTypeCapabilityPrc } 532 ::= { qosIfTypeTable 1 } 534 QosIfTypeEntry ::= SEQUENCE { 535 qosIfTypePrid PolicyInstanceId, 536 qosIfTypeName SnmpAdminString 538 DiffServ QoS Policy Information Base March 2000 540 qosIfTypeCapabilityPrc OBJECT IDENTIFIER, 541 qosIfTypeCapabilityId PolicyReferenceId 542 } 544 qosIfTypePrid OBJECT-TYPE 545 SYNTAX PolicyInstanceId 546 STATUS current 547 DESCRIPTION 548 "An arbitrary integer index that uniquely identifies a 549 instance of the class." 551 ::= { qosIfTypeEntry 1 } 553 qosIfTypeName OBJECT-TYPE 554 SYNTAX SnmpAdminString 555 STATUS current 556 DESCRIPTION 557 "The name of the interface type. The interface type name is 558 the unique identifier of an interface type." 560 ::= { qosIfTypeEntry 2 } 562 qosIfTypeCapabilityPrc OBJECT-TYPE 563 SYNTAX OBJECT IDENTIFIER 564 STATUS current 565 DESCRIPTION 566 "A reference to a PRC that specifies a set of interface 567 capabilities. Together with the qosIfTypeCapabilityId, 568 this specifies a PRI that contains a set of capabilities 569 associated with this interface type. 571 A given interface type may have several set of capabilities 572 associated with it as long no two sets are of the same PRC. 573 In this way, new capabilities can easily be added to the PIB 574 as new interface types are developed by simply adding new 575 capability PRCs." 577 ::= { qosIfTypeEntry 3 } 579 qosIfTypeCapabilityId OBJECT-TYPE 580 SYNTAX PolicyReferenceId 581 STATUS current 582 DESCRIPTION 583 "The instance ID of the PRI of class 584 qosIfTypeCapabilityPrc containing capabilities of the 586 DiffServ QoS Policy Information Base March 2000 588 interface." 590 ::= { qosIfTypeEntry 4 } 592 -- 593 -- Interface Type Role Combination Table 594 -- 596 qosIfTypeRoleComboTable OBJECT-TYPE 597 SYNTAX SEQUENCE OF QosIfTypeRoleComboEntry 598 POLICY-ACCESS notify 599 STATUS current 600 DESCRIPTION 601 "Policy for an interface may depend not only on the type 602 of interface but also on its roles. This table specifies all 603 the tuples currently on the 604 device." 606 ::= { qosIfParameters 2 } 608 qosIfTypeRoleComboEntry OBJECT-TYPE 609 SYNTAX QosIfTypeRoleComboEntry 610 STATUS current 611 DESCRIPTION 612 "An instance of this class describes the combinations of 613 interface type and role combination." 615 INDEX { qosIfTypeRoleComboPrid } 616 UNIQUENESS { qosIfTypeRoleComboName, 617 qosIfTypeRoleComboRoles } 619 ::= { qosIfTypeTable 1 } 621 QosIfTypeRoleComboEntry ::= SEQUENCE { 622 qosIfTypeRoleComboPrid PolicyInstanceId, 623 qosIfTypeRoleComboIfName SnmpAdminString, 624 qosIfTypeRoleComboRoles RoleCombination 625 } 627 qosIfTypeRoleComboPrid OBJECT-TYPE 628 SYNTAX PolicyInstanceId 629 STATUS current 630 DESCRIPTION 631 "An arbitrary integer index that uniquely identifies a 633 DiffServ QoS Policy Information Base March 2000 635 instance of the class." 637 ::= { qosIfTypeRoleComboEntry 1 } 639 qosIfTypeRoleComboIfName OBJECT-TYPE 640 SYNTAX SnmpAdminString 641 STATUS current 642 DESCRIPTION 643 "The name of the interface type. This name must exist in 644 qosIfTypeTable." 646 ::= { qosIfTypeRoleComboEntry 2 } 648 qosIfTypeRoleComboRoles OBJECT-TYPE 649 SYNTAX RoleCombination 650 STATUS current 651 DESCRIPTION 652 "A role combination. The PEP requires policy for interface 653 with this role combination and of type 654 qosIfTypeRoleComboName" 656 ::= { qosIfTypeRoleComboEntry 3 } 658 -- 659 -- Interface Type Capability Tables 660 -- 661 -- The Interface type capability tables define capabilities that may 662 -- be associated with an interface of a specific type. This PIB 663 -- defines three such tables: a classification capabilities table, a 664 -- policing capabilities table and a scheduling capabilities table. 665 -- Other PIBs may define other capability tables to augment the 666 -- capability definitions of these tables or to introduce completely 667 -- new capabilities. 669 -- 670 -- Classification Capabilities 671 -- 673 qosIfTypeClassificationCapsTable OBJECT-TYPE 674 SYNTAX SEQUENCE OF QosIfTypeClassificationCapsEntry 675 POLICY-ACCESS notify 676 STATUS current 677 DESCRIPTION 678 "This table specifies the classification capabilities of an 680 DiffServ QoS Policy Information Base March 2000 682 interface type" 684 ::= { qosIfParameters 3 } 686 qosIfTypeClassificationCapsEntry OBJECT-TYPE 687 SYNTAX QosIfTypeClassificationEntry 688 STATUS current 689 DESCRIPTION 690 "An instance of this class describes the classification 691 capabilities of an interface." 693 INDEX { qosIfTypeClassificationCapsPrid } 694 UNIQUENESS { qosIfTypeClassificationCaps } 696 ::= { qosIfTypeClassificationCapsTable 1 } 698 QosIfTypeClassificationCapsEntry ::= SEQUENCE { 699 qosIfTypeClassificationCapsPrid PolicyInstanceId, 700 qosIfTypeClassificationCaps BITS 701 } 703 qosIfTypeClassificationCapsPrid OBJECT-TYPE 704 SYNTAX PolicyInstanceId 705 STATUS current 706 DESCRIPTION 707 "An arbitrary integer index that uniquely identifies a 708 instance of the class." 710 ::= { qosIfTypeClassificationCapsEntry 1 } 712 qosIfTypeClassificationCaps OBJECT-TYPE 713 SYNTAX BITS { 714 inputIpClassification(1), 715 outputIpClassification(2), 716 -- Indicates the ability to classify IP 717 -- packets on ingress and on egress, 718 -- respectively. 720 ipAddrClassification(3), 721 -- indicates the ability to classify based on 722 -- IP addresses 723 ipProtoClassification(4), 724 -- indicates the ability to classify based on 725 -- IP protocol numbers 726 ipL4Classification(4) 728 DiffServ QoS Policy Information Base March 2000 730 -- indicates the ability to classify based on 731 -- IP layer 4 port numbers for UDP and TCP 732 } 733 STATUS current 734 DESCRIPTION 735 "Bit set of supported classification capabilities. In 736 addition to these capabilities, other PIBs may define other 737 capabilities that can then be specified in addition to the 738 ones specified here (or instead of the ones specified here if 739 none of these are specified)." 741 ::= { qosIfTypeClassificationCapsEntry 2 } 743 -- 744 -- Policing Capabilities 745 -- 747 qosIfTypePolicingCapsTable OBJECT-TYPE 748 SYNTAX SEQUENCE OF QosIfTypePolicingCapsEntry 749 POLICY-ACCESS notify 750 STATUS current 751 DESCRIPTION 752 "This table specifies the policing capabilities of an 753 interface type" 755 ::= { qosIfParameters 4 } 757 qosIfTypePolicingEntry OBJECT-TYPE 758 SYNTAX QosIfTypePolicingEntry 759 STATUS current 760 DESCRIPTION 761 "An instance of this class describes the classification 762 capabilities of an interface." 764 INDEX { qosIfTypePolicingCapsPrid } 765 UNIQUENESS { qosIfTypePolicingCaps } 767 ::= { qosIfTypePolicingCapsTable 1 } 769 QosIfTypePolicingCapsEntry ::= SEQUENCE { 770 qosIfTypePolicingCapsPrid PolicyInstanceId, 771 qosIfTypePolicingCaps BITS 772 } 774 DiffServ QoS Policy Information Base March 2000 776 qosIfTypePolicingCapsPrid OBJECT-TYPE 777 SYNTAX PolicyInstanceId 778 STATUS current 779 DESCRIPTION 780 "An arbitrary integer index that uniquely identifies a 781 instance of the class." 783 ::= { qosIfTypePolicingCapsEntry 1 } 785 qosIfTypePolicingCaps OBJECT-TYPE 786 SYNTAX BITS { 787 policeByRemarking (1), 788 policeByDropping (2), 789 -- These capabilities indicate if the interface 790 -- can remark out of profile packets or drop them, 791 -- respectively 793 inputShaping (3), 794 outputShaping (4) 795 -- indicate if the interface can shape on ingress 796 -- or on egress, respectively. 798 } 799 STATUS current 800 DESCRIPTION 801 "Bit set of supported classification capabilities. As with 802 classification capabilities, these policing capabilities may 803 be augmented by capabilities specified in other PRCs (in other 804 PIBs)." 806 ::= { qosIfTypePolicingCapsEntry 2 } 808 -- 809 -- Scheduling Capabilities 810 -- 812 qosIfTypeSchedulingCapsTable OBJECT-TYPE 813 SYNTAX SEQUENCE OF QosIfTypeSchedulingCapsEntry 814 POLICY-ACCESS notify 815 STATUS current 816 DESCRIPTION 817 "This table specifies the scheduling capabilities of an 818 interface type" 820 DiffServ QoS Policy Information Base March 2000 822 ::= { qosIfParameters 5 } 824 qosIfTypeSchedulingEntry OBJECT-TYPE 825 SYNTAX QosIfTypeSchedulingEntry 826 STATUS current 827 DESCRIPTION 828 "An instance of this class describes the classification 829 capabilities of an interface." 831 INDEX { qosIfTypeSchedulingCapsPrid } 832 UNIQUENESS { qosIfTypeSchedulingCapsMaxQueues, 833 qosIfTypeSchedulingCapsMaxThresholds, 834 qosIfTypeSchedulingCapsMaxPriorities, 835 qosIfTypeSchedulingCapsServiceDisc, 836 qosIfTypeSchedulingCapsMinQueueSize, 837 qosIfTypeSchedulingCapsMaxQueueSize, 838 qosIfTypeSchedulingCapsTotalQueueSize, 839 qosIfTypeSchedulingCapsWredCapable } 841 ::= { qosIfTypeSchedulingCapsTable 1 } 843 QosIfTypeSchedulingCapsEntry ::= SEQUENCE { 844 qosIfTypeSchedulingCapsPrid PolicyInstanceId, 845 qosIfTypeSchedulingCapsMaxQueues INTEGER 846 qosIfTypeSchedulingCapsMaxThresholds INTEGER 847 qosIfTypeSchedulingCapsMaxPriorities INTEGER 848 qosIfTypeSchedulingCapsServiceDisc BITS 849 qosIfTypeSchedulingCapsMinQueueSize INTEGER 850 qosIfTypeSchedulingCapsMaxQueueSize INTEGER 851 qosIfTypeSchedulingCapsTotalQueueSize INTEGER 852 qosIfTypeSchedulingCapsWredCapable TruthValue 853 } 855 qosIfTypeSchedulingCapsPrid OBJECT-TYPE 856 SYNTAX PolicyInstanceId 857 STATUS current 858 DESCRIPTION 859 "An arbitrary integer index that uniquely identifies a 860 instance of the class." 862 ::= { qosIfTypeSchedulingCapsEntry 1 } 864 qosIfTypeSchedulingCapsMaxQueues OBJECT-TYPE 865 SYNTAX INTEGER 866 STATUS current 868 DiffServ QoS Policy Information Base March 2000 870 DESCRIPTION 871 "The maximum number of queues that this interface type can 872 support. The queues set assigned to this interface type may 873 not have more queues than this maximum. A value of zero means 874 that there is no maximum." 876 ::= { qosIfTypeSchedulingCapsEntry 2 } 878 qosIfTypeSchedulingCapsMaxThresholds OBJECT-TYPE 879 SYNTAX INTEGER 880 STATUS current 881 DESCRIPTION 882 "The maximum number of drop thresholds that each queue 883 supports. If the interface has a different number of 884 thresholds for each of its queues, it must report the maximum 885 number of thresholds any of the queues supports. The value of 886 this attribute must be one or more." 888 ::= { qosIfTypeSchedulingCapsEntry 3 } 890 qosIfTypeSchedulingCapsMaxPriorities OBJECT-TYPE 891 SYNTAX INTEGER 892 STATUS current 893 DESCRIPTION 894 "The maximum number of priority groups that the the queues of 895 the interface may be grouped into. A value of zero means 896 there is no maximum." 898 ::= { qosIfTypeSchedulingCapsEntry 4 } 900 qosIfTypeSchedulingCapsServiceDisc OBJECT-TYPE 901 SYNTAX BITS { 902 fq(1), -- fair queueing (a.k.a. round robin) 903 wfq(2) -- weighted fq (a.k.a. wrr) 904 STATUS current 905 DESCRIPTION 906 "The scheduling disciplines supported for servicing queues in 907 the same priority group that the interface supports. Several 908 general purpose and well-known queuing disciplines are 909 supported by this attribute. Other queueing disciplines may be 910 specified by setting this attribute to other(1) and providing 911 another capabilities PRC specifying the other scheduling 912 discipline. 914 A value of fq indicates that the interface supports fair 916 DiffServ QoS Policy Information Base March 2000 918 queuing, i.e., each queue is treated equally and is serviced 919 in a round-robin fashion. 921 A value of wfq indicates that the queue is serviced 922 using a weighted fair queuing discipline. Queues are serviced 923 in a round robin fashion but each queue is given bandwidth in 924 proportion to its weight. 926 If none is specified then the service discipline is either 927 unspecified or specified by another capabilities PRC." 929 ::= { qosIfTypeSchedulingCapsEntry 5 } 931 qosIfTypeSchedulingCapsMinQueueSize OBJECT-TYPE 932 SYNTAX INTEGER 933 STATUS current 934 DESCRIPTION 935 "Some interfaces may allow the size of a queue to be 936 configured. This attribute specifies the minimum size the 937 queue can be configured to specified in bytes. 939 Some interfaces set queue size in terms of packets. These 940 devices must report the minimum queue size in bytes by 941 assuming an average packet size suitable for the particular 942 interface." 944 ::= { qosIfTypeSchedulingCapsEntry 6 } 946 qosIfTypeSchedulingCapsMaxQueueSize OBJECT-TYPE 947 SYNTAX INTEGER 948 STATUS current 949 DESCRIPTION 950 "Some interfaces may allow the size of a queue to be 951 configured. This attribute specifies the maximum size the 952 queue can be configured to specified in bytes. As with 953 qosIfTypeSchedulingCapsMinQueueSize, devices that set 954 queue size in terms of packets must report the maximum queue 955 size in bytes by assuming an average packet size suitable for 956 the particular interface." 958 ::= { qosIfTypeSchedulingCapsEntry 7 } 960 qosIfTypeSchedulingCapsTotalQueueSize OBJECT-TYPE 961 SYNTAX INTEGER 962 STATUS current 964 DiffServ QoS Policy Information Base March 2000 966 DESCRIPTION 967 "Some interfaces may have a limited buffer space to be share 968 amoung all queues of that interface while also allowing the 969 size of each queue to be configurable. To prevent the 970 situation where the PDP configures the sizes of the queues in 971 excess of the total buffer available to the interface, the PEP 972 can report the total buffer space available with this 973 capability. The value is the total number of bytes." 975 ::= { qosIfTypeSchedulingCapsEntry 8 } 977 qosIfTypeSchedulingCapsWredCapable OBJECT-TYPE 978 SYNTAX TruthValue 979 STATUS current 980 DESCRIPTION 981 "If true, then this interface supports WRED on (at least one 982 of) its queues. Otherwise it supports only taildrop." 984 ::= { qosIfTypeSchedulingCapsEntry 9 } 986 -- 987 -- Queue Set Assignment Table 988 -- 990 qosIfTypeQueueSetAssignTable OBJECT-TYPE 991 SYNTAX SEQUENCE OF QosIfTypeQueueSetAssignEntry 992 POLICY-ACCESS install 993 STATUS current 994 DESCRIPTION 995 "Contains the assignment of queue sets to interface types per 996 role combination." 998 ::= { qosIfParameters 6 } 1000 qosIfTypeQueueSetAssignEntry OBJECT-TYPE 1001 SYNTAX QosIfTypeQueueSetAssignEntry 1002 STATUS current 1003 DESCRIPTION 1004 "A conceptual row in the qosIfTypeQueueSetAssignTable. 1006 INDEX { qosIfTypeQueueSetAssignPrid } 1007 UNIQUENESS { qosIfTypeQueueSetAssignIfName, 1009 DiffServ QoS Policy Information Base March 2000 1011 qosIfTypeQueueSetAssignRoleCombo } 1013 ::= { qosIfTypeQueueSetAssignTable 1 } 1015 QosIfTypeQueueSetAssignEntry ::= SEQUENCE { 1016 qosIfTypeQueueSetAssignPrid PolicyInstanceId, 1017 qosIfTypeQueueSetAssignName SnmpAdminString, 1018 qosIfTypeQueueSetAssignRoles RoleCombination, 1019 qosIfTypeQueueSetAssignQueueSetId INTEGER 1020 } 1022 qosIfTypeQueueSetAssignPrid OBJECT-TYPE 1023 SYNTAX PolicyInstanceId 1024 STATUS current 1025 DESCRIPTION 1026 "The index that uniquely identifies this row in the table, 1027 i.e., this PRI." 1029 ::= { qosIfTypeQueueSetAssignEntry 1 } 1031 qosIfTypeQueueSetAssignName OBJECT-TYPE 1032 SYNTAX SnmpAdminString 1033 STATUS current 1034 DESCRIPTION 1035 "The name of an interface type. This name must exist in 1036 qosIfTypeTable." 1038 ::= { qosIfTypeQueueSetAssignEntry 2 } 1040 qosIfTypeQueueSetAssignRoles OBJECT-TYPE 1041 SYNTAX RoleCombination 1042 STATUS current 1043 DESCRIPTION 1044 "The role combination associated with the interface type. 1046 ::= { qosIfTypeQueueSetAssignEntry 3 } 1048 qosIfTypeQueueSetAssignQueueSet OBJECT-TYPE 1049 SYNTAX INTEGER 1050 STATUS current 1051 DESCRIPTION 1052 "The integer ID of the queue set to be assigned to all interfaces 1053 of type specified by qosIfTypeQueueSetAssignName and with role 1054 combination specified by qosIfTypeQueueSetAssignRoles. 1055 This queue set must exist in qosIfQueueSetTable." 1057 DiffServ QoS Policy Information Base March 2000 1059 ::= { qosIfTypeQueueSetAssignEntry 4 } 1061 -- 1062 -- Interface Queue Table 1063 -- 1064 -- The Interface Queue Table enumerates the individual queues and 1065 -- groups them into queue sets. Configuration of each queue, and 1066 -- hence an entire queue set is specified by this table. 1067 -- 1069 qosIfQueueTable OBJECT-TYPE 1070 SYNTAX SEQUENCE OF QosIfQueueEntry 1071 POLICY-ACCESS install 1072 STATUS current 1073 DESCRIPTION 1074 "Contains configuration information for the individual queues 1075 of the queue sets." 1077 ::= { qosIfParameters 7 } 1079 qosIfQueueEntry OBJECT-TYPE 1080 SYNTAX QosIfQueueEntry 1081 STATUS current 1082 DESCRIPTION 1083 "A conceptual row in the qosIfQueueTable. 1085 Each row identifies a specific queue within a given queue 1086 set and contains detailed information about the queue. Queues 1087 are associated with a given set through this table and 1088 a queue set is associated with an interface set through 1089 the qosIfTypeQsetAssignTable." 1091 INDEX { qosIfQueuePrid } 1092 UNIQUENESS {} 1094 ::= { qosIfQueueTable 1 } 1096 QosIfQueueEntry ::= SEQUENCE { 1097 qosIfQueuePrid PolicyInstanceId, 1098 qosIfQueueSetId INTEGER, 1099 qosIfQueueQueueSize Unsigned32, 1100 qosIfQueueSetThreshSet INTEGER, 1101 qosIfQueuePriorityGroup INTEGER, 1103 DiffServ QoS Policy Information Base March 2000 1105 qosIfQueueServiceDisc INTEGER, 1106 qosIfQueueDrainSize Unsigned32, 1107 qosIfQueueMinAbsBandwidth Unsigned64, 1108 qosIfQueueBandwidthAllocation INTEGER 1109 } 1111 qosIfQueuePrid OBJECT-TYPE 1112 SYNTAX PolicyInstanceId 1113 STATUS current 1114 DESCRIPTION 1115 "The index that uniquely identifies this row in the table, 1116 i.e., this PRI." 1118 ::= { qosIfQueueEntry 1 } 1120 qosIfQueueSetId OBJECT-TYPE 1121 SYNTAX INTEGER 1122 STATUS current 1123 DESCRIPTION 1124 "An index that uniquely identifies a specific queue set. The 1125 queue set that is identified with this value is associated 1126 with an interface set through the qosIfTypeQueueSet 1127 object in the qosIfTypeTable. The individual queues 1128 that are members of this set all have the same value for 1129 this attribute (i.e., they have the same set ID)." 1131 ::= { qosIfQueueEntry 2 } 1133 qosIfQueueQueueSize OBJECT-TYPE 1134 SYNTAX Unsigned32 1135 STATUS current 1136 DESCRIPTION 1137 "The size of the queue in bytes. Some devices set queue size 1138 in terms of packets. These devices must calculate the queue 1139 size in packets by assuming an average packet size suitable 1140 for the particular interface. 1142 Some devices have a fixed size buffer to be shared among all 1143 queues. These devices must allocate a fraction of the 1144 total buffer space to this queue calculated as the the ratio 1145 of the queue size to the sum of the queue sizes for the 1146 interface." 1148 ::= { qosIfQueueEntry 3 } 1150 DiffServ QoS Policy Information Base March 2000 1152 qosIfQueueThreshSet OBJECT-TYPE 1153 SYNTAX INTEGER 1154 STATUS current 1155 DESCRIPTION 1156 "The threshold set in the threshold set table that is to be 1157 used to configure the thresholds of this queue. The threshold 1158 set specifies how to configure the taildrop or RED thresholds 1159 for this queue. 1161 "The threshold set may contain less thresholds than the queue 1162 actually supports. In this case the queue is free to 1163 configure the extra thresholds any way it likes since no 1164 packets will ever be assigned to those thresholds." 1166 ::= { qosIfQueueEntry 4 } 1168 qosIfQueuePriorityGroup OBJECT-TYPE 1169 SYNTAX INTEGER 1170 STATUS current 1171 DESCRIPTION 1172 "This attribute specifies the priority group that the queue 1173 belongs to. Queues with a larger priority group number are 1174 given a higher priority than those with a smaller group 1175 number. For example, a queue in priority group 2 will be 1176 serviced (i.e., drained) before some other queue with a group 1177 number of 1. 1179 Queues with the same priority group number have the same 1180 priority. For these another scheduling discipline (other than 1181 priority scheduling) must be specified. This is done with the 1182 qosIfQueueServiceDisc attribute." 1184 ::= { qosIfQueueEntry 5 } 1186 qosIfQueueServiceDisc OBJECT-TYPE 1187 SYNTAX INTEGER { 1188 na(1), -- only one queue in group 1189 other(2), -- specified by augmented attributes 1190 fq(3), -- Fair Queuing 1191 wfq(4) -- Weighted Fair Queuing 1192 } 1193 STATUS current 1194 DESCRIPTION 1195 "This attribute identifies the service discipline used to 1196 service the queues in the same priority group. It must have 1198 DiffServ QoS Policy Information Base March 2000 1200 the same value for all queues in the priority group. Several 1201 general purpose and well-known queuing disciplines are 1202 supported by this attribute. Queuing disciplines that differ 1203 from those that are supported by this attribute are specified 1204 by setting this attribute to other(1) and augmenting this PRC 1205 with additional attributes to specify the desired service 1206 discipline. 1208 As an example, an interface that is associated with a queue 1209 set supporting two priority queues and three queues that are 1210 serviced using WFQ would be modeled as follows: 1212 Id Q Discipline Q Drain Size Priority Group 1213 22 na(1) - 3 1214 23 na(1) - 2 1215 24 wfq(3) 500 1 1216 25 wfq(3) 350 1 1217 26 wfq(3) 150 1 1219 The queue set presented in this example would service 1220 all queued traffic in queue 22 first, followed by all of 1221 the queued traffic in queue 23. Next the queued traffic 1222 in queues 24 through 26 would be serviced in a round 1223 robin fashion with queue 24 receiving 50% of the available 1224 bandwidth, queue 25 receiving 35% of the available 1225 bandwidth and queue 26 receiving 15% of the available 1226 bandwidth. This example is presented for expository 1227 purposes and has been simplified accordingly. 1229 Note that, in this example, queues 24, 25 and 26 form a 1230 priority group. The qosIfQueueDrainSize attribute is used 1231 to determine the additional processing characteristics of the 1232 individual queues in a this priority group." 1234 ::= { qosIfQueueEntry 6 } 1236 qosIfQueueDrainSize OBJECT-TYPE 1237 SYNTAX Unsigned32 1238 STATUS current 1239 DESCRIPTION 1240 "The maximum number of bytes that may be drained from the 1241 queue in one cycle. The percentage of the interface 1242 bandwidth allocated to this queue can be calculated from 1243 this attribute and the sum of the drain sizes of all the 1244 queues in a specific priority group in a queue set. 1246 DiffServ QoS Policy Information Base March 2000 1248 This attribute when compared with the drain size of other 1249 queues, represents the minimum bandwidth available to this 1250 queue. The minimum bandwidth specified in absolute terms is 1251 specified by the attribute qosIfQueueMinAbsBandwidth. Which of 1252 these two applies is specified by the attribute 1253 qosIfQueueBandwidthAllocation." 1255 ::= { qosIfQueueEntry 7 } 1257 qosIfQueueMinAbsBandwidth OBJECT-TYPE 1258 SYNTAX Unsigned64 1259 STATUS current 1260 DESCRIPTION 1261 "The maximum interface bandwidth that is available for 1262 consumption when servicing this queue. This bandwidth is 1263 specified in terms of bits per second. 1265 This attribute represents the absolute bandwidth that is 1266 available to a given queue. The relative bandwidth that is 1267 available to a given queue, with respect to other queues with 1268 which it is associated, is specified by the attribute 1269 qosIfQueueDrainSize. Which of these two applies is specified 1270 by the attribute qosIfQueueBandwidthAllocation. 1272 ::= { qosIfQueueEntry 8 } 1274 qosIfQueueBandwidthAllocation OBJECT-TYPE 1275 SYNTAX INTEGER { 1276 absolute(1), --use qosIfQueueMinAbsBandwidth 1277 relative(2) --use qosIfQueueDrainSize 1278 } 1279 STATUS current 1280 DESCRIPTION 1281 "This attribute specifies whether to configure the queue for 1282 an absolute bandwidth limit or one that is relative to other 1283 queues of the priority group. i.e., whether to configure the 1284 queue using qosIfQueueMinAbsBandwidth or 1285 qosIfQueueDrainSize." 1287 If some queues have their bandwidth requirement specified in 1288 absolute terms and others in relative terms then the 1289 requirements of the absolute specification is met first. That 1290 is, the drain sizes of the absolute queues must be calculated 1291 based on the interface speed so as to ensure the absolute 1292 bandwidth requirement. 1294 DiffServ QoS Policy Information Base March 2000 1296 ::= { qosIfQueueEntry 9 } 1298 -- 1299 -- Interface Threshold Table 1300 -- 1301 -- The Interface Threshold Table enumerates the individual thresholds 1302 -- and groups them into sets that can be applied to queues. 1303 -- Configuration of individual thresholds and hence the threshold sets 1304 -- of individual queues, id done through this table. 1305 -- 1307 qosIfThresholdTable OBJECT-TYPE 1308 SYNTAX SEQUENCE OF QosIfThresholdEntry 1309 POLICY-ACCESS install 1310 STATUS current 1311 DESCRIPTION 1312 "Contains configuration information for the individual thresholds 1313 of the threshold sets." 1315 ::= { qosIfParameters 8 } 1317 qosIfThresholdEntry OBJECT-TYPE 1318 SYNTAX QosIfThresholdEntry 1319 STATUS current 1320 DESCRIPTION 1321 "A conceptual row in the qosIfThresholdTable. 1323 Each row identifies a specific threshold within a given 1324 set and contains detailed information about the 1325 threshold. Threshold sets are associated with a queue set through 1326 the qosIfQueueThreshSet attribute of the qosIfQueueTable." 1328 INDEX { qosIfThresholdPrid } 1329 UNIQUENESS { qosIfThresholdSetId, 1330 qosIfThresholdDropMethod, 1331 qosIfThresholdMinThresh, 1332 qosIfThresholdMaxThresh } 1334 ::= { qosIfThresholdSetTable 1 } 1336 QosIfThresholdSetEntry ::= SEQUENCE { 1337 qosIfThresholdPrid PolicyInstanceId, 1338 qosIfThresholdSetId INTEGER, 1339 qosIfThresholdDropMethod INTEGER, 1341 DiffServ QoS Policy Information Base March 2000 1343 qosIfThresholdMinThresh INTEGER, 1344 qosIfThresholdMaxThresh INTEGER 1345 } 1347 qosIfThresholdPrid OBJECT-TYPE 1348 SYNTAX PolicyInstanceId 1349 STATUS current 1350 DESCRIPTION 1351 "The index that uniquely identifies this row in the table, 1352 i.e., this PRI." 1354 ::= { qosIfThresholdEntry 1 } 1356 qosIfThresholdSetId OBJECT-TYPE 1357 SYNTAX INTEGER 1358 STATUS current 1359 DESCRIPTION 1360 "An index that uniquely identifies a specific threshold set. 1361 The individual thresholds that are members of this set all 1362 have the same value for this attribute (i.e., they have the 1363 same set ID)." 1365 ::= { qosIfThresholdEntry 2 } 1367 qosIfThresholdDropMethod OBJECT-TYPE 1368 SYNTAX INTEGER { 1369 other(1), 1370 tailDrop(2), 1371 randomDrop(3) 1372 } 1373 STATUS current 1374 DESCRIPTION 1375 "The drop method to apply to packets exceeding the threshold. 1376 If the mechanism is other then another policy may be specified 1377 by an additional attribute augmenting this table." 1379 ::= { qosIfThresholdEntry 3 } 1381 qosIfThresholdMinThresh OBJECT-TYPE 1382 SYNTAX INTEGER 1383 STATUS current 1384 DESCRIPTION 1385 "The queue depth below which no packets are dropped. If the 1386 queue depth is above this value and below the value of 1387 qosIfThresholdMaxThresh then packets assigned to this 1389 DiffServ QoS Policy Information Base March 2000 1391 threshold are dropped randomly by the random drop process if 1392 random drop is in effect. If tail drop is in effect, this 1393 attribute has no relevance." 1395 ::= { qosIfThresholdEntry 4 } 1397 qosIfThresholdMaxThresh OBJECT-TYPE 1398 SYNTAX INTEGER 1399 STATUS current 1400 DESCRIPTION 1401 "The queue depth above which all packets assigned to this 1402 threshold are dropped." 1404 ::= { qosIfThresholdEntry 5 } 1406 -- 1407 -- DSCP Assignment Table 1408 -- 1409 -- Supports the assignment of DSCPs to queues and thresholds for each 1410 -- interface type indirectly through a DSCP map table. So, after 1411 -- classification and metering, when the packet has a final DSCP mark, 1412 -- the packet is enqueued on the apprpriate queue at the appropriated 1413 -- threshold based on the mapping of the DSCP to threshollds in 1414 -- queues. 1415 -- 1417 qosIfDscpAssignTable OBJECT-TYPE 1418 SYNTAX SEQUENCE OF QosIfDscpAssignEntry 1419 POLICY-ACCESS install 1420 STATUS current 1421 DESCRIPTION 1422 "Assigns a DSCP map specified in qosIfDscpMapTable an 1423 interface type with a specific role combination. This map 1424 then determines to which queue and threshold a packet with a 1425 given DSCP gets assigned. 1427 We use a map rather than assigning individual DSCPs in this 1428 table because then the map can be used for multiple interface 1429 type and role combo combinations." 1431 ::= { qosIfParameters 9 } 1433 qosIfDscpAssignEntry OBJECT-TYPE 1435 DiffServ QoS Policy Information Base March 2000 1437 SYNTAX QosIfDscpAssignEntry 1438 STATUS current 1439 DESCRIPTION 1440 "An instance of the qosIfDscpAssign class." 1442 INDEX { qosIfDscpAssignPrid } 1443 UNIQUENESS { qosIfDscpAssignName, 1444 qosIfDscpAssignRoles } 1446 ::= { qosIfDscpAssignTable 1 } 1448 QosIfDscpAssignEntry ::= SEQUENCE { 1449 qosIfDscpAssignPrid PolicyInstanceId, 1450 qosIfDscpAssignName SnmpAdminString, 1451 qosIfDscpAssignRoles RoleCombination, 1452 qosIfDscpAssignDscpMap INTEGER 1453 } 1455 qosIfDscpAssignPrid OBJECT-TYPE 1456 SYNTAX PolicyInstanceId 1457 STATUS current 1458 DESCRIPTION 1459 "An index that is used to uniquely identify the 1460 instance of the qosIfDscpAssign class." 1462 ::= { qosIfDscpAssignEntry 1 } 1464 qosIfDscpAssignName OBJECT-TYPE 1465 SYNTAX SnmpAdminString 1466 STATUS current 1467 DESCRIPTION 1468 "The type of interfaces to which this PRI applies. 1470 ::= { qosIfDscpAssignEntry 2 } 1472 qosIfDscpAssignRoles OBJECT-TYPE 1473 SYNTAX RoleCombination 1474 STATUS current 1475 DESCRIPTION 1476 "The role combination with which an interface must be 1477 configured to which this PRI applies." 1479 ::= { qosIfDscpAssignEntry 2 } 1481 qosIfDscpAssignDscpMap OBJECT-TYPE 1483 DiffServ QoS Policy Information Base March 2000 1485 SYNTAX INTEGER 1486 STATUS current 1487 DESCRIPTION 1488 "The DSCP map to apply to interfaces of type 1489 qosIfDscpAssignName and role combo qosIfDscpAssignRoles." 1491 ::= { qosIfDscpAssignEntry 3 } 1493 -- 1494 -- DSCP to Queue and Threshold Mapping Table 1495 -- 1496 -- Supports the assignment of DSCPs to queues and thresholds for each 1497 -- interface type 1498 -- 1500 qosIfDscpMapTable OBJECT-TYPE 1501 SYNTAX SEQUENCE OF QosIfDscpMapEntry 1502 POLICY-ACCESS install 1503 STATUS current 1504 DESCRIPTION 1505 "Assigns DSCP values to queues and thresholds for an arbitrary 1506 DSCP map. This map can then be assigned to various interface 1507 and role combination pairs." 1509 ::= { qosIfParameters 10 } 1511 qosIfDscpMapEntry OBJECT-TYPE 1512 SYNTAX QosIfDscpMapEntry 1513 STATUS current 1514 DESCRIPTION 1515 "An instance of the qosIfDscpMap class." 1517 INDEX { qosIfDscpMapPrid } 1518 UNIQUENESS { qosIfDscpMapMapId, 1519 qosIfDscpMapDscp } 1521 ::= { qosIfDscpMapTable 1 } 1523 QosIfDscpMapEntry ::= SEQUENCE { 1524 qosIfDscpMapPrid PolicyInstanceId, 1525 qosIfDscpMapMapId INTEGER, 1526 qosIfDscpMapDscp Dscp, 1527 qosIfDscpMapQueue PolicyReferenceId, 1529 DiffServ QoS Policy Information Base March 2000 1531 qosIfDscpMapThresh PolicyReferenceId 1532 } 1534 qosIfDscpMapPrid OBJECT-TYPE 1535 SYNTAX PolicyInstanceId 1536 STATUS current 1537 DESCRIPTION 1538 "An index that is used to uniquely identify the 1539 instance of the qosIfDscpMap class." 1541 ::= { qosIfDscpMapEntry 1 } 1543 qosIfDscpMapMapId OBJECT-TYPE 1544 SYNTAX INTEGER 1545 STATUS current 1546 DESCRIPTION 1547 "An integer that identifies the DSCP map to which this PRI 1548 belongs." 1550 ::= { qosIfDscpMapEntry 2 } 1552 qosIfDscpMapDscp OBJECT-TYPE 1553 SYNTAX Dscp 1554 STATUS current 1555 DESCRIPTION 1556 "The DSCP that is being assigned to a queue and threshold by 1557 this PRI." 1559 ::= { qosIfDscpMapEntry 3 } 1561 qosIfDscpMapQueue OBJECT-TYPE 1562 SYNTAX PolicyReferenceId 1563 STATUS current 1564 DESCRIPTION 1565 "This attribute maps the DSCP specified by qosIfDscpMapDscp to 1566 the queue identified by qosIfQueuePrid in qosIfQueueTable. 1567 For a given DSCP map, all the queues must belong to a single 1568 queue set." 1570 ::= { qosIfDscpMapEntry 4 } 1572 qosIfDscpMapThresh OBJECT-TYPE 1573 SYNTAX PolicyReferenceId 1574 STATUS current 1575 DESCRIPTION 1577 DiffServ QoS Policy Information Base March 2000 1579 "This attribute maps the DSCP specified by qosIfDscpMapDscp to 1580 the threshold identified by qosIfThresholdId in 1581 qosIfThresholdTable." The threshold set to which this 1582 threshold belongs must be assigned to the queue specified by 1583 qosIfDscpMapQueue." 1585 ::= { qosIfDscpMapEntry 5 } 1587 -- 1588 -- QoS Meter Table 1589 -- 1590 -- The QoS Meter Table contains metering specifications that 1591 -- can be used to provide an acceptable flow bandwidth 1592 -- dimension to the Target table. 1593 -- 1595 qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 } 1597 qosMeterTable OBJECT-TYPE 1598 SYNTAX SEQUENCE OF QosMeterEntry 1599 POLICY-ACCESS install 1600 STATUS current 1601 DESCRIPTION 1602 "Contains the current set of configured meters. The 1603 meters are associated with a classifier during 1604 operation through the QoS Target Table." 1606 INSTALL-ERRORS { 1607 invalidCommittedData(1), 1608 invalidPeakData(2) 1609 } 1610 ::= { qosMeter 1 } 1612 qosMeterEntry OBJECT-TYPE 1613 SYNTAX QosMeterEntry 1614 STATUS current 1615 DESCRIPTION 1616 "General metering definitions. Each entry specifies 1617 an instance of the qosMeter class which specifies 1618 metering information in terms of traffic stream 1619 bandwidth parameters. An entry can thus be used to 1620 support traffic metering based on the specified 1622 DiffServ QoS Policy Information Base March 2000 1624 service level specification." 1626 INDEX { qosMeterPrid } 1627 UNIQUENESS { qosMeterDataSpecification, 1628 qosMeterCommittedRate, 1629 qosMeterCommittedBurst, 1630 qosMeterPeakRate, 1631 qosMeterPeakBurst, 1632 qosMeterHighConfAction, 1633 qosMeterMedConfAction, 1634 qosMeterLowConfAction } 1636 ::= { qosMeterTable 1 } 1638 QosMeterEntry ::= SEQUENCE { 1639 qosMeterPrid PolicyInstanceId, 1640 qosMeterDataSpecification INTEGER, 1641 qosMeterCommittedRate Unsigned32, 1642 qosMeterCommittedBurst Unsigned32, 1643 qosMeterPeakRate Unsigned32, 1644 qosMeterPeakBurst Unsigned32, 1645 qosMeterHighConfAction PolicyReferenceId, 1646 qosMeterMedConfAction PolicyReferenceId, 1647 qosMeterLowConfAction PolicyReferenceId 1648 } 1650 qosMeterPrid OBJECT-TYPE 1651 SYNTAX PolicyInstanceId 1652 STATUS current 1653 DESCRIPTION 1654 "An arbitrary integer index that uniquely identifies 1655 the instance of the qosMeter class. Meters are 1656 associated with specific flows using this attribute 1657 through the qosTargetMeter attribute in the QoS 1658 Target class." 1660 ::= { qosMeterEntry 1 } 1662 qosMeterDataSpecification OBJECT-TYPE 1663 SYNTAX INTEGER { 1664 noMeterData(1), -- no metering reqd 1665 committedData(2), -- committed rate only 1666 peakData(3) -- committed and peak 1667 } 1669 DiffServ QoS Policy Information Base March 2000 1671 STATUS current 1672 DESCRIPTION 1673 "Specifies the metering data, and thus the actions, that 1674 are defined in a given entry. 1676 A value of noMeterData(1) indicates that no flow metering 1677 is necessary. All flows associated with this meter entry 1678 are considered to be at a high level of conformance. 1680 A value of committedData(2) indicates that committed rate 1681 and committed burst information has been specified and will 1682 be applied to associated flows. No peak rate and burst 1683 information has been specified meaning that two levels 1684 of conformance (high, medium) are supported. 1686 A value of peakData(3) indicates that peak rate and peak 1687 burst information has been provided in addition to the 1688 committed rate and committed burst information. All provided 1689 information will be applied to associated flows meaning that 1690 three levels of conformance (high, medium, low) are 1691 supported." 1693 ::= { qosMeterEntry 2 } 1695 qosMeterCommittedRate OBJECT-TYPE 1696 SYNTAX Unsigned32 (0..'ffffffff'h) 1697 STATUS current 1698 DESCRIPTION 1699 "This object represents the committed information rate 1700 (CIR) against which associated traffic streams will be 1701 metered. The CIR specifies the rate at which incoming 1702 traffic can arrive to be considered to be at a high 1703 level of conformance. Typically, this value specifies 1704 the rate at which tokens are added to a token bucket 1705 used to meter received flows. 1707 This object specifies a rate in bytes per second units 1708 such that, for example, a value of 100 equates to a 1709 committed information rate of 100 bytes per second. 1711 Committed rate (and burst) information must be present 1712 if the qosMeterDataSpecification object has the value 1713 committedData(2) or peakRate(3). This, in turn, requires 1714 that at least both high and medium conformance actions 1715 be specified." 1717 DiffServ QoS Policy Information Base March 2000 1719 ::= { qosMeterEntry 3 } 1721 qosMeterCommittedBurst OBJECT-TYPE 1722 SYNTAX Unsigned32 (0..'ffffffff'h) 1723 STATUS current 1724 DESCRIPTION 1725 "This object represents the committed burst size 1726 (CBS) against which associated traffic streams will 1727 be metered. The CBS specifies the maximum burst size 1728 that is supported for flows to be considered to be at 1729 a high level of conformance. Typically, this value 1730 represents the maximum number of tokens in a token 1731 bucket. 1733 This object specifies flow data in bytes per second 1734 units such that, for example, a value of 100 equates 1735 to a committed information rate of 100 bytes per 1736 second. 1738 Committed burst (and rate) information must be present 1739 if the qosMeterDataSpecification object has the value 1740 committedData(2) or peakRate(3). This, in turn, requires 1741 that at least both high and medium conformance actions 1742 be specified." 1744 ::= { qosMeterEntry 4 } 1746 qosMeterPeakRate OBJECT-TYPE 1747 SYNTAX Unsigned32 (0..'ffffffff'h) 1748 STATUS current 1749 DESCRIPTION 1750 "This object represents the peak information rate (PIR) 1751 against which associated traffic streams will be 1752 metered. The PIR specifies the rate at which incoming 1753 traffic can arrive to be considered to be at a medium 1754 level of conformance. Typically, this value specifies 1755 the rate at which tokens are added to a token bucket 1756 used to meter received flows. 1758 This object specifies a rate in bytes per second units 1759 such that, for example, a value of 100 equates to a 1760 committed information rate of 100 bytes per second. 1762 Peak rate (and burst) information must be present 1763 if the qosMeterDataSpecification object has the value 1765 DiffServ QoS Policy Information Base March 2000 1767 peakData(3). This, in turn, requires that high, medium 1768 and low conformance actions be specified." 1770 ::= { qosMeterEntry 5 } 1772 qosMeterPeakBurst OBJECT-TYPE 1773 SYNTAX Unsigned32 (0..'ffffffff'h) 1774 STATUS current 1775 DESCRIPTION 1776 "This object represents the peak burst size (PBS) 1777 against which associated traffic streams will 1778 be metered. The CBS specifies the maximum burst size 1779 that is supported for flows to be considered to be at 1780 a medium level of conformance. Typically, this value 1781 represents the maximum number of tokens in a token 1782 bucket. 1784 This object specifies flow data in bytes per second 1785 units such that, for example, a value of 100 equates 1786 to a committed information rate of 100 bytes per 1787 second. 1789 Peak burst (and rate) information must be present 1790 if the qosMeterDataSpecification object has the value 1791 peakData(3). This, in turn, requires that high, medium 1792 and low conformance actions be specified." 1794 ::= { qosMeterEntry 6 } 1796 qosMeterHighConfAction OBJECT-TYPE 1797 SYNTAX PolicyReferenceId 1798 STATUS current 1799 DESCRIPTION 1800 "This attribute identifies the action that is to be 1801 initiated for flows that are determined to have a high 1802 level of conformance with regard to metering criteria 1803 being applied to the flow. 1805 Actions must be defined in the qosActionTable prior to 1806 being referenced by this attribute. A valid value for 1807 this attribute must always be provided." 1809 ::= { qosMeterEntry 7 } 1811 qosMeterMedConfAction OBJECT-TYPE 1813 DiffServ QoS Policy Information Base March 2000 1815 SYNTAX PolicyReferenceId 1816 STATUS current 1817 DESCRIPTION 1818 "This attribute identifies the action that is to be 1819 initiated for flows that are determined to have a medium 1820 level of conformance with regard to metering criteria 1821 being applied to the flow. 1823 Actions must be defined in the qosActionTable prior to 1824 being referenced by this attribute. A valid value for 1825 this attribute must be provided if the value of the 1826 associated qosMeterDataSpecification object is 1827 committedRate(2) or peakRate(3)." 1829 ::= { qosMeterEntry 8 } 1831 qosMeterLowConfAction OBJECT-TYPE 1832 SYNTAX PolicyReferenceId 1833 STATUS current 1834 DESCRIPTION 1835 "This attribute identifies the action that is to be 1836 initiated for flows that are determined to have a low 1837 level of conformance with regard to metering criteria 1838 being applied to the flow. 1840 Actions must be defined in the qosActionTable prior to 1841 being referenced by this attribute. A valid value for 1842 this attribute must be provided if the value of the 1843 associated qosMeterDataSpecification object is 1844 peakRate(3)." 1846 ::= { qosMeterEntry 9 } 1848 -- 1849 -- The Generic QoS ACL Action Group 1850 -- 1852 qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 } 1854 -- 1855 -- The QoS Action Table 1856 -- 1857 -- The QoS Action Table describes actions that are associated with 1859 DiffServ QoS Policy Information Base March 2000 1861 -- specific IP, IEEE 802 and other ACLs through the QoS Target 1862 -- Table. An action specification may be simple (i.e., a single 1863 -- action) or complex (i.e., multiple actions that are performed 1864 -- in "parallel"). 1865 -- 1867 qosActionTable OBJECT-TYPE 1868 SYNTAX SEQUENCE OF QosActionEntry 1869 POLICY-ACCESS install 1870 STATUS current 1871 DESCRIPTION 1872 "Contains the current set of configured actions. The actions 1873 are associated with IP, IEEE 802 and other ACLs and 1874 interfaces during operation." 1876 ::= { qosAction 1 } 1878 qosActionEntry OBJECT-TYPE 1879 SYNTAX QosActionEntry 1880 STATUS current 1881 DESCRIPTION 1882 "General action definitions. Each entry specifies an instance 1883 of the qosAction class which describes (potentially) 1884 several distinct action attributes. Each action is taken 1885 individually regarding the data in question. Several actions 1886 can be taken for a single frame. 1888 An instance of this class can not be deleted while it is being 1889 referenced in a target instance in another class. This 1890 class may be extended with actions that apply to specific QoS 1891 policies (e.g., IP, IEEE 802, security) using augmentation." 1893 INDEX { qosActionPrid } 1894 UNIQUENESS { qosActionDrop, 1895 qosActionUpdateDSCP, 1896 qosActionMeter } 1898 ::= { qosActionTable 1 } 1900 QosActionEntry ::= SEQUENCE { 1901 qosActionPrid PolicyInstanceId, 1902 qosActionDrop TruthValue, 1903 qosActionUpdateDSCP Integer32, 1904 qosActionMeter PolicyReferenceId 1905 } 1907 DiffServ QoS Policy Information Base March 2000 1909 qosActionPrid OBJECT-TYPE 1910 SYNTAX PolicyInstanceId 1911 STATUS current 1912 DESCRIPTION 1913 "An arbitrary integer index that uniquely identifies 1914 the instance of the QoS Action class. Class instances 1915 may not be contiguous. Actions are associated with 1916 Target instances in other classes (e.g., the QoS 1917 Target class) using this attribute." 1919 ::= { qosActionEntry 1 } 1921 qosActionDrop OBJECT-TYPE 1922 SYNTAX TruthValue 1923 STATUS current 1924 DESCRIPTION 1925 "This action attribute, when specified, will cause the 1926 frame being evaluated to be dropped if the value is 1927 'true(1)'. A value of 'false(2)' indicates that this 1928 action will not be initiated (i.e., the frame will not 1929 be dropped) based on this attribute. 1931 Prior to discarding a packet, other actions that have 1932 been specified should be performed if they make protocol 1933 sense. For example, requests for traffic mirroring (if 1934 such an action is supported by a device) should be 1935 honored. However, updating protocol header values will 1936 typically not be necessary." 1938 ::= { qosActionEntry 2 } 1940 qosActionUpdateDSCP OBJECT-TYPE 1941 SYNTAX Integer32 (-1 | 0..63) 1942 STATUS current 1943 DESCRIPTION 1944 "This action component, when specified, will cause the 1945 value contained in the Differentiated Services (DS) 1946 field of an associated IP datagram to be updated with 1947 the value of this object. 1949 A value of -1 indicates that this action component has not 1950 been set to an appropriate value and should not be used for 1951 action initiation. The DSCP should remain unchanged." 1953 ::= { qosActionEntry 3 } 1955 DiffServ QoS Policy Information Base March 2000 1957 qosActionMeter OBJECT-TYPE 1958 SYNTAX PolicyReferenceId 1959 STATUS current 1960 DESCRIPTION 1961 "This action component, when specified, will identify 1962 another level of metering that should be applied to 1963 the given flow. This action is only taken if it is 1964 not in conflict with other specified actions, i.e., 1965 qosActionDrop. 1967 A value of 0 indicates that an additional metering 1968 component has not been specified. No additional metering 1969 is thus required." 1971 ::= { qosActionEntry 4 } 1973 -- 1974 -- The QoS Target Table 1975 -- 1976 -- The QoS Target Table supports the association of ACLs, 1977 -- interfaces and actions. It allows ACL class instances, as 1978 -- defined in various ACL Defintion classes, to be associated 1979 -- with specific interfaces/flow direction (based on interface 1980 -- role combination and traffic direction) and actions to be 1981 -- performed based on traffic classification. Furthermore, it 1982 -- allows heterogeneous ACL Definition class instances (e.g., 1983 -- IP, IEEE 802, security) to be applied to the same interface 1984 -- group in a prescribed order of precedence. 1985 -- 1987 qosTargetTable OBJECT-TYPE 1988 SYNTAX SEQUENCE OF QosTargetEntry 1989 POLICY-ACCESS install 1990 STATUS current 1991 DESCRIPTION 1992 "A class that applies a set of ACLs to interfaces specifying, 1993 for each interface, the precedence order of the ACL with 1994 respect to other ACLs applied to the same interface and, for 1995 each ACL, the action to take for a packet that matches a 1996 permit ACE in that ACL. Interfaces are specified abstractly 1997 in terms of interface roles. 1999 This class may contain ACLs that specify different types 2000 of traffic classification (e.g., IP ACLs and IEEE 802 ACLs 2002 DiffServ QoS Policy Information Base March 2000 2004 defined in their respective definition tables). An ACL is 2005 identified by its class and instance within that class. An 2006 ACL association is formed when ACLs apply to the same 2007 interfaces, as determined by the specified interface role 2008 and direction. ACL evaluation precedence within an 2009 association is determined by the precedence attribute." 2011 INSTALL-ERRORS { 2012 priPrecedenceConflict(1) -- precedence conflict detected 2013 } 2015 ::= { qosAction 2 } 2017 qosTargetEntry OBJECT-TYPE 2018 SYNTAX QosTargetEntry 2019 STATUS current 2020 DESCRIPTION 2021 "An instance of the qosTarget class. Instance creation 2022 may be prohibited based on the status of certain class 2023 attributes which must exist prior to class instantiation." 2025 INDEX { qosTargetPrid } 2026 UNIQUENESS { qosTargetAclId, 2027 qosTargetAclType, 2028 qosTargetInterfaceRoles, 2029 qosTargetInterfaceDirection } 2031 ::= { qosTargetTable 1 } 2033 QosTargetEntry ::= SEQUENCE { 2034 qosTargetPrid PolicyInstanceId, 2035 qosTargetAclId PolicyReferenceId, 2036 qosTargetAclType OBJECT IDENTIFIER, 2037 qosTargetInterfaceRoles RoleCombination, 2038 qosTargetInterfaceDirection INTEGER, 2039 qosTargetOrder Unsigned32, 2040 qosTargetMeter PolicyReferenceId 2041 } 2043 qosTargetPrid OBJECT-TYPE 2044 SYNTAX PolicyInstanceId 2045 STATUS current 2046 DESCRIPTION 2047 "An arbitrary integer index that uniquely identifies 2048 the instance of the QoS Target class." 2050 DiffServ QoS Policy Information Base March 2000 2052 ::= { qosTargetEntry 1 } 2054 qosTargetAclId OBJECT-TYPE 2055 SYNTAX PolicyReferenceId 2056 STATUS current 2057 DESCRIPTION 2058 "This attribute identifies the ACL that is associated 2059 with this target. It identifies (potentially many) ACL 2060 class instances in a specific ACL Definition table 2061 where ACLs, and their associated ACEs, are defined. 2062 For example, instances in the qosIpAclDefinitionTable 2063 are identified by setting the value of this object 2064 equal to the qosIpAclDefinitionAclId of the instances 2065 being targeted. This value, together with the value of 2066 the corresponding qosTargetAclType attribute, 2067 uniquely identifies one or more instances of a specific 2068 ACL Definition class. 2070 Attempting to specify an unknown ACL class instance will 2071 result in an appropriate error indication being returned 2072 to the entity that is attempting to install the conflicting 2073 entry. For example, a 'priUnknown(2)' error indication is 2074 returned to the policy server in this situation." 2076 ::= { qosTargetEntry 2 } 2078 qosTargetAclType OBJECT-TYPE 2079 SYNTAX OBJECT IDENTIFIER 2080 STATUS current 2081 DESCRIPTION 2082 "The ACL Definition class that is being referenced by 2083 this instance of the ACL Target class. This policy 2084 class identifier, together with the corresponding 2085 qosTargetAclId attribute, uniquely identifies 2086 instances of a specific ACL Definition class. 2088 The object identifier value of this attribute must 2089 exist in the policyPrcSupportTable." 2091 ::= { qosTargetEntry 3 } 2093 qosTargetInterfaceRoles OBJECT-TYPE 2094 SYNTAX RoleCombination 2095 STATUS current 2096 DESCRIPTION 2098 DiffServ QoS Policy Information Base March 2000 2100 "The interfaces to which this ACL applies specified 2101 in terms of a set of roles. The role combination 2102 specified by this attribute must exist in the 2103 qosInterfaceTypeTable prior to being association 2104 with an instance of this class." 2106 ::= { qosTargetEntry 4 } 2108 qosTargetInterfaceDirection OBJECT-TYPE 2109 SYNTAX INTEGER { 2110 in(1), 2111 out(2) 2112 } 2113 STATUS current 2114 DESCRIPTION 2115 "The direction of packet flow at the interface in 2116 question to which this ACL applies." 2118 ::= { qosTargetEntry 5 } 2120 qosTargetOrder OBJECT-TYPE 2121 SYNTAX Unsigned32 2122 STATUS current 2123 DESCRIPTION 2124 "An integer that determines the precedence order of 2125 this ACL in the list of ACLs applied to interfaces of 2126 the specified role combination. An ACL with a given 2127 precedence order is positioned in the list before one 2128 with a higher-valued precedence order. 2130 As an example, consider the following ACL Target association: 2132 Index IfRoleCombo IfDirection AclId AclType Order 2133 14 'eth1000+L2+L3' 'in' 8 '802' 1 2134 15 'eth1000+L2+L3' 'in' 3 '802' 2 2135 16 'eth1000+L2+L3' 'in' 12 'IP' 3 2136 17 'eth1000+L2+L3' 'in' 6 'IP' 4 2137 18 'eth1000+L2+L3' 'in' 21 'IP' 5 2139 Five distinct ACL specifications, 3 from an IP ACL 2140 Definition class and 2 from an IEEE 802 ACL Definition class, 2141 form an Acl Target association (e.g., based on the specified 2142 interface role combination and direction attributes) with a 2143 prescribed order of evaluation. The AclType and AclId 2144 attributes identify the ACL Definition instances in their 2146 DiffServ QoS Policy Information Base March 2000 2148 respective classes. 2150 Precedence values within an association must be unique 2151 otherwise instance installation will be prohibited and an 2152 error value will be returned." 2154 ::= { qosTargetEntry 6 } 2156 qosTargetMeter OBJECT-TYPE 2157 SYNTAX PolicyReferenceId 2158 STATUS current 2159 DESCRIPTION 2160 "This attribute identifies the meter that is associated 2161 with this QoS Target instance. Meters are defined 2162 in the qosMeterTable. The corresponding instance in 2163 the qosMeter class (i.e., the class instance where 2164 the qosMeterPrid is equal to the value of this object) 2165 must exist prior to being associated with a Target 2166 entry." 2168 ::= { qosTargetEntry 7 } 2170 -- 2171 -- The IP Classification and Policing Group 2172 -- 2174 qosIpQos OBJECT IDENTIFIER ::= { qosPolicyIpPibClasses 1 } 2176 -- The IP ACE Table 2178 qosIpAceTable OBJECT-TYPE 2179 SYNTAX SEQUENCE OF QosIpAceEntry 2180 POLICY-ACCESS install 2181 STATUS current 2182 DESCRIPTION 2183 "ACE definitions. A packet has to match all fields in an 2184 ACE. Wildcards may be specified for those fields that are 2185 not relevant." 2187 INSTALL-ERRORS { 2188 invalidDstL4PortData(1), 2189 invalidSrcL4PortData(2) 2190 } 2191 ::= { qosIpQos 1 } 2193 DiffServ QoS Policy Information Base March 2000 2195 qosIpAceEntry OBJECT-TYPE 2196 SYNTAX QosIpAceEntry 2197 STATUS current 2198 DESCRIPTION 2199 "An instance of the qosIpAce class." 2201 INDEX { qosIpAcePrid } 2202 UNIQUENESS { qosIpAceDstAddr, 2203 qosIpAceDstAddrMask, 2204 qosIpAceSrcAddr, 2205 qosIpAceSrcAddrMask, 2206 qosIpAceDscp, 2207 qosIpAceProtocol, 2208 qosIpAceDstL4PortMin, 2209 qosIpAceDstL4PortMax, 2210 qosIpAceSrcL4PortMin, 2211 qosIpAceSrcL4PortMax } 2213 ::= { qosIpAceTable 1 } 2215 QosIpAceEntry ::= SEQUENCE { 2216 qosIpAcePrid PolicyInstanceId, 2217 qosIpAceDstAddr IpAddress, 2218 qosIpAceDstAddrMask IpAddress, 2219 qosIpAceSrcAddr IpAddress, 2220 qosIpAceSrcAddrMask IpAddress, 2221 qosIpAceDscp Integer32, 2222 qosIpAceProtocol INTEGER, 2223 qosIpAceDstL4PortMin INTEGER, 2224 qosIpAceDstL4PortMax INTEGER, 2225 qosIpAceSrcL4PortMin INTEGER, 2226 qosIpAceSrcL4PortMax INTEGER, 2227 qosIpAcePermit TruthValue 2228 } 2230 qosIpAcePrid OBJECT-TYPE 2231 SYNTAX PolicyInstanceId 2232 STATUS current 2233 DESCRIPTION 2234 "An integer index to uniquely identify this ACE among all the 2235 ACEs." 2237 ::= { qosIpAceEntry 1 } 2239 qosIpAceDstAddr OBJECT-TYPE 2241 DiffServ QoS Policy Information Base March 2000 2243 SYNTAX IpAddress 2244 STATUS current 2245 DESCRIPTION 2246 "The IP address to match against the packet's destination IP 2247 address." 2249 ::= { qosIpAceEntry 2 } 2251 qosIpAceDstAddrMask OBJECT-TYPE 2252 SYNTAX IpAddress 2253 STATUS current 2254 DESCRIPTION 2255 "A mask for the matching of the destination IP address. 2256 A zero bit in the mask means that the corresponding bit in 2257 the address always matches." 2259 ::= { qosIpAceEntry 3 } 2261 qosIpAceSrcAddr OBJECT-TYPE 2262 SYNTAX IpAddress 2263 STATUS current 2264 DESCRIPTION 2265 "The IP address to match against the packet's source IP 2266 address." 2268 ::= { qosIpAceEntry 4 } 2270 qosIpAceSrcAddrMask OBJECT-TYPE 2271 SYNTAX IpAddress 2272 STATUS current 2273 DESCRIPTION 2274 "A mask for the matching of the source IP address." 2276 ::= { qosIpAceEntry 5 } 2278 qosIpAceDscp OBJECT-TYPE 2279 SYNTAX Integer32 (-1 | 0..63) 2280 STATUS current 2281 DESCRIPTION 2282 "The value that the DSCP in the packet can have and 2283 match this ACE. A value of -1 indicates that a specific 2284 DSCP value has not been defined and thus all DSCP values 2285 are considered a match." 2287 ::= { qosIpAceEntry 6 } 2289 DiffServ QoS Policy Information Base March 2000 2291 qosIpAceProtocol OBJECT-TYPE 2292 SYNTAX INTEGER (0..255) 2293 STATUS current 2294 DESCRIPTION 2295 "The IP protocol to match against the packet's protocol. 2296 A value of zero means match all." 2298 ::= { qosIpAceEntry 7 } 2300 qosIpAceDstL4PortMin OBJECT-TYPE 2301 SYNTAX INTEGER (0..65535) 2302 STATUS current 2303 DESCRIPTION 2304 "The minimum value that the packet's layer 4 destination 2305 port number can have and match this ACE." 2307 ::= { qosIpAceEntry 8 } 2309 qosIpAceDstL4PortMax OBJECT-TYPE 2310 SYNTAX INTEGER (0..65535) 2311 STATUS current 2312 DESCRIPTION 2313 "The maximum value that the packet's layer 4 destination 2314 port number can have and match this ACE. This value must be 2315 equal to or greater that the value specified for this ACE in 2316 qosIpAceDstL4PortMin." 2318 ::= { qosIpAceEntry 9 } 2320 qosIpAceSrcL4PortMin OBJECT-TYPE 2321 SYNTAX INTEGER (0..65535) 2322 STATUS current 2323 DESCRIPTION 2324 "The minimum value that the packet's layer 4 source port 2325 number can have and match this ACE." 2327 ::= { qosIpAceEntry 10 } 2329 qosIpAceSrcL4PortMax OBJECT-TYPE 2330 SYNTAX INTEGER (0..65535) 2331 STATUS current 2332 DESCRIPTION 2333 "The maximum value that the packet's layer 4 source port 2334 number can have and match this ACE. This value must be equal 2335 to or greater that the value specified for this ACE in 2337 DiffServ QoS Policy Information Base March 2000 2339 qosIpAceSrcL4PortMin." 2341 ::= { qosIpAceEntry 11 } 2343 qosIpAcePermit OBJECT-TYPE 2344 SYNTAX TruthValue 2345 STATUS current 2346 DESCRIPTION 2347 "If the packet matches this ACE and the value of this 2348 attribute is true, then the matching process terminates 2349 and the QoS associated with this ACE (indirectly through 2350 the ACL) is applied to the packet. If the value of this 2351 attribute is false, then no more ACEs in this ACL are 2352 compared to this packet and matching continues with the 2353 first ACE of the next ACL." 2355 ::= { qosIpAceEntry 12 } 2357 -- 2358 -- The IP ACL Definition Table 2359 -- 2361 qosIpAclDefinitionTable OBJECT-TYPE 2362 SYNTAX SEQUENCE OF QosIpAclDefinitionEntry 2363 POLICY-ACCESS install 2364 STATUS current 2365 DESCRIPTION 2366 "A class that defines a set of ACLs each being an ordered list 2367 of ACEs. Each instance of this class identifies one ACE of 2368 an ACL and the precedence order of that ACE with respect to 2369 other ACEs in the same ACL." 2371 INSTALL-ERRORS { 2372 priPrecedenceConflict(1) -- precedence conflict detected 2373 } 2375 ::= { qosIpQos 2 } 2377 qosIpAclDefinitionEntry OBJECT-TYPE 2378 SYNTAX QosIpAclDefinitionEntry 2379 STATUS current 2380 DESCRIPTION 2381 "An instance of the qosIpAclDefinition class." 2383 INDEX { qosIpAclDefinitionPrid } 2385 DiffServ QoS Policy Information Base March 2000 2387 UNIQUENESS { qosIpAclDefinitionAclId, 2388 qosIpAclDefinitionAceId } 2390 ::= { qosIpAclDefinitionTable 1 } 2392 QosIpAclDefinitionEntry ::= SEQUENCE { 2393 qosIpAclDefinitionPrid PolicyInstanceId, 2394 qosIpAclDefinitionAclId INTEGER, 2395 qosIpAclDefinitionAceId PolicyReferenceId, 2396 qosIpAclDefinitionAceOrder Unsigned32 2397 } 2399 qosIpAclDefinitionPrid OBJECT-TYPE 2400 SYNTAX PolicyInstanceId 2401 STATUS current 2402 DESCRIPTION 2403 "Unique index of this policy rule instance." 2405 ::= { qosIpAclDefinitionEntry 1 } 2407 qosIpAclDefinitionAclId OBJECT-TYPE 2408 SYNTAX INTEGER 2409 STATUS current 2410 DESCRIPTION 2411 "An ID for this ACL. There will be one instance of 2412 the class qosIpAclDefinition with this ID for each ACE in 2413 the ACL per role combination." 2415 ::= { qosIpAclDefinitionEntry 2 } 2417 qosIpAclDefinitionAceId OBJECT-TYPE 2418 SYNTAX PolicyReferenceId 2419 STATUS current 2420 DESCRIPTION 2421 "This attribute specifies the ACE in the qosIpAceTable that 2422 is in the ACL specified by qosIpAclDefinitionAclId at the 2423 position specified by qosIpAceOrder. 2425 Attempting to specify an unknown class instance will result 2426 in an appropriate error indication being returned to the 2427 entity that is attempting to install the conflicting entry. 2428 For example, a 'priUnknown(2)' error indication is returned 2429 to the policy server in this situation." 2431 ::= { qosIpAclDefinitionEntry 3 } 2433 DiffServ QoS Policy Information Base March 2000 2435 qosIpAclDefinitionAceOrder OBJECT-TYPE 2436 SYNTAX Unsigned32 2437 STATUS current 2438 DESCRIPTION 2439 "The precedence order of this ACE. The precedence order 2440 determines the position of this ACE in the ACL. An ACE with 2441 a given precedence order is positioned in the access control 2442 list before one with a higher-valued precedence order. 2444 Precedence values within a group must be unique otherwise 2445 instance installation will be prohibited and an error 2446 value will be returned." 2448 ::= { qosIpAclDefinitionEntry 4 } 2450 -- 2451 -- Conformance Section 2452 -- 2454 qosPolicyIpPibConformance 2455 OBJECT IDENTIFIER ::= { qosPolicyIpPib 3 } 2457 qosPolicyIpPibCompliances 2458 OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 1 } 2459 qosPolicyIpPibGroups 2460 OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 2 } 2462 qosPolicyIpPibCompliance MODULE-COMPLIANCE 2463 STATUS current 2464 DESCRIPTION 2465 "Describes the requirements for conformance to the 2466 QoS Policy IP PIB." 2468 MODULE -- this module 2469 MANDATORY-GROUPS { qosIfTypeGroup, 2470 qosIfTypeRoleComboGroup, 2471 qosIfTypeSchedulingCapsGroup, 2472 qosIfTypeQueueSetAssignGroup, 2473 qosIfQueueGroup, 2474 qosMeterGroup, 2475 qosActionGroup, 2476 qosTargetGroup } 2478 OBJECT qosIfTypeQueueSetAssignName 2479 MIN-ACCESS notify 2481 DiffServ QoS Policy Information Base March 2000 2483 DESCRIPTION "Install support is not required." 2485 OBJECT qosIfTypeQueueSetAssignRoles 2486 MIN-ACCESS notify 2487 DESCRIPTION "Install support is not required." 2489 OBJECT qosIfTypeQueueSetAssignQueueSetId 2490 MIN-ACCESS notify 2491 DESCRIPTION "Install support is not required." 2493 OBJECT qosIfQueueSetId 2494 MIN-ACCESS notify 2495 DESCRIPTION "Install support is not required." 2497 OBJECT qosIfQueueQueueSize 2498 MIN-ACCESS notify 2499 DESCRIPTION "Install support is not required." 2501 OBJECT qosIfQueueSetThreshSet 2502 MIN-ACCESS notify 2503 DESCRIPTION "Install support is not required." 2505 OBJECT qosIfQueuePriorityGroup 2506 MIN-ACCESS notify 2507 DESCRIPTION "Install support is not required." 2509 OBJECT qosIfQueueServiceDisc 2510 MIN-ACCESS notify 2511 DESCRIPTION "Install support is not required." 2513 OBJECT qosIfQueueDrainSize 2514 MIN-ACCESS notify 2515 DESCRIPTION "Install support is not required." 2517 OBJECT qosIfQueueMinAbsBandwidth 2518 MIN-ACCESS notify 2519 DESCRIPTION "Install support is not required." 2521 OBJECT qosIfQueueBandwidthAllocation 2522 MIN-ACCESS notify 2523 DESCRIPTION "Install support is not required." 2525 OBJECT qosMeterDataSpecification 2526 MIN-ACCESS notify 2527 DESCRIPTION "Install support is not required." 2529 DiffServ QoS Policy Information Base March 2000 2531 OBJECT qosMeterCommittedRate 2532 MIN-ACCESS notify 2533 DESCRIPTION "Install support is not required." 2535 OBJECT qosMeterCommittedBurst 2536 MIN-ACCESS notify 2537 DESCRIPTION "Install support is not required." 2539 OBJECT qosMeterPeakRate 2540 MIN-ACCESS notify 2541 DESCRIPTION "Install support is not required." 2543 OBJECT qosMeterPeakBurst 2544 MIN-ACCESS notify 2545 DESCRIPTION "Install support is not required." 2547 OBJECT qosMeterHighConfAction 2548 MIN-ACCESS notify 2549 DESCRIPTION "Install support is not required." 2551 OBJECT qosMeterMedConfAction 2552 MIN-ACCESS notify 2553 DESCRIPTION "Install support is not required." 2555 OBJECT qosMeterLowConfAction 2556 MIN-ACCESS notify 2557 DESCRIPTION "Install support is not required." 2559 OBJECT qosActionDrop 2560 MIN-ACCESS notify 2561 DESCRIPTION "Install support is not required." 2563 OBJECT qosActionUpdateDSCP 2564 MIN-ACCESS notify 2565 DESCRIPTION "Install support is not required." 2567 OBJECT qosActionMeter 2568 MIN-ACCESS notify 2569 DESCRIPTION "Install support is not required." 2571 GROUP qosIfTypeClassificationCapsGroup 2572 DESCRIPTION 2573 "The qosIfTypeClassificationCapsGroup is mandatory 2574 if IP datagram classification is supported." 2576 DiffServ QoS Policy Information Base March 2000 2578 GROUP qosIfTypePolicingCapsGroup 2579 DESCRIPTION 2580 "The qosIfTypePolicingCapsGroup is mandatory if 2581 policing and shaping capabilities are supported." 2583 GROUP qosIfThresholdGroup 2584 DESCRIPTION 2585 "The qosIfThresholdGroup is mandatory if 2586 queue-based thresholds are supported and if 2587 the qosIfDscpMapGroup is supported." 2589 OBJECT qosIfThresholdSetId 2590 MIN-ACCESS notify 2591 DESCRIPTION "Install support is not required." 2593 OBJECT qosIfThresholdDropMethod 2594 MIN-ACCESS notify 2595 DESCRIPTION "Install support is not required." 2597 OBJECT qosIfThresholdMinThresh 2598 MIN-ACCESS notify 2599 DESCRIPTION "Install support is not required." 2601 OBJECT qosIfThresholdMaxThresh 2602 MIN-ACCESS notify 2603 DESCRIPTION "Install support is not required." 2605 GROUP qosIfDscpAssignGroup 2606 DESCRIPTION 2607 "The qosIfDscpAssignGroup is mandatory if traffic 2608 queue assignment based on DSCP is supported." 2610 OBJECT qosIfDscpAssignName 2611 MIN-ACCESS notify 2612 DESCRIPTION "Install support is not required." 2614 OBJECT qosIfDscpAssignRoles 2615 MIN-ACCESS notify 2616 DESCRIPTION "Install support is not required." 2618 OBJECT qosIfDscpAssignDscpMap 2619 MIN-ACCESS notify 2620 DESCRIPTION "Install support is not required." 2622 GROUP qosIfDscpMapGroup 2624 DiffServ QoS Policy Information Base March 2000 2626 DESCRIPTION 2627 "The qosIfDscpMapGroup is mandatory if the 2628 qosIfDscpAssignGroup is supported." 2630 OBJECT qosIfDscpMapMapId 2631 MIN-ACCESS notify 2632 DESCRIPTION "Install support is not required." 2634 OBJECT qosIfDscpMapDscp 2635 MIN-ACCESS notify 2636 DESCRIPTION "Install support is not required." 2638 OBJECT qosIfDscpMapQueue 2639 MIN-ACCESS notify 2640 DESCRIPTION "Install support is not required." 2642 OBJECT qosIfDscpMapThresh 2643 MIN-ACCESS notify 2644 DESCRIPTION "Install support is not required." 2646 GROUP qosIpAceGroup 2647 DESCRIPTION 2648 "The qosIpAceGroup is mandatory if filtering 2649 based on IP traffic components is supported." 2651 GROUP qosIpAclDefinitionGroup 2652 DESCRIPTION 2653 "The qosIpAclDefinitionGroup is mandatory if filtering 2654 based on IP traffic components is supported." 2656 ::= { qosPolicyIpPibCompliances 1 } 2658 qosIfTypeGroup OBJECT-GROUP 2659 OBJECTS { 2660 qosIfTypeName, 2661 qosIfTypeCapabilityPrc, 2662 qosIfTypeCapabilityId 2663 } 2664 STATUS current 2665 DESCRIPTION 2666 "Objects from the qosIfTypeTable." 2668 ::= { qosPolicyIpPibGroups 1 } 2670 qosIfTypeRoleComboGroup OBJECT-GROUP 2672 DiffServ QoS Policy Information Base March 2000 2674 OBJECTS { 2675 qosIfTypeRoleComboIfName, 2676 qosIfTypeRoleComboRoles 2677 } 2678 STATUS current 2679 DESCRIPTION 2680 "Objects from the qosIfTypeRoleComboTable." 2682 ::= { qosPolicyIpPibGroups 2 } 2684 qosIfTypeClassificationCapsGroup OBJECT-GROUP 2685 OBJECTS { 2686 qosIfTypeClassificationCaps 2687 } 2688 STATUS current 2689 DESCRIPTION 2690 "Objects from the qosIfTypeClassificationCapsTable." 2692 ::= { qosPolicyIpPibGroups 3 } 2694 qosIfTypePolicingCapsGroup OBJECT-GROUP 2695 OBJECTS { 2696 qosIfTypePolicingCaps 2697 } 2698 STATUS current 2699 DESCRIPTION 2700 "Objects from the qosIfTypePolicingCapsTable." 2702 ::= { qosPolicyIpPibGroups 4 } 2704 qosIfTypeSchedulingCapsGroup OBJECT-GROUP 2705 OBJECTS { 2706 qosIfTypeSchedulingCapsMaxQueues, 2707 qosIfTypeSchedulingCapsMaxThresholds, 2708 qosIfTypeSchedulingCapsMaxPriorities, 2709 qosIfTypeSchedulingCapsServiceDisc, 2710 qosIfTypeSchedulingCapsMinQueueSize, 2711 qosIfTypeSchedulingCapsMaxQueueSize, 2712 qosIfTypeSchedulingCapsTotalQueueSize, 2713 qosIfTypeSchedulingCapsWredCapable 2714 } 2715 STATUS current 2716 DESCRIPTION 2717 "Objects from the qosIfTypeSchedulingCapsTable." 2719 DiffServ QoS Policy Information Base March 2000 2721 ::= { qosPolicyIpPibGroups 5 } 2723 qosIfTypeQueueSetAssignGroup OBJECT-GROUP 2724 OBJECTS { 2725 qosIfTypeQueueSetAssignName, 2726 qosIfTypeQueueSetAssignRoles, 2727 qosIfTypeQueueSetAssignQueueSetId, 2728 } 2729 STATUS current 2730 DESCRIPTION 2731 "Objects from the qosIfTypeQueueSetAssignTable." 2733 ::= { qosPolicyIpPibGroups 6 } 2735 qosIfQueueGroup OBJECT-GROUP 2736 OBJECTS { 2737 qosIfQueueSetId, 2738 qosIfQueueQueueSize, 2739 qosIfQueueSetThreshSet, 2740 qosIfQueuePriorityGroup, 2741 qosIfQueueServiceDisc, 2742 qosIfQueueDrainSize, 2743 qosIfQueueMinAbsBandwidth, 2744 qosIfQueueBandwidthAllocation 2745 } 2746 STATUS current 2747 DESCRIPTION 2748 "Objects from the qosIfQueueTable." 2750 ::= { qosPolicyIpPibGroups 7 } 2752 qosIfThresholdGroup OBJECT-GROUP 2753 OBJECTS { 2754 qosIfThresholdSetId, 2755 qosIfThresholdDropMethod, 2756 qosIfThresholdMinThresh, 2757 qosIfThresholdMaxThresh 2758 } 2759 STATUS current 2760 DESCRIPTION 2761 "Objects from the qosIfThresholdTable." 2763 ::= { qosPolicyIpPibGroups 8 } 2765 qosIfDscpAssignGroup OBJECT-GROUP 2767 DiffServ QoS Policy Information Base March 2000 2769 OBJECTS { 2770 qosIfDscpAssignName, 2771 qosIfDscpAssignRoles, 2772 qosIfDscpAssignDscpMap 2773 } 2774 STATUS current 2775 DESCRIPTION 2776 "Objects from the qosIfDscpAssignTable." 2778 ::= { qosPolicyIpPibGroups 9 } 2780 qosIfDscpMapGroup OBJECT-GROUP 2781 OBJECTS { 2782 qosIfDscpMapMapId, 2783 qosIfDscpMapDscp, 2784 qosIfDscpMapQueue, 2785 qosIfDscpMapThresh 2786 } 2787 STATUS current 2788 DESCRIPTION 2789 "Objects from the qosIfDscpMapTable." 2791 ::= { qosPolicyIpPibGroups 10 } 2793 qosMeterGroup OBJECT-GROUP 2794 OBJECTS { 2795 qosMeterDataSpecification, 2796 qosMeterCommittedRate, 2797 qosMeterCommittedBurst, 2798 qosMeterPeakRate, 2799 qosMeterPeakBurst, 2800 qosMeterHighConfAction, 2801 qosMeterMedConfAction, 2802 qosMeterLowConfAction 2803 } 2804 STATUS current 2805 DESCRIPTION 2806 "Objects from the qosMeterTable." 2808 ::= { qosPolicyIpPibGroups 11 } 2810 qosActionGroup OBJECT-GROUP 2811 OBJECTS { 2812 qosActionDrop, 2813 qosActionUpdateDSCP, 2815 DiffServ QoS Policy Information Base March 2000 2817 qosActionMeter 2818 } 2819 STATUS current 2820 DESCRIPTION 2821 "Objects from the qosActionTable." 2823 ::= { qosPolicyIpPibGroups 12 } 2825 qosTargetGroup OBJECT-GROUP 2826 OBJECTS { 2827 qosTargetAclId, 2828 qosTargetAclType, 2829 qosTargetInterfaceRoles, 2830 qosTargetInterfaceDirection, 2831 qosTargetOrder, 2832 qosTargetMeter 2833 } 2834 STATUS current 2835 DESCRIPTION 2836 "Objects from the qosTargetTable." 2838 ::= { qosPolicyIpPibGroups 13 } 2840 qosIpAceGroup OBJECT-GROUP 2841 OBJECTS { 2842 qosIpAceDstAddr, 2843 qosIpAceDstAddrMask, 2844 qosIpAceSrcAddr, 2845 qosIpAceSrcAddrMask, 2846 qosIpAceDscp, 2847 qosIpAceProtocol, 2848 qosIpAceDstL4PortMin, 2849 qosIpAceDstL4PortMax, 2850 qosIpAceSrcL4PortMin, 2851 qosIpAceSrcL4PortMax, 2852 qosIpAcePermit 2853 } 2854 STATUS current 2855 DESCRIPTION 2856 "Objects from the qosIpAceTable." 2858 ::= { qosPolicyIpPibGroups 14 } 2860 qosIpAclDefinitionGroup OBJECT-GROUP 2861 OBJECTS { 2863 DiffServ QoS Policy Information Base March 2000 2865 qosIpAclDefinitionAclId, 2866 qosIpAclDefinitionAceId, 2867 qosIpAclDefinitionAceOrder 2868 } 2869 STATUS current 2870 DESCRIPTION 2871 "Objects from the qosIpAclDefinitionTable." 2873 ::= { qosPolicyIpPibGroups 15 } 2875 END 2877 DiffServ QoS Policy Information Base March 2000 2879 6.2. The DiffServ IEEE 802 PIB 2881 DIFFSERV-802-PIB PIB-DEFINITIONS ::= BEGIN 2883 IMPORTS 2884 Unsigned32, Integer32, 2885 MODULE-IDENTITY, OBJECT-TYPE 2886 FROM COPS-PR-SPPI 2887 TruthValue, PhysAddress, 2888 TEXTUAL-CONVENTION 2889 FROM SNMPv2-TC 2890 RoleCombination, PolicyInstanceId, PolicyReferenceId 2891 FROM POLICY-FRAMEWORK-PIB 2892 Dscp 2893 FROM QOS-POLICY-IP-PIB; 2895 qosPolicy802Pib MODULE-IDENTITY 2896 LAST-UPDATED "9906241800Z" 2897 ORGANIZATION "IETF RAP WG" 2898 CONTACT-INFO " 2899 Michael Fine 2900 Cisco Systems, Inc. 2901 170 West Tasman Drive 2902 San Jose, CA 95134-1706 USA 2903 Phone: +1 408 527 8218 2904 Email: mfine@cisco.com 2906 Keith McCloghrie 2907 Cisco Systems, Inc. 2908 170 West Tasman Drive, 2909 San Jose, CA 95134-1706 USA 2910 Phone: +1 408 526 5260 2911 Email: kzm@cisco.com 2913 John Seligson 2914 Nortel Networks, Inc. 2915 4401 Great America Parkway 2916 Santa Clara, CA 95054 USA 2917 Phone: +1 408 495 2992 2918 Email: jseligso@nortelnetworks.com" 2919 DESCRIPTION 2920 "The PIB module containing an initial set of policy 2921 rule classes that describe the quality of service 2922 (QoS) policies supported by devices for IEEE 802- 2923 based traffic." 2925 DiffServ QoS Policy Information Base March 2000 2927 ::= { tbd } 2929 qosPolicy802PibClasses OBJECT IDENTIFIER ::= { qosPolicy802Pib 1 } 2931 -- 2932 -- Textual Conventions 2933 -- 2935 -- 2936 -- IEEE 802 CoS 2937 -- 2939 QosIeee802Cos ::= TEXTUAL-CONVENTION 2940 STATUS current 2941 DESCRIPTION 2942 "An integer that is in the range of the IEEE 802 CoS 2943 values. This corresponds to the 802.1p priority values." 2945 SYNTAX INTEGER (0..7) 2947 -- 2948 -- General configuration information for the entire domain 2949 -- 2951 qos802DomainConfig OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 1 } 2953 -- 2954 -- 802 Classification Capabilities 2955 -- 2957 qos802IfTypeClassificationCapsTable OBJECT-TYPE 2958 SYNTAX SEQUENCE OF QosIfType802ClassificationCapsEntry 2959 POLICY-ACCESS notify 2960 STATUS current 2961 DESCRIPTION 2962 "This table specifies the 803 classification capabilities of 2963 interface types. A PRI in the qosIfTypeTable would reference 2964 a PRI in this table if the corresponding interface type 2965 supports some of these capabilities." 2967 ::= { qos802DomainConfig 1 } 2969 qos802IfTypeClassificationCapsEntry OBJECT-TYPE 2970 SYNTAX QosIfType802ClassificationEntry 2972 DiffServ QoS Policy Information Base March 2000 2974 STATUS current 2975 DESCRIPTION 2976 "An instance of this class describes the 802 classification 2977 capabilities of an interface." 2979 INDEX { qos802IfTypeClassificationCapsPrid } 2980 UNIQUENESS { qos802IfTypeClassificationCaps } 2982 ::= { qos802IfTypeClassificationCapsTable 1 } 2984 QosIfType802ClassificationCapsEntry ::= SEQUENCE { 2985 qos802IfTypeClassificationCapsPrid PolicyInstanceId, 2986 qos802IfTypeClassificationCaps BITS 2987 } 2989 qos802IfTypeClassificationCapsPrid OBJECT-TYPE 2990 SYNTAX PolicyInstanceId 2991 STATUS current 2992 DESCRIPTION 2993 "An arbitrary integer index that uniquely identifies a 2994 instance of the class." 2996 ::= { qos802IfTypeClassificationCapsEntry 1 } 2998 qos802IfTypeClassificationCaps OBJECT-TYPE 2999 SYNTAX BITS { 3000 input802Classification(1), 3001 output802Classification(2), 3002 -- Indicates the ability to classify 802.3 3003 -- packets on ingress and on egress, 3004 -- respectively. 3006 etherAddrClassification(3), 3007 -- indicates the ability to classify based on 3008 -- addresses 3009 etherTypeClassification(4), 3010 etherSapClassification(4), 3011 etherSnapClassification(4), 3012 -- indicates the ability to classify based on 3013 -- ether types, SAPs or SNAP types 3014 } 3015 STATUS current 3016 DESCRIPTION 3017 "Bit set of supported 802.3 classification capabilities." 3019 DiffServ QoS Policy Information Base March 2000 3021 ::= { qos802IfTypeClassificationCapsEntry 2 } 3023 -- 3024 -- Differentiated Services Code Point Mapping Table 3025 -- 3026 -- Supports the mapping of DSCP values to IEEE CoS values. 3027 -- 3029 qos802DscpMappingTable OBJECT-TYPE 3030 SYNTAX SEQUENCE OF Qos802DscpMappingEntry 3031 POLICY-ACCESS install 3032 STATUS current 3033 DESCRIPTION 3034 "Maps each DSCP to an QosIeee802Cos. When configured 3035 for the first time, all 64 entries of the table must 3036 be specified. Thereafter, instances may be modified but 3037 not deleted unless all instances are deleted." 3039 INSTALL-ERRORS { 3040 priInstNotComplete(1) -- required instances not created 3041 } 3043 ::= { qos802DomainConfig 2 } 3045 qos802DscpMappingEntry OBJECT-TYPE 3046 SYNTAX Qos802DscpMappingEntry 3047 STATUS current 3048 DESCRIPTION 3049 "An instance of the qos802DscpMapping class. A total of 64 3050 class instances are constantly maintained after initial device 3051 configuration." 3053 INDEX { qos802DscpMappingPrid } 3054 UNIQUENESS { qos802DscpMappingDscp } 3056 ::= { qos802DscpMappingTable 1 } 3058 Qos802DscpMappingEntry ::= SEQUENCE { 3059 qos802DscpMappingPrid PolicyInstanceId, 3060 qos802DscpMappingDscp Dscp, 3061 qos802DscpMapping802Cos QosIeee802Cos 3062 } 3064 qos802DscpMappingPrid OBJECT-TYPE 3066 DiffServ QoS Policy Information Base March 2000 3068 SYNTAX PolicyInstanceId 3069 STATUS current 3070 DESCRIPTION 3071 "A unique ID for this policy rule instance." 3073 ::= { qos802DscpMappingEntry 1 } 3075 qos802DscpMappingDscp OBJECT-TYPE 3076 SYNTAX Dscp 3077 STATUS current 3078 DESCRIPTION 3079 "The DSCP class instance attribute that is used to 3080 determine the appropriate layer 2 CoS mappings. DSCP 3081 values 0 through 63 (inclusive) are maintained in 3082 the table." 3084 ::= { qos802DscpMappingEntry 2 } 3086 qos802DscpMapping802Cos OBJECT-TYPE 3087 SYNTAX QosIeee802Cos 3088 STATUS current 3089 DESCRIPTION 3090 "The IEEE 802 CoS value to use when mapping the DSCP 3091 value specified by the qos802DscpMappingDscp attribute 3092 to a IEEE 802 CoS." 3094 ::= { qos802DscpMappingEntry 3 } 3096 -- 3097 -- Layer 2 CoS-to-DSCP Mapping Table 3098 -- 3099 -- Supports the mapping of IEEE CoS values to DSCP values 3100 -- for generic QoS traffic classification 3101 -- 3103 qos802CosToDscpTable OBJECT-TYPE 3104 SYNTAX SEQUENCE OF Qos802CosToDscpEntry 3105 POLICY-ACCESS install 3106 STATUS current 3107 DESCRIPTION 3108 "Maps each of eight layer 2 CoS values to a DSCP. When 3109 configured for the first time, all 8 entries of the table 3110 must be specified. Thereafter, instances may be modified 3111 but not deleted unless all instances are deleted." 3113 DiffServ QoS Policy Information Base March 2000 3115 INSTALL-ERRORS { 3116 priInstNotComplete(1) -- required instances not created 3117 } 3119 ::= { qos802DomainConfig 3 } 3121 qos802CosToDscpEntry OBJECT-TYPE 3122 SYNTAX Qos802CosToDscpEntry 3123 STATUS current 3124 DESCRIPTION 3125 "An instance of the qosCosToDscp class. A total of 8 3126 class instances are constantly maintained after initial 3127 device configuration." 3129 INDEX { qos802CosToDscpPrid } 3130 UNIQUENESS { qos802CosToDscpCos } 3132 ::= { qos802CosToDscpTable 1 } 3134 Qos802CosToDscpEntry ::= SEQUENCE { 3135 qos802CosToDscpPrid PolicyInstanceId, 3136 qos802CosToDscpCos QosIeee802Cos, 3137 qos802CosToDscpDscp Dscp 3138 } 3140 qos802CosToDscpPrid OBJECT-TYPE 3141 SYNTAX PolicyInstanceId 3142 STATUS current 3143 DESCRIPTION 3144 "A unique index for this policy rule instance." 3146 ::= { qos802CosToDscpEntry 1 } 3148 qos802CosToDscpCos OBJECT-TYPE 3149 SYNTAX QosIeee802Cos 3150 STATUS current 3151 DESCRIPTION 3152 "The layer 2 CoS class instance attribute that is used to 3153 determine the appropriate DSCP mappings. CoS values 0 3154 through 7 (inclusive) are maintained in the table." 3156 ::= { qos802CosToDscpEntry 2 } 3158 qos802CosToDscpDscp OBJECT-TYPE 3159 SYNTAX Dscp 3161 DiffServ QoS Policy Information Base March 2000 3163 STATUS current 3164 DESCRIPTION 3165 "The DSCP value to use when mapping the layer 2 CoS value 3166 specified by the qosCosToDscp attribute to a DSCP." 3168 ::= { qos802CosToDscpEntry 3 } 3170 -- 3171 -- The IEEE 802 Classification and Policing Group 3172 -- 3174 qos802Qos OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 2 } 3176 -- 3177 -- The IEEE 802 ACE Table 3178 -- 3179 -- The IEEE 802 ACE Table supports the specification of IEEE 3180 -- 802-based (e.g., 802.3) information that is used to perform 3181 -- traffic classification. 3182 -- 3184 qos802AceTable OBJECT-TYPE 3185 SYNTAX SEQUENCE OF Qos802AceEntry 3186 POLICY-ACCESS install 3187 STATUS current 3188 DESCRIPTION 3189 "IEEE 802-based ACE definitions. A class that contains 3190 attributes of IEEE 802 (e.g., 802.3) traffic that form 3191 an association that is used to perform traffic 3192 classification." 3194 ::= { qos802Qos 1 } 3196 qos802AceEntry OBJECT-TYPE 3197 SYNTAX Qos802AceEntry 3198 STATUS current 3199 DESCRIPTION 3200 "IEEE 802-based ACE definitions. An entry specifies 3201 (potentially) several distinct matching components. Each 3202 component is tested against the data in a frame 3203 individually. An overall match occurs when all of the 3204 individual components match the data they are compared 3205 against in the frame being processed. A failure of any 3206 one test causes the overall match to fail. 3208 DiffServ QoS Policy Information Base March 2000 3210 Wildcards may be specified for those fields that are not 3211 relevant." 3213 INDEX { qos802AcePrid } 3214 UNIQUENESS { qos802AceDstAddr, 3215 qos802AceDstAddrMask, 3216 qos802AceSrcAddr, 3217 qos802AceSrcAddrMask, 3218 qos802AceVlanId, 3219 qos802AceVlanTagRequired, 3220 qos802AceEtherType, 3221 qos802AceUserPriority} 3223 ::= { qos802AceTable 1 } 3225 Qos802AceEntry ::= SEQUENCE { 3226 qos802AcePrid PolicyInstanceId, 3227 qos802AceDstAddr PhysAddress, 3228 qos802AceDstAddrMask PhysAddress, 3229 qos802AceSrcAddr PhysAddress, 3230 qos802AceSrcAddrMask PhysAddress, 3231 qos802AceVlanId Integer32, 3232 qos802AceVlanTagRequired INTEGER, 3233 qos802AceEtherType Integer32, 3234 qos802AceUserPriority BITS, 3235 qos802AcePermit TruthValue 3236 } 3238 qos802AcePrid OBJECT-TYPE 3239 SYNTAX PolicyInstanceId 3240 STATUS current 3241 DESCRIPTION 3242 "An arbitrary integer index that uniquely identifies this 3243 802 ACE among all of the 802 ACEs. Note that this identifier 3244 is used in instances of the qos802Acl class to associate a 3245 802 ACE with a 802 ACL. An active ACE/ACL association 3246 prohibits the deletion of the 802 ACE until the ACE/ACL 3247 association is terminated. Class instances may not be 3248 contiguous." 3250 ::= { qos802AceEntry 1 } 3252 qos802AceDstAddr OBJECT-TYPE 3253 SYNTAX PhysAddress 3254 STATUS current 3256 DiffServ QoS Policy Information Base March 2000 3258 DESCRIPTION 3259 "The 802 address against which the 802 DA of incoming traffic 3260 streams will be compared. Frames whose 802 DA matches the 3261 physical address specified by this object, taking into account 3262 address wildcarding as specified by the qos802AceDstAddrMask 3263 object, are potentially subject to the processing guidelines 3264 that are associated with this entry through the related 3265 action class." 3267 ::= { qos802AceEntry 2 } 3269 qos802AceDstAddrMask OBJECT-TYPE 3270 SYNTAX PhysAddress 3271 STATUS current 3272 DESCRIPTION 3273 "This object specifies the bits in a 802 destination address 3274 that should be considered when performing a 802 DA comparison 3275 against the address specified in the qos802AceDstAddr object. 3277 The value of this object represents a mask that is logically 3278 and'ed with the 802 DA in received frames to derive the value 3279 to be compared against the qos802AceDstAddr address. A zero 3280 bit in the mask thus means that the corresponding bit in the 3281 address always matches. The qos802AceDstAddr value must also 3282 be masked using this value prior to any comparisons. 3284 The length of this object in octets must equal the length in 3285 octets of the qos802AceDstAddr. Note that a mask with no bits 3286 set (i.e., all zeroes) effectively wildcards the 3287 qos802AceDstAddr object." 3289 ::= { qos802AceEntry 3 } 3291 qos802AceSrcAddr OBJECT-TYPE 3292 SYNTAX PhysAddress 3293 STATUS current 3294 DESCRIPTION 3295 "The 802 MAC address against which the 802 MAC SA of incoming 3296 traffic streams will be compared. Frames whose 802 MAC SA 3297 matches the physical address specified by this object, 3298 taking into account address wildcarding as specified by the 3299 qos802AceSrcAddrMask object, are potentially subject to the 3300 processing guidelines that are associated with this entry 3301 through the related action class." 3303 DiffServ QoS Policy Information Base March 2000 3305 ::= { qos802AceEntry 4 } 3307 qos802AceSrcAddrMask OBJECT-TYPE 3308 SYNTAX PhysAddress 3309 STATUS current 3310 DESCRIPTION 3311 "This object specifies the bits in a 802 MAC source address 3312 that should be considered when performing a 802 MAC SA 3313 comparison against the address specified in the 3314 qos802AceSrcAddr object. 3316 The value of this object represents a mask that is logically 3317 and'ed with the 802 MAC SA in received frames to derive the 3318 value to be compared against the qos802AceSrcAddr address. A 3319 zero bit in the mask thus means that the corresponding bit 3320 in the address always matches. The qos802AceSrcAddr value 3321 must also be masked using this value prior to any 3322 comparisons. 3324 The length of this object in octets must equal the length in 3325 octets of the qos802AceSrcAddr. Note that a mask with no bits 3326 set (i.e., all zeroes) effectively wildcards the 3327 qos802AceSrcAddr object." 3329 ::= { qos802AceEntry 5 } 3331 qos802AceVlanId OBJECT-TYPE 3332 SYNTAX Integer32 (-1 | 1..4094) 3333 STATUS current 3334 DESCRIPTION 3335 "The VLAN ID (VID) that uniquely identifies a VLAN 3336 within the device. This VLAN may be known or unknown 3337 (i.e., traffic associated with this VID has not yet 3338 been seen by the device) at the time this entry 3339 is instantiated. 3341 Setting the qos802AceVlanId object to -1 indicates that 3342 VLAN data should not be considered during traffic 3343 classification." 3345 ::= { qos802AceEntry 6 } 3347 qos802AceVlanTagRequired OBJECT-TYPE 3348 SYNTAX INTEGER { 3349 taggedOnly(1), 3351 DiffServ QoS Policy Information Base March 2000 3353 priorityTaggedPlus(2), 3354 untaggedOnly(3), 3355 ignoreTag(4) 3356 } 3357 STATUS current 3358 DESCRIPTION 3359 "This object indicates whether the presence of an 3360 IEEE 802.1Q VLAN tag in data link layer frames must 3361 be considered when determining if a given frame 3362 matches this 802 ACE entry. 3364 A value of 'taggedOnly(1)' means that only frames 3365 containing a VLAN tag with a non-Null VID (i.e., a 3366 VID in the range 1..4094) will be considered a match. 3368 A value of 'priorityTaggedPlus(2)' means that only 3369 frames containing a VLAN tag, regardless of the value 3370 of the VID, will be considered a match. 3372 A value of 'untaggedOnly(3)' indicates that only 3373 untagged frames will match this filter component. 3375 The presence of a VLAN tag is not taken into 3376 consideration in terms of a match if the value is 3377 'ignoreTag(4)'." 3379 ::= { qos802AceEntry 7 } 3381 qos802AceEtherType OBJECT-TYPE 3382 SYNTAX Integer32 (-1 | 0..'ffff'h) 3383 STATUS current 3384 DESCRIPTION 3385 "This object specifies the value that will be compared 3386 against the value contained in the EtherType field of an 3387 IEEE 802 frame. Example settings would include 'IP' 3388 (0x0800), 'ARP' (0x0806) and 'IPX' (0x8137). 3390 Setting the qos802AceEtherTypeMin object to -1 indicates 3391 that EtherType data should not be considered during traffic 3392 classification. 3394 Note that the position of the EtherType field depends on 3395 the underlying frame format. For Ethernet-II encapsulation, 3396 the EtherType field follows the 802 MAC source address. For 3397 802.2 LLC/SNAP encapsulation, the EtherType value follows the 3399 DiffServ QoS Policy Information Base March 2000 3401 Organization Code field in the 802.2 SNAP header. The value 3402 that is tested with regard to this filter component therefore 3403 depends on the data link layer frame format being used. If 3404 this 802 ACE component is active when there is no EtherType 3405 field in a frame (e.g., 802.2 LLC), a match is implied." 3407 ::= { qos802AceEntry 8 } 3409 qos802AceUserPriority OBJECT-TYPE 3410 SYNTAX BITS { 3411 matchPriority0(0), 3412 matchPriority1(1), 3413 matchPriority2(2), 3414 matchPriority3(3), 3415 matchPriority4(4), 3416 matchPriority5(5), 3417 matchPriority6(6), 3418 matchPriority7(7) 3419 } 3420 STATUS current 3421 DESCRIPTION 3422 "The set of values, representing the potential range 3423 of user priority values, against which the value contained 3424 in the user priority field of a tagged 802.1 frame is 3425 compared. A test for equality is performed when determining 3426 if a match exists between the data in a data link layer 3427 frame and the value of this 802 ACE component. Multiple 3428 values may be set at one time such that potentially several 3429 different user priority values may match this 802 ACE 3430 component. 3432 Setting all of the bits that are associated with this 3433 object causes all user priority values to match this 3434 attribute. This essentially makes any comparisons 3435 with regard to user priority values unnecessary. Untagged 3436 frames are treated as an implicit match." 3438 ::= { qos802AceEntry 9 } 3440 qos802AcePermit OBJECT-TYPE 3441 SYNTAX TruthValue 3442 STATUS current 3443 DESCRIPTION 3444 "If the frame matches this ACE and the value of this 3445 attribute is true, then the matching process terminates 3447 DiffServ QoS Policy Information Base March 2000 3449 and the QoS associated with this 802-based ACE (indirectly 3450 through the 802 ACL) is applied to the packet. If the 3451 value of this attribute is false, then no more 802 ACEs in 3452 this 802 ACL are compared to this packet and matching 3453 continues with the first 802-based ACE of the next 802 ACL." 3455 ::= { qos802AceEntry 10 } 3457 -- 3458 -- The IEEE 802 ACL Definition Table 3459 -- 3460 -- The IEEE 802 ACL Definition Table supports the association of 3461 -- distinct IEEE 802-based (e.g., 802.3) traffic classification 3462 -- specifications into an ordered list. 3463 -- 3465 qos802AclDefinitionTable OBJECT-TYPE 3466 SYNTAX SEQUENCE OF Qos802AclDefinitionEntry 3467 POLICY-ACCESS install 3468 STATUS current 3469 DESCRIPTION 3470 "IEEE 802-based ACL definitions. A class that defines a 3471 set of 802 ACLs, each of which is comprised of an ordered 3472 list of 802 ACEs." 3474 INSTALL-ERRORS { 3475 priPrecedenceConflict(1) -- precedence conflict detected 3476 } 3478 ::= { qos802Qos 2 } 3480 qos802AclDefinitionEntry OBJECT-TYPE 3481 SYNTAX Qos802AclDefinitionEntry 3482 STATUS current 3483 DESCRIPTION 3484 "IEEE 802-based ACL definitions. An entry specifies an 3485 instance of this class that associates an 802 ACE with 3486 a given 802 ACL. The evaluation order of distinct 802 3487 ACEs that are associated with a specific 802 ACL is 3488 specified as well." 3490 INDEX { qos802AclDefinitionPrid } 3491 UNIQUENESS { qos802AclDefinitionAclId, 3492 qos802AclDefinitionAceId } 3494 DiffServ QoS Policy Information Base March 2000 3496 ::= { qos802AclDefinitionTable 1 } 3498 Qos802AclDefinitionEntry ::= SEQUENCE { 3499 qos802AclDefinitionPrid PolicyInstanceId, 3500 qos802AclDefinitionAclId INTEGER, 3501 qos802AclDefinitionAceId PolicyReferenceId, 3502 qos802AclDefinitionAceOrder Unsigned32 3503 } 3505 qos802AclDefinitionPrid OBJECT-TYPE 3506 SYNTAX PolicyInstanceId 3507 STATUS current 3508 DESCRIPTION 3509 "An arbitrary integer index that uniquely identifies this 3510 802 ACE / 802 ACL association." 3512 ::= { qos802AclDefinitionEntry 1 } 3514 qos802AclDefinitionAclId OBJECT-TYPE 3515 SYNTAX INTEGER 3516 STATUS current 3517 DESCRIPTION 3518 "An index for this 802 ACL. Each 802 ACL in the device is 3519 assigned a unique integer index. There will (potentially) be 3520 multiple instances of the qos802AclDefinition class with this 3521 identifier, one for each 802 ACE that is associated with the 3522 specified 802 ACL. 3524 For example, assume that 2 802 ACLs, each comprised of 4 802 3525 ACEs, have been installed. The instances of this class may 3526 appear as follows: 3528 Index AclId AceId AceOrder 3529 10 6 4 1 3530 11 6 5 2 3531 12 6 9 23 3532 13 6 11 24 3533 65 18 5 8 3534 66 18 9 12 3535 67 18 13 15 3536 70 18 14 16 3538 Note that this identifier is used in instances of the 3539 qosAclTarget class to associate an 802 ACL with an interface 3540 set and action. An active ACL Target association prohibits 3542 DiffServ QoS Policy Information Base March 2000 3544 the deletion of all of the qos802AclDefinition instances 3545 with a given qos802AclDefinitionAclId (i.e., at least one 3546 entry for the specific qos802AclDefinitionAclId must be 3547 present in this table) until the ACL Target association is 3548 terminated." 3550 ::= { qos802AclDefinitionEntry 2 } 3552 qos802AclDefinitionAceId OBJECT-TYPE 3553 SYNTAX PolicyReferenceId 3554 STATUS current 3555 DESCRIPTION 3556 "This attribute identifies the 802 ACE in the qos802AceTable 3557 that is associated with the 802 ACL specified by 3558 qos802AclDefinitionAclId object. The corresponding instance 3559 in the qos802Ace class must exist prior to being associated 3560 with a 802 ACL. 3562 Attempting to specify an unknown class instance will result 3563 in an appropriate error indication being returned to the 3564 entity that is attempting to install the conflicting entry. 3565 For example, a 'priUnknown(2)' error indication is returned 3566 to the policy server in this situation." 3568 ::= { qos802AclDefinitionEntry 3 } 3570 qos802AclDefinitionAceOrder OBJECT-TYPE 3571 SYNTAX Unsigned32 3572 STATUS current 3573 DESCRIPTION 3574 "The precedence of the 802 ACE, identified via the 3575 qos802AclDefinitionAceId object, with regard to evaluation 3576 order. The precedence determines the order of evaluation of 3577 this ACE in relation to related 802 ACEs that are associated 3578 with an ACL. An ACE with a given precedence order in the 3579 access control list is evaluated before one with a higher- 3580 valued precedence order. 3582 Precedence values within a group must be unique otherwise 3583 instance installation will be prohibited and an error 3584 value will be returned. 3586 Note that qos802AclDefinitionAceOrder values within a given 3587 ACL need not be contiguous." 3589 DiffServ QoS Policy Information Base March 2000 3591 ::= { qos802AclDefinitionEntry 4 } 3593 -- 3594 -- Conformance Section 3595 -- 3597 qosPolicy802PibConformance 3598 OBJECT IDENTIFIER ::= { qosPolicy802Pib 2 } 3600 qosPolicy802PibCompliances 3601 OBJECT IDENTIFIER ::= { qosPolicy802PibConformance 1 } 3602 qosPolicy802PibGroups 3603 OBJECT IDENTIFIER ::= { qosPolicy802PibConformance 2 } 3605 qosPolicy802PibCompliance MODULE-COMPLIANCE 3606 STATUS current 3607 DESCRIPTION 3608 "Describes the requirements for conformance to the 3609 QoS Policy 802 PIB." 3611 MODULE -- this module 3613 GROUP qos802IfTypeClassificationCapsGroup 3614 DESCRIPTION 3615 "The qos802DscpMappingGroup is mandatory if 802.3 3616 frame classification is supported." 3618 GROUP qos802DscpMappingGroup 3619 DESCRIPTION 3620 "The qos802DscpMappingGroup is mandatory if mapping 3621 from DSCP to 802.1 user priority is supported." 3623 OBJECT qos802DscpMappingDscp 3624 MIN-ACCESS notify 3625 DESCRIPTION "Install support is not required." 3627 OBJECT qos802DscpMapping802Cos 3628 MIN-ACCESS notify 3629 DESCRIPTION "Install support is not required." 3631 GROUP qos802CosToDscpGroup 3632 DESCRIPTION 3633 "The qos802CosToDscpGroup is mandatory if mapping 3634 from 802.1 user priority to DSCP is supported." 3636 DiffServ QoS Policy Information Base March 2000 3638 OBJECT qos802CosToDscpCos 3639 MIN-ACCESS notify 3640 DESCRIPTION "Install support is not required." 3642 OBJECT qos802CosToDscpDscp 3643 MIN-ACCESS notify 3644 DESCRIPTION "Install support is not required." 3646 GROUP qos802AceGroup 3647 DESCRIPTION 3648 "The qos802AceGroup is mandatory if filtering 3649 based on 802 traffic criteria is supported." 3651 GROUP qos802AclDefinitionGroup 3652 DESCRIPTION 3653 "The qos802AclDefinitionGroup is mandatory if 3654 filtering based on 802 traffic criteria is supported." 3656 ::= { qosPolicy802PibCompliances 1 } 3658 qos802IfTypeClassificationCapsGroup OBJECT-GROUP 3659 OBJECTS { 3660 qos802IfTypeClassificationCaps 3661 } 3662 STATUS current 3663 DESCRIPTION 3664 "Objects from the qos802IfTypeClassificationCapsTable." 3666 ::= { qosPolicy802PibGroups 1 } 3668 qos802DscpMappingGroup OBJECT-GROUP 3669 OBJECTS { 3670 qos802DscpMappingDscp, 3671 qos802DscpMapping802Cos 3672 } 3673 STATUS current 3674 DESCRIPTION 3675 "Objects from the qos802DscpMappingTable." 3677 ::= { qosPolicy802PibGroups 2 } 3679 qos802CosToDscpGroup OBJECT-GROUP 3680 OBJECTS { 3681 qos802CosToDscpCos, 3682 qos802CosToDscpDscp 3684 DiffServ QoS Policy Information Base March 2000 3686 } 3687 STATUS current 3688 DESCRIPTION 3689 "Objects from the qos802CosToDscpTable." 3691 ::= { qosPolicy802PibGroups 3 } 3693 qos802AceGroup OBJECT-GROUP 3694 OBJECTS { 3695 qos802AceDstAddr, 3696 qos802AceDstAddrMask, 3697 qos802AceSrcAddr, 3698 qos802AceSrcAddrMask, 3699 qos802AceVlanId, 3700 qos802AceVlanTagRequired, 3701 qos802AceEtherType, 3702 qos802AceUserPriority, 3703 qos802AcePermit 3704 } 3705 STATUS current 3706 DESCRIPTION 3707 "Objects from the qos802AceTable." 3709 ::= { qosPolicy802PibGroups 4 } 3711 qos802AclDefinitionGroup OBJECT-GROUP 3712 OBJECTS { 3713 qos802AclDefinitionAclId, 3714 qos802AclDefinitionAceId, 3715 qos802AclDefinitionAceOrder 3716 } 3717 STATUS current 3718 DESCRIPTION 3719 "Objects from the qos802AclDefinitionTable." 3721 ::= { qosPolicy802PibGroups 5 } 3723 END 3725 DiffServ QoS Policy Information Base March 2000 3727 7. Security Considerations 3729 The information contained in a PIB when transported by the COPS protocol 3730 [COPS-PR] may be sensitive, and its function of provisioning a PEP 3731 requires that only authorized communication take place. The use of 3732 IPSEC between PDP and PEP, as described in [COPS], provides the 3733 necessary protection against these threats. 3735 8. Intellectual Property Considerations 3737 The IETF is being notified of intellectual property rights claimed in 3738 regard to some or all of the specification contained in this document. 3739 For more information consult the online list of claimed rights. 3741 9. Authors' Addresses 3743 Michael Fine 3744 Cisco Systems, Inc. 3745 170 West Tasman Drive 3746 San Jose, CA 95134-1706 USA 3747 Phone: +1 408 527 8218 3748 Email: mfine@cisco.com 3750 Keith McCloghrie 3751 Cisco Systems, Inc. 3752 170 West Tasman Drive 3753 San Jose, CA 95134-1706 USA 3754 Phone: +1 408 526 5260 3755 Email: kzm@cisco.com 3757 John Seligson 3758 Nortel Networks, Inc. 3759 4401 Great America Parkway 3760 Santa Clara, CA 95054 USA 3761 Phone: +1 408 495 2992 3762 Email: jseligso@nortelnetworks.com 3764 Kwok Ho Chan 3765 Nortel Networks, Inc. 3766 600 Technology Park Drive 3767 Billerica, MA 01821 USA 3768 Phone: +1 978 288 8175 3769 Email: khchan@nortelnetworks.com 3771 DiffServ QoS Policy Information Base March 2000 3773 Scott Hahn 3774 Intel 3775 2111 NE 25th Avenue 3776 Hillsboro, OR 97124 USA 3777 Phone: +1 503 264 8231 3778 Email: scott.hahn@intel.com 3780 Andrew Smith 3781 Extreme Networks 3782 10460 Bandley Drive 3783 Cupertino CA 95014 USA 3784 Phone: +1 408 342 0999 3785 Email: andrew@extremenetworks.com 3787 Francis Reichmeyer 3788 IPHighway Inc. 3789 Parker Plaza, 16th Floor 3790 400 Kelby St. 3791 Fort-Lee, NJ 07024 3792 Phone: (201) 585-0800 3793 Email: FranR@iphighway.com 3795 10. References 3797 [COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and 3798 A. Sastry, "The COPS (Common Open Policy Service) Protocol" 3799 RFC 2748, January 2000. 3801 [COPS-PR] K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, 3802 F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, 3803 "COPS Usage for Policy Provisioning," 3804 draft-ietf-rap-cops-pr-02.txt, March 2000. 3806 [SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning 3807 Information," draft-ietf-rap-sppi-00.txt, march 2000. 3809 [DSARCH] M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and 3810 E. Davies, "An Architecture for Differentiated Services", 3811 RFC 2475, December 1998 3813 [FR-PIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, 3814 A. Smith, F. Reichmeyer "Framework Policy Information Base", 3815 Internet Draft , 3816 March 2000 3818 DiffServ QoS Policy Information Base March 2000 3820 [POLICY] M. Stevens, W. Weiss H. Mahon, B. Moore, J. Strassner, 3821 G. Waters, A. Westerinen, J. Wheeler, "Policy Framework", 3822 draft-ietf-policy-framework-00.txt, September 1999. 3824 [RAP-FRAMEWORK] R. Yavatkar, D. Pendarakis, "A Framework for 3825 Policy-based Admission Control", 3826 draft-ietf-rap-framework-03.txt, April 1999. 3828 [SNMP-SMI] K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, 3829 M. Rose and S. Waldbusser, "Structure of Management Information 3830 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 3832 [MODEL] Y. Bernet, A. Smith, S. Blake, "A Conceptual Model for 3833 DiffServ Routers", draft-ietf-diffserv-model-01.txt, 3834 October 1999. 3836 DiffServ QoS Policy Information Base March 2000 3838 Table of Contents 3840 1 Glossary ........................................................ 2 3841 2 Introduction .................................................... 2 3842 3 DiffServ PIB Concepts ........................................... 2 3843 3.1 Filters, Filter Groups and Classifiers ........................ 2 3844 3.2 Applying QoS Policy Using Targets ............................. 3 3845 3.3 Interface Modeling with Queue Sets ............................ 4 3846 3.3.1 Queue Scheduling ............................................ 4 3847 3.3.2 Assigning Packets To Queues and Thresholds .................. 5 3848 3.3.3 Hierarchies of Queues ....................................... 5 3849 3.4 IP Mapping to and from Layer 2 ................................ 5 3850 4 Summary of the DiffServ PIB ..................................... 6 3851 5 PIB Operational Overview ........................................ 7 3852 6 PIB Definitions ................................................. 10 3853 6.1 The DiffServ Base PIB ......................................... 10 3854 6.2 The DiffServ IEEE 802 PIB ..................................... 63 3855 7 Security Considerations ......................................... 81 3856 8 Intellectual Property Considerations ............................ 81 3857 9 Authors' Addresses .............................................. 81 3858 10 References ..................................................... 82