idnits 2.17.1 draft-ietf-diffserv-pib-04.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 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 172 instances of weird spacing in the document. Is it really formatted ragged-right, rather than justified? ** There are 25 instances of too long lines in the document, the longest one being 6 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 1366 has weird spacing: '...ket, or drop ...' == Line 1367 has weird spacing: '... in its p...' == Line 1683 has weird spacing: '...erEntry qosM...' == Line 1684 has weird spacing: '...erEntry qosM...' == Line 1685 has weird spacing: '...erEntry qosM...' == (167 more instances...) -- 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 (July 20, 2001) is 8315 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) == Missing Reference: 'COPS-RSVP' is mentioned on line 3908, but not defined == Unused Reference: 'SNMP-SMI' is defined on line 4034, but no explicit reference was found in the text == Unused Reference: 'DS-MIB' is defined on line 4048, but no explicit reference was found in the text == Unused Reference: 'EF-PHB' is defined on line 4069, but no explicit reference was found in the text == Unused Reference: 'INETADDRESS' is defined on line 4073, but no explicit reference was found in the text == Unused Reference: 'INTSERVMIB' is defined on line 4081, but no explicit reference was found in the text == Unused Reference: 'RED93' is defined on line 4090, but no explicit reference was found in the text ** Downref: Normative reference to an Historic RFC: RFC 3084 (ref. 'COPS-PR') -- Possible downref: Non-RFC (?) normative reference: ref. 'SPPI' ** Downref: Normative reference to an Informational RFC: RFC 2475 (ref. 'DSARCH') -- Possible downref: Non-RFC (?) normative reference: ref. 'FR-PIB' ** Downref: Normative reference to an Informational RFC: RFC 2753 (ref. 'RAP-FRAMEWORK') == Outdated reference: A later version (-06) exists of draft-ietf-diffserv-model-04 ** Downref: Normative reference to an Informational draft: draft-ietf-diffserv-model (ref. 'MODEL') ** Obsolete normative reference: RFC 2233 (ref. 'IFMIB') (Obsoleted by RFC 2863) == Outdated reference: A later version (-16) exists of draft-ietf-diffserv-mib-10 -- Possible downref: Non-RFC (?) normative reference: ref. 'ACTQMGMT' -- Possible downref: Non-RFC (?) normative reference: ref. 'AQMROUTER' ** Obsolete normative reference: RFC 2598 (ref. 'EF-PHB') (Obsoleted by RFC 3246) -- Possible downref: Non-RFC (?) normative reference: ref. 'INETADDRESS' ** Obsolete normative reference: RFC 2309 (ref. 'QUEUEMGMT') (Obsoleted by RFC 7567) -- Possible downref: Non-RFC (?) normative reference: ref. 'RED93' ** Downref: Normative reference to an Informational RFC: RFC 2697 (ref. 'SRTCM') ** Downref: Normative reference to an Informational RFC: RFC 2698 (ref. 'TRTCM') ** Downref: Normative reference to an Experimental RFC: RFC 2859 (ref. 'TSWTCM') Summary: 20 errors (**), 0 flaws (~~), 16 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Fine 3 Internet Draft K. McCloghrie 4 Expires January 2002 Cisco Systems 5 J. Seligson 6 K. Chan 7 Nortel Networks 8 S. Hahn 9 C. Bell 10 Intel 11 A. Smith 12 Allegro Networks 13 Francis Reichmeyer 14 PFN 16 July 20, 2001 18 Differentiated Services Quality of Service Policy Information Base 20 draft-ietf-diffserv-pib-04.txt 22 Status of this Memo 24 This document is an Internet-Draft and is in full conformance with all 25 provisions of Section 10 of RFC2026. Internet-Drafts are working 26 documents of the Internet Engineering Task Force (IETF), its areas, and 27 its working groups. Note that other groups may also distribute working 28 documents as Internet-Drafts. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference material 33 or to cite them other than as ``work in progress.'' 34 DiffServ QoS Policy Information Base July 2001 36 To view the current status of any Internet-Draft, please check the 37 ``1id-abstracts.txt'' listing contained in an Internet-Drafts Shadow 38 Directory, see http://www.ietf.org/shadow.html. 40 DiffServ QoS Policy Information Base July 2001 42 1. Glossary 44 PRC Provisioning Class. A type of policy data. 45 PRI Provisioning Instance. An instance of a PRC. 46 PIB Policy Information Base. The database of policy information. 47 PDP Policy Decision Point. See [RAP-FRAMEWORK]. 48 PEP Policy Enforcement Point. See [RAP-FRAMEWORK]. 49 PRID Provisioning Instance Identifier. Uniquely identifies an 50 instance of a a PRC. 52 2. Introduction 54 [SPPI] describes a structure for specifying policy information that can 55 then be transmitted to a network device for the purpose of configuring 56 policy at that device. The model underlying this structure is one of 57 well defined policy rule classes and instances of these classes residing 58 in a virtual information store called the Policy Information Base (PIB). 60 This document specifies a set of policy rule classes specifically for 61 configuring QoS Policy for Differentiated Services [DSARCH]. 63 One way to provision policy is by means of the COPS protocol [COPS] with 64 the extensions for provisioning [COPS-PR]. This protocol supports 65 multiple clients, each of which may provision policy for a specific 66 policy domain such as QoS. The PRCs defined in this DiffServ QoS PIB 67 are intended for use by the COPS-PR QoS client type. Furthemore, these 68 PRCs are in addition to any other PIBs that may be defined for the QoS 69 client type in the future, as well as the PRCs defined in the Framework 70 PIB [FR-PIB]. 72 3. Relationship to the Diffserv Informal Management Model 74 This PIB is designed according to the Differentiated Services Informal 75 Management Model documented in [MODEL]. The model describes the way that 76 ingress and egress interfaces of an 'n'-port router are modelled. It 77 describes the configuration and management of a Diffserv interface in 78 terms of a Transmission Control Block (TCB) which contains, by 79 definition, zero or more classifiers, meters, actions, algorithmic 80 droppers, queues and schedulers. These elements are arranged according 81 DiffServ QoS Policy Information Base July 2001 83 to the QoS policy being expressed, always in that order. Traffic may be 84 classified; classified traffic may be metered; each stream of traffic 85 identified by a combination of classifiers and meters may have some set 86 of actions performed on it; it may have dropping algorithms applied and 87 it may ultimately be stored into a queue before being scheduled out to 88 its next destination, either onto a link or to another TCB. When the 89 treatment for a given packet must have any of those elements repeated in 90 a way that breaks the permitted sequence {classifier, meter, action, 91 algorithmic dropper, queue, scheduler}, this must be modelled by 92 cascading multiple TCBs. 94 The PIB represents this cascade by following the "Next" attributes of 95 the various elements. They indicate what the next step in Diffserv 96 processing will be, whether it be a classifier, meter, action, 97 algorithmic dropper, queue, scheduler or a decision to now forward a 98 packet. 100 The PIB models the individual elements that make up the TCBs. The 101 higher level concept of a TCB is not required in the parameterization or 102 in the linking together of the individual elements, hence it is not used 103 in the PIB itself and only mentioned in the text for relating the PIB 104 with the [MODEL]. The actual distinguishing of which TCB a specific 105 element is a part of is not needed for the instructmentation of a device 106 to support the functionalities of DiffServ, but it is useful for 107 conceptual reasons. By not using the TCB concept, this PIB allows any 108 grouping of elements to construct TCBs, using rules indicated by the 109 [MODEL]. This will minimize changes to this PIB if rules in [MODEL] 110 change. 112 The notion of a Data Path is used in this PIB to indicate the DiffServ 113 processing a packet may experience. This Data Path is distinguished 114 based on the Role Combination and the Direction of the flow the packet 115 is part of. A Data Path Table Entry indicates the first of possibly 116 multiple elements that will apply DiffServ treatment to the packet. 118 3.1. PIB Overview 120 This PIB is structured based on the need to configure the sequential 121 DiffServ treatments being applied to a packet, and the parameterization 122 of these treatments. These two aspects of the configuration are kept 123 separate throughout the design of the PIB, and are fulfilled using 124 separate tables and data definitions. 126 DiffServ QoS Policy Information Base July 2001 128 In addition, the PIB includes tables describing the capabilities and 129 limitations of the device using a general extensible framework. These 130 tables are reported to the PDP and assist the PDP with the configuration 131 of functional elements that can be realized by the device. 133 In this PIB, the ingress and egress portions of a router are configured 134 independently but in the same manner. The difference is distinguished by 135 an attribute in a table describing the start of the data path. Each 136 interface performs some or all of the following high-level functions: 138 o Classify each packet according to some set of rules 140 o Determine whether the data stream the packet is part of is within 141 or outside its rate 143 o Perform a set of resulting actions such as application of an 144 appropriate drop policy and marking of the traffic with a 145 Differentiated Services Code Point (DSCP) as defined in [DSFIELD]. 147 o Enqueue the traffic for output in the appropriate queue, whose 148 scheduler may shape the traffic or simply forward it with some 149 minimum rate or maximum latency. 151 The PIB therefore contains the following elements: 153 Data Path Table 154 This describes the starting point of DiffServ data paths within a 155 single DiffServ device. This table descibes interface role 156 combination 157 and interface direction specific data paths. 159 Classifier Tables 160 A general extensible framework for specifying a group of filters. 162 Meter Tables 163 A general extensible framework and one example of a 164 parameterization table - TBParam table, applicable for Simple Token 165 Bucket Meter, Average Rate Meter, Single Rate Three Color Meter, 166 Two Rate Three Color Meter, and Sliding Window Three Color Meter. 168 Action Tables 169 A general extensible framework and examples of parameterization 170 tables for Absolute Drop, Mark and Count actions. The 171 "multiplexer" and "null" actions described in [MODEL] are 172 accomplished implicitly by means of the Prid structures 174 DiffServ QoS Policy Information Base July 2001 176 of the other elements. 178 Queue, Scheduler and Algorithmic Dropper Tables 179 A general extensible framework for parameterizing queuing and 180 scheduler systems. The queue measurement dependent algorithmic 181 droppers are also described here. 183 Capabilities Tables 184 A general extensible framework for defining the capabilities and 185 limitations of the elements listed above. The capability tables 186 allow intelligent configuration of the elements by a PDP. 188 4. Structure of the PIB 190 4.1. General Conventions 192 The PIB consists of classes that represent functional elements in the 193 data path (e.g. classifiers, meters, actions), and classes that specify 194 parameters that apply to a certain type of functional element (e.g. a 195 Token Bucket meter or a Mark action). Parameters are typically 196 specified in a separate PRC to enable the use of parameter classes by 197 multiple policies. 199 Functional element PRC's use the Prid TC (defined in [SPPI]) to indicate 200 indirection. A Prid is a object identifier that is used to specify an 201 instance of a PRC in another table. A Prid is used to point to 202 parameter PRC that applies to a functional element, such as which filter 203 should be used for a classifier element. A Prid is also used to 204 specify an instance of a functional element PRC that describes what 205 treatment should be applied next for a packet in the data path. 207 Note that the use of Prid's to specify parameter PRC's allows the same 208 funtional element PRC to be extended with a number of different types of 209 parameter PRC's. In addition, using Prids to indicate the next 210 functional datapath element allows the elements to be ordered in any 211 way. 213 4.2. DiffServ Data Paths 215 This part of the PIB provides instrumentation for connecting the 216 DiffServ Functional Elements within a single DiffServ device. Please 217 refer to the [MODEL] for discussions on the valid sequencing and 218 grouping of DiffServ Functional Elements. Given some basic information, 219 DiffServ QoS Policy Information Base July 2001 221 e.g. the interface role combination and direction, the first DiffServ 222 Functional Element is determined. Subsequent DiffServ Functional 223 Elements are provided by the "Next" pointer attribute of each entry of 224 data path tables. A description of how this "Next" pointer is used in 225 each table is provided in their respective DESCRIPTION clauses. 227 4.2.1. Data Path PRC 229 The Data Path PRC provides the DiffServ treatment starting points for 230 all packets of this DiffServ device. Each instance of this PRC specifies 231 the interface type, role combination and direction for the packet flow. 232 There should be at most two entries for each (interface type, role 233 combination) pair, one for ingress and one for egress. Each instance 234 provides the first DiffServ Functional Element each packet at a specific 235 interface (identified by the roles assigned to the interface) traveling 236 in a specific relative direction should experience. Notice this table 237 is interface specific, with the use of interface type and 238 RoleCombination. To indicate explicitly that there are no Diffserv 239 treatments for a particular interface type, role combination and 240 direction, an instance of the Data Path PRC can be created with 241 zeroDotZero in the qosDataPathStart attribute. This situation can also 242 be indicated implicitly by not supplying an instance of a Data Path PRC 243 for that particular interface type, role combination and direction. The 244 explicit/implicit selection is up to the implementation. This means 245 that the PEP should perform normal IP device processing when zeroDotZero 246 is used in the qosDataPathStart attribute, or when the entry does not 247 exist. Normal IP device processing will depend on the device, for 248 example, this can be forwarding the packet. 250 Based on implementation experience of network devices where data path 251 functional elements are implemented in separate physical processors or 252 application specific integrated circuits, separated by switch fabric, it 253 seems that more complex notions of data path are required within the 254 network device to correlate the different physically separate data path 255 functional elements. For example, ingress processing may have determined 256 a specific ingress flow that gets aggregated with other ingress flows at 257 an egress data path functional element. Some of the information 258 determined at the ingress data path functional element may need to be 259 used by the egress data path functional element. In numerous 260 implementations, such information has been carried by adding it to the 261 frame/memory block used to carry the flow within the network device, 262 some implementers have called such information a "preamble" or a "frame 263 descriptor". Different implementations use different formats for such 264 information. Initially one may think such information are implementation 265 DiffServ QoS Policy Information Base July 2001 267 details within the network device that does not need to be exposed 268 outside of the network device. But from Policy Control point of view, 269 such information will be very useful in determining network resource 270 usage feedback from the network device to the policy server. Such 271 information may also help in provisioning of some data path functional 272 elements, e.g. virtual output queuing methods of queue/scheduler/shaper 273 implementations. A new PRC is being defined to carry such information, 274 using Data Path, Mark Action, Classifier, and possibly other data path 275 functional elements to implement the mechanism. 277 4.3. Classifiers 279 The classifier and classifier element tables determine how traffic is 280 sorted out. They identify separable classes of traffic, by reference to 281 appropriate filters, which may select anything from an individual micro- 282 flow to aggregates identified by DSCP. 284 The classification is used to send these separate streams to appropriate 285 Meter, Action, Algorithmic Dropper, Queue and Scheduler elements. For 286 example, to indicate a multi-stage meter, sub-classes of traffic may be 287 sent to different meter stages: e.g. in an implementation of the Assured 288 Forwarding (AF) PHB [AF-PHB], AF11 traffic might be sent to the first 289 meter, AF12 traffic might be sent to the second and AF13 traffic sent to 290 the second meter stage's out-of-profile action. 292 The concept of a classifier is the same as described in [MODEL]. The 293 structure of the classifier and classifier element tables, is the same 294 as the classifier described in [MODEL]. Classifier elements have an 295 associated precedence order solely for the purpose of resolving 296 ambiguity between overlapping filters. Filter with higher values of 297 precedence are compared first; the order of tests for entries of the 298 same precedence is unimportant. 300 A datapath may consist of more than one classifier. There may be 301 overlap of filter specification between filters of different 302 classifiers. The first classifier functional datapath element 303 encountered, as determined by the sequencing of diffserv functional 304 datapath elements, will be used first. 306 An important form of classifier is "everything else": the final stage of 307 the classifier i.e. the one with the lowest precedence, must be 308 "complete" since the result of an incomplete classifier is not 309 necessarily deterministic - see [MODEL] section 4.1.2. 311 DiffServ QoS Policy Information Base July 2001 313 The definition of the actual filter to be used by the classifier is 314 referenced via a Prid: this enables the use of any sort of filter table 315 that one might wish to design, standard or proprietary. No filters are 316 defined in this PIB. However, standard filters for IP packets are 317 defined in the Framework PIB [FR-PIB]. 319 4.3.1. Classifier PRC 321 Classifiers, used in various ingress and egress interfaces, are 322 organized by the instances of the Classifier PRC. A data path entry 323 points to a classifier entry. A classifier entry identifies a list of 324 classifier elements. A classifier element effectively includes the 325 filter entry, and points to a "next" classifier entry or other data path 326 functional element. 328 4.3.2. Classifier Element PRC 330 Classifier elements point to the filters which identify various classes 331 of traffic. The separation between the "classifier element" and the 332 "filter" allows us to use many different kinds of filters with the same 333 essential semantics of "an identified set of traffic". The traffic 334 matching the filter corresponding to a classifier element is given to 335 the "next" data path functional element identified in the classifier 336 element. 338 The definition of the actual filter to be used by the classifier is 339 referenced via a Prid: this enables the use of any sort of filter table 340 that one might wish to design, standard or proprietary. An example of a 341 filter that may be pointed to by a Classifier Element PRI is the 342 frwkIpFilter PRC, defined in [FR-PIB]. 344 4.4. Meters 346 A meter, according to [MODEL] section 5, measures the rate at which 347 packets making up a stream of traffic pass it, compares this rate to 348 some set of thresholds and produces some number (two or more) of 349 potential results. A given packet is said to "conform" to the meter if, 350 at the time that the packet is being looked at, the stream appears to be 351 within the meter's profile. PIB syntax makes it easiest to define this 352 DiffServ QoS Policy Information Base July 2001 354 as a sequence of one or more cascaded pass/fail tests, modeled here as 355 if-then-else constructs. It is important to understand that this way of 356 modelling does not imply anything about the implementation being 357 "sequential": multi-rate/multi-profile meters e.g. those designed to 358 support [SRTCM], [TRTCM], or [TSWTCM] can still be modeled this way even 359 if they, of necessity, share information between the stages: the stages 360 are introduced merely as a notational convenience in order to simplify 361 the PIB structure. 363 4.4.1. Meter PRC 365 The generic meter PRC is used as a base for all more specific forms of 366 meter. The definition of parameters specific to the type of meter used 367 is referenced via a pointer to an instance of a PRC containing those 368 specifics. This enables the use of any sort of specific meter table 369 that one might wish to design, standard or proprietary. The specific 370 meter table may be, but does not need to be, defined in this PIB module. 372 4.4.2. Token-Bucket Parameter PRC 374 This is included as an example of a common type of meter. Entries in 375 this table are referenced from the qosMeterSpecific attributes of meter 376 PRC instances. The parameters are represented by a rate qosTBParamRate, 377 a burst size qosTBParamBurstSize, and an interval qosTBparamInterval. 378 The type of meter being parameterized is indicated by the qosTBParamType 379 attribute. This is used to determine how the rate, burst and rate 380 interval parameters are used. Additional meter parameterization classes 381 can be defined in this or another PIB when necessary. 383 4.5. Actions 385 Actions include "no action", "mark the traffic with a DSCP" or "specific 386 action". Other tasks such as "shape the traffic" or "drop based on some 387 algorithm" are handled elsewhere as queueing mechanisms, rather than 388 actions, consistent with [MODEL]. The "multiplexer", "replicator" and 389 "null" actions described in [MODEL] are accomplished implicitly through 390 various combinations of the other elements. 392 DiffServ QoS Policy Information Base July 2001 394 This PIB uses the Action PRC qosActionTable to organize one Action's 395 relationship with the element(s) before and after it. It allows Actions 396 to be cascaded to enable multiple Actions be applied to a single traffic 397 stream by using each entry's qosActionNext attribute. The qosActionNext 398 attribute of the last action entry in the chain points to the next 399 element in the TCB, if any, e.g. a Queueing element. It may also point 400 at a next TCB. 402 The parameters needed for the Action element will depend on the type of 403 Action to be taken. Hence the PIB allows for specific Action Tables for 404 the different Action types. This flexibility allows additional Actions 405 be specified in future revisions of this PIB, or in other PIBs and also 406 allows for the use of proprietary Actions without impact on those 407 defined here. 409 The absolute drop action is handled elsewhere by the algo dropper with 410 the qosAlgDropType attribute set to alwaysDrop(5). This element silently 411 discards all traffic presented to it. 413 4.5.1. DSCP Mark Action PRC 415 This Action is applied to traffic in order to mark it with a Diffserv 416 Codepoint (DSCP) value, specified in the qosDscpMarkActTable. Other 417 marking actions might be specified elsewhere - these are outside the 418 scope of this PIB. 420 4.6. Queueing Elements 422 These include Algorithmic Droppers, Queues and Schedulers which are all 423 inter-related in their use of queueing techniques. 425 4.6.1. Algorithmic Dropper PRC 427 Algorithmic Droppers are represented in this PIB by instances of the 428 Algorithmic Dropper PRC. An Algorithmic Dropper is assumed to operate 429 indiscriminately on all packets that are presented at its input, all 430 traffic separation should be done by classifiers and meters preceding 431 it. 433 Algorithmic Droppers have a close relationship with queuing, each 434 Algorithmic Dropper Table entry contains a qosAlgDropQMeasure attribute, 435 indicating which queue's state affects the calculation of the 436 DiffServ QoS Policy Information Base July 2001 438 Algorithmic Dropper. Each entry also contains a qosAlgDropNext 439 attribute which indicates to which queue the Algorithmic Dropper sinks 440 its traffic. 442 Algorithmic Droppers may also contain a pointer to specific detail of 443 the drop algorithm, qosAlgDropSpecific. This PIB defines the detail for 444 three drop algorithms: Tail Drop, Head Drop and Random Drop; other 445 algorithms are outside the scope of this PIB module but the general 446 framework is intended to allow for their inclusion via other PIB 447 modules. 449 One generally-applicable parameter of a dropper is the specification of 450 a queue-depth threshold at which some drop action is to start. This is 451 represented in this PIB, as a base attribute, qosAlgDropQThreshold, of 452 the Algorithmic Dropper entry. The attribute, qosAlgDropQMeasure, 453 specifies which queue's depth qosAlgDropQThreshold is to compare 454 against. 456 o A Tail Dropper requires the specification of a maximum queue depth 457 threshold: when the queue pointed at by qosAlgDropQMeasure 458 reaches that depth threshold, qosAlgDropQThresh, any new 459 traffic arriving at the dropper is discarded. This algorithm uses 460 only parameters that are part of the qosAlgDropEntry. 462 o A Head Dropper requires the specification of a maximum queue depth 463 threshold: when the queue pointed at by qosAlgDropQMeasure 464 reaches that depth threshold, qosAlgDropQThresh, traffic 465 currently at the head of the queue is discarded. This algorithm 466 uses only parameters that are part of the qosAlgDropEntry. 468 o Random Droppers are recommended as a way to control congestion, in 469 [QUEUEMGMT] and called for in the [AF-PHB]. Various implementations 470 exist, which agree on marking or dropping just enough traffic to 471 communicate with TCP-like protocols about congestion avoidance, but 472 differ markedly on their specific parameters. This PIB attempts to 473 offer a minimal set of controls for any random dropper, but expects 474 that vendors will augment the PRC with additional controls and 475 status in accordance with their implementation. This algorithm 476 requires additional parameters on top of those in 477 qosAlgDropEntry; these are discussed below. 479 DiffServ QoS Policy Information Base July 2001 481 4.6.2. Random Dropper PRC 483 One example of a random dropper is a RED-like dropper. An example of the 484 representation chosen in this PIB for this element is shown in Figure 1. 486 Random droppers often have their drop probability function described as 487 a plot of drop probability (P) against averaged queue length (Q). 488 (Qmin,Pmin) then defines the start of the characteristic plot. Normally 489 Pmin=0, meaning with average queue length below Qmin, there will be no 490 drops. (Qmax,Pmax) defines a "knee" on the plot, after which point the 491 drop probability become more progressive (greater slope). (Qclip,1) 492 defines the queue length at which all packets will be dropped. Notice 493 this is different from Tail Drop because this uses an averaged queue 494 length. Although it is possible for Qclip = Qmax. 496 In the PIB module, qosRandomDropMinThreshBytes and 497 qosRandomDropMinThreshPkts represent Qmin. qosRandomDropMaxThreshBytes 498 and qosRandomDropMaxThreshPkts represent Qmax. qosAlgDropQThreshold 499 represents Qclip. qosRandomDropProbMax represents Pmax. This PIB does 500 not represent Pmin (assumed to be zero unless otherwise represented). 501 In addition, since message memory is finite, queues generally have some 502 upper bound above which they are incapable of storing additional 503 traffic. Normally this number is equal to Qclip, specified by 504 qosAlgDropQThreshold. 506 Each random dropper specification is associated with a queue. This 507 allows multiple drop processes (of same or different types) to be 508 associated with the same queue, as different PHB implementations may 509 require. This also allows for sequences of multiple droppers if 510 necessary. 512 AlgDrop Queue 513 +-----------------+ +-------+ 514 --->| Next ---------+--+------------------->| Next -+--> ... 515 | QMeasure -------+--+ | ... | 516 | QThreshold | RandomDrop +-------+ 517 | Type=randomDrop | +----------------+ 518 | Specific -------+---->| MinThreshBytes | 519 +-----------------+ | MaxThreshBytes | 520 | ProbMax | 521 | InvWeight | 522 | SamplingRate | 523 +----------------+ 525 DiffServ QoS Policy Information Base July 2001 527 Figure 1: Example Use of the RandomDropTable for Random Droppers 529 The calculation of a smoothed queue length may also have an important 530 bearing on the behavior of the dropper: parameters may include the 531 sampling interval or rate, and the weight of each sample. The 532 performance may be very sensitive to the values of these parameters and 533 a wide range of possible values may be required due to a wide range of 534 link speeds. Most algorithms include a sample weight, represented here 535 by qosRandomDropWeight. The availability of qosRandomDropSamplingRate 536 as readable is important, the information provided by Sampling Rate is 537 essential to the configuration of qosRandomDropWeight. Having Sampling 538 Rate be configurable is also helpful, as line speed increases, the 539 ability to have queue sampling be less frequent than packet arrival is 540 needed. Note however that there is ongoing research on this topic, see 541 e.g. [ACTQMGMT] and [AQMROUTER]. 543 Additional parameters may be added in an enterprise PIB module, e.g. by 544 using AUGMENTS on this table, to handle aspects of random drop 545 algorithms that are not standardized here. 547 NOTE: Deterministic Droppers can be viewed as a special case of Random 548 Droppers with the drop probability restricted to 0 and 1. Hence 549 Deterministic Droppers might be described by a Random Dropper with Pmin 550 = 0, Pmax = 1, Qmin = Qmax = Qclip, the averaged queue length at which 551 dropping occurs. 553 4.6.3. Queues and Schedulers 555 The Queue PRC models simple FIFO queues, as described in [MODEL] section 556 7.1.1. The Scheduler PRC allows flexibility in constructing both simple 557 and somewhat more complex queueing hierarchies from those queues. Of 558 course, since TCBs can be cascaded multiple times on an interface, even 559 more complex hierarchies can be constructed that way also. 561 Queue PRC instances are pointed at by the "next" attributes of the 562 upstream elements e.g. qosMeterSucceedNext. Note that multiple upstream 563 elements may direct their traffic to the same Queue PRI. For example, 564 the Assured Forwarding PHB suggests that all traffic marked AF11, AF12 565 or AF13 be placed in the same queue, after metering, without reordering. 566 This would be represented by having the qosMeterSucceedNext of each 567 upstream meter point at the same Queue PRI. 569 NOTE: Queue and Scheduler PRIs are for data path description, they both 570 DiffServ QoS Policy Information Base July 2001 572 use Scheduler Parameterization Table entries for diffserv treatment 573 parameterization. 575 Queue Table entries specify the scheduler it wants service from by use 576 of its Next pointer. 578 Each Scheduler Table entry represents the algorithm in use for servicing 579 the one or more queues that feed it. The [MODEL] section 7.1.2 describes 580 a scheduler with multiple inputs: this is represented in the PIB by 581 having the scheduling parameters be associated with each input. In this 582 way, sets of Queues can be grouped together as inputs to the same 583 Scheduler. This table serves to represent the example scheduler 584 described in the [MODEL]: other more complex representations might be 585 created outside of this PIB. 587 Both the Queue PRC and the Scheduler PRC use instances of the Scheduler 588 Parameterization PRC to specify diffserv treatment parameterization. 589 Scheduler Parameter PRC instances are used to parameterize each input 590 that feeds into a scheduler. The inputs can be a mixture of Queue PRI's 591 and Scheduler PRI's. Scheduler Parameter PRI's can be used/reused by 592 one or more Queue and/or Scheduler Table entries. 594 For representing a Strict Priority scheduler, each scheduler input is 595 assigned a priority with respect to all the other inputs feeding the 596 same scheduler, with default values for the other parameters. A higher- 597 priority input which contains traffic that is not being delayed for 598 shaping will be serviced before a lower-priority input. 600 For Weighted Scheduling methods e.g. WFQ, WRR, the "weight" of a given 601 scheduler input is represented with a Minimum Service Rate leaky-bucket 602 profile which provides guaranteed minimum bandwidth to that input, if 603 required. This is represented by a rate qosAssuredRateAbs; the 604 classical weight is the ratio between that rate and the interface speed, 605 or perhaps the ratio between that rate and the sum of the configured 606 rates for classes. The rate may, alternatively, be represented by a 607 relative value, as a fraction of the interface's current line rate, 608 qosAssuredRateRel to assist in cases where line rates are variable or 609 where a higher-level policy might be expressed in terms of fractions of 610 network resources. The two rate parameters are inter-related and 611 changes in one may be reflected in the other. 613 For weighted scheduling methods, one can say loosely, that WRR focuses 614 on meeting bandwidth sharing, without concern for relative delay amongst 615 the queues; where WFQ control both queue service order and amount of 616 traffic serviced, providing meeting bandwidth sharing and relative delay 617 DiffServ QoS Policy Information Base July 2001 619 ordering amongst the queues. 621 A queue or scheduled set of queues (which is an input to a scheduler) 622 may also be capable of acting as a non-work-conserving [MODEL] traffic 623 shaper: this is done by defining a Maximum Service Rate leaky-bucket 624 profile in order to limit the scheduler bandwidth available to that 625 input. This is represented by a rate qosShapingRateAbs; the classical 626 weight is the ratio between that rate and the interface speed, or 627 perhaps the ratio between that rate and the sum of the configured rates 628 for classes. The rate may, alternatively, be represented by a relative 629 value, as a fraction of the interface's current line rate, 630 qosShapingRateRel. There was discussion in the working group about 631 alternative modeling approaches, such as defining a shaping action or a 632 shaping element. We did not take this approach because shaping is in 633 fact something a scheduler does to its inputs, (which we model as a 634 queue with a maximum rate or a scheduler whose output has a maximum 635 rate) and we felt it was simpler and more elegant to simply describe it 636 in that context. 638 Other types of priority and weighted scheduling methods can be defined 639 using existing parameters in qosAssuredRateEntry. NOTE: 640 qosSchedulerMethod uses OBJECT IDENTIFIER syntax, with the different 641 types of scheduling methods defined as OBJECT-IDENTITY. Future 642 scheduling methods may be defined in other PIBs. This requires an 643 OBJECT-IDENTITY definition, a description of how the existing objects 644 are reused, if they are, and any new objects they require. 646 NOTE: hierarchical schedulers can be parameterized using this PIB by 647 having Scheduler Table entries feeds into Scheduler Table entry. 649 4.7. Specifying Device Capabilities 651 The Diffserv PIB uses the Base PRC classes frwkPrcSupportTable and 652 frwkCompLimitsTable defined in [FR-PIB] to specify what PRC's are 653 supported by a PEP and to specify any limitations on that support. The 654 PIB also uses the capability PRC's frwkIfCapSetTable and 655 frwkIfCapSetRoleComboTable defined in [FR-PIB] to specify the device's 656 interface types and role combinations. Each instance of the capability 657 PRC frwkIfCapSetTable contains an OID that points to an instance of a 658 PRC that describes some capability of that interface type. The Diffserv 659 PIB defines several of these capability PRCs, which assist the PDP with 660 the configuration of Diffserv functional elements that can be 661 DiffServ QoS Policy Information Base July 2001 663 implemented by the device. Each of these capability PRCs contains a 664 direction attribute that specifies the direction for which the 665 capability applies. This attribute is defined in a base capability PRC, 666 which is extended by each specific capability PRC. 668 Classification capabilities, which specify the information elements the 669 device can use to classify traffic, are reported using the 670 qosIfClassificationCaps PRC. Metering capabilities, which indicate what 671 the device can do with out-of-profile packets, are specified using the 672 qosIfMeteringCaps PRC. Scheduling capabilities, such as the number of 673 inputs supported, are reported using the qosIfSchedulingCaps PRC. 674 Algorithmic drop capabilities, such as the types of algorithms 675 supported, are reported using the qosIfAlgDropCaps PRC. Queue 676 capabilities, such as the maximum number of queues, are reported using 677 the qosIfQueueCaps PRC. Shaper capabilities, such as the number of 678 rates supported, are reported using the qosIfShaperCaps table. 680 Two PRC's are defined to allow specification of the element linkage 681 capabilities of the PEP. The qosIfElmDepthCaps PRC indicates the 682 maximum number of functional datapath elements that can be linked 683 consecutively in a datapath. The qosIfElmLinkCaps PRC indicates what 684 functional datapath elements are may follow a specific type of element 685 in a datapath. 687 The capability reporting classes in the DiffServ and Framework PIB are 688 meant to allow the PEP to indicate some general guidelines about what 689 the device can do. They are intended to be an aid to the PDP when it 690 constructs policy for the PEP. These classes do not necessarily allow 691 the PEP to indicate every possible configuration that it can or cannot 692 support. If a PEP receives a policy that it cannot implement, it must 693 notify the PDP with a failure report. 695 5. PIB Usage Example 697 This section provides some examples on how the different table entries 698 of this PIB may be used together for a Diffserv Device, with the usage 699 of each individual attribute be defined within the PIB module itself. 700 For the figures, all the PIB table entry and attribute names are assumed 701 to have "qos" as their first common initial part of name, with the table 702 entry name assumed to be their second common initial part of name. 703 "0.0" is being used to mean zeroDotZero. And for Scheduler Method "= X" 704 means "using the OID of qoxSchedulerX". 706 DiffServ QoS Policy Information Base July 2001 708 5.1. Model's Example 710 As an example, when this PIB's structures are used for the hypothetical 711 configuration in [MODEL] section 8.1, the result is shown in Figure 2, 712 3, and 4. The parameterization table entries' values are not specified 713 in detail here, they can be obtained from [MODEL] section 8.1. 715 +---------------------+ +------------------------> Q_EF 716 |DataPath | | 717 | IfCapSet="If1" | | 718 | Roles = "A+B" | | +--------------+ 719 | IfDirection=Ingress | +------+ | +--->|Action | 720 | Start --------------+--->|Clfr | | | | Id=EF2 | 721 +---------------------+ | Id=1 | | | | Next=0.0 | 722 +------+ | | | Specific=0.0 | 723 | | | Type=AbsDrop | 724 | | +--------------+ 725 | | 726 | | 727 | | 728 +------------+ +--------------+ | | 729 |ClfrElement | +-->|Meter | | | 730 | Id=EF | | | Id=EF | | | 731 | ClfrId=1 | | | SucceedNext -+-+ | 732 | Order=NA | | | FailNext ----+----+ 733 | Next ------+--+ | Specific -+ | 734 | Specific --+-+ +-----------+--+ 735 +------------+ | | 736 | | 737 | | 738 | +--------+ | +---------+ 739 +-->|FilterEF| +-->|TBMeterEF| 740 +--------+ +---------+ 742 +------------+ +--------------+ 743 |ClfrElement | +-------------------->|AlgDrop | 744 | Id=AF11 | | | Id=AF11 | 745 | ClfrId=1 | | | Type=tailDrop| 746 | Order=NA | | | Next --------+--+-> Q_AF1 747 | Next ------+--+ | QMeasure ----+--+ 748 | Specific --+-+ | QThreshold | 749 +------------+ | | Specific=0.0 | 751 DiffServ QoS Policy Information Base July 2001 753 | +--------------+ 754 | 755 | +----------+ 756 +->|FilterAF11| 757 +----------+ 759 Figure 2: Example from Model Section 8.1 part 1 761 +------------+ +--------------+ 762 |ClfrElement | +-->|Meter | 763 | Id=AF21 | | | Id=AF21 | 764 | ClfrId=1 | | | SucceedNext -+----------> Q_AF2 765 | Order=NA | | | FailNext + | 766 | Next ------+--+ | Specific --+ | 767 | Specific --+-+ +----------+-+-+ 768 +------------+ | | | 769 | | | 770 | | | 771 | +----------+ | | +-----------+ 772 +->|FilterAF21| | +->|TBMeterAF21| 773 +----------+ | +-----------+ 774 | 775 -----+ 776 | 777 | +-----------+ 778 +->|Action | 779 | Id=AF21F2 | 780 | Next -----+------> Q_AF2 781 | Specific -+-+ 782 | Type=Spcf | | 783 +-----------+ | 784 | 785 | +---------------+ 786 +->|DscpMarkActAF22| 787 +---------------+ 789 +------------+ 790 |ClfrElement | +-----------------------------------------> Q_BE 791 | Id=WildCard| | 792 | ClfrId=1 | | 793 | Order=NA | | 794 | Next ------+--+ +--------------+ 795 | Specific --+------>|FilterMatchAll| 796 +------------+ +--------------+ 798 DiffServ QoS Policy Information Base July 2001 800 Figure 3: Example from Model Section 8.1 part 2 802 +-------------+ 803 Q_EF--->|Q | 804 | Id=EF +--+--------------------------+ 805 | Next ----+ | +-----------+ | 806 | SchdParam --+-->|SchdParamEF| | 807 +-------------+ +-----------+ | 808 | 809 +-------------+ | +----------------+ 810 Q_AF1-->|Q | +->|Scheduler | 811 | Id=AF1 +--+--------------------------+ | Id=Diffserv | 812 | Next ----+ | +------------+ | | Next=0.0 | 813 | SchdParam --+-->|SchdParamAF1| | | Method=Priority| 814 +-------------+ +------------+ | | SchdParam=0.0 | 815 | +----------------+ 816 +-------------+ | 817 Q_AF2-->|Q | | 818 | Id=AF2 +--+--------------------------+ 819 | Next ----+ | +------------+ | 820 | SchdParam --+-->|SchdParamAF2| | 821 +-------------+ +------------+ | 822 | 823 +-------------+ | 824 Q_BE--->|Q | | 825 | Id=BE +--+--------------------------+ 826 | Next ----+ | +-----------+ 827 | SchdParam --+-->|SchdParamBE| 828 +-------------+ +-----------+ 830 Figure 4: Example from Model Section 8.1 part 3 832 5.2. Additional Data Path Example 834 5.2.1. Data 836 The example in Figure 5 shows a single qosDataPathTable entry feeding 837 into a single Classifier entry, with three Classifier Element and Filter 838 Table entry pairs belonging to this Classifier 1. Notice the three 839 Filters used here must completely classify all the traffic presented to 840 this data path. 842 Another level of classification can be defined that follows the Action 843 DiffServ QoS Policy Information Base July 2001 845 functional DataPath elements in Figure 5. This multi-level 846 classification allow the construction of traffic separations and 847 specific actions at each level, like: 848 if (dept1) then take dept1-action 849 { 850 if (appl1) then take dept1-appl1-action. 851 if (appl2) then take dept1-appl2-action. 852 if (appl3) then take dept1-appl3-action. 854 } 855 if (dept2) then take dept2-action 856 { 857 if (appl1) then take dept2-appl1-action. 858 if (appl2) then take dept2-appl2-action. 859 if (appl3) then take dept2-appl3-action. 860 } 861 if (dept3) then take dept3-action 862 { 863 if (appl1) then take dept3-appl1-action. 864 if (appl2) then take dept3-appl2-action. 865 if (appl3) then take dept3-appl3-action. 866 } 868 Minimally, the filters for appl1, appl2, appl3 may be reused for the 869 above setup. 871 +---------------------+ 872 |DataPath | 873 | IfCapSet="If1" | 874 | Roles="A+B" | 875 | IfDirection=Ingress | +------+ 876 | Start --------------+--->|Clfr | 877 +---------------------+ | Id=1 | 878 +------+ 880 +------------+ +--------------+ 881 |ClfrElement | +-->|Meter | 882 | Id=101 | | | Id=101 | 883 | ClfrId=1 | | | SucceedNext -+--->... 884 | Order=NA | | | FailNext ----+--->... 885 | Next ------+--+ | Specific -+ | 886 | Specific --+-+ +-----------+--+ 887 +------------+ | | 888 | +-------+ | +--------+ 890 DiffServ QoS Policy Information Base July 2001 892 +-->|Filter1| +-->|TBMeter1| 893 +-------+ +--------+ 895 +------------+ +--------------+ 896 |ClfrElement | +-->|Meter | 897 | Id=102 | | | Id=102 | 898 | ClfrId=1 | | | SucceedNext -+->... 899 | Order=NA | | | FailNext ----+->... 900 | Next ------+--+ | Specific -+ | 901 | Specific --+-+ +-----------+--+ 902 +------------+ | | 903 | +-------+ | +--------+ 904 +-->|Filter2| +-->|TBMeter2| 905 +-------+ +--------+ 907 +------------+ +--------------+ 908 |ClfrElement | +-->|Meter | 909 | Id=103 | | | Id=103 | 910 | ClfrId=1 | | | SucceedNext -+->... 911 | Order=NA | | | FailNext ----+->... 912 | Next ------+--+ | Specific -+ | 913 | Specific --+-+ +-----------+--+ 914 +------------+ | | 915 | +-------+ | +--------+ 916 +-->|Filter3| +-->|TBMeter3| 917 +-------+ +--------+ 919 Figure 5: Additional Data Path Example Part 1 921 +-------------+ +-----------------+ 922 ---->|Q | +->|Scheduler | 923 | Id=EF | | | Id=Diffserv | 924 | Next -------+-----------------------+ | Next=0.0 | 925 | SchdParam -+| | | Method=Priority | 926 +------------++ | | SchdParam=0.0 | 927 | | +-----------------+ 928 +------------+ | 929 | | 930 | +-----------+ | 931 +->|SchdParamEF| | 932 +-----------+ +---------------------+ 933 | 934 +----------------+ +-------------+ | 935 --->|AlgDrop | +->|Q | | 936 DiffServ QoS Policy Information Base July 2001 938 | Id=AF11 | | | Id=AF1 | +-------------+ | 939 | Type=randomDrop| | | Next -------+--->|Scheduler | | 940 | Next ----------+-+--+ | SchdParam -+| | Id=AF | | 941 | QMeasure ------+-+ | +------------++ | Next -------+--+ 942 | QThreshold | | | | Method=WFQ | 943 | Specific -+ | | +------------+ | SchdParam --+--+ 944 +-----------+----+ | | +-------------+ | 945 | | | +------------+ | 946 +-----------+ | +->|SchdParamAF1| +----------------+ 947 | +--------------+ | +------------+ | 948 +->|RandomDropAF11| | | +-----------+ 949 +--------------+ | +->|SchdParamAF| 950 | +-----------+ 951 +----------------+ | 952 --->|AlgDrop | | 953 | Id=AF12 | | 954 | Type=randomDrop| | 955 | Next ----------+-+--+ 956 | QMeasure ------+-+ 957 | QThreshold | 958 | Specific -+ | 959 +-----------+----+ 960 | 961 +-----------+ 962 | +--------------+ 963 +->|RandomDropAF12| 964 +--------------+ 966 Figure 6: Additional Data Path Example Part 2 968 5.2.2. Meter 970 A simple Meter that can be parameterized by a single TBMeter entry is 971 shown here. For Metering types that require multiple TBMeter entries 972 for parameterization, a second level Meter and TBMeter table entries may 973 be used. For example, for [TRTCM], with the first level TBMeter entry 974 used for Peak Information Token Bucket, the first level SucceedNext 975 points to the second level Meter entry, with second level TBMeter entry 976 used for Committed Information Token Bucket. 978 DiffServ QoS Policy Information Base July 2001 980 5.2.3. Queue 982 Example in Figure 6 shows three classified input traffic streams, EF, 983 AF11, and AF12, feeding into their respective queue and algorithmic 984 droppers. After their respective dropping process, the AF traffic 985 streams feed into the same queue, QAF1X. 987 A Scheduler, AF, is shown in Figure 6, as the sink for AF1X queue 988 traffic, servicing AF1X queue with scheduling parameters indicated by 989 SchdParamAF1X. This scheduler is used to service traffic from AF1X, 990 AF2X, AF3X queues using weighted fair queuing method. The AF2X and AF3X 991 queues are not shown in Figure 6, they can be very much like AF1X queue 992 setup. 994 Another traffic stream, EF, is handled by the EF queue. Scheduler 995 Diffserv services output of EF queue using SchdParamEF, and output of AF 996 scheduler using SchdParamAF, with Priority Queue scheduling method. 998 Notice all the diffserv traffic may go out on a link with traffic 999 shaping. The traffic shaping can be parameterize using the Shaping 1000 | Scheduler in Figure 6. For shaping, the qosShapingRate attributes 1001 should be used. The Shaping Scheduler is indicated as the last diffserv 1002 functional element of this data path by using its Next pointer with 1003 value of zeroDotZero. 1005 6. Summary of the DiffServ PIB 1007 The DiffServ PIB consists of one module containing the base PRCs for 1008 setting DiffServ policy, queues, classifiers, meters, etc., and also 1009 contains capability PRC's that allow a PEP to specify its device 1010 characteristics to the PDP. This module contains two groups, which are 1011 summarized in this section. 1013 QoS Capabilities Group 1014 This group consists of PRCs to indicate to the PDP the types of 1015 interface supported on the PEP in terms of their QoS capabilities 1016 and PRCs that the PDP can install in order to configure these 1017 interfaces (queues, scheduling parameters, buffer sizes, etc.) to 1018 affect the desired policy. This group describes capabilities in 1019 terms of the types of interfaces and takes configuration in terms 1020 of interface types and role combinations [FR-PIB]; it does not deal 1021 with individual interfaces on the device. 1023 DiffServ QoS Policy Information Base July 2001 1025 QoS Policy Group 1026 This group contains configuration of the functonal elements that 1027 comprise the QoS policy that applies to an interface and the 1028 specific parameters that describe those elements. This group 1029 contains classifiers, meters, actions, droppers, queues and 1030 schedulers. This group also contains the PRC that associates the 1031 datapath elements with role combinations. 1033 7. PIB Operational Overview 1035 This section provides an operation overview of configuring DiffServ QoS 1036 policy. 1038 After initial PEP to PDP communication setup, using [COPS-PR] for 1039 example, the PEP will provide to the PDP the PIB Provisioning Classes 1040 (PRCs), interface types, and interface type capabilities it supports. 1042 The PRCs supported by the PEP are reported to the PDP in the PRC Support 1043 Table, frwkPrcSupportTable defined in the framework PIB [FR-PIB]. Each 1044 instance of the frwkPrcSupportTable indicates a PRC that the PEP 1045 understands and for which the PDP can send class instances as part of 1046 the policy information. 1048 The interface types the PEP supports are described by rows in the 1049 interface type table, frwkIfCapsSetTable. Each row, or instance of this 1050 class contains a pointer to a instance of a PRC that describes the 1051 capabilities of the interface type. The capability objects may reside 1052 in the qosIfClassifierCapsTable, the qosIfMeterCapsTable, the 1053 qosIfSchedulerCapsTable, the qosIfElmDepthCapsTable, the 1054 qosIfElmOutputCapsTable, or in a table defined in another PIB. 1056 The PDP, with knowledge of the PEP's capabilities, then provides the PEP 1057 with administration domain and interface-specific policy information. 1059 Instances of the qosDataPathTable are used to specify the first element 1060 in the set of functional elements applied to an interface. Each 1061 instance of the qosDataPathTable applies to an interface type defined by 1062 its roles and direction (ingress or egress). 1064 DiffServ QoS Policy Information Base July 2001 1066 8. PIB Definitions 1068 8.1. The DiffServ Base PIB 1070 DIFFSERV-PIB PIB-DEFINITIONS ::= BEGIN 1072 IMPORTS 1073 Unsigned32, Integer32, 1074 MODULE-IDENTITY, OBJECT-TYPE 1075 FROM COPS-PR-SPPI 1076 zeroDotZero 1077 FROM SNMPv2-SMI 1078 TruthValue, TEXTUAL-CONVENTION 1079 FROM SNMPv2-TC 1080 InstanceId, ReferenceId, TagId, TagReferenceId, pib 1081 FROM COPS-PR-SPPI 1082 RoleCombination, PrcIdentifier 1083 FROM FRAMEWORK-ROLE-PIB 1084 Dscp 1085 FROM DIFFSERV-DSCP-TC 1086 IfDirection 1087 FROM DIFF-SERV-MIB 1088 BurstSize 1089 FROM INTEGRATED-SERVICES-MIB; 1091 qosPolicyPib MODULE-IDENTITY 1092 SUBJECT-CATEGORIES { tbd } -- DiffServ QoS COPS Client Type 1093 -- to be assigned by IANA 1094 LAST-UPDATED "200107201100Z" 1095 ORGANIZATION "IETF DIFFSERV WG" 1096 CONTACT-INFO " 1097 Michael Fine 1098 Cisco Systems, Inc. 1099 170 West Tasman Drive 1100 San Jose, CA 95134-1706 USA 1101 Phone: +1 408 527 8218 1102 Email: mfine@cisco.com 1104 Keith McCloghrie 1106 DiffServ QoS Policy Information Base July 2001 1108 Cisco Systems, Inc. 1109 170 West Tasman Drive, 1110 San Jose, CA 95134-1706 USA 1111 Phone: +1 408 526 5260 1112 Email: kzm@cisco.com 1114 John Seligson 1115 Nortel Networks, Inc. 1116 4401 Great America Parkway 1117 Santa Clara, CA 95054 USA 1118 Phone: +1 408 495 2992 1119 Email: jseligso@nortelnetworks.com" 1120 DESCRIPTION 1121 "The PIB module containing a set of provisioning classes 1122 that describe quality of service (QoS) policies for 1123 DiffServ. It includes general classes that may be extended 1124 by other PIB specifications as well as a set of PIB 1125 classes related to IP processing." 1127 ::= { pib xxx } -- xxx to be assigned by IANA 1129 qosCapabilityClasses OBJECT IDENTIFIER ::= { qosPolicyPib 1 } 1130 qosPolicyClasses OBJECT IDENTIFIER ::= { qosPolicyPib 2 } 1131 qosPolicyParameters OBJECT IDENTIFIER ::= { qosPolicyPib 3 } 1133 -- 1134 -- Interface Capabilities Group 1135 -- 1137 -- 1138 -- Interface Type Capability Tables 1139 -- 1140 -- The Interface type capability tables define capabilities that may 1141 -- be associated with an interface of a specific type. This PIB 1142 -- defines three such tables: a classification capabilities table, a 1143 -- metering capabilities table and a scheduling capabilities table. 1144 -- Other PIBs may define other capability tables to augment the 1145 -- capability definitions of these tables or to introduce completely 1146 -- new capabilities. 1148 -- 1149 DiffServ QoS Policy Information Base July 2001 1151 -- Classification Capabilities 1152 -- 1154 -- 1155 -- The Base Capability Table 1156 -- 1158 qosBaseIfCapsTable OBJECT-TYPE 1159 SYNTAX SEQUENCE OF QosBaseIfCapsEntry 1160 PIB-ACCESS notify, 3 1161 STATUS current 1162 DESCRIPTION 1163 "The Base Interface Capability class. This class represents 1164 a generic capability supported by a device in the ingress, 1165 egress or both directions." 1166 ::= { qosCapabilityClasses 1 } 1168 qosBaseIfCapsEntry OBJECT-TYPE 1169 SYNTAX QosBaseIfCapsEntry 1170 STATUS current 1171 DESCRIPTION 1172 "An instance of this class describes the qosBaseIfCaps class." 1174 PIB-INDEX { qosBaseIfCapsPrid } 1175 ::= { qosBaseIfCapsTable 1 } 1177 QosBaseIfCapsEntry ::= SEQUENCE { 1178 qosBaseIfCapsPrid InstanceId, 1179 qosBaseIfCapsDirection Integer32 1180 } 1182 qosBaseIfCapsPrid OBJECT-TYPE 1183 SYNTAX InstanceId 1184 STATUS current 1185 DESCRIPTION 1186 "An arbitrary integer index that uniquely identifies an 1187 instance of the class." 1188 ::= { qosBaseIfCapsEntry 1 } 1190 qosBaseIfCapsDirection OBJECT-TYPE 1191 SYNTAX Integer32 { 1192 inbound(1), 1193 outbound(2), 1195 DiffServ QoS Policy Information Base July 2001 1197 inAndOut(3) 1198 } 1199 STATUS current 1200 DESCRIPTION 1201 "This object specifies the direction(s) for which the capability 1202 applies. A value of 'inbound(1)' means the capability applies 1203 only to the ingress direction. A value of 'outbound(2)' means 1204 the capability applies only to the egress direction. A value of 1205 'inAndOut(3)' means the capability applies to both directions." 1206 ::= { qosBaseIfCapsEntry 2 } 1208 -- 1209 -- The Classification Capability Table 1210 -- 1212 qosIfClassificationCapsTable OBJECT-TYPE 1213 SYNTAX SEQUENCE OF QosIfClassificationCapsEntry 1214 PIB-ACCESS notify, 2 1215 STATUS current 1216 DESCRIPTION 1217 "This table specifies the classification capabilities of an 1218 interface type" 1219 ::= { qosCapabilityClasses 2 } 1221 qosIfClassificationCapsEntry OBJECT-TYPE 1222 SYNTAX QosIfClassificationCapsEntry 1223 STATUS current 1224 DESCRIPTION 1225 "An instance of this class describes the classification 1226 capabilities of an interface." 1228 EXTENDS { qosBaseIfCapsEntry } 1229 UNIQUENESS { qosBaseIfCapsDirection, 1230 qosIfClassificationCapsSpec } 1231 ::= { qosIfClassificationCapsTable 1 } 1233 QosIfClassificationCapsEntry ::= SEQUENCE { 1234 qosIfClassificationCapsSpec BITS 1235 } 1236 DiffServ QoS Policy Information Base July 2001 1238 qosIfClassificationCapsSpec OBJECT-TYPE 1239 SYNTAX BITS { 1240 ipSrcAddrClassification(1), 1241 -- indicates the ability to classify based on 1242 -- IP source addresses 1243 ipDstAddrClassification(2), 1244 -- indicates the ability to classify based on 1245 -- IP destination addresses 1246 ipProtoClassification(3), 1247 -- indicates the ability to classify based on 1248 -- IP protocol numbers 1249 ipDscpClassification(4), 1250 -- indicates the ability to classify based on 1251 -- IP DSCP 1252 ipL4Classification(5) 1253 -- indicates the ability to classify based on 1254 -- IP layer 4 port numbers for UDP and TCP 1255 } 1256 STATUS current 1257 DESCRIPTION 1258 "Bit set of supported classification capabilities. In 1259 addition to these capabilities, other PIBs may define other 1260 capabilities that can then be specified in addition to the 1261 ones specified here (or instead of the ones specified here if 1262 none of these are specified)." 1263 ::= { qosIfClassificationCapsEntry 1 } 1265 -- 1266 -- Metering Capabilities 1267 -- 1269 qosIfMeteringCapsTable OBJECT-TYPE 1270 SYNTAX SEQUENCE OF QosIfMeteringCapsEntry 1271 PIB-ACCESS notify, 2 1272 STATUS current 1273 DESCRIPTION 1274 "This table specifies the metering capabilities of an 1275 interface type" 1276 ::= { qosCapabilityClasses 3 } 1278 qosIfMeteringCapsEntry OBJECT-TYPE 1279 SYNTAX QosIfMeteringCapsEntry 1281 DiffServ QoS Policy Information Base July 2001 1283 STATUS current 1284 DESCRIPTION 1285 "An instance of this class describes the classification 1286 capabilities of an interface." 1288 EXTENDS { qosBaseIfCapsEntry } 1289 UNIQUENESS { qosBaseIfCapsDirection, 1290 qosIfMeteringCapsSpec } 1291 ::= { qosIfMeteringCapsTable 1 } 1293 QosIfMeteringCapsEntry ::= SEQUENCE { 1294 qosIfMeteringCapsSpec BITS 1295 } 1297 qosIfMeteringCapsSpec OBJECT-TYPE 1298 SYNTAX BITS { 1299 meterByRemarking (1), 1300 meterByDropping (2) 1301 -- These capabilities indicate if the interface 1302 -- can remark out of profile packets or drop them, 1303 -- respectively 1304 } 1305 STATUS current 1306 DESCRIPTION 1307 "Bit set of supported metering capabilities. As with 1308 classification capabilities, these metering capabilities may 1309 be augmented by capabilities specified in other PRCs (in other 1310 PIBs)." 1311 ::= { qosIfMeteringCapsEntry 1 } 1313 -- 1314 -- Algorithmic Dropper Capabilities 1315 -- 1316 -- This capability table indicates the types of algorithmic 1317 -- drop supported by an interface type for a specific flow 1318 -- direction. 1319 -- Additional capabilities affecting the drop functionalities 1320 -- are determined based on queue capabilities associated with 1321 -- specific instance of a dropper, hence not specified by 1322 -- this table. 1323 -- 1324 DiffServ QoS Policy Information Base July 2001 1326 qosIfAlgDropCapsTable OBJECT-TYPE 1327 SYNTAX SEQUENCE OF QosIfAlgDropCapsEntry 1328 PIB-ACCESS notify, 2 1329 STATUS current 1330 DESCRIPTION 1331 "This table specifies the algorithmic dropper 1332 capabilities of an interface type" 1333 ::= { qosCapabilityClasses 4 } 1335 qosIfAlgDropCapsEntry OBJECT-TYPE 1336 SYNTAX QosIfAlgDropCapsEntry 1337 STATUS current 1338 DESCRIPTION 1339 "An instance of this class describes the algorithm dropper 1340 capabilities of an interface." 1341 EXTENDS { qosBaseIfCapsEntry } 1342 UNIQUENESS { qosBaseIfCapsDirection, 1343 qosIfAlgDropCapsType } 1344 ::= { qosIfAlgDropCapsTable 1 } 1346 QosIfAlgDropCapsEntry ::= SEQUENCE { 1347 qosIfAlgDropCapsType BITS 1348 } 1350 qosIfAlgDropCapsType OBJECT-TYPE 1351 SYNTAX BITS { 1352 tailDrop(2), 1353 headDrop(3), 1354 randomDrop(4) } 1355 STATUS current 1356 DESCRIPTION 1357 "The type of algorithm that droppers associated with queues 1358 may use. 1360 The tailDrop(2) algorithm means that packets are dropped from 1361 the tail of the queue when the associated queue's MaxQueueSize is 1362 exceeded. The headDrop(3) algorithm means that packets are 1363 dropped from the head of the queue when the associated queue's 1364 MaxQueueSize is exceeded. The randomDrop(4) algorithm means that 1365 an algorithm is executed which may randomly 1366 drop the packet, or drop other packet(s) from the queue 1367 in its place. The specifics of the algorithm may be 1368 proprietary. However, parameters would be specified in the 1369 qosRandomDropTable." 1370 ::= { qosIfAlgDropCapsEntry 1 } 1372 DiffServ QoS Policy Information Base July 2001 1374 -- 1375 -- Queue Capabilities 1376 -- 1378 qosIfQueueCapsTable OBJECT-TYPE 1379 SYNTAX SEQUENCE OF QosIfQueueCapsEntry 1380 PIB-ACCESS notify, 4 1381 STATUS current 1382 DESCRIPTION 1383 "This table specifies the scheduling capabilities of an 1384 interface type" 1385 ::= { qosCapabilityClasses 5 } 1387 qosIfQueueCapsEntry OBJECT-TYPE 1388 SYNTAX QosIfQueueCapsEntry 1389 STATUS current 1390 DESCRIPTION 1391 "An instance of this class describes the queue 1392 capabilities of an interface type." 1393 EXTENDS { qosBaseIfCapsEntry } 1394 UNIQUENESS { qosBaseIfCapsDirection, 1395 qosIfQueueCapsMinQueueSize, 1396 qosIfQueueCapsMaxQueueSize, 1397 qosIfQueueCapsTotalQueueSize } 1398 ::= { qosIfQueueCapsTable 1 } 1400 QosIfQueueCapsEntry ::= SEQUENCE { 1401 qosIfQueueCapsMinQueueSize Unsigned32, 1402 qosIfQueueCapsMaxQueueSize Unsigned32, 1403 qosIfQueueCapsTotalQueueSize Unsigned32 1404 } 1406 qosIfQueueCapsMinQueueSize OBJECT-TYPE 1407 SYNTAX Unsigned32 1408 STATUS current 1409 DESCRIPTION 1410 "Some interfaces may allow the size of a queue to be 1411 configured. This attribute specifies the minimum size that 1412 can be configured for a queue, specified in bytes." 1413 ::= { qosIfQueueCapsEntry 1 } 1415 qosIfQueueCapsMaxQueueSize OBJECT-TYPE 1416 SYNTAX Unsigned32 1417 STATUS current 1418 DESCRIPTION 1420 DiffServ QoS Policy Information Base July 2001 1422 "Some interfaces may allow the size of a queue to be 1423 configured. This attribute specifies the maximum size that 1424 can be configured for a queue, specified in bytes." 1425 ::= { qosIfQueueCapsEntry 2 } 1427 qosIfQueueCapsTotalQueueSize OBJECT-TYPE 1428 SYNTAX Unsigned32 1429 STATUS current 1430 DESCRIPTION 1431 "Some interfaces may have a limited buffer space to be share 1432 amoungst all queues of that interface while also allowing the 1433 size of each queue to be configurable. To prevent the 1434 situation where the PDP configures the sizes of the queues in 1435 excess of the total buffer available to the interface, the PEP 1436 can report the total buffer space in bytes available with this 1437 capability." 1438 ::= { qosIfQueueCapsEntry 3 } 1440 -- 1441 -- Scheduler Capabilities 1442 -- 1444 qosIfSchedulerCapsTable OBJECT-TYPE 1445 SYNTAX SEQUENCE OF QosIfSchedulerCapsEntry 1446 PIB-ACCESS notify, 3 1447 STATUS current 1448 DESCRIPTION 1449 "This table specifies the scheduler capabilities of an 1450 interface type" 1451 ::= { qosCapabilityClasses 6 } 1453 qosIfSchedulerCapsEntry OBJECT-TYPE 1454 SYNTAX QosIfSchedulerCapsEntry 1455 STATUS current 1456 DESCRIPTION 1457 "An instance of this class describes the scheduler 1458 capabilities of an interface type." 1459 EXTENDS { qosBaseIfCapsEntry } 1460 UNIQUENESS { qosBaseIfCapsDirection, 1461 qosIfSchedulerCapsServiceDisc, 1462 qosIfSchedulerCapsMaxInputs } 1463 ::= { qosIfSchedulerCapsTable 1 } 1465 QosIfSchedulerCapsEntry ::= SEQUENCE { 1466 DiffServ QoS Policy Information Base July 2001 1468 qosIfSchedulerCapsServiceDisc OBJECT IDENTIFIER, 1469 qosIfSchedulerCapsMaxInputs Unsigned32 1470 } 1472 qosIfSchedulerCapsServiceDisc OBJECT-TYPE 1473 SYNTAX OBJECT IDENTIFIER 1474 STATUS current 1475 DESCRIPTION 1476 "The scheduling discipline for which the set of capabilities 1477 specified in this object apply. Object identifiers for several 1478 general purpose and well-known queuing disciplines are defined 1479 in this PIB. Queueing disciplines defined in another PIB may 1480 also be specified." 1481 ::= { qosIfSchedulerCapsEntry 1 } 1483 qosIfSchedulerCapsMaxInputs OBJECT-TYPE 1484 SYNTAX Unsigned32 1485 STATUS current 1486 DESCRIPTION 1487 "The maximum number of queues that this interface type can 1488 support for the scheduler type indicated by 1489 qosIfSchedulerCapsServiceDisc. A value of zero means that there 1490 is no maximum." 1491 ::= { qosIfSchedulerCapsEntry 2 } 1493 -- 1494 -- Shaper Capabilities 1495 -- 1497 qosIfShaperCapsTable OBJECT-TYPE 1498 SYNTAX SEQUENCE OF QosIfShaperCapsEntry 1499 PIB-ACCESS notify, 3 1500 STATUS current 1501 DESCRIPTION 1502 "This table specifies the shaping capabilities of an 1503 interface type" 1504 ::= { qosCapabilityClasses 7 } 1506 qosIfShaperCapsEntry OBJECT-TYPE 1507 SYNTAX QosIfShaperCapsEntry 1508 STATUS current 1509 DESCRIPTION 1510 "An instance of this class describes the shaping 1511 capabilities of an interface type." 1513 DiffServ QoS Policy Information Base July 2001 1515 EXTENDS { qosBaseIfCapsEntry } 1516 UNIQUENESS { qosBaseIfCapsDirection, 1517 qosIfShaperCapsAlgorithm, 1518 qosIfShaperCapsMaxNumberOfRates } 1519 ::= { qosIfShaperCapsTable 1 } 1521 QosIfShaperCapsEntry ::= SEQUENCE { 1522 qosIfShaperCapsAlgorithm OBJECT IDENTIFIER, 1523 qosIfShaperCapsMaxNumberOfRates Unsigned32 1524 } 1526 qosIfShaperCapsAlgorithm OBJECT-TYPE 1527 SYNTAX OBJECT IDENTIFIER 1528 STATUS current 1529 DESCRIPTION 1530 "The shaping method for which the set of capabilities 1531 specified in this object apply. Values that may be 1532 used for this attribute are: qosSingleRateShaper, 1533 qosFrameRelayDualRateShaper, qosATMDualRateShaper, 1534 qosRateAdaptiveShaper (RFC2963)." 1535 ::= { qosIfShaperCapsEntry 1 } 1537 qosIfShaperCapsMaxNumberOfRates OBJECT-TYPE 1538 SYNTAX Unsigned32 1539 STATUS current 1540 DESCRIPTION 1541 "The maximum number of rates shapers of the type indicated 1542 by qosIfShaperCapsAlgorithm may have for this interface type 1543 and flow direction." 1544 ::= { qosIfShaperCapsEntry 2 } 1546 -- 1547 -- Datapath Element Linkage Capabilities 1548 -- 1550 -- 1551 -- Datapath Element Cascade Depth 1552 -- 1554 qosIfElmDepthCapsTable OBJECT-TYPE 1555 SYNTAX SEQUENCE OF QosIfElmDepthCapsEntry 1556 PIB-ACCESS notify, 3 1557 STATUS current 1559 DiffServ QoS Policy Information Base July 2001 1561 DESCRIPTION 1562 "This table specifies the number of elements of the same 1563 type that can be cascaded together in a data path." 1564 ::= { qosCapabilityClasses 8 } 1566 qosIfElmDepthCapsEntry OBJECT-TYPE 1567 SYNTAX QosIfElmDepthCapsEntry 1568 STATUS current 1569 DESCRIPTION 1570 "An instance of this class describes the cascade depth 1571 for a particular datapath functional element PRC. A 1572 functional datapath element not represented in this 1573 table can be assumed to have no specific maximum 1574 depth." 1576 EXTENDS { qosBaseIfCapsEntry } 1577 UNIQUENESS { qosBaseIfCapsDirection, 1578 qosIfElmDepthCapsPrc } 1579 ::= { qosIfElmDepthCapsTable 1 } 1581 QosIfElmDepthCapsEntry ::= SEQUENCE { 1582 qosIfElmDepthCapsPrc PrcIdentifier, 1583 qosIfElmDepthCapsCascadeMax Unsigned32 1584 } 1586 qosIfElmDepthCapsPrc OBJECT-TYPE 1587 SYNTAX PrcIdentifier 1588 STATUS current 1589 DESCRIPTION 1590 "The object identifier of a PRC that represents a datapath 1591 functional element. This may be one of: qosClfrElementEntry, 1592 qosMeterEntry, qosActionEntry, qosAlgDropEntry, qosQEntry, or 1593 qosSchedulerEntry. The value is the OID of the table entry. 1594 There may not be more than one instance of this class with 1595 the same value of qosIfElmDepthCapsPrc." 1596 ::= { qosIfElmDepthCapsEntry 1 } 1598 qosIfElmDepthCapsCascadeMax OBJECT-TYPE 1599 SYNTAX Unsigned32 1600 STATUS current 1602 DiffServ QoS Policy Information Base July 2001 1604 DESCRIPTION 1605 "The maximum number of elements of type qosIfElmDepthCapsPrc 1606 that can be linked consecutively in a data path." A value of 1607 zero indicates there is no specific maximum." 1608 ::= { qosIfElmDepthCapsEntry 2 } 1610 -- 1611 -- Datapath Element Linkage Types 1612 -- 1614 qosIfElmLinkCapsTable OBJECT-TYPE 1615 SYNTAX SEQUENCE OF QosIfElmLinkCapsEntry 1616 PIB-ACCESS notify, 4 1617 STATUS current 1618 DESCRIPTION 1619 "This table specifies what types of datapath functional 1620 elements may be used as the next downstream element for 1621 a specific type of functional element." 1622 ::= { qosCapabilityClasses 9 } 1624 qosIfElmLinkCapsEntry OBJECT-TYPE 1625 SYNTAX QosIfElmLinkCapsEntry 1626 STATUS current 1627 DESCRIPTION 1628 "An instance of this class specifies a PRC that may 1629 be used as the next functional element after a specific 1630 type of element in a data path." 1632 EXTENDS { qosBaseIfCapsEntry } 1633 UNIQUENESS { qosBaseIfCapsDirection, 1634 qosIfElmLinkCapsPrc, 1635 qosIfElmLinkCapsAttr, 1636 qosIfElmLinkCapsNextPrc } 1637 ::= { qosIfElmLinkCapsTable 1 } 1639 QosIfElmLinkCapsEntry ::= SEQUENCE { 1640 qosIfElmLinkCapsPrc PrcIdentifier, 1641 qosIfElmLinkCapsAttr Unsigned32, 1642 qosIfElmLinkCapsNextPrc PrcIdentifier 1643 } 1644 DiffServ QoS Policy Information Base July 2001 1646 qosIfElmLinkCapsPrc OBJECT-TYPE 1647 SYNTAX PrcIdentifier 1648 STATUS current 1649 DESCRIPTION 1650 "The value is the OID of a PRC that represents a 1651 functional datapath element. This OID must not have 1652 the value zeroDotZero." 1653 ::= { qosIfElmLinkCapsEntry 1 } 1655 qosIfElmLinkCapsAttr OBJECT-TYPE 1656 SYNTAX Unsigned32 1657 STATUS current 1658 DESCRIPTION 1659 "The value represents the attribute in the the PRC 1660 indicated by qosIfElmLinkCapsPrc that is used to 1661 specify the next functional element in the datapath. 1663 The attribute value corresponds to the order in which 1664 the attribute appears in the definition of the PRC. 1665 A value of 1 indicates the first attribute of the PRC, 1666 a value of 2 indicates the second attribute of the 1667 PRC, and so forth." 1668 ::= { qosIfElmLinkCapsEntry 2 } 1670 qosIfElmLinkCapsNextPrc OBJECT-TYPE 1671 SYNTAX PrcIdentifier 1672 STATUS current 1673 DESCRIPTION 1674 "The value is the OID of a PRC table entry from which 1675 instances can be referenced by the attribute indicated 1676 by qosIfElmLinkCapsPrc and qosIfElmLinkAttr. 1678 For example, suppose a meter's success output can be an 1679 action or another meter, and the fail output can only be 1680 an action. This can be expressed as follows: 1682 Prid Prc Attr NextPrc 1683 1 qosMeterEntry qosMeterSucceedNext qosActionEntry 1684 2 qosMeterEntry qosMeterSucceedNext qosMeterEntry 1685 3 qosMeterEntry qosMeterFailNext qosActionEntry. 1687 zeroDotZero is a valid value for this attribute to 1688 specify that the PRC specified in qosIfElmLinkCapsPrc 1690 DiffServ QoS Policy Information Base July 2001 1692 is the last functional data path element." 1693 ::= { qosIfElmLinkCapsEntry 3 } 1695 -- 1696 -- Policy Classes 1697 -- 1699 -- 1700 -- Data Path Table 1701 -- 1702 -- The Data Path Table enumerates the Differentiated Services 1703 -- Data Paths within this device. Each entry specifies 1704 -- the first functional datapath element to process data flow 1705 -- for each specific datapath. Each datapath is defined by the 1706 -- interface role combination and direction. This table can 1707 -- therefore have up to two entries for each role combination, 1708 -- ingress and egress. 1710 qosDataPathTable OBJECT-TYPE 1711 SYNTAX SEQUENCE OF QosDataPathEntry 1712 PIB-ACCESS install, 6 1713 STATUS current 1714 DESCRIPTION 1715 "The data path table defines the data paths in this 1716 device. Each data path is defined by the interface, 1717 role combination and traffic direction. The first 1718 functional datapath element to handle traffic for 1719 this data path is defined by a Prid in the entries 1720 of this table." 1721 ::= { qosPolicyClasses 1 } 1723 qosDataPathEntry OBJECT-TYPE 1724 SYNTAX QosDataPathEntry 1725 STATUS current 1726 DESCRIPTION 1727 "An entry in the data path table describes a single 1728 data path in this device." 1729 PIB-INDEX { qosDataPathPrid } 1730 UNIQUENESS { qosDataPathRoles, 1731 qosDataPathIfDirection } 1732 ::= { qosDataPathTable 1 } 1734 DiffServ QoS Policy Information Base July 2001 1736 QosDataPathEntry ::= SEQUENCE { 1737 qosDataPathPrid InstanceId, 1738 qosDataPathIfName SnmpAdminString, 1739 qosDataPathRoles RoleCombination, 1740 qosDataPathIfDirection IfDirection, 1741 qosDataPathStart Prid 1742 } 1744 qosDataPathPrid OBJECT-TYPE 1745 SYNTAX InstanceId 1746 STATUS current 1747 DESCRIPTION 1748 "An arbitrary integer index that uniquely identifies an 1749 instance of the class." 1750 ::= { qosDataPathEntry 1 } 1752 qosDataPathIfName OBJECT-TYPE 1753 SYNTAX SnmpAdminString 1754 STATUS current 1755 DESCRIPTION 1756 "The interface capability set to which this data path entry 1757 applies. The interface capability name specified by this 1758 attribute must exist in the frwkIfCapSetTable [FR-PIB] prior 1759 to association with an instance of this class." 1760 ::= { qosDataPathEntry 2 } 1762 qosDataPathRoles OBJECT-TYPE 1763 SYNTAX RoleCombination 1764 STATUS current 1765 DESCRIPTION 1766 "The interfaces to which this data path entry applies, 1767 specified in terms of roles. There must exist an entry 1768 in the frwkIfCapSetRoleComboTable [FR-PIB] specifying 1769 this role combination, together with the interface 1770 capability set specified by qosDataPathIfName, prior to 1771 association with an instance of this class." 1772 ::= { qosDataPathEntry 3 } 1774 qosDataPathIfDirection OBJECT-TYPE 1775 SYNTAX IfDirection 1776 STATUS current 1778 DiffServ QoS Policy Information Base July 2001 1780 DESCRIPTION 1781 "Specifies the direction for which this data path 1782 entry applies on this interface." 1783 ::= { qosDataPathEntry 4 } 1785 qosDataPathStart OBJECT-TYPE 1786 SYNTAX Prid 1787 STATUS current 1788 DESCRIPTION 1789 "This selects the first functional datapath element 1790 to handle traffic for this data path. This 1791 Prid should point to an instance of one of: 1792 qosClfrEntry 1793 qosMeterEntry 1794 qosActionEntry 1795 qosAlgDropEntry 1796 qosQEntry 1798 The PRI to must exist prior to the installation of 1799 this datapath start element." 1800 ::= { qosDataPathEntry 5 } 1802 -- 1803 -- Classifiers 1804 -- 1806 -- 1807 -- Classifier Table 1808 -- 1809 -- Classifier allows multiple classifier elements, of same or different 1810 -- types, to be used together. 1811 -- A classifier must completely classify all packets presented to it. 1812 -- This means all traffic handled by a classifier must match 1813 -- at least one classifier element within the classifier, 1814 -- with the classifier element parameters specified by a filter. 1816 qosClfrTable OBJECT-TYPE 1817 SYNTAX SEQUENCE OF QosClfrEntry 1818 PIB-ACCESS install, 3 1819 STATUS current 1820 DESCRIPTION 1821 "" 1822 REFERENCE 1824 DiffServ QoS Policy Information Base July 2001 1826 "[MODEL] section 4.1" 1827 ::= { qosPolicyClasses 2 } 1829 qosClfrEntry OBJECT-TYPE 1830 SYNTAX QosClfrEntry 1831 STATUS current 1832 DESCRIPTION 1833 "An entry in the classifier table describes a 1834 single classifier. Each classifier element belong- 1835 ing to the this classifier must have its 1836 qosClfrElementClfrId attribute equal to qosClfrId." 1837 PIB-INDEX { qosClfrPrid } 1838 UNIQUENESS { qosClfrId } 1839 ::= { qosClfrTable 1 } 1841 QosClfrEntry ::= SEQUENCE { 1842 qosClfrPrid InstanceId, 1843 qosClfrId TagReferenceId 1844 } 1846 qosClfrPrid OBJECT-TYPE 1847 SYNTAX InstanceId 1848 STATUS current 1849 DESCRIPTION 1850 "An arbitrary integer index that uniquely identifies an 1851 instance of the class." 1852 ::= { qosClfrEntry 1 } 1854 qosClfrId OBJECT-TYPE 1855 SYNTAX TagReferenceId 1856 PIB-TAG { qosClfrElementClfrId } 1857 STATUS current 1858 DESCRIPTION 1859 "Identifies a Classifier. A Classifier must be 1860 complete, this means all traffic handled by a 1861 Classifier must match at least one Classifier 1862 Element within the Classifier." 1863 ::= { qosClfrEntry 2 } 1865 -- 1866 DiffServ QoS Policy Information Base July 2001 1868 -- Classifier Element Table 1869 -- 1870 -- Entries in the classifier element table serves as 1871 -- the anchor for each classification pattern, defined 1872 -- in filter table entries. Each classifier element 1873 -- table entry also specifies the subsequent downstream 1874 -- diffserv functional datapath element when the 1875 -- classification pattern is satisfied. 1876 -- Each entry in the classifier element table describes 1877 -- one branch of the fan-out characteristic of a classifier 1878 -- indicated in [MODEL] section 4.1. A classifier is made up 1879 -- of one or more classifier elements. 1880 -- 1882 qosClfrElementTable OBJECT-TYPE 1883 SYNTAX SEQUENCE OF QosClfrElementEntry 1884 PIB-ACCESS install, 6 1885 STATUS current 1886 DESCRIPTION 1887 "The classifier element table enumerates the rela- 1888 tionship between classification patterns and subse- 1889 quent downstream diffserv functional data path ele- 1890 ments. Classification parameters are defined by 1891 entries of filter tables pointed to by 1892 qosClfrElementSpecific. There can be filter 1893 tables of different types, and they can be inter- 1894 mixed and used within a classifier. An example of a 1895 filter table is the frwkIpFilterTable, defined in 1896 [FR-PIB], for IP Multi-Field Classifiers (MFCs). 1897 Filter tables for other filter types may be defined 1898 elsewhere." 1899 REFERENCE 1900 "[MODEL] section 4.1" 1901 ::= { qosPolicyClasses 3 } 1903 qosClfrElementEntry OBJECT-TYPE 1904 SYNTAX QosClfrElementEntry 1905 STATUS current 1906 DESCRIPTION 1907 "An entry in the classifier element table describes a 1908 single element of the classifier." 1909 PIB-INDEX { qosClfrElementPrid } 1910 UNIQUENESS { qosClfrElementClfrId, 1912 DiffServ QoS Policy Information Base July 2001 1914 qosClfrElementOrder, 1915 qosClfrElementSpecific } 1916 ::= { qosClfrElementTable 1 } 1918 QosClfrElementEntry ::= SEQUENCE { 1919 qosClfrElementPrid InstanceId, 1920 qosClfrElementClfrId TagId, 1921 qosClfrElementPrecedence Unsigned32, 1922 qosClfrElementNext Prid, 1923 qosClfrElementSpecific Prid 1924 } 1926 qosClfrElementPrid OBJECT-TYPE 1927 SYNTAX InstanceId 1928 STATUS current 1929 DESCRIPTION 1930 "An arbitrary integer index that uniquely identifies an 1931 instance of the class." 1932 ::= { qosClfrElementEntry 1 } 1934 qosClfrElementClfrId OBJECT-TYPE 1935 SYNTAX TagId 1936 STATUS current 1937 DESCRIPTION 1938 "A classifier is composed of one or more classifier 1939 elements. Each classifier element belonging to 1940 the same classifier uses the same classifier ID. 1942 Hence, A classifier Id identifies which classifier 1943 this classifier element is a part of. This needs to be 1944 the value of qosClfrId attribute for an existing 1945 instance of qosClfrEntry." 1946 ::= { qosClfrElementEntry 2 } 1948 qosClfrElementPrecedence OBJECT-TYPE 1949 SYNTAX Unsigned32 1950 STATUS current 1951 DESCRIPTION 1952 "The relative order in which classifier elements are 1953 applied: higher numbers represent classifier elements 1954 with higher precedence. Classifier elements with the same 1956 DiffServ QoS Policy Information Base July 2001 1958 order must be unambiguous i.e. they must define 1959 non-overlapping patterns, and are considered to be 1960 applied simultaneously to the traffic stream. Clas- 1961 sifier elements with different order may overlap in 1962 their filters: the classifier element with the highest 1963 order that matches is taken. 1965 On a given interface, there must be a complete clas- 1966 sifier in place at all times in the 1967 ingress direction. This means that there will always 1968 be one or more filters that match every possible pat- 1969 tern that could be presented in an incoming packet. 1970 There is no such requirement in the egress direction." 1971 DEFVAL { 0 } 1972 ::= { qosClfrElementEntry 3 } 1974 qosClfrElementNext OBJECT-TYPE 1975 SYNTAX Prid 1976 STATUS current 1977 DESCRIPTION 1978 "This attribute provides one branch of the fan-out 1979 functionality of a classifier described in [MODEL] 1980 section 4.1. 1982 This selects the next diffserv functional datapath 1983 element to handle traffic for this data path. 1985 A value of zeroDotZero marks the end of DiffServ processing 1986 for this data path. Any other value must point to a 1987 valid (pre-existing) instance of one of: 1988 qosClfrEntry 1989 qosMeterEntry 1990 qosActionEntry 1991 qosAlgDropEntry 1992 qosQEntry." 1993 DEFVAL { zeroDotZero } 1994 ::= { qosClfrElementEntry 4 } 1996 qosClfrElementSpecific OBJECT-TYPE 1997 SYNTAX Prid 1998 STATUS current 1999 DESCRIPTION 2000 "A pointer to a valid entry in another table that 2002 DiffServ QoS Policy Information Base July 2001 2004 describes the applicable classification filter, e.g. 2005 an entry in frwkIpFilterTable [FR-PIB]. 2007 The PRI pointed to must exist prior to the installation of 2008 this classifier element. 2010 The value zeroDotZero is interpreted to match any- 2011 thing not matched by another classifier element - only one 2012 such entry may exist for each classifier." 2013 DEFVAL { zeroDotZero } 2014 ::= { qosClfrElementEntry 5 } 2016 -- 2017 -- Meters 2018 -- 2019 -- This PIB supports a variety of Meters. It includes a 2020 -- specific definition for Meters whose parameter set can 2021 -- be modelled using Token Bucket parameters. 2022 -- Other metering parameter sets can be defined and used 2023 -- when necessary. 2024 -- 2025 -- Multiple meter elements may be logically cascaded 2026 -- using their qosMeterSucceedNext pointers if 2027 -- a multi-rate Meter is required. 2028 -- One example of this might be for an AF PHB implementation 2029 -- that uses two-rate meters. 2030 -- 2031 -- Cascading of individual meter elements in the PIB is intended 2032 -- to be functionally equivalent to determining the conformance 2033 -- level of a packet using a multi-rate meter. The sequential 2034 -- nature of the representation is merely a notational 2035 -- convenience for this PIB. 2036 -- 2037 -- srTCM meters (RFC 2697) can be specified using two sets of 2038 -- qosMeterEntry and qosTBParamEntry. First set specifies the 2039 -- Committed Information Rate and Committed Burst Size 2040 -- token-bucket. Second set specifies the Excess Burst 2041 -- Size token-bucket. 2042 -- 2043 -- trTCM meters (RFC 2698) can be specified using two sets of 2044 -- qosMeterEntry and qosTBParamEntry. First set specifies the 2045 -- Committed Information Rate and Committed Burst Size 2046 -- token-bucket. Second set specifies the Peak Information 2047 -- Rate and Peak Burst Size token-bucket. 2049 DiffServ QoS Policy Information Base July 2001 2051 -- 2052 -- tswTCM meters (RFC 2859) can be specified using two sets of 2053 -- qosMeterEntry and qosTBParamEntry. First set specifies the 2054 -- Committed Target Rate token-bucket. Second set specifies the 2055 -- Peak Target Rate token-bucket. qosTBParamInterval in each 2056 -- token bucket reflects the Average Interval. 2057 -- 2059 qosMeterTable OBJECT-TYPE 2060 SYNTAX SEQUENCE OF QosMeterEntry 2061 PIB-ACCESS install, 5 2062 STATUS current 2063 DESCRIPTION 2064 "This table enumerates specific meters that a system 2065 may use to police a stream of traffic. The traffic 2066 stream to be metered is determined by the element(s) 2067 upstream of the meter i.e. by the object(s) that 2068 point to each entry in this table. This may include 2069 all traffic on an interface. 2071 Specific meter details are to be found in 2072 qosMeterSpecific." 2073 REFERENCE 2074 "[MODEL] section 5.1" 2075 ::= { qosPolicyClasses 4 } 2077 qosMeterEntry OBJECT-TYPE 2078 SYNTAX QosMeterEntry 2079 STATUS current 2080 DESCRIPTION 2081 "An entry in the meter table describing a single 2082 meter." 2083 PIB-INDEX { qosMeterPrid } 2084 UNIQUENESS { } 2085 ::= { qosMeterTable 1 } 2087 QosMeterEntry ::= SEQUENCE { 2088 qosMeterPrid InstanceId, 2089 qosMeterSucceedNext Prid, 2090 qosMeterFailNext Prid, 2091 qosMeterSpecific Prid 2092 } 2093 DiffServ QoS Policy Information Base July 2001 2095 qosMeterPrid OBJECT-TYPE 2096 SYNTAX InstanceId 2097 STATUS current 2098 DESCRIPTION 2099 "An arbitrary integer index that uniquely identifies an 2100 instance of the class." 2101 ::= { qosMeterEntry 1 } 2103 qosMeterSucceedNext OBJECT-TYPE 2104 SYNTAX Prid 2105 STATUS current 2106 DESCRIPTION 2107 "If the traffic does conform, this selects the next 2108 diffserv functional datapath element to handle 2109 traffic for this data path. 2111 The value zeroDotZero in this variable indicates no 2112 further Diffserv treatment is performed on traffic of 2113 this datapath. Any other value must point to a valid 2114 (pre-existing) instance of one of: 2115 qosClfrEntry 2116 qosMeterEntry 2117 qosActionEntry 2118 qosAlgDropEntry 2119 qosQEntry." 2120 DEFVAL { zeroDotZero } 2121 ::= { qosMeterEntry 2 } 2123 qosMeterFailNext OBJECT-TYPE 2124 SYNTAX Prid 2125 STATUS current 2126 DESCRIPTION 2127 "If the traffic does not conform, this selects the 2128 next diffserv functional datapath element to handle 2129 traffic for this data path. 2131 The value zeroDotZero in this variable indicates no 2132 further Diffserv treatment is performed on traffic of 2133 this datapath. Any other value must point to a valid 2134 (pre-existing) instance of one of: 2135 qosClfrEntry 2136 qosMeterEntry 2137 qosActionEntry 2139 DiffServ QoS Policy Information Base July 2001 2141 qosAlgDropEntry 2142 qosQEntry." 2143 DEFVAL { zeroDotZero } 2144 ::= { qosMeterEntry 3 } 2146 qosMeterSpecific OBJECT-TYPE 2147 SYNTAX Prid 2148 STATUS current 2149 DESCRIPTION 2150 "This indicates the behaviour of the meter by point- 2151 ing to an entry containing detailed parameters. Note 2152 that entries in that specific table must be managed 2153 explicitly. 2155 For example, qosMeterSpecific may point to an 2156 entry in qosTBMeterTable, which contains an 2157 instance of a single set of Token Bucket parameters. 2159 The PRI pointed to must exist prior to installing this 2160 Meter datapath element." 2161 ::= { qosMeterEntry 4 } 2163 -- 2164 -- Token-Bucket Parameter Table 2165 -- 2166 -- Each entry in the Token Bucket Parameter Table parameterizes 2167 -- a single token bucket. Multiple token buckets can be 2168 -- used together to parameterize multiple levels of 2169 -- conformance. 2170 -- 2171 -- Note that an entry in the Token Bucket Parameter Table can 2172 -- be shared, pointed to, by multiple qosMeterTable entries. 2173 -- 2175 qosTBParamTable OBJECT-TYPE 2176 SYNTAX SEQUENCE OF QosTBParamEntry 2177 PIB-ACCESS install, 6 2178 STATUS current 2179 DESCRIPTION 2180 "This table enumerates specific token-bucket meters 2181 that a system may use to police a stream of traffic. 2182 Such meters are modelled here as having a single rate 2184 DiffServ QoS Policy Information Base July 2001 2186 and a single burst size. Multiple entries are used 2187 when multiple rates/burst sizes are needed." 2188 REFERENCE 2189 "[MODEL] section 5.1" 2190 ::= { qosPolicyClasses 5 } 2192 qosTBParamEntry OBJECT-TYPE 2193 SYNTAX QosTBParamEntry 2194 STATUS current 2195 DESCRIPTION 2196 "An entry that describes a single token-bucket meter." 2197 PIB-INDEX { qosTBParamPrid } 2198 UNIQUENESS { qosTBParamType, 2199 qosTBParamRate, 2200 qosTBParamBurstSize, 2201 qosTBParamInterval } 2202 ::= { qosTBParamTable 1 } 2204 QosTBParamEntry ::= SEQUENCE { 2205 qosTBParamPrid InstanceId, 2206 qosTBParamType OBJECT IDENTIFIER, 2207 qosTBParamRate Unsigned32, 2208 qosTBParamBurstSize BurstSize, 2209 qosTBParamInterval Unsigned32 2210 } 2212 qosTBParamPrid OBJECT-TYPE 2213 SYNTAX InstanceId 2214 STATUS current 2215 DESCRIPTION 2216 "An arbitrary integer index that uniquely identifies an 2217 instance of the class." 2218 ::= { qosTBParamEntry 1 } 2220 qosTBParamType OBJECT-TYPE 2221 SYNTAX OBJECT IDENTIFIER 2222 STATUS current 2223 DESCRIPTION 2224 "The Metering/Shaping algorithm associated with the 2225 Token/Leaky Bucket parameters. 2227 DiffServ QoS Policy Information Base July 2001 2229 Standard values for generic algorithms are as follows: 2231 qosTBParamSimpleTokenBucket, qosTBParamAvgRate, 2232 qosTBParamSrTCMBlind, qosTBParamSrTCMAware, 2233 qosTBParamTrTCMBlind, qosTBParamTrTCMAware, 2234 qosTBParamTswTCM 2236 are specified in this PIB as OBJECT-IDENTITYs; additional values 2237 may be further specified in other PIBs." 2238 REFERENCE 2239 "[MODEL] section 5" 2240 ::= { qosTBParamEntry 2 } 2242 qosTBParamRate OBJECT-TYPE 2243 SYNTAX Unsigned32 2244 UNITS "kilobits per second" 2245 STATUS current 2246 DESCRIPTION 2247 "The token-bucket rate, in kilobits per second 2248 (kbps). This attribute is used for: 1. CIR in RFC 2249 2697 for srTCM 2. CIR and PIR in RFC 2698 for trTCM 2250 3. CTR and PTR in RFC 2859 for TSWTCM 4. AverageRate 2251 used in [MODEL] section 5." 2252 ::= { qosTBParamEntry 3 } 2254 qosTBParamBurstSize OBJECT-TYPE 2255 SYNTAX BurstSize 2256 UNITS "Bytes" 2257 STATUS current 2258 DESCRIPTION 2259 "The maximum number of bytes in a single transmission 2260 burst. This attribute is used for: 1. CBS and EBS in 2261 RFC 2697 for srTCM 2. CBS and PBS in FRC 2698 for 2262 trTCM 3. Burst Size used in [MODEL] section 5." 2263 ::= { qosTBParamEntry 4 } 2265 qosTBParamInterval OBJECT-TYPE 2266 SYNTAX Unsigned32 2267 UNITS "microseconds" 2268 STATUS current 2269 DESCRIPTION 2270 "The time interval used with the token bucket. For: 2272 DiffServ QoS Policy Information Base July 2001 2274 1. Average Rate Meter, [MODEL] section 5.2.1, - 2275 Delta. 2. Simple Token Bucket Meter, [MODEL] section 2276 5.1, - time interval t. 3. RFC 2859 TSWTCM, - 2277 AVG_INTERVAL. 4. RFC 2697 srTCM, RFC 2698 trTCM, - 2278 token bucket update time interval." 2279 ::= { qosTBParamEntry 5 } 2281 -- 2282 -- Actions 2283 -- 2285 -- 2286 -- The Action Table allows enumeration of the different 2287 -- types of actions to be applied to a traffic flow. 2288 -- 2290 qosActionTable OBJECT-TYPE 2291 SYNTAX SEQUENCE OF QosActionEntry 2292 PIB-ACCESS install, 5 2293 STATUS current 2294 DESCRIPTION 2295 "The Action Table enumerates actions that can be per- 2296 formed to a stream of traffic. Multiple actions can 2297 be concatenated. For example, after marking a stream 2298 of traffic exiting from a meter, a device can then 2299 perform a mark action of the conforming or non- 2300 conforming traffic. 2302 Specific actions are indicated by qosAction- 2303 Specific which points to an entry of a specific 2304 action type parameterizing the action in detail." 2305 REFERENCE 2306 "[MODEL] section 6." 2307 ::= { qosPolicyClasses 6 } 2309 qosActionEntry OBJECT-TYPE 2310 SYNTAX QosActionEntry 2311 STATUS current 2312 DESCRIPTION 2314 DiffServ QoS Policy Information Base July 2001 2316 "Each entry in the action table allows description of 2317 one specific action to be applied to traffic." 2318 PIB-INDEX { qosActionPrid } 2319 UNIQUENESS { } 2320 ::= { qosActionTable 1 } 2322 QosActionEntry ::= SEQUENCE { 2323 qosActionPrid InstanceId, 2324 qosActionNext Prid, 2325 qosActionSpecific Prid 2326 } 2328 qosActionPrid OBJECT-TYPE 2329 SYNTAX InstanceId 2330 STATUS current 2331 DESCRIPTION 2332 "An arbitrary integer index that uniquely identifies an 2333 instance of the class." 2334 ::= { qosActionEntry 1 } 2336 qosActionNext OBJECT-TYPE 2337 SYNTAX Prid 2338 STATUS current 2339 DESCRIPTION 2340 "This selects the next diffserv functional datapath 2341 element to handle traffic for this data path. 2343 The value zeroDotZero in this variable indicates no 2344 further Diffserv treatment is performed on traffic of 2345 this datapath. Any other value must point to a valid 2346 (pre-existing) instance of one of: 2347 qosClfrEntry 2348 qosMeterEntry 2349 qosActionEntry 2350 qosAlgDropEntry 2351 qosQEntry." 2352 DEFVAL { zeroDotZero } 2353 ::= { qosActionEntry 2 } 2355 qosActionSpecific OBJECT-TYPE 2356 SYNTAX Prid 2358 DiffServ QoS Policy Information Base July 2001 2360 STATUS current 2361 DESCRIPTION 2362 "A pointer to an object instance providing additional 2363 information for the type of action indicated by this 2364 action table entry. 2366 For the standard actions defined by this PIB module, 2367 this should point to an instance of qosDscpMarkActEntry. 2368 For other actions, it may point to an instance of a 2369 PRC defined in some other PIB. 2371 The PRI pointed to must exist prior to installing this 2372 action datapath entry." 2373 ::= { qosActionEntry 3 } 2375 -- DSCP Mark Action Table 2376 -- 2377 -- Rows of this table are pointed to by qosActionSpecific 2378 -- to provide detailed parameters specific to the DSCP 2379 -- Mark action. 2380 -- 2382 qosDscpMarkActTable OBJECT-TYPE 2383 SYNTAX SEQUENCE OF QosDscpMarkActEntry 2384 PIB-ACCESS install, 3 2385 STATUS current 2386 DESCRIPTION 2387 "This table enumerates specific DSCPs used for mark- 2388 ing or remarking the DSCP field of IP packets. The 2389 entries of this table may be referenced by a 2390 qosActionSpecific attribute." 2391 REFERENCE 2392 "[MODEL] section 6.1" 2393 ::= { qosPolicyClasses 7 } 2395 qosDscpMarkActEntry OBJECT-TYPE 2396 SYNTAX QosDscpMarkActEntry 2397 STATUS current 2398 DESCRIPTION 2399 "An entry in the DSCP mark action table that 2400 describes a single DSCP used for marking." 2401 PIB-INDEX { qosDscpMarkActPrid } 2403 DiffServ QoS Policy Information Base July 2001 2405 INDEX { qosDscpMarkActDscp } 2406 UNIQUENESS { qosDscpMarkActDscp } 2407 ::= { qosDscpMarkActTable 1 } 2409 QosDscpMarkActEntry ::= SEQUENCE { 2410 qosDscpMarkActPrid InstanceId, 2411 qosDscpMarkActDscp Dscp 2412 } 2414 qosDscpMarkActPrid OBJECT-TYPE 2415 SYNTAX InstanceId 2416 STATUS current 2417 DESCRIPTION 2418 "An arbitrary integer index that uniquely identifies an 2419 instance of the class." 2420 ::= { qosDscpMarkActEntry 1 } 2422 qosDscpMarkActDscp OBJECT-TYPE 2423 SYNTAX Dscp 2424 STATUS current 2425 DESCRIPTION 2426 "The DSCP that this Action uses for marking/remarking 2427 traffic. Note that a DSCP value of -1 is not permit- 2428 ted in this table. It is quite possible that the 2429 only packets subject to this Action are already 2430 marked with this DSCP. Note also that Diffserv may 2431 result in packet remarking both on ingress to a net- 2432 work and on egress from it and it is quite possible 2433 that ingress and egress would occur in the same 2434 router." 2435 ::= { qosDscpMarkActEntry 2 } 2437 -- 2438 -- Algorithmic Drop Table 2439 -- 2441 qosAlgDropTable OBJECT-TYPE 2442 SYNTAX SEQUENCE OF QosAlgDropEntry 2443 PIB-ACCESS install, 7 2445 DiffServ QoS Policy Information Base July 2001 2447 STATUS current 2448 DESCRIPTION 2449 "The algorithmic drop table contains entries describ- 2450 ing an element that drops packets according to some 2451 algorithm." 2452 REFERENCE 2453 "[MODEL] section 7.1.3" 2454 ::= { qosPolicyClasses 9 } 2456 qosAlgDropEntry OBJECT-TYPE 2457 SYNTAX QosAlgDropEntry 2458 STATUS current 2459 DESCRIPTION 2460 "An entry describes a process that drops packets 2461 according to some algorithm. Further details of the 2462 algorithm type are to be found in qosAlgDropType 2463 and with more detail parameter entry pointed to by 2464 qosAlgDropSpecific when necessary." 2465 PIB-INDEX { qosAlgDropPrid } 2466 UNIQUENESS { } 2467 ::= { qosAlgDropTable 1 } 2469 QosAlgDropEntry ::= SEQUENCE { 2470 qosAlgDropPrid InstanceId, 2471 qosAlgDropType INTEGER, 2472 qosAlgDropNext Prid, 2473 qosAlgDropQMeasure Prid, 2474 qosAlgDropQThreshold Unsigned32, 2475 qosAlgDropSpecific Prid 2476 } 2478 qosAlgDropPrid OBJECT-TYPE 2479 SYNTAX InstanceId 2480 STATUS current 2481 DESCRIPTION 2482 "An arbitrary integer index that uniquely identifies an 2483 instance of the class." 2484 ::= { qosAlgDropEntry 1 } 2486 qosAlgDropType OBJECT-TYPE 2487 SYNTAX INTEGER { 2489 DiffServ QoS Policy Information Base July 2001 2491 other(1), 2492 tailDrop(2), 2493 headDrop(3), 2494 randomDrop(4), 2495 alwaysDrop(5) 2496 } 2497 STATUS current 2498 DESCRIPTION 2499 "The type of algorithm used by this dropper. A value 2500 of tailDrop(2) or headDrop(3) represents an algorithm 2501 that is completely specified by this PIB. 2503 A value of other(1) indicates that the specifics of 2504 the drop algorithm are specified in some other PIB 2505 module, and that the qosAlgDropSpecific attribute 2506 points to an instance of a PRC in that PIB that 2507 specifies the information necessary to implement the 2508 algorithm. 2510 The tailDrop(2) algorithm is described as follows: 2511 qosAlgDropQThreshold represents the depth of the 2512 queue, pointed to by qosAlgDropQMeasure, at 2513 which all newly arriving packets will be dropped. 2515 The headDrop(3) algorithm is described as follows: if 2516 a packet arrives when the current depth of the queue, 2517 pointed to by qosAlgDropQMeasure, is at 2518 qosAlgDropQThreshold, packets currently at the head of 2519 the queue are dropped to make room for the new packet 2520 to be enqueued at the tail of the queue. 2522 The randomDrop(4) algorithm is described as follows: 2523 on packet arrival, an algorithm is executed which may 2524 randomly drop the packet, or drop other packet(s) 2525 from the queue in its place. The specifics of the 2526 algorithm may be proprietary. For this algorithm, 2527 qosAlgDropSpecific points to a qosRandomDropEntry 2528 that describes the algorithm. For this 2529 algorithm, qosAlgQThreshold is understood to be 2530 the absolute maximum size of the queue and additional 2531 parameters are described in qosRandomDropTable. 2533 The alwaysDrop(5) algorithm always drops packets. In 2534 this case, the other configuration values in this Entry 2535 are not meaningful; The queue is not used, therefore, 2537 DiffServ QoS Policy Information Base July 2001 2539 qosAlgDropNext, qosAlgDropQMeasure, and 2540 qosAlgDropSpecific should be all set to zeroDotZero." 2542 ::= { qosAlgDropEntry 2 } 2544 qosAlgDropNext OBJECT-TYPE 2545 SYNTAX Prid 2546 STATUS current 2547 DESCRIPTION 2548 "This selects the next diffserv functional datapath 2549 element to handle traffic for this data path. 2551 The value zeroDotZero in this variable indicates no 2552 further Diffserv treatment is performed on traffic of 2553 this datapath. Any other value must point to a valid 2554 (pre-existing) instance of one of: 2555 qosClfrEntry 2556 qosMeterEntry 2557 qosActionEntry 2558 qosAlgDropEntry 2559 qosQEntry." 2560 DEFVAL { zeroDotZero } 2561 ::= { qosAlgDropEntry 3 } 2563 qosAlgDropQMeasure OBJECT-TYPE 2564 SYNTAX Prid 2565 STATUS current 2566 DESCRIPTION 2567 "Points to an entry in the qosQTable to indicate 2568 the queue that a drop algorithm is to monitor when 2569 deciding whether to drop a packet. 2571 The PRI pointed to must exist prior to installing 2572 this dropper element." 2573 ::= { qosAlgDropEntry 4 } 2575 qosAlgDropQThreshold OBJECT-TYPE 2576 SYNTAX Unsigned32 2577 UNITS "Bytes" 2578 STATUS current 2579 DESCRIPTION 2580 "A threshold on the depth in bytes of the queue being 2582 DiffServ QoS Policy Information Base July 2001 2584 measured at which a trigger is generated to the drop- 2585 ping algorithm. 2587 For the tailDrop(2) or headDrop(3) algorithms, this 2588 represents the depth of the queue, pointed to by 2589 qosAlgDropQMeasure, at which the drop action 2590 will take place. Other algorithms will need to define 2591 their own semantics for this threshold." 2592 ::= { qosAlgDropEntry 5 } 2594 qosAlgDropSpecific OBJECT-TYPE 2595 SYNTAX Prid 2596 STATUS current 2597 DESCRIPTION 2598 "Points to a table entry that provides further detail 2599 regarding a drop algorithm. The PRI pointed to 2600 must exist prior to installing this dropper element. 2602 Entries with qosAlgDropType equal to other(1) 2603 must have this point to an instance of a PRC 2604 defined in another PIB module. 2606 Entries with qosAlgDropType equal to random- 2607 Drop(4) must have this point to an entry in 2608 qosRandomDropTable. 2610 For all other algorithms, this should take the value 2611 zeroDotZero." 2612 ::= { qosAlgDropEntry 6 } 2614 -- 2615 -- Random Drop Table 2616 -- 2618 qosRandomDropTable OBJECT-TYPE 2619 SYNTAX SEQUENCE OF QosRandomDropEntry 2620 PIB-ACCESS install, 9 2621 STATUS current 2622 DESCRIPTION 2623 "The random drop table contains entries describing a 2624 process that drops packets randomly. Entries in this 2625 table is intended to be pointed to by 2626 qosAlgDropSpecific." 2628 DiffServ QoS Policy Information Base July 2001 2630 REFERENCE 2631 "[MODEL] section 7.1.3" 2632 ::= { qosPolicyClasses 10 } 2634 qosRandomDropEntry OBJECT-TYPE 2635 SYNTAX QosRandomDropEntry 2636 STATUS current 2637 DESCRIPTION 2638 "An entry describes a process that drops packets 2639 according to a random algorithm." 2640 PIB-INDEX { qosRandomDropPrid } 2641 UNIQUENESS { qosRandomDropMinThreshBytes, 2642 qosRandomDropMinThreshPkts, 2643 qosRandomDropMaxThreshBytes, 2644 qosRandomDropMaxThreshPkts, 2645 qosRandomDropProbMax, 2646 qosRandomDropWeight, 2647 qosRandomDropSamplingRate 2648 } 2649 ::= { qosRandomDropTable 1 } 2651 QosRandomDropEntry ::= SEQUENCE { 2652 qosRandomDropPrid InstanceId, 2653 qosRandomDropMinThreshBytes Unsigned32, 2654 qosRandomDropMinThreshPkts Unsigned32, 2655 qosRandomDropMaxThreshBytes Unsigned32, 2656 qosRandomDropMaxThreshPkts Unsigned32, 2657 qosRandomDropProbMax Unsigned32, 2658 qosRandomDropWeight Unsigned32, 2659 qosRandomDropSamplingRate Unsigned32 2660 } 2662 qosRandomDropPrid OBJECT-TYPE 2663 SYNTAX InstanceId 2664 STATUS current 2665 DESCRIPTION 2666 "An arbitrary integer index that uniquely identifies an 2667 instance of the class." 2668 ::= { qosRandomDropEntry 1 } 2670 qosRandomDropMinThreshBytes OBJECT-TYPE 2671 DiffServ QoS Policy Information Base July 2001 2673 SYNTAX Unsigned32 2674 UNITS "bytes" 2675 STATUS current 2676 DESCRIPTION 2677 "The average queue depth in bytes, beyond which traffic has a 2678 non-zero probability of being dropped." 2679 ::= { qosRandomDropEntry 2 } 2681 qosRandomDropMinThreshPkts OBJECT-TYPE 2682 SYNTAX Unsigned32 2683 UNITS "packets" 2684 STATUS current 2685 DESCRIPTION 2686 "The average queue depth in packets, beyond which traffic has a 2687 non-zero probability of being dropped." 2688 ::= { qosRandomDropEntry 3 } 2690 qosRandomDropMaxThreshBytes OBJECT-TYPE 2691 SYNTAX Unsigned32 2692 UNITS "bytes" 2693 STATUS current 2694 DESCRIPTION 2695 "The average queue depth beyond which traffic has a probability 2696 indicated by qosRandomDropProbMax of being dropped or 2697 marked. Note that this differs from the physical queue limit, 2698 which is stored in qosAlgDropQThreshold." 2699 ::= { qosRandomDropEntry 4 } 2701 qosRandomDropMaxThreshPkts OBJECT-TYPE 2702 SYNTAX Unsigned32 2703 UNITS "packets" 2704 STATUS current 2705 DESCRIPTION 2706 "The average queue depth beyond which traffic has a probability 2707 indicated by qosRandomDropProbMax of being dropped or 2708 marked. Note that this differs from the physical queue limit, 2709 which is stored in qosAlgDropQThreshold." 2710 ::= { qosRandomDropEntry 5 } 2712 qosRandomDropProbMax OBJECT-TYPE 2713 SYNTAX Unsigned32 2715 DiffServ QoS Policy Information Base July 2001 2717 STATUS current 2718 DESCRIPTION 2719 "The worst case random drop probability, expressed in drops per 2720 thousand packets. 2722 For example, if every packet may be dropped in the worst case 2723 (100%), this has the value 1000. Alternatively, if in the worst 2724 case one percent (1%) of traffic may be dropped, it has the value 2725 10." 2726 ::= { qosRandomDropEntry 6 } 2728 qosRandomDropWeight OBJECT-TYPE 2729 SYNTAX Unsigned32 2730 STATUS current 2731 DESCRIPTION 2732 "The weighting of past history in affecting the Exponentially 2733 Weighted Moving Average function which calculates the current 2734 average queue depth. The equation uses 2735 qosRandomDropWeight/MaxValue as the coefficient for the new 2736 sample in the equation, and 2737 (MaxValue - qosRandomDropWeight)/MaxValue as the coefficient of 2738 the old value, where, MaxValue is determined via capability 2739 reported by the PEP. 2741 Implementations may further limit the values of 2742 qosRandomDropWeight via the capability tables." 2743 ::= { qosRandomDropEntry 7 } 2745 qosRandomDropSamplingRate OBJECT-TYPE 2746 SYNTAX Unsigned32 2747 STATUS current 2748 DESCRIPTION 2749 "The number of times per second the queue is sampled for queue 2750 average calculation. A value of zero means the queue is sampled 2751 approximately each time a packet is enqueued (or dequeued)." 2752 ::= { qosRandomDropEntry 8 } 2754 -- 2755 -- Queue Table 2756 -- 2758 -- 2759 DiffServ QoS Policy Information Base July 2001 2761 -- An entry of qosQTable represents a FIFO queue diffserv 2762 -- functional data path element as described in [MODEL] section 2763 -- 7.1.1. 2764 -- Notice the specification of scheduling parameters for a queue 2765 -- as part of the input to a scheduler functional data path 2766 -- element as described in [MODEL] section 7.1.2. This allows 2767 -- building of hierarchical queuing/scheduling. 2768 -- A queue therefore is parameterized by: 2769 -- 1. Which scheduler will service this queue, qosQNext. 2770 -- 2. How the scheduler will service this queue, with respect 2771 -- to all the other queues the same scheduler needs to service, 2772 -- qosQRate. | 2773 -- 2774 -- Notice one or more upstream diffserv data path element may share, 2775 -- point to, a qosQTable entry as described in [MODEL] section 2776 -- 7.1.1. 2777 -- 2779 qosQTable OBJECT-TYPE 2780 SYNTAX SEQUENCE OF QosQEntry 2781 PIB-ACCESS install, 5 2782 STATUS current 2783 DESCRIPTION 2784 "The Queue Table enumerates the individual queues on 2785 an interface." 2786 ::= { qosPolicyClasses 11 } 2788 qosQEntry OBJECT-TYPE 2789 SYNTAX QosQEntry 2790 STATUS current 2791 DESCRIPTION 2792 "An entry in the Queue Table describes a single queue 2793 in one direction on an interface." 2794 PIB-INDEX { qosQPrid } 2795 UNIQUENESS { } 2796 ::= { qosQTable 1 } 2798 QosQEntry ::= SEQUENCE { 2799 qosQPrid InstanceId, 2800 qosQNext Prid, 2801 qosQRate Prid, 2802 qosQShaper Prid 2804 DiffServ QoS Policy Information Base July 2001 2806 } 2808 qosQPrid OBJECT-TYPE 2809 SYNTAX InstanceId 2810 STATUS current 2811 DESCRIPTION 2812 "An arbitrary integer index that uniquely identifies an 2813 instance of the class." 2814 ::= { qosQEntry 1 } 2816 qosQNext OBJECT-TYPE 2817 SYNTAX Prid 2818 STATUS current 2819 DESCRIPTION 2820 "This selects the next diffserv functional datapath 2821 element to handle traffic for this data path. This 2822 value must point to a valid (pre-existing) instance 2823 of one of: 2824 qosSchedulerEntry" 2825 ::= { qosQEntry 2 } 2827 qosQRate OBJECT-TYPE 2828 SYNTAX Prid 2829 STATUS current 2830 DESCRIPTION 2831 "This Prid indicates the entry in qosAssuredRateTable 2832 the scheduler, pointed to by qosQNext, should use to service 2833 this queue. If this value is zeroDotZero, then qosQShaper 2834 must not be zeroDotZero. If this value is not zeroDotZero 2835 then the instance pointed to must exist prior to installing 2836 this entry." 2837 ::= { qosQEntry 3 } 2839 qosQShaper OBJECT-TYPE 2840 SYNTAX Prid 2841 STATUS current 2842 DESCRIPTION 2843 "This Prid indicates the entry in qosShapingRateTable 2844 the scheduler, pointed to by qosQNext, should use to service 2845 this queue. If this value is zeroDotZero, then qosQRate 2846 must not be zeroDotZero. If this value is not zeroDotZero 2847 then the instance pointed to must exist prior to installing 2849 DiffServ QoS Policy Information Base July 2001 2851 this entry." 2852 ::= { qosQEntry 4 } 2854 -- 2855 -- Scheduler Table 2856 -- 2857 -- 2858 -- The Scheduler Table is used for representing packet schedulers: 2859 -- it provides flexibility for multiple scheduling algorithms, each 2860 -- servicing multiple queues, to be used on the same logical/physical 2861 -- interface. 2862 -- Notice the servicing parameters the scheduler uses is 2863 -- specified by each of its upstream functional data path elements, 2864 -- most likely queues or schedulers. 2865 -- The coordination and coherency between the servicing parameters 2866 -- of the scheduler's upstream functional data path elements must 2867 -- be maintained for the scheduler to function correctly. 2868 -- 2869 -- The qosSchedulerShaper attribute is used for specifying | 2870 -- the servicing parameters for output of a scheduler when its 2871 -- downstream functional data path element is another scheduler. 2872 -- This is used for building hierarchical queue/scheduler. 2873 -- | 2874 -- More discussion of the scheduler functional data path element 2875 -- is in [MODEL] section 7.1.2. 2876 -- 2878 qosSchedulerTable OBJECT-TYPE 2879 SYNTAX SEQUENCE OF QosSchedulerEntry 2880 PIB-ACCESS install, 6 2881 STATUS current 2882 DESCRIPTION 2883 "The Scheduler Table enumerates packet schedulers. 2884 Multiple scheduling algorithms can be used on a given 2885 interface, with each algorithm described by one 2886 qosSchedulerEntry." 2887 REFERENCE 2888 "[MODEL] section 7.1.2" 2889 ::= { qosPolicyClasses 12 } 2891 qosSchedulerEntry OBJECT-TYPE 2892 SYNTAX QosSchedulerEntry 2894 DiffServ QoS Policy Information Base July 2001 2896 STATUS current 2897 DESCRIPTION 2898 "An entry in the Scheduler Table describing a single 2899 instance of a scheduling algorithm." 2900 PIB-INDEX { qosSchedulerPrid } 2901 UNIQUENESS { } 2902 ::= { qosSchedulerTable 1 } 2904 QosSchedulerEntry ::= SEQUENCE { 2905 qosSchedulerPrid InstanceId, 2906 qosSchedulerNext Prid, 2907 qosSchedulerMethod OBJECT IDENTIFIER, 2908 qosSchedulerRate Prid, 2909 qosSchedulerShaper Prid 2910 } 2912 qosSchedulerPrid OBJECT-TYPE 2913 SYNTAX InstanceId 2914 STATUS current 2915 DESCRIPTION 2916 "An arbitrary integer index that uniquely identifies an 2917 instance of the class." 2918 ::= { qosSchedulerEntry 1 } 2920 qosSchedulerNext OBJECT-TYPE 2921 SYNTAX Prid 2922 STATUS current 2923 DESCRIPTION 2924 "This selects the next diffserv functional datapath 2925 element to handle traffic for this data path. 2927 A value of zeroDotZero in this attribute indicates no 2928 further Diffserv treatment is performed on traffic of 2929 this datapath. The use of zeroDotZero is the normal 2930 usage for the last functional datapath element. Any 2931 value other than zeroDotZero must point to a valid 2932 (pre-existing) instance of one of: 2933 qosSchedulerEntry 2934 qosQEntry (as indicated by [MODEL] section 2935 7.1.4), 2937 or 2939 DiffServ QoS Policy Information Base July 2001 2941 qosClfrEntry 2942 qosMeterEntry 2943 qosActionEntry 2944 qosAlgDropEntry (for building multiple TCB's for the same 2945 data path). 2947 This can point to another qosSchedulerEntry 2948 for implementation of multiple scheduler methods for 2949 the same datapath, and for implementation of 2950 hierarchical schedulers." 2951 DEFVAL { zeroDotZero } 2952 ::= { qosSchedulerEntry 2 } 2954 qosSchedulerMethod OBJECT-TYPE 2955 SYNTAX OBJECT IDENTIFIER 2956 STATUS current 2957 DESCRIPTION 2958 "The scheduling algorithm used by this Scheduler. Standard values 2959 for generic algorithms: qosSchedulerPriority, qosSchedulerWRR, 2960 and qosSchedulerWFQ are specified in this PIB; 2961 additional values may be further specified in other PIBs." 2962 REFERENCE 2963 "[MODEL] section 7.1.2" 2964 ::= { qosSchedulerEntry 3 } 2966 qosSchedulerRate OBJECT-TYPE 2967 SYNTAX Prid 2968 STATUS current 2969 DESCRIPTION 2970 "This Prid indicates the entry in qosAssuredRateTable 2971 which indicates the priority or minimum output rate from this 2972 scheduler. This attribute is only used when there is more than 2973 one level of scheduler. It should have the value of zeroDotZero 2974 when not used." 2975 DEFVAL { zeroDotZero } 2976 ::= { qosSchedulerEntry 4 } 2978 qosSchedulerShaper OBJECT-TYPE 2979 SYNTAX Prid 2980 STATUS current 2981 DESCRIPTION 2982 "This Prid indicates the entry in qosShapingRateTable 2984 DiffServ QoS Policy Information Base July 2001 2986 which indicates the maximum output rate from this scheduler. 2987 This attribute is only used when there is more than one level of 2988 scheduler. It should have the value of zeroDotZero when not 2989 used." 2990 DEFVAL { zeroDotZero } 2991 ::= { qosSchedulerEntry 5 } 2993 -- 2994 -- Assured Rate Parameters Table 2995 -- 2996 -- This is used to specify parameters for the inputs to a 2997 -- work-conserving scheduler. 2998 -- 2999 -- The scheduling parameters are separate from the Queue Entries 3000 -- for reusability and for usage by both queues and schedulers, 3001 -- and this follows the separation of data path elements from 3002 -- parameterization approach used through out this PIB. 3003 -- Usage of scheduling parameter table entry by schedulers allow 3004 -- building of hierarchical scheduling. 3005 -- 3007 qosAssuredRateTable OBJECT-TYPE 3008 SYNTAX SEQUENCE OF QosAssuredRateEntry 3009 PIB-ACCESS install, 5 3010 STATUS current 3011 DESCRIPTION 3012 "The Assured Rate Table enumerates individual 3013 sets of scheduling parameter that can be used/reused 3014 by Queues and Schedulers." 3015 ::= { qosPolicyClasses 13 } 3017 qosAssuredRateEntry OBJECT-TYPE 3018 SYNTAX QosAssuredRateEntry 3019 STATUS current 3020 DESCRIPTION 3021 "An entry in the Assured Rate Table describes 3022 a single set of scheduling parameter for use by 3023 queues and schedulers." 3024 PIB-INDEX { qosAssuredRatePrid } 3025 UNIQUENESS { qosAssuredRatePriority, 3026 qosAssuredRateAbs, 3027 qosAssuredRateRel } 3029 DiffServ QoS Policy Information Base July 2001 3031 ::= { qosAssuredRateTable 1 } 3033 QosAssuredRateEntry ::= SEQUENCE { 3034 qosAssuredRatePrid InstanceId, 3035 qosAssuredRatePriority Unsigned32, 3036 qosAssuredRateAbs Unsigned32, 3037 qosAssuredRateRel Unsigned32 3038 } 3040 qosAssuredRatePrid OBJECT-TYPE 3041 SYNTAX InstanceId 3042 STATUS current 3043 DESCRIPTION 3044 "An arbitrary integer index that uniquely identifies an 3045 instance of the class." 3046 ::= { qosAssuredRateEntry 1 } 3048 qosAssuredRatePriority OBJECT-TYPE 3049 SYNTAX Unsigned32 3050 STATUS current 3051 DESCRIPTION 3052 "The priority of this input to the associated scheduler, relative 3053 to the scheduler's other inputs. Higher Priority value indicates 3054 the associated queue/scheduler will get service first before 3055 others with lower Priority values." 3056 ::= { qosAssuredRateEntry 2 } 3058 qosAssuredRateAbs OBJECT-TYPE 3059 SYNTAX Unsigned32 3060 UNITS "kilobits per second" 3061 STATUS current 3062 DESCRIPTION 3063 "The minimum absolute rate, in kilobits/sec, that a 3064 downstream scheduler element should allocate to this 3065 queue. If the value is zero, then there is effec- 3066 tively no minimum rate guarantee. If the value is 3067 non-zero, the scheduler will assure the servicing of 3068 this queue to at least this rate. 3070 Note that this attribute's value is coupled to that 3071 of qosAssuredRateRel: changes to one will 3073 DiffServ QoS Policy Information Base July 2001 3075 affect the value of the other. 3077 [IFMIB] defines ifSpeed as Gauge32 in units of bits per second, 3078 and ifHighSpeed as Gauge32 in units of 1,000,000 bits per second. 3079 This yields the following equations: 3081 RateRel = [ (RateAbs * 1000) / ifSpeed ] * 10,000 3083 Where, 1000 is for converting kbps used by RateAbs to bps used by 3084 ifSpeed, 10,000 is for 'in units of 1/10,000 of 1' for RateRel. 3086 or, if appropriate: 3088 RateRel = { [ (RateAbs * 1000) / 1,000,000 ] / ifHIghSpeed } * 10,000 3090 Where, 1000 and 1,000,000 is for converting kbps used by RateAbs to 3091 1 million bps used by ifHighSpeed, 10,000 is for 'in units of 3092 1/10,000 of 1' for RateRel." 3093 REFERENCE 3094 "ifSpeed, ifHighSpeed from [IFMIB]" 3095 ::= { qosAssuredRateEntry 3 } 3097 qosAssuredRateRel OBJECT-TYPE 3098 SYNTAX Unsigned32 3099 STATUS current 3100 DESCRIPTION 3101 "The minimum rate that a downstream scheduler element 3102 should allocate to this queue, relative to the max- 3103 imum rate of the interface as reported by ifSpeed or 3104 ifHighSpeed, in units of 1/10,000 of 1. If the value 3105 is zero, then there is effectively no minimum rate 3106 guarantee. If the value is non-zero, the scheduler 3107 will assure the servicing of this queue to at least 3108 this rate. 3110 Note that this attribute's value is coupled to that 3111 of qosAssuredRateAbs: changes to one will 3112 affect the value of the other. 3114 [IFMIB] defines ifSpeed as Gauge32 in units of bits per second, 3115 and ifHighSpeed as Gauge32 in units of 1,000,000 bits per second. 3116 This yields the following equations: 3118 RateRel = [ (RateAbs * 1000) / ifSpeed ] * 10,000 3120 DiffServ QoS Policy Information Base July 2001 3122 Where, 1000 is for converting kbps used by RateAbs to bps used by 3123 ifSpeed, 10,000 is for 'in units of 1/10,000 of 1' for RateRel. 3125 or, if appropriate: 3127 RateRel = { [ (RateAbs * 1000) / 1,000,000 ] / ifHIghSpeed } * 10,000 3129 Where, 1000 and 1,000,000 is for converting kbps used by RateAbs to 3130 1 million bps used by ifHighSpeed, 10,000 is for 'in units of 3131 1/10,000 of 1' for RateRel." 3132 REFERENCE 3133 "ifSpeed, ifHighSpeed from [IFMIB]" 3134 ::= { qosAssuredRateEntry 4 } 3136 -- 3137 -- Shaping Rate Parameters Table 3138 -- 3139 -- This contains attributes that are used to specify 3140 -- non-work-conserving parameters to a scheduler for the purpose 3141 -- of traffic shaping. These attributes limits the servicing of 3142 -- the queue/scheduler, in affect, shaping the output of the 3143 -- queue/scheduler, as described in [MODEL] section 7.2. 3144 -- 3145 -- The scheduling parameters are separate from the Queue Entries 3146 -- for reusability and for usage by both queues and schedulers, 3147 -- and this follows the separation of data path elements from 3148 -- parameterization approach used through out this PIB. 3149 -- Usage of scheduling parameter table entry by schedulers allow 3150 -- building of hierarchical scheduling. 3151 -- 3153 qosShapingRateTable OBJECT-TYPE 3154 SYNTAX SEQUENCE OF QosShapingRateEntry 3155 PIB-ACCESS install, 6 3156 STATUS current 3157 DESCRIPTION 3158 "The Shaping Rate Table enumerates individual 3159 sets of scheduling parameter that can be used/reused 3160 by Queues and Schedulers." 3161 ::= { qosPolicyClasses 14 } 3163 qosShapingRateEntry OBJECT-TYPE 3164 SYNTAX QosShapingRateEntry 3166 DiffServ QoS Policy Information Base July 2001 3168 STATUS current 3169 DESCRIPTION 3170 "An entry in the Assured Rate Table describes 3171 a single set of scheduling parameter for use by 3172 queues and schedulers." 3173 PIB-INDEX { qosShapingRatePrid } 3174 UNIQUENESS { qosShapingRateLevel, 3175 qosShapingRateAbs, 3176 qosShapingRateRel, 3177 qosShapingRateThreshold } 3178 ::= { qosShapingRateTable 1 } 3180 QosShapingRateEntry ::= SEQUENCE { 3181 qosShapingRatePrid InstanceId, 3182 qosShapingRateLevel Unsigned32, 3183 qosShapingRateAbs Unsigned32, 3184 qosShapingRateRel Unsigned32, 3185 qosShapingRateThreshold BurstSize 3186 } 3188 qosShapingRatePrid OBJECT-TYPE 3189 SYNTAX InstanceId 3190 STATUS current 3191 DESCRIPTION 3192 "An arbitrary integer index that uniquely identifies an 3193 instance of the class." 3194 ::= { qosShapingRateEntry 1 } 3196 qosShapingRateLevel OBJECT-TYPE 3197 SYNTAX Unsigned32 3198 STATUS current 3199 DESCRIPTION 3200 "An index that indicates which level of a multi-rate shaper is 3201 being given its parameters. A multi-rate shaper has some number 3202 of rate levels. Frame Relay's dual rate specification refers to a 3203 'committed' and an 'excess' rate; ATM's dual rate specification 3204 refers to a 'mean' and a 'peak' rate. This table is generalized 3205 to support an arbitrary number of rates. The committed or mean 3206 rate is level 1, the peak rate (if any) is the highest level rate 3207 configured, and if there are other rates they are distributed in 3208 monotonically increasing order between them." 3209 ::= { qosShapingRateEntry 2 } 3211 DiffServ QoS Policy Information Base July 2001 3213 qosShapingRateAbs OBJECT-TYPE 3214 SYNTAX Unsigned32 3215 UNITS "kilobits per second" 3216 STATUS current 3217 DESCRIPTION 3218 "The maximum rate in kilobits/sec that a downstream 3219 scheduler element should allocate to this queue. If 3220 the value is zero, then there is effectively no max- 3221 imum rate limit and that the scheduler should attempt 3222 to be work-conserving for this queue. If the value 3223 is non-zero, the scheduler will limit the servicing 3224 of this queue to, at most, this rate in a non-work- 3225 conserving manner. 3227 Note that this attribute's value is coupled to that 3228 of qosShapingRateRel: changes to one will 3229 affect the value of the other. 3231 [IFMIB] defines ifSpeed as Gauge32 in units of bits per second, 3232 and ifHighSpeed as Gauge32 in units of 1,000,000 bits per second. 3233 This yields the following equations: 3235 RateRel = [ (RateAbs * 1000) / ifSpeed ] * 10,000 3237 Where, 1000 is for converting kbps used by RateAbs to bps used by 3238 ifSpeed, 10,000 is for 'in units of 1/10,000 of 1' for RateRel. 3240 or, if appropriate: 3242 RateRel = { [ (RateAbs * 1000) / 1,000,000 ] / ifHIghSpeed } * 10,000 3244 Where, 1000 and 1,000,000 is for converting kbps used by RateAbs to 3245 1 million bps used by ifHighSpeed, 10,000 is for 'in units of 3246 1/10,000 of 1' for RateRel." 3247 ::= { qosShapingRateEntry 3 } 3249 qosShapingRateRel OBJECT-TYPE 3250 SYNTAX Unsigned32 3251 STATUS current 3252 DESCRIPTION 3253 "The maximum rate that a downstream scheduler element 3254 should allocate to this queue, relative to the max- 3255 imum rate of the interface as reported by ifSpeed or 3256 ifHighSpeed, in units of 1/10,000 of 1. If the value 3258 DiffServ QoS Policy Information Base July 2001 3260 is zero, then there is effectively no maximum rate 3261 limit and the scheduler should attempt to be work- 3262 conserving for this queue. If the value is non-zero, 3263 the scheduler will limit the servicing of this queue 3264 to, at most, this rate in a non-work-conserving 3265 manner. 3267 Note that this attribute's value is coupled to that 3268 of qosShapingRateAbs: changes to one will 3269 affect the value of the other. 3271 [IFMIB] defines ifSpeed as Gauge32 in units of bits per second, 3272 and ifHighSpeed as Gauge32 in units of 1,000,000 bits per second. 3273 This yields the following equations: 3275 RateRel = [ (RateAbs * 1000) / ifSpeed ] * 10,000 3277 Where, 1000 is for converting kbps used by RateAbs to bps used by 3278 ifSpeed, 10,000 is for 'in units of 1/10,000 of 1' for RateRel. 3280 or, if appropriate: 3282 RateRel = { [ (RateAbs * 1000) / 1,000,000 ] / ifHIghSpeed } * 10,000 3284 Where, 1000 and 1,000,000 is for converting kbps used by RateAbs to 3285 1 million bps used by ifHighSpeed, 10,000 is for 'in units of 3286 1/10,000 of 1' for RateRel." 3287 REFERENCE 3288 "ifSpeed, ifHighSpeed from [IFMIB]" 3289 ::= { qosShapingRateEntry 4 } 3291 qosShapingRateThreshold OBJECT-TYPE 3292 SYNTAX BurstSize 3293 UNITS "Bytes" 3294 STATUS current 3295 DESCRIPTION 3296 "The number of bytes of queue depth at which the rate of a 3297 multi-rate scheduler will increase to the next output rate. In 3298 the last PRI for such a shaper, this threshold is 3299 ignored and by convention is zero." 3300 REFERENCE 3301 "RFC 2963" 3302 ::= { qosShapingRateEntry 5 } 3304 DiffServ QoS Policy Information Base July 2001 3306 -- 3307 -- Parameters Section 3308 -- 3310 -- The Parameters Section defines parameter objects that can be used for 3311 -- specific attributes defined in the PIB PRCs. 3313 qosTBParameters OBJECT IDENTIFIER ::= { qosPolicyParameters 1 } 3314 qosSchedulerParameters OBJECT IDENTIFIER ::= { qosPolicyParameters 2 } 3315 qosShaperParameters OBJECT IDENTIFIER ::= { qosPolicyParameters 2 } 3317 -- 3318 -- Token Bucket Type Parameters 3319 -- 3321 qosTBParamSimpleTokenBucket OBJECT-IDENTITY 3322 STATUS current 3323 DESCRIPTION 3324 "This value indicates the use of a Two Parameter Token Bucket 3325 as described in [MODEL] section 5.2.3." 3326 REFERENCE 3327 "[MODEL] sections 5 and 7.1.2" 3328 ::= { qosTBParameters 1 } 3330 qosTBParamAvgRate OBJECT-IDENTITY 3331 STATUS current 3332 DESCRIPTION 3333 "This value indicates the use of an Average Rate Meter as 3334 described in [MODEL] section 5.2.1." 3335 REFERENCE 3336 "[MODEL] sections 5 and 7.1.2" 3337 ::= { qosTBParameters 2 } 3339 qosTBParamSrTCMBlind OBJECT-IDENTITY 3340 STATUS current 3341 DESCRIPTION 3342 "This value indicates the use of Single Rate Three Color Marker 3343 Metering as defined by RFC 2697, with `Color Blind' mode as 3344 described by the RFC." 3345 REFERENCE 3346 "[MODEL] sections 5 and 7.1.2" 3347 ::= { qosTBParameters 3 } 3349 DiffServ QoS Policy Information Base July 2001 3351 qosTBParamSrTCMAware OBJECT-IDENTITY 3352 STATUS current 3353 DESCRIPTION 3354 "This value indicates the use of Single Rate Three Color Marker 3355 Metering as defined by RFC 2697, with `Color Aware' mode as 3356 described by the RFC." 3357 REFERENCE 3358 "[MODEL] sections 5 and 7.1.2" 3359 ::= { qosTBParameters 4 } 3361 qosTBParamTrTCMBlind OBJECT-IDENTITY 3362 STATUS current 3363 DESCRIPTION 3364 "This value indicates the use of Two Rate Three Color Marker 3365 Metering as defined by RFC 2698, with `Color Blind' mode as 3366 described by the RFC." 3367 REFERENCE 3368 "[MODEL] sections 5 and 7.1.2" 3369 ::= { qosTBParameters 5 } 3371 qosTBParamTrTCMAware OBJECT-IDENTITY 3372 STATUS current 3373 DESCRIPTION 3374 "This value indicates the use of Two Rate Three Color Marker 3375 Metering as defined by RFC 2698, with `Color Aware' mode as 3376 described by the RFC." 3377 REFERENCE 3378 "[MODEL] sections 5 and 7.1.2" 3379 ::= { qosTBParameters 6 } 3381 qosTBParamTswTCM OBJECT-IDENTITY 3382 STATUS current 3383 DESCRIPTION 3384 "This value indicates the use of Time Sliding Window 3385 Three Color Marker Metering as defined by RFC 2859." 3386 REFERENCE 3387 "[MODEL] sections 5 and 7.1.2" 3388 ::= { qosTBParameters 7 } 3390 -- 3391 -- Scheduler Method Parameters 3392 DiffServ QoS Policy Information Base July 2001 3394 -- 3396 qosSchedulerPriority OBJECT-IDENTITY 3397 STATUS current 3398 DESCRIPTION 3399 "For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc 3400 to indicate Priority scheduling method, defined as an algorithm in 3401 which the presence of data in a queue or set of queues absolutely 3402 precludes dequeue from another queue or set of queues. Notice 3403 attributes from qosAssuredRateEntry of the queues/schedulers feeding 3404 this scheduler are used when determining the next packet to schedule." 3405 REFERENCE 3406 "[MODEL] section 7.1.2" 3407 ::= { qosSchedulerParameters 1 } 3409 qosSchedulerWRR OBJECT-IDENTITY 3410 STATUS current 3411 DESCRIPTION 3412 "For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc 3413 to indicate Weighted Round scheduling method, defined as any algorithm 3414 in which a set of queues are visited in a fixed order, and varying 3415 amounts of traffic are removed from each queue in turn to implement an 3416 average output rate by class. Notice attributes from 3417 qosAssuredRateEntry of the queues/schedulers feeding this scheduler are 3418 used when determining the next packet to schedule." 3419 REFERENCE 3420 "[MODEL] section 7.1.2" 3421 ::= { qosSchedulerParameters 2 } 3423 qosSchedulerWFQ OBJECT-IDENTITY 3424 STATUS current 3425 DESCRIPTION 3426 "For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc 3427 to indicate Weighted Fair Queueing scheduling method, defined as any 3428 algorithm in which a set of queues are conceptually visited in some 3429 order, to implement an average output rate by class. Notice 3430 attributes from qosAssuredRateEntry of the queues/schedulers feeding 3431 this scheduler are used when determining the next packet to schedule." 3432 REFERENCE 3433 "[MODEL] section 7.1.2" 3434 ::= { qosSchedulerParameters 3 } 3436 DiffServ QoS Policy Information Base July 2001 3438 -- 3439 -- Shaper Method Parameters 3440 -- 3442 qosSingleRateShaper OBJECT-IDENTITY 3443 STATUS current 3444 DESCRIPTION 3445 "For use with qosIfShaperCapsAlgorithm to indicate single rate 3446 shaping method." 3447 REFERENCE 3448 "[MODEL] section 7.2" 3449 ::= { qosShaperParameters 1 } 3451 qosFrameRelayDualRateShaper OBJECT-IDENTITY 3452 STATUS current 3453 DESCRIPTION 3454 "For use with qosIfShaperCapsAlgorithm to indicate Frame relay 3455 dual rate shaping method." 3456 REFERENCE 3457 "[MODEL] section 7.2" 3458 ::= { qosShaperParameters 2 } 3460 qosATMDualRateShaper OBJECT-IDENTITY 3461 STATUS current 3462 DESCRIPTION 3463 "For use with qosIfShaperCapsAlgorithm to indicate ATM dual 3464 rate shaping method." 3465 REFERENCE 3466 "[MODEL] section 7.2" 3467 ::= { qosShaperParameters 3 } 3469 qosRateAdaptiveShaper OBJECT-IDENTITY 3470 STATUS current 3471 DESCRIPTION 3472 "For use with qosIfShaperCapsAlgorithm to indicate rate 3473 adaptive shaping method (RFC2963)." 3474 REFERENCE 3475 "[MODEL] section 7.2" 3476 ::= { qosShaperParameters 4 } 3478 -- 3479 -- Conformance Section 3480 -- 3481 DiffServ QoS Policy Information Base July 2001 3483 qosPolicyPibConformance 3484 OBJECT IDENTIFIER ::= { qosPolicyPib 3 } 3486 qosPolicyPibCompliances 3487 OBJECT IDENTIFIER ::= { qosPolicyPibConformance 1 } 3488 qosPolicyPibGroups 3489 OBJECT IDENTIFIER ::= { qosPolicyPibConformance 2 } 3491 qosPolicyPibCompliance MODULE-COMPLIANCE 3492 STATUS current 3493 DESCRIPTION 3494 "Describes the requirements for conformance to the 3495 QoS Policy PIB." 3497 MODULE -- this module 3498 MANDATORY-GROUPS { 3499 qosPibDataPathGroup, 3500 qosPibClfrGroup, 3501 qosPibClfrElementGroup, 3502 qosPibActionGroup, 3503 qosPibAlgDropGroup, 3504 qosPibQGroup, 3505 qosPibSchedulerGroup, 3506 qosPibAssuredRateGroup, 3507 qosPibShapingRateGroup } 3509 GROUP qosPibMeterGroup 3510 DESCRIPTION 3511 "This group is mandatory for devices that implement 3512 metering functions." 3514 GROUP qosPibTBParamGroup 3515 DESCRIPTION 3516 "This group is mandatory for devices that implement 3517 token-bucket metering functions." 3519 GROUP qosPibDscpMarkActGroup 3520 DESCRIPTION 3521 "This group is mandatory for devices that implement 3522 DSCP-Marking functions." 3524 DiffServ QoS Policy Information Base July 2001 3526 GROUP qosPibRandomDropGroup 3527 DESCRIPTION 3528 "This group is mandatory for devices that implement 3529 Random Drop functions." 3531 OBJECT qosClfrId 3532 MIN-ACCESS notify 3533 DESCRIPTION 3534 "Install support is not required." 3536 OBJECT qosClfrElementClfrId 3537 MIN-ACCESS notify 3538 DESCRIPTION 3539 "Install support is not required." 3541 OBJECT qosClfrElementPrecedence 3542 MIN-ACCESS notify 3543 DESCRIPTION 3544 "Install support is not required." 3546 OBJECT qosClfrElementNext 3547 MIN-ACCESS notify 3548 DESCRIPTION 3549 "Install support is not required." 3551 OBJECT qosClfrElementSpecific 3552 MIN-ACCESS notify 3553 DESCRIPTION 3554 "Install support is not required." 3556 OBJECT qosMeterSucceedNext 3557 MIN-ACCESS notify 3558 DESCRIPTION 3559 "Install support is not required." 3561 OBJECT qosMeterFailNext 3562 MIN-ACCESS notify 3563 DESCRIPTION 3565 DiffServ QoS Policy Information Base July 2001 3567 "Install support is not required." 3569 OBJECT qosMeterSpecific 3570 MIN-ACCESS notify 3571 DESCRIPTION 3572 "Install support is not required." 3574 OBJECT qosTBParamType 3575 MIN-ACCESS notify 3576 DESCRIPTION 3577 "Install support is not required." 3579 OBJECT qosTBParamRate 3580 MIN-ACCESS notify 3581 DESCRIPTION 3582 "Install support is not required." 3584 OBJECT qosTBParamBurstSize 3585 MIN-ACCESS notify 3586 DESCRIPTION 3587 "Install support is not required." 3589 OBJECT qosTBParamInterval 3590 MIN-ACCESS notify 3591 DESCRIPTION 3592 "Install support is not required." 3594 OBJECT qosActionNext 3595 MIN-ACCESS notify 3596 DESCRIPTION 3597 "Install support is not required." 3599 OBJECT qosActionSpecific 3600 MIN-ACCESS notify 3601 DESCRIPTION 3602 "Install support is not required." 3604 DiffServ QoS Policy Information Base July 2001 3606 OBJECT qosAlgDropType 3607 MIN-ACCESS notify 3608 DESCRIPTION 3609 "Install support is not required." 3611 OBJECT qosAlgDropNext 3612 MIN-ACCESS notify 3613 DESCRIPTION 3614 "Install support is not required." 3616 OBJECT qosAlgDropQMeasure 3617 MIN-ACCESS notify 3618 DESCRIPTION 3619 "Install support is not required." 3621 OBJECT qosAlgDropQThreshold 3622 MIN-ACCESS notify 3623 DESCRIPTION 3624 "Install support is not required." 3626 OBJECT qosAlgDropSpecific 3627 MIN-ACCESS notify 3628 DESCRIPTION 3629 "Install support is not required." 3631 OBJECT qosRandomDropMinThreshBytes 3632 MIN-ACCESS notify 3633 DESCRIPTION 3634 "Install support is not required." 3636 OBJECT qosRandomDropMinThreshPkts 3637 MIN-ACCESS notify 3638 DESCRIPTION 3639 "Install support is not required." 3641 OBJECT qosRandomDropMaxThreshBytes 3642 MIN-ACCESS notify 3643 DESCRIPTION 3645 DiffServ QoS Policy Information Base July 2001 3647 "Install support is not required." 3649 OBJECT qosRandomDropMaxThreshPkts 3650 MIN-ACCESS notify 3651 DESCRIPTION 3652 "Install support is not required." 3654 OBJECT qosRandomDropWeight 3655 MIN-ACCESS notify 3656 DESCRIPTION 3657 "Install support is not required." 3659 OBJECT qosRandomDropSamplingRate 3660 MIN-ACCESS notify 3661 DESCRIPTION 3662 "Install support is not required." 3664 OBJECT qosRandomDropProbMax 3665 MIN-ACCESS notify 3666 DESCRIPTION 3667 "Install support is not required." 3669 OBJECT qosQNext 3670 MIN-ACCESS notify 3671 DESCRIPTION 3672 "Install support is not required." 3674 OBJECT qosQRate 3675 MIN-ACCESS notify 3676 DESCRIPTION 3677 "Install support is not required." 3679 OBJECT qosQShaper 3680 MIN-ACCESS notify 3681 DESCRIPTION 3682 "Install support is not required." 3684 DiffServ QoS Policy Information Base July 2001 3686 OBJECT qosSchedulerMethod 3687 MIN-ACCESS notify 3688 DESCRIPTION 3689 "Install support is not required." 3691 OBJECT qosSchedulerRate 3692 MIN-ACCESS notify 3693 DESCRIPTION 3694 "Install support is not required." 3696 OBJECT qosSchedulerShaper 3697 MIN-ACCESS notify 3698 DESCRIPTION 3699 "Install support is not required." 3701 OBJECT qosSchedulerNext 3702 MIN-ACCESS notify 3703 DESCRIPTION 3704 "Install support is not required." 3706 OBJECT qosAssuredRatePriority 3707 MIN-ACCESS notify 3708 DESCRIPTION 3709 "Install support is not required." 3711 OBJECT qosAssuredRateAbs 3712 MIN-ACCESS notify 3713 DESCRIPTION 3714 "Install support is not required." 3716 OBJECT qosAssuredRateRel 3717 MIN-ACCESS notify 3718 DESCRIPTION 3719 "Install support is not required." 3721 OBJECT qosShapingRateAbs 3722 MIN-ACCESS notify 3723 DESCRIPTION 3725 DiffServ QoS Policy Information Base July 2001 3727 "Install support is not required." 3729 OBJECT qosShapingRateRel 3730 MIN-ACCESS notify 3731 DESCRIPTION 3732 "Install support is not required." 3734 OBJECT qosShapingRateThreshold 3735 MIN-ACCESS notify 3736 DESCRIPTION 3737 "Install support is not required." 3739 ::= { qosPibCompliances 1 } 3741 qosPibDataPathGroup OBJECT-GROUP 3742 OBJECTS { 3743 qosDataPathStart 3744 } 3745 STATUS current 3746 DESCRIPTION 3747 "The Data Path Group defines the PIB Objects that 3748 describe a data path." 3749 ::= { qosPibGroups 1 } 3751 qosPibClfrGroup OBJECT-GROUP 3752 OBJECTS { 3753 qosClfrId 3754 } 3755 STATUS current 3756 DESCRIPTION 3757 "The Classifier Group defines the PIB Objects that 3758 describe a generic classifier." 3759 ::= { qosPibGroups 2 } 3761 qosPibClfrElementGroup OBJECT-GROUP 3762 OBJECTS { 3763 qosClfrElementClfrId, qosClfrElementOrder, 3764 qosClfrElementNext, qosClfrElementSpecific 3765 } 3767 DiffServ QoS Policy Information Base July 2001 3769 STATUS current 3770 DESCRIPTION 3771 "The Classifier Group defines the PIB Objects that 3772 describe a generic classifier." 3773 ::= { qosPibGroups 3 } 3775 qosPibMeterGroup OBJECT-GROUP 3776 OBJECTS { 3777 qosMeterSucceedNext, qosMeterFailNext, 3778 qosMeterSpecific 3779 } 3780 STATUS current 3781 DESCRIPTION 3782 "The Meter Group defines the objects used in describ- 3783 ing a generic meter element." 3784 ::= { qosPibGroups 5 } 3786 qosPibTBParamGroup OBJECT-GROUP 3787 OBJECTS { 3788 qosTBParamType, qosTBParamRate, 3789 qosTBParamBurstSize, qosTBParamInterval 3790 } 3791 STATUS current 3792 DESCRIPTION 3793 "The Token-Bucket Parameter Group defines the objects 3794 used in describing a single-rate token bucket meter 3795 element." 3796 ::= { qosPibGroups 6 } 3798 qosPibActionGroup OBJECT-GROUP 3799 OBJECTS { 3800 qosActionNext, qosActionSpecific 3801 } 3802 STATUS current 3803 DESCRIPTION 3804 "The Action Group defines the objects used in 3805 describing a generic action element." 3806 ::= { qosPibGroups 7 } 3808 qosPibDscpMarkActGroup OBJECT-GROUP 3809 OBJECTS { 3811 DiffServ QoS Policy Information Base July 2001 3813 qosDscpMarkActDscp 3814 } 3815 STATUS current 3816 DESCRIPTION 3817 "The DSCP Mark Action Group defines the objects used 3818 in describing a DSCP Marking Action element." 3819 ::= { qosPibGroups 8 } 3821 qosPibAlgDropGroup OBJECT-GROUP 3822 OBJECTS { 3823 qosAlgDropType, qosAlgDropNext, 3824 qosAlgDropQMeasure, qosAlgDropQThreshold, 3825 qosAlgDropSpecific 3826 } 3827 STATUS current 3828 DESCRIPTION 3829 "The Algorithmic Drop Group contains the objects that 3830 describe algorithmic dropper operation and configura- 3831 tion." 3832 ::= { qosPibGroups 12 } 3834 qosPibRandomDropGroup OBJECT-GROUP 3835 OBJECTS { 3836 qosRandomDropMinThreshBytes, 3837 qosRandomDropMinThreshPkts, 3838 qosRandomDropMaxThreshBytes, 3839 qosRandomDropMaxThreshPkts, 3840 qosRandomDropProbMax, 3841 qosRandomDropWeight, 3842 qosRandomDropSamplingRate 3843 } 3844 STATUS current 3845 DESCRIPTION 3846 "The Random Drop Group augments the Algorithmic Drop Group for 3847 random dropper operation and configuration." 3848 ::= { qosPibGroups 13 } 3850 qosPibQGroup OBJECT-GROUP 3851 OBJECTS { 3852 qosQNext, qosQRate, qosQShaper 3853 } 3854 STATUS current 3856 DiffServ QoS Policy Information Base July 2001 3858 DESCRIPTION 3859 "The Queue Group contains the objects that describe 3860 an interface's queues." 3861 ::= { qosPibGroups 14 } 3863 qosPibSchedulerGroup OBJECT-GROUP 3864 OBJECTS { 3865 qosSchedulerMethod, qosSchedulerRate, 3866 qosSchedulerShaper, qosSchedulerNext 3867 } 3868 STATUS current 3869 DESCRIPTION 3870 "The Scheduler Group contains the objects that 3871 describe packet schedulers on interfaces." 3872 ::= { qosPibGroups 15 } 3874 qosPibAssuredRateGroup OBJECT-GROUP 3875 OBJECTS { 3876 qosAssuredRatePriority, 3877 qosAssuredRateAbs, qosAssuredRateRel 3878 } 3879 STATUS current 3880 DESCRIPTION 3881 "The Assured Rate Group contains the objects 3882 that describe packet schedulers' parameters on inter- 3883 faces." 3884 ::= { qosPibGroups 16 } 3886 qosPibShapingRateGroup OBJECT-GROUP 3887 OBJECTS { 3888 qosShapingRateAbs, qosShapingRateRel, 3889 qosShapingRateThreshold 3890 } 3891 STATUS current 3892 DESCRIPTION 3893 "The Shaping Rate Group contains the objects 3894 that describe packet schedulers' parameters on inter- 3895 faces." 3896 ::= { qosPibGroups 17 } 3898 END 3899 DiffServ QoS Policy Information Base July 2001 3901 9. Subect Category Considerations 3903 The numbering space used for the DiffServ PIB, as indicated by the 3904 SUBJECT-CATEGORIES clause, will be assigned by the Internet Assigned 3905 Numbers Authority (IANA). Notice the numbering space used by SUBJECT- 3906 CATEGORIES maps to the Client Type numbering space in [COPS-PR]. This 3907 relationship is detailed in section 7.1 of [SPPI]. Due to the fact that 3908 Client Type value of 1 has already been used by [COPS-RSVP], the 3909 numbering space for SUBJECT-CATEGORIES will need to start with the value 3910 of 2. 3912 Other PIB Modules may use the same SUBJECT-CATEGORIES as this DiffServ 3913 PIB Module. In such situations, PRC numbering space under a specific 3914 SUBJECT-CATEGORIES should be coordinated with existing PIB Modules using 3915 the same SUBJECT-CATEGORIES. 3917 10. Security Considerations 3919 The information contained in a PIB when transported by the COPS protocol 3920 [COPS-PR] may be sensitive, and its function of provisioning a PEP 3921 requires that only authorized communication take place. The use of 3922 IPSEC between PDP and PEP, as described in [COPS], provides the 3923 necessary protection against these threats. 3925 11. Intellectual Property Considerations 3927 The IETF is being notified of intellectual property rights claimed in 3928 regard to some or all of the specification contained in this document. 3929 For more information consult the online list of claimed rights. 3931 12. Authors' Addresses 3933 Michael Fine 3934 Cisco Systems, Inc. 3935 170 West Tasman Drive 3936 San Jose, CA 95134-1706 USA 3937 Phone: +1 408 527 8218 3938 Email: mfine@cisco.com 3940 DiffServ QoS Policy Information Base July 2001 3942 Keith McCloghrie 3943 Cisco Systems, Inc. 3944 170 West Tasman Drive 3945 San Jose, CA 95134-1706 USA 3946 Phone: +1 408 526 5260 3947 Email: kzm@cisco.com 3949 John Seligson 3950 Nortel Networks, Inc. 3951 4401 Great America Parkway 3952 Santa Clara, CA 95054 USA 3953 Phone: +1 408 495 2992 3954 Email: jseligso@nortelnetworks.com 3956 Kwok Ho Chan 3957 Nortel Networks, Inc. 3958 600 Technology Park Drive 3959 Billerica, MA 01821 USA 3960 Phone: +1 978 288 8175 3961 Email: khchan@nortelnetworks.com 3963 Scott Hahn 3964 Intel 3965 2111 NE 25th Avenue 3966 Hillsboro, OR 97124 USA 3967 Phone: +1 503 264 8231 3968 Email: scott.hahn@intel.com 3970 Carol Bell 3971 Intel 3972 2111 NE 25th Avenue 3973 Hillsboro, OR 97124 USA 3974 Phone: +1 503 264 8491 3975 Email: carol.a.bell@intel.com 3977 Andrew Smith 3978 Allegro Networks 3979 6399 San Ignacio Ave 3980 San Jose, CA 95119 3981 andrew@allegronetworks.com 3983 DiffServ QoS Policy Information Base July 2001 3985 Francis Reichmeyer 3986 PFN, Inc. 3987 University Park at MIT 3988 26 Landsdowne Street 3989 Cambridge, MA 02139 3990 Phone: +1 617 494 9980 3991 Email: franr@pfn.com 3993 13. References 3995 [COPS] 3996 Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and 3997 A. Sastry, "The COPS (Common Open Policy Service) Protocol" 3998 RFC 2748, January 2000. 4000 [COPS-PR] 4001 K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, 4002 F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, 4003 "COPS Usage for Policy Provisioning,", RFC 3084, March 2001 4005 [SPPI] 4006 K. McCloghrie, M. Fine, J. Seligson, K. Chan, S. Hahn, 4007 R. Sahita, A. Smith, F. Reichmeyer, "Structure of Policy 4008 Provisioning Information", 4009 Internet Draft , May 2001. 4011 [DSARCH] 4012 M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and 4013 E. Davies, "An Architecture for Differentiated Services", 4014 RFC 2475, December 1998 4016 [DSFIELD] 4017 K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the 4018 Differentiated Services Field (DS Field) in the IPv4 and 4019 IPv6 Headers", RFC 2474, December 1998. 4021 [FR-PIB] 4022 M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, 4023 R. Sahita, A. Smith, F. Reichmeyer, "Framework Policy 4024 Information Base", 4025 Internet Draft , 4026 July 2001 4028 DiffServ QoS Policy Information Base July 2001 4030 [RAP-FRAMEWORK] 4031 R. Yavatkar, D. Pendarakis, "A Framework for 4032 Policy-based Admission Control", RFC 2753, January 2000. 4034 [SNMP-SMI] 4035 K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, 4036 M. Rose and S. Waldbusser, "Structure of Management Information 4037 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 4039 [MODEL] 4040 Y. Bernet, A. Smith, S. Blake, D. Grossman "A Conceptual Model 4041 for DiffServ Routers", draft-ietf-diffserv-model-04.txt, 4042 July 2000. 4044 [IFMIB] 4045 K. McCloghrie, F. Kastenholz, "The Interfaces Group MIB using 4046 SMIv2", RFC 2233, November 1997. 4048 [DS-MIB] 4049 F. Baker, K. Chan, A. Smith, "Management Information Base for 4050 the Differentiated Services Architecture", 4051 draft-ietf-diffserv-mib-10.txt, July 2001 4053 [ACTQMGMT] 4054 V. Firoiu, M. Borden "A Study of Active Queue Management for 4055 Congestion Control", March 2000, In IEEE Infocom 2000, 4056 http://www.ieee-infocom.org/2000/papers/405.pdf 4058 [AQMROUTER] 4059 V.Misra, W.Gong, D.Towsley "Fuid-based analysis of a network of 4060 AQM routers supporting TCP flows with an application to RED", 4061 In SIGCOMM 2000, 4062 http://www.acm.org/sigcomm/sigcomm2000/conf/paper/ 4063 sigcomm2000-4-3.ps.gz 4065 [AF-PHB] 4066 J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured 4067 Forwarding PHB Group.", RFC 2597, June 1999. 4069 [EF-PHB] 4070 V. Jacobson, K. Nichols, K. Poduri, "An Expedited Forwarding 4071 PHB." RFC 2598, June 1999. 4073 [INETADDRESS] 4074 Daniele, M., Haberman, B., Routhier, S., Schoenwaelder, J., 4076 DiffServ QoS Policy Information Base July 2001 4078 "Textual Conventions for Internet Network Addresses.", 4079 RFC 2851, June 2000. 4081 [INTSERVMIB] 4082 F. Baker, J. Krawczyk, A. Sastry, "Integrated Services 4083 Management Information Base using SMIv2", RFC 2213, 4084 September 1997. 4086 [QUEUEMGMT] 4087 B. Braden et al., "Recommendations on Queue Management and 4088 Congestion Avoidance in the Internet", RFC 2309, April 1998. 4090 [RED93] 4091 "Random Early Detection", 1993. 4093 [SRTCM] 4094 J. Heinanen, R. Guerin, "A Single Rate Three Color Marker", 4095 RFC 2697, September 1999. 4097 [TRTCM] 4098 J. Heinanen, R. Guerin, "A Two Rate Three Color Marker", 4099 RFC 2698, September 1999. 4101 [TSWTCM] 4102 W. Fang, N. Seddigh, B. Nandy "A Time Sliding Window Three 4103 Colour Marker", RFC 2859, June 2000. 4105 DiffServ QoS Policy Information Base July 2001 4107 Table of Contents 4109 1 Glossary ........................................................ 3 4110 2 Introduction .................................................... 3 4111 3 Relationship to the Diffserv Informal Management Model .......... 3 4112 3.1 PIB Overview .................................................. 4 4113 4 Structure of the PIB ............................................ 6 4114 4.1 General Conventions ........................................... 6 4115 4.2 DiffServ Data Paths ........................................... 6 4116 4.2.1 Data Path PRC ............................................... 7 4117 4.3 Classifiers ................................................... 8 4118 4.3.1 Classifier PRC .............................................. 9 4119 4.3.2 Classifier Element PRC ..................................... 9 4120 4.4 Meters ........................................................ 9 4121 4.4.1 Meter PRC ................................................... 10 4122 4.4.2 Token-Bucket Parameter PRC .................................. 10 4123 4.5 Actions ....................................................... 10 4124 4.5.1 DSCP Mark Action PRC ........................................ 11 4125 4.6 Queueing Elements ............................................. 11 4126 4.6.1 Algorithmic Dropper PRC ..................................... 11 4127 4.6.2 Random Dropper PRC .......................................... 13 4128 4.6.3 Queues and Schedulers ....................................... 14 4129 4.7 Specifying Device Capabilities ................................ 16 4130 5 PIB Usage Example ............................................... 17 4131 5.1 Model's Example ............................................... 18 4132 5.2 Additional Data Path Example .................................. 20 4133 5.2.1 Data ........................................................ 20 4134 5.2.2 Meter ....................................................... 23 4135 5.2.3 Queue ....................................................... 24 4136 6 Summary of the DiffServ PIB ..................................... 24 4137 7 PIB Operational Overview ........................................ 25 4138 8 PIB Definitions ................................................. 26 4139 8.1 The DiffServ Base PIB ......................................... 26 4140 9 Subect Category Considerations .................................. 90 4141 10 Security Considerations ........................................ 90 4142 11 Intellectual Property Considerations ........................... 90 4143 12 Authors' Addresses ............................................. 90 4144 13 References ..................................................... 92