idnits 2.17.1 draft-ietf-diffserv-pib-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 2 longer pages, the longest (page 77) being 62 lines 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 176 instances of weird spacing in the document. Is it really formatted ragged-right, rather than justified? ** There are 14 instances of too long lines in the document, the longest one being 3 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 1351 has weird spacing: '...ket, or drop ...' == Line 1352 has weird spacing: '... in its p...' == Line 1665 has weird spacing: '...erEntry qosM...' == Line 1666 has weird spacing: '...erEntry qosM...' == Line 1667 has weird spacing: '...erEntry qosM...' == (171 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 (March 2, 2001) is 8455 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 3819, but not defined == Unused Reference: 'SNMP-SMI' is defined on line 3936, but no explicit reference was found in the text == Unused Reference: 'IFMIB' is defined on line 3946, but no explicit reference was found in the text == Unused Reference: 'DS-MIB' is defined on line 3949, but no explicit reference was found in the text == Unused Reference: 'EF-PHB' is defined on line 3968, but no explicit reference was found in the text == Unused Reference: 'INETADDRESS' is defined on line 3972, but no explicit reference was found in the text == Unused Reference: 'INTSERVMIB' is defined on line 3977, but no explicit reference was found in the text == Unused Reference: 'RED93' is defined on line 3983, but no explicit reference was found in the text -- No information found for draft-ietf-rap-cops-pr - is the name correct? -- Possible downref: Normative reference to a draft: ref. 'COPS-PR' == Outdated reference: A later version (-07) exists of draft-ietf-rap-sppi-03 ** Downref: Normative reference to an Historic draft: draft-ietf-rap-sppi (ref. 'SPPI') ** Downref: Normative reference to an Informational RFC: RFC 2475 (ref. 'DSARCH') -- Possible downref: Non-RFC (?) normative reference: ref. 'FR-PIB' ** 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-07 -- 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) ** Obsolete normative reference: RFC 2851 (ref. 'INETADDRESS') (Obsoleted by RFC 3291) ** 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: 21 errors (**), 0 flaws (~~), 19 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group M. Fine 2 Internet Draft K. McCloghrie 3 Expires September 2001 Cisco Systems 4 J. Seligson 5 K. Chan 6 Nortel Networks 7 S. Hahn 8 C. Bell 9 Intel 10 A. Smith 11 Allegro Networks 12 Francis Reichmeyer 13 PFN 15 March 2, 2001 17 Differentiated Services Quality of Service Policy Information Base 19 draft-ietf-diffserv-pib-03.txt 21 Status of this Memo 23 This document is an Internet-Draft and is in full conformance with all 24 provisions of Section 10 of RFC2026. Internet-Drafts are working 25 documents of the Internet Engineering Task Force (IETF), its areas, and 26 its working groups. Note that other groups may also distribute working 27 documents as Internet-Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference material 32 or to cite them other than as ``work in progress.'' 33 DiffServ QoS Policy Information Base February 2001 35 To view the current status of any Internet-Draft, please check the 36 ``1id-abstracts.txt'' listing contained in an Internet-Drafts Shadow 37 Directory, see http://www.ietf.org/shadow.html. 39 DiffServ QoS Policy Information Base February 2001 41 1. Glossary 43 PRC Provisioning Class. A type of policy data. 44 PRI Provisioning Instance. An instance of a PRC. 45 PIB Policy Information Base. The database of policy information. 46 PDP Policy Decision Point. See [RAP-FRAMEWORK]. 47 PEP Policy Enforcement Point. See [RAP-FRAMEWORK]. 48 PRID Provisioning Instance Identifier. Uniquely identifies an 49 instance of a a PRC. 51 2. Introduction 53 [SPPI] describes a structure for specifying policy information that can 54 then be transmitted to a network device for the purpose of configuring 55 policy at that device. The model underlying this structure is one of 56 well defined policy rule classes and instances of these classes residing 57 in a virtual information store called the Policy Information Base (PIB). 59 This document specifies a set of policy rule classes specifically for 60 configuring QoS Policy for Differentiated Services [DSARCH]. 62 One way to provision policy is by means of the COPS protocol [COPS] with 63 the extensions for provisioning [COPS-PR]. This protocol supports 64 multiple clients, each of which may provision policy for a specific 65 policy domain such as QoS. The PRCs defined in this DiffServ QoS PIB 66 are intended for use by the COPS-PR QoS client type. Furthemore, these 67 PRCs are in addition to any other PIBs that may be defined for the QoS 68 client type in the future, as well as the PRCs defined in the Framework 69 PIB [FR-PIB]. 71 3. Relationship to the Diffserv Informal Management Model 73 This PIB is designed according to the Differentiated Services Informal 74 Management Model documented in [MODEL]. The model describes the way that 75 ingress and egress interfaces of an 'n'-port router are modelled. It 76 describes the configuration and management of a Diffserv interface in 77 terms of a Transmission Control Block (TCB) which contains, by 78 definition, zero or more classifiers, meters, actions, algorithmic 79 droppers, queues and schedulers. These elements are arranged according 80 DiffServ QoS Policy Information Base February 2001 82 to the QoS policy being expressed, always in that order. Traffic may be 83 classified; classified traffic may be metered; each stream of traffic 84 identified by a combination of classifiers and meters may have some set 85 of actions performed on it; it may have dropping algorithms applied and 86 it may ultimately be stored into a queue before being scheduled out to 87 its next destination, either onto a link or to another TCB. When the 88 treatment for a given packet must have any of those elements repeated in 89 a way that breaks the permitted sequence {classifier, meter, action, 90 algorithmic dropper, queue, scheduler}, this must be modelled by 91 cascading multiple TCBs. 93 The PIB represents this cascade by following the "Next" attributes of 94 the various elements. They indicate what the next step in Diffserv 95 processing will be, whether it be a classifier, meter, action, 96 algorithmic dropper, queue, scheduler or a decision to now forward a 97 packet. 99 The PIB models the individual elements that make up the TCBs. The 100 higher level concept of a TCB is not required in the parameterization or 101 in the linking together of the individual elements, hence it is not used 102 in the PIB itself and only mentioned in the text for relating the PIB 103 with the [MODEL]. The actual distinguishing of which TCB a specific 104 element is a part of is not needed for the instructmentation of a device 105 to support the functionalities of DiffServ, but it is useful for 106 conceptual reasons. By not using the TCB concept, this PIB allow any ] 107 grouping of elements to construct TCBs, using rules indicated by the 108 [MODEL]. This will minimize changes to this PIB if rules in [MODEL] 109 change. 111 The notion of a Data Path is used in this PIB to indicate the DiffServ 112 processing a packet may experience. This Data Path is distinguished 113 based on the Role Combination and the Direction of the flow the packet 114 is part of. A Data Path Table Entry indicates the first of possibly 115 multiple elements that will apply DiffServ treatment to the packet. 117 3.1. PIB Overview 119 This PIB is structured based on the need to configure the sequential 120 DiffServ treatments being applied to a packet, and the parameterization 121 of these treatments. These two aspects of the configuration are kept 122 separate throughout the design of the PIB, and are fulfilled using 123 separate tables and data definitions. 125 DiffServ QoS Policy Information Base February 2001 127 In addition, the PIB includes tables describing the capabilities and 128 limitations of the device using a general extensible framework. These 129 tables are reported to the PDP and assist the PDP with the configuration 130 of functional elements that can be realized by the device. 132 In this PIB, the ingress and egress portions of a router are configured 133 independently but in the same manner. The difference is distinguished by 134 an attribute in a table describing the start of the data path. Each 135 interface performs some or all of the following high-level functions: 137 o Classify each packet according to some set of rules 139 o Determine whether the data stream the packet is part of is within 140 or outside its rate 142 o Perform a set of resulting actions such as application of an 143 appropriate drop policy and marking of the traffic with a 144 Differentiated Services Code Point (DSCP) as defined in [DSFIELD]. 146 o Enqueue the traffic for output in the appropriate queue, whose 147 scheduler may shape the traffic or simply forward it with some 148 minimum rate or maximum latency. 150 The PIB therefore contains the following elements: 152 Data Path Table 153 This describes the starting point of DiffServ data paths within a 154 single DiffServ device. This table descibes interface role 155 combination 156 and interface direction specific data paths. 158 Classifier Tables 159 A general extensible framework for specifying a group of filters. 161 Meter Tables 162 A general extensible framework and one example of a 163 parameterization table - TBParam table, applicable for Simple Token 164 Bucket Meter, Average Rate Meter, Single Rate Three Color Meter, 165 Two Rate Three Color Meter, and Sliding Window Three Color Meter. 167 Action Tables 168 A general extensible framework and examples of parameterization 169 tables for Absolute Drop, Mark and Count actions. The 170 "multiplexer" and "null" actions described in [MODEL] are 171 accomplished implicitly by means of the Prid structures 173 DiffServ QoS Policy Information Base February 2001 175 of the other elements. 177 Queue, Scheduler and Algorithmic Dropper Tables 178 A general extensible framework for parameterizing queuing and 179 scheduler systems. The queue measurement dependent algorithmic 180 droppers are also described here. 182 Capabilities Tables 183 A general extensible framework for defining the capabilities and 184 limitations of the elements listed above. The capability tables 185 allow intelligent configuration of the elements by a PDP. 187 4. Structure of the PIB 189 4.1. General Conventions 191 The PIB consists of classes that represent functional elements in the 192 data path (e.g. classifiers, meters, actions), and classes that specify 193 parameters that apply to a certain type of functional element (e.g. a 194 Token Bucket meter or a Mark action). Parameters are typically 195 specified in a separate PRC to enable the use of parameter classes by 196 multiple policies. 198 Functional element PRC's use the Prid TC (defined in [SPPI]) to indicate 199 indirection. A Prid is a object identifier that is used to specify an 200 instance of a PRC in another table. A Prid is used to point to 201 parameter PRC that applies to a functional element, such as which filter 202 should be used for a classifier element. A Prid is also used to 203 specify an instance of a functional element PRC that describes what 204 treatment should be applied next for a packet in the data path. 206 Note that the use of Prid's to specify parameter PRC's allows the same 207 funtional element PRC to be extended with a number of different types of 208 parameter PRC's. In addition, using Prids to indicate the next 209 functional datapath element allows the elements to be ordered in any 210 way. 212 4.2. DiffServ Data Paths 214 This part of the PIB provides instrumentation for connecting the 215 DiffServ Functional Elements within a single DiffServ device. Please 216 refer to the [MODEL] for discussions on the valid sequencing and 217 grouping of DiffServ Functional Elements. Given some basic information, 218 DiffServ QoS Policy Information Base February 2001 220 e.g. the interface role combination and direction, the first DiffServ 221 Functional Element is determined. Subsequent DiffServ Functional 222 Elements are provided by the "Next" pointer attribute of each entry of 223 data path tables. A description of how this "Next" pointer is used in 224 each table is provided in their respective DESCRIPTION clauses. 226 4.2.1. Data Path PRC 228 The Data Path PRC provides the DiffServ treatment starting points for 229 all packets of this DiffServ device. Each instance of this PRC specifies 230 the interface type, role combination and direction for the packet flow. 231 There should be at most two entries for each (interface type, role 232 combination) pair, one for ingress and one for egress. Each instance 233 provides the first DiffServ Functional Element each packet at a specific 234 interface (identified by the roles assigned to the interface) traveling 235 in a specific relative direction should experience. Notice this table 236 is interface specific, with the use of interface type and 237 RoleCombination. To indicate explicitly that there are no Diffserv 238 treatments for a particular interface type, role combination and 239 direction, an instance of the Data Path PRC can be created with 240 zeroDotZero in the qosDataPathStart attribute. This situation can also 241 be indicated implicitly by not supplying an instance of a Data Path PRC 242 for that particular interface type, role combination and direction. The 243 explicit/implicit selection is up to the implementation. This means 244 that the PEP should perform normal IP device processing when zeroDotZero 245 is used in the qosDataPathStart attribute, or when the entry does not 246 exist. Normal IP device processing will depend on the device, for 247 example, this can be forwarding the packet. 249 4.3. Classifiers 251 The classifier and classifier element tables determine how traffic is 252 sorted out. They identify separable classes of traffic, by reference to 253 appropriate filters, which may select anything from an individual micro- 254 flow to aggregates identified by DSCP. 256 The classification is used to send these separate streams to appropriate 257 Meter, Action, Algorithmic Dropper, Queue and Scheduler elements. For 258 example, to indicate a multi-stage meter, sub-classes of traffic may be 259 sent to different meter stages: e.g. in an implementation of the Assured 260 Forwarding (AF) PHB [AF-PHB], AF11 traffic might be sent to the first 261 DiffServ QoS Policy Information Base February 2001 263 meter, AF12 traffic might be sent to the second and AF13 traffic sent to 264 the second meter stage's out-of-profile action. 266 The concept of a classifier is the same as described in [MODEL]. The 267 structure of the classifier and classifier element tables, is the same 268 as the classifier described in [MODEL]. Classifier elements have an 269 associated precedence order solely for the purpose of resolving 270 ambiguity between overlapping filters. Filter with higher values of 271 order are compared first; the order of tests for entries of the same 272 precedence is unimportant. 274 A datapath may consist of more than one classifier. There may be 275 overlap of filter specification between filters of different 276 classifiers. The first classifier functional datapath element 277 encountered, as determined by the sequencing of diffserv functional 278 datapath elements, will be used first. 280 An important form of classifier is "everything else": the final stage of 281 the classifier i.e. the one with the lowest precedence, must be 282 "complete" since the result of an incomplete classifier is not 283 necessarily deterministic - see [MODEL] section 4.1.2. 285 The definition of the actual filter to be used by the classifier is 286 referenced via a Prid: this enables the use of any sort of filter table 287 that one might wish to design, standard or proprietary. No filters are 288 defined in this PIB. However, standard filters for IP packets are 289 defined in the Framework PIB [FR-PIB]. 291 4.3.1. Classifier PRC 293 Classifiers, used in various ingress and egress interfaces, are 294 organized by the instances of the Classifier PRC. A data path entry 295 points to a classifier entry. A classifier entry identifies a list of 296 classifier elements. A classifier element effectively includes the 297 filter entry, and points to a "next" classifier entry or other data path 298 functional element. 300 4.3.2. Classifier Element PRC 302 Classifier elements point to the filters which identify various classes 303 of traffic. The separation between the "classifier element" and the 304 "filter" allows us to use many different kinds of filters with the same 305 DiffServ QoS Policy Information Base February 2001 307 essential semantics of "an identified set of traffic". The traffic 308 matching the filter corresponding to a classifier element is given to 309 the "next" data path functional element identified in the classifier 310 element. 312 The definition of the actual filter to be used by the classifier is 313 referenced via a Prid: this enables the use of any sort of filter table 314 that one might wish to design, standard or proprietary. An example of a 315 filter that may be pointed to by a Classifier Element PRI is the 316 frwkIpFilter PRC, defined in [FR-PIB]. 318 4.4. Meters 320 A meter, according to [MODEL] section 5, measures the rate at which 321 packets making up a stream of traffic pass it, compares this rate to 322 some set of thresholds and produces some number (two or more) of 323 potential results. A given packet is said to "conform" to the meter if, 324 at the time that the packet is being looked at, the stream appears to be 325 within the meter's profile. PIB syntax makes it easiest to define this 326 as a sequence of one or more cascaded pass/fail tests, modeled here as 327 if-then-else constructs. It is important to understand that this way of 328 modelling does not imply anything about the implementation being 329 "sequential": multi-rate/multi-profile meters e.g. those designed to 330 support [SRTCM], [TRTCM], or [TSWTCM] can still be modeled this way even 331 if they, of necessity, share information between the stages: the stages 332 are introduced merely as a notational convenience in order to simplify 333 the PIB structure. 335 4.4.1. Meter PRC 337 The generic meter PRC is used as a base for all more specific forms of 338 meter. The definition of parameters specific to the type of meter used 339 is referenced via a pointer to an instance of a PRC containing those 340 specifics. This enables the use of any sort of specific meter table 341 that one might wish to design, standard or proprietary. The specific 342 meter table may be, but does not need to be, defined in this PIB module. 344 DiffServ QoS Policy Information Base February 2001 346 4.4.2. Token-Bucket Parameter PRC 348 This is included as an example of a common type of meter. Entries in 349 this table are referenced from the qosMeterSpecific attributes of meter 350 PRC instances. The parameters are represented by a rate qosTBParamRate, 351 a burst size qosTBParamBurstSize, and an interval qosTBparamInterval. 352 The type of meter being parameterized is indicated by the qosTBParamType 353 attribute. This is used to determine how the rate, burst and rate 354 interval parameters are used. Additional meter parameterization classes 355 can be defined in this or another PIB when necessary. 357 4.5. Actions 359 Actions include "no action", "mark the traffic with a DSCP" or "drop the 360 traffic". Other tasks such as "shape the traffic" or "drop based on some 361 algorithm" are handled elsewhere as queueing mechanisms, rather than 362 actions, consistent with [MODEL]. The "multiplexer", "replicator" and 363 "null" actions described in [MODEL] are accomplished implicitly through 364 various combinations of the other elements. 366 This PIB uses the Action PRC qosActionTable to organize one Action's 367 relationship with the element(s) before and after it. It allows Actions 368 to be cascaded to enable multiple Actions be applied to a single traffic 369 stream by using each entry's qosActionNext attribute. The qosActionNext 370 attribute of the last action entry in the chain points to the next 371 element in the TCB, if any, e.g. a Queueing element. It may also point 372 at a next TCB. 374 The parameters needed for the Action element will depend on the type of 375 Action to be taken. Hence the PIB allows for specific Action Tables for 376 the different Action types. This flexibility allows additional Actions 377 be specified in future revisions of this PIB, or in other PIBs and also 378 allows for the use of proprietary Actions without impact on those 379 defined here. 381 There is one action - the absolute drop action - that does not require 382 additional parameters. This action silently discards all traffic 383 presented to it. To accommodate this action, the qosAction PRC contains 384 an attribute, qosActionType, that indicates whether the absolute drop 385 action is to be used or if the action is described by a specific action 386 table. 388 DiffServ QoS Policy Information Base February 2001 390 4.5.1. DSCP Mark Action PRC 392 This Action is applied to traffic in order to mark it with a Diffserv 393 Codepoint (DSCP) value, specified in the qosDscpMarkActTable. Other 394 marking actions might be specified elsewhere - these are outside the 395 scope of this PIB. 397 4.5.2. Absolute Drop Action 399 This action just silently discards all traffic presented to it. This 400 action has no additional parameters and so is represented only within 401 qosActionType without its specific table. 403 4.6. Queueing Elements 405 These include Algorithmic Droppers, Queues and Schedulers which are all 406 inter-related in their use of queueing techniques. 408 4.6.1. Algorithmic Dropper PRC 410 Algorithmic Droppers are represented in this PIB by instances of the 411 Algorithmic Dropper PRC. An Algorithmic Dropper is assumed to operate 412 indiscriminately on all packets that are presented at its input, all 413 traffic separation should be done by classifiers and meters preceding 414 it. 416 Algorithmic Droppers have a close relationship with queuing, each 417 Algorithmic Dropper Table entry contains a qosAlgDropQMeasure attribute, 418 indicating which queue's state affects the calculation of the 419 Algorithmic Dropper. Each entry also contains a qosAlgDropNext 420 attribute which indicates to which queue the Algorithmic Dropper sinks 421 its traffic. 423 Algorithmic Droppers may also contain a pointer to specific detail of 424 the drop algorithm, qosAlgDropSpecific. This PIB defines the detail for 425 three drop algorithms: Tail Drop, Head Drop and Random Drop; other 426 algorithms are outside the scope of this PIB module but the general 427 framework is intended to allow for their inclusion via other PIB 428 modules. 430 DiffServ QoS Policy Information Base February 2001 432 One generally-applicable parameter of a dropper is the specification of 433 a queue-depth threshold at which some drop action is to start. This is 434 represented in this PIB, as a base attribute, qosAlgDropQThreshold, of 435 the Algorithmic Dropper entry. The attribute, qosAlgDropQMeasure, 436 specifies which queue's depth qosAlgDropQThreshold is to compare 437 against. 439 o A Tail Dropper requires the specification of a maximum queue depth 440 threshold: when the queue pointed at by qosAlgDropQMeasure 441 reaches that depth threshold, qosAlgDropQThresh, any new 442 traffic arriving at the dropper is discarded. This algorithm uses 443 only parameters that are part of the qosAlgDropEntry. 445 o A Head Dropper requires the specification of a maximum queue depth 446 threshold: when the queue pointed at by qosAlgDropQMeasure 447 reaches that depth threshold, qosAlgDropQThresh, traffic 448 currently at the head of the queue is discarded. This algorithm 449 uses only parameters that are part of the qosAlgDropEntry. 451 o Random Droppers are recommended as a way to control congestion, in 452 [QUEUEMGMT] and called for in the [AF-PHB]. Various implementations 453 exist, which agree on marking or dropping just enough traffic to 454 communicate with TCP-like protocols about congestion avoidance, but 455 differ markedly on their specific parameters. This PIB attempts to 456 offer a minimal set of controls for any random dropper, but expects 457 that vendors will augment the PRC with additional controls and 458 status in accordance with their implementation. This algorithm 459 requires additional parameters on top of those in 460 qosAlgDropEntry; these are discussed below. 462 4.6.2. Random Dropper PRC 464 One example of a random dropper is a RED-like dropper. An example of the 465 representation chosen in this PIB for this element is shown in Figure 1. 467 Random droppers often have their drop probability function described as 468 a plot of drop probability (P) against averaged queue length (Q). 469 (Qmin,Pmin) then defines the start of the characteristic plot. Normally 470 Pmin=0, meaning with average queue length below Qmin, there will be no 471 drops. (Qmax,Pmax) defines a "knee" on the plot, after which point the 472 drop probability become more progressive (greater slope). (Qclip,1) 473 defines the queue length at which all packets will be dropped. Notice 474 DiffServ QoS Policy Information Base February 2001 476 this is different from Tail Drop because this uses an averaged queue 477 length. Although it is possible for Qclip = Qmax. 479 In the PIB module, qosRandomDropMinThreshBytes and 480 qosRandomDropMinThreshPkts represent Qmin. qosRandomDropMaxThreshBytes 481 and qosRandomDropMaxThreshPkts represent Qmax. qosAlgDropQThreshold 482 represents Qclip. qosRandomDropProbMax represents Pmax. This PIB does 483 not represent Pmin (assumed to be zero unless otherwise represented). 484 In addition, since message memory is finite, queues generally have some 485 upper bound above which they are incapable of storing additional 486 traffic. Normally this number is equal to Qclip, specified by 487 qosAlgDropQThreshold. 489 Each random dropper specification is associated with a queue. This 490 allows multiple drop processes (of same or different types) to be 491 associated with the same queue, as different PHB implementations may 492 require. This also allows for sequences of multiple droppers if 493 necessary. 495 AlgDrop Queue 496 +-----------------+ +-------+ 497 --->| Next ---------+--+------------------->| Next -+--> ... 498 | QMeasure -------+--+ | ... | 499 | QThreshold | RandomDrop +-------+ 500 | Type=randomDrop | +----------------+ 501 | Specific -------+---->| MinThreshBytes | 502 +-----------------+ | MaxThreshBytes | 503 | ProbMax | 504 | InvWeight | 505 | SamplingRate | 506 +----------------+ 508 Figure 1: Example Use of the RandomDropTable for Random Droppers 510 The calculation of a smoothed queue length may also have an important 511 bearing on the behavior of the dropper: parameters may include the 512 sampling interval or rate, and the weight of each sample. The 513 performance may be very sensitive to the values of these parameters and 514 a wide range of possible values may be required due to a wide range of 515 link speeds. Most algorithms include a sample weight, represented here 516 by qosRandomDropInvWeight. The availability of 517 qosRandomDropSamplingRate as readable is important, the information 518 provided by Sampling Rate is essential to the configuration of 519 DiffServ QoS Policy Information Base February 2001 521 qosRandomDropInvWeight. Having Sampling Rate be configurable is also 522 helpful, as line speed increases, the ability to have queue sampling be 523 less frequent than packet arrival is needed. Note however that there is 524 ongoing research on this topic, see e.g. [ACTQMGMT] and [AQMROUTER]. 526 Additional parameters may be added in an enterprise PIB module, e.g. by 527 using AUGMENTS on this table, to handle aspects of random drop 528 algorithms that are not standardized here. 530 NOTE: Deterministic Droppers can be viewed as a special case of Random 531 Droppers with the drop probability restricted to 0 and 1. Hence 532 Deterministic Droppers might be described by a Random Dropper with Pmin 533 = 0, Pmax = 1, Qmin = Qmax = Qclip, the averaged queue length at which 534 dropping occurs. 536 4.6.3. Queues and Schedulers 538 The Queue PRC models simple FIFO queues, as described in [MODEL] section 539 7.1.1. The Scheduler PRC allows flexibility in constructing both simple 540 and somewhat more complex queueing hierarchies from those queues. Of 541 course, since TCBs can be cascaded multiple times on an interface, even 542 more complex hierarchies can be constructed that way also. 544 Queue PRC instances are pointed at by the "next" attributes of the 545 upstream elements e.g. qosMeterSucceedNext. Note that multiple upstream 546 elements may direct their traffic to the same Queue PRI. For example, 547 the Assured Forwarding PHB suggests that all traffic marked AF11, AF12 548 or AF13 be placed in the same queue, after metering, without reordering. 549 This would be represented by having the qosMeterSucceedNext of each 550 upstream meter point at the same Queue PRI. 552 NOTE: Queue and Scheduler PRIs are for data path description, they both 553 use Scheduler Parameterization Table entries for diffserv treatment 554 parameterization. 556 Queue Table entries specify the scheduler it wants service from by use 557 of its Next pointer. 559 Each Scheduler Table entry represents the algorithm in use for servicing 560 the one or more queues that feed it. The [MODEL] section 7.1.2 describes 561 a scheduler with multiple inputs: this is represented in the PIB by 562 having the scheduling parameters be associated with each input. In this 563 way, sets of Queues can be grouped together as inputs to the same 564 DiffServ QoS Policy Information Base February 2001 566 Scheduler. This table serves to represent the example scheduler 567 described in the [MODEL]: other more complex representations might be 568 created outside of this PIB. 570 Both the Queue PRC and the Scheduler PRC use instances of the Scheduler 571 Parameterization PRC to specify diffserv treatment parameterization. 572 Scheduler Parameter PRC instances are used to parameterize each input 573 that feeds into a scheduler. The inputs can be a mixture of Queue PRI's 574 and Scheduler PRI's. Scheduler Parameter PRI's can be used/reused by 575 one or more Queue and/or Scheduler Table entries. 577 For representing a Strict Priority scheduler, each scheduler input is 578 assigned a priority with respect to all the other inputs feeding the 579 same scheduler, with default values for the other parameters. A higher- 580 priority input which contains traffic that is not being delayed for 581 shaping will be serviced before a lower-priority input. 583 For Weighted Queuing methods e.g. WFQ, WRR, the "weight" of a given 584 scheduler input is represented with a Minimum Service Rate leaky-bucket 585 profile which provides guaranteed minimum bandwidth to that input, if 586 required. This is represented by a rate qosAssuredRateAbs; the 587 classical weight is the ratio between that rate and the interface speed, 588 or perhaps the ratio between that rate and the sum of the configured 589 rates for classes. The rate may, alternatively, be represented by a 590 relative value, as a fraction of the interface's current line rate, 591 qosAssuredRateRel to assist in cases where line rates are variable or 592 where a higher-level policy might be expressed in terms of fractions of 593 network resources. The two rate parameters are inter-related and 594 changes in one may be reflected in the other. 596 For weighted scheduling methods, one can say loosely, that WRR focuses 597 on meeting bandwidth sharing, without concern for relative delay amongst 598 the queues; where WFQ control both queue service order and amount of 599 traffic serviced, providing meeting bandwidth sharing and relative delay 600 ordering amongst the queues. 602 A queue or scheduled set of queues (which is an input to a scheduler) 603 may also be capable of acting as a non-work-conserving [MODEL] traffic 604 shaper: this is done by defining a Maximum Service Rate leaky-bucket 605 profile in order to limit the scheduler bandwidth available to that 606 input. This is represented by a rate qosShapingRateAbs; the classical 607 weight is the ratio between that rate and the interface speed, or 608 perhaps the ratio between that rate and the sum of the configured rates 609 for classes. The rate may, alternatively, be represented by a relative 610 value, as a fraction of the interface's current line rate, 611 DiffServ QoS Policy Information Base February 2001 613 qosShapingRateRel. There was discussion in the working group about 614 alternative modeling approaches, such as defining a shaping action or a 615 shaping element. We did not take this approach because shaping is in 616 fact something a scheduler does to its inputs, (which we model as a 617 queue with a maximum rate or a scheduler whose output has a maximum 618 rate) and we felt it was simpler and more elegant to simply describe it 619 in that context. 621 Other types of priority and weighted scheduling methods can be defined 622 using existing parameters in qosAssuredRateEntry. NOTE: 623 qosSchedulerMethod uses OBJECT IDENTIFIER syntax, with the different 624 types of scheduling methods defined as OBJECT-IDENTITY. Future 625 scheduling methods may be defined in other MIBs. This requires an 626 OBJECT-IDENTITY definition, a description of how the existing objects 627 are reused, if they are, and any new objects they require. 629 NOTE: hierarchical schedulers can be parameterized using this PIB by 630 having Scheduler Table entries feeds into Scheduler Table entry. 632 4.7. Specifying Device Capabilities 634 The Diffserv PIB uses the Base PRC classes frwkPrcSupportTable and 635 frwkCompLimitsTable defined in [FR-PIB] to specify what PRC's are 636 supported by a PEP and to specify any limitations on that support. The 637 PIB also uses the capability PRC's frwkIfCapSetTable and 638 frwkIfCapSetRoleComboTable defined in [FR-PIB] to specify the device's 639 interface types and role combinations. Each instance of the capability 640 PRC frwkIfCapSetTable contains an OID that points to an instance of a 641 PRC that describes some capability of that interface type. The Diffserv 642 PIB defines several of these capability PRCs, which assist the PDP with 643 the configuration of Diffserv functional elements that can be 644 implemented by the device. Each of these capability PRCs contains a 645 direction attribute that specifies the direction for which the 646 capability applies. This attribute is defined in a base capability PRC, 647 which is extended by each specific capability PRC. 649 Classification capabilities, which specify the information elements the 650 device can use to classify traffic, are reported using the 651 qosIfClassificationCaps PRC. Metering capabilities, which indicate what 652 the device can do with out-of-profile packets, are specified using the 653 qosIfMeteringCaps PRC. Scheduling capabilities, such as the number of 654 inputs supported, are reported using the qosIfSchedulingCaps PRC. 656 DiffServ QoS Policy Information Base February 2001 658 Algorithmic drop capabilities, such as the types of algorithms 659 supported, are reported using the qosIfAlgDropCaps PRC. Queue 660 capabilities, such as the maximum number of queues, are reported using 661 the qosIfQueueCaps PRC. Shaper capabilities, such as the number of 662 rates supported, are reported using the qosIfShaperCaps table. 664 Two PRC's are defined to allow specification of the element linkage 665 capabilities of the PEP. The qosIfElmDepthCaps PRC indicates the 666 maximum number of functional datapath elements that can be linked 667 consecutively in a datapath. The qosIfElmLinkCaps PRC indicates what 668 functional datapath elements are may follow a specific type of element 669 in a datapath. 671 The capability reporting classes in the DiffServ and Framework PIB are 672 meant to allow the PEP to indicate some general guidelines about what 673 the device can do. They are intended to be an aid to the PDP when it 674 constructs policy for the PEP. These classes do not necessarily allow 675 the PEP to indicate every possible configuration that it can or cannot 676 support. If a PEP receives a policy that it cannot implement, it must 677 notify the PDP with a failure report. 679 5. PIB Usage Example 681 This section provides some examples on how the different table entries 682 of this PIB may be used together for a Diffserv Device, with the usage 683 of each individual attribute be defined within the PIB module itself. 684 For the figures, all the PIB table entry and attribute names are assumed 685 to have "qos" as their first common initial part of name, with the table 686 entry name assumed to be their second common initial part of name. 687 "0.0" is being used to mean zeroDotZero. And for Scheduler Method "= X" 688 means "using the OID of qoxSchedulerX". 690 5.1. Model's Example 692 As an example, when this PIB's structures are used for the hypothetical 693 configuration in [MODEL] section 8.1, the result is shown in Figure 2, 694 3, and 4. The parameterization table entries' values are not specified 695 in detail here, they can be obtained from [MODEL] section 8.1. 697 DiffServ QoS Policy Information Base February 2001 699 +---------------------+ +------------------------> Q_EF 700 |DataPath | | 701 | IfCapSet="If1" | | 702 | Roles = "A+B" | | +--------------+ 703 | IfDirection=Ingress | +------+ | +--->|Action | 704 | Start --------------+--->|Clfr | | | | Id=EF2 | 705 +---------------------+ | Id=1 | | | | Next=0.0 | 706 +------+ | | | Specific=0.0 | 707 | | | Type=AbsDrop | 708 | | +--------------+ 709 | | 710 | | 711 | | 712 +------------+ +--------------+ | | 713 |ClfrElement | +-->|Meter | | | 714 | Id=EF | | | Id=EF | | | 715 | ClfrId=1 | | | SucceedNext -+-+ | 716 | Order=NA | | | FailNext ----+----+ 717 | Next ------+--+ | Specific -+ | 718 | Specific --+-+ +-----------+--+ 719 +------------+ | | 720 | | 721 | | 722 | +--------+ | +---------+ 723 +-->|FilterEF| +-->|TBMeterEF| 724 +--------+ +---------+ 726 +------------+ +--------------+ 727 |ClfrElement | +-------------------->|AlgDrop | 728 | Id=AF11 | | | Id=AF11 | 729 | ClfrId=1 | | | Type=tailDrop| 730 | Order=NA | | | Next --------+--+-> Q_AF1 731 | Next ------+--+ | QMeasure ----+--+ 732 | Specific --+-+ | QThreshold | 733 +------------+ | | Specific=0.0 | 734 | +--------------+ 735 | 736 | +----------+ 737 +->|FilterAF11| 738 +----------+ 740 Figure 2: Example from Model Section 8.1 part 1 742 DiffServ QoS Policy Information Base February 2001 744 +------------+ +--------------+ 745 |ClfrElement | +-->|Meter | 746 | Id=AF21 | | | Id=AF21 | 747 | ClfrId=1 | | | SucceedNext -+----------> Q_AF2 748 | Order=NA | | | FailNext + | 749 | Next ------+--+ | Specific --+ | 750 | Specific --+-+ +----------+-+-+ 751 +------------+ | | | 752 | | | 753 | | | 754 | +----------+ | | +-----------+ 755 +->|FilterAF21| | +->|TBMeterAF21| 756 +----------+ | +-----------+ 757 | 758 -----+ 759 | 760 | +-----------+ 761 +->|Action | 762 | Id=AF21F2 | 763 | Next -----+------> Q_AF2 764 | Specific -+-+ 765 | Type=Spcf | | 766 +-----------+ | 767 | 768 | +---------------+ 769 +->|DscpMarkActAF22| 770 +---------------+ 772 +------------+ 773 |ClfrElement | +-----------------------------------------> Q_BE 774 | Id=WildCard| | 775 | ClfrId=1 | | 776 | Order=NA | | 777 | Next ------+--+ +--------------+ 778 | Specific --+------>|FilterMatchAll| 779 +------------+ +--------------+ 781 Figure 3: Example from Model Section 8.1 part 2 783 +-------------+ 784 Q_EF--->|Q | 785 | Id=EF +--+--------------------------+ 786 | Next ----+ | +-----------+ | 788 DiffServ QoS Policy Information Base February 2001 790 | SchdParam --+-->|SchdParamEF| | 791 +-------------+ +-----------+ | 792 | 793 +-------------+ | +----------------+ 794 Q_AF1-->|Q | +->|Scheduler | 795 | Id=AF1 +--+--------------------------+ | Id=Diffserv | 796 | Next ----+ | +------------+ | | Next=0.0 | 797 | SchdParam --+-->|SchdParamAF1| | | Method=Priority| 798 +-------------+ +------------+ | | SchdParam=0.0 | 799 | +----------------+ 800 +-------------+ | 801 Q_AF2-->|Q | | 802 | Id=AF2 +--+--------------------------+ 803 | Next ----+ | +------------+ | 804 | SchdParam --+-->|SchdParamAF2| | 805 +-------------+ +------------+ | 806 | 807 +-------------+ | 808 Q_BE--->|Q | | 809 | Id=BE +--+--------------------------+ 810 | Next ----+ | +-----------+ 811 | SchdParam --+-->|SchdParamBE| 812 +-------------+ +-----------+ 814 Figure 4: Example from Model Section 8.1 part 3 816 5.2. Additional Data Path Example 818 5.2.1. Data Path and Classifier Example Discussion 820 The example in Figure 5 shows a single qosDataPathTable entry feeding 821 into a single Classifier entry, with three Classifier Element and Filter 822 Table entry pairs belonging to this Classifier 1. Notice the three 823 Filters used here must completely classify all the traffic presented to 824 this data path. 826 Another level of classification can be defined that follows the Action 827 functional DataPath elements in Figure 5. This multi-level 828 classification allow the construction of traffic separations and 829 specific actions at each level, like: 830 if (dept1) then take dept1-action 831 { 832 if (appl1) then take dept1-appl1-action. 834 DiffServ QoS Policy Information Base February 2001 836 if (appl2) then take dept1-appl2-action. 837 if (appl3) then take dept1-appl3-action. 839 } 840 if (dept2) then take dept2-action 841 { 842 if (appl1) then take dept2-appl1-action. 843 if (appl2) then take dept2-appl2-action. 844 if (appl3) then take dept2-appl3-action. 845 } 846 if (dept3) then take dept3-action 847 { 848 if (appl1) then take dept3-appl1-action. 849 if (appl2) then take dept3-appl2-action. 850 if (appl3) then take dept3-appl3-action. 851 } 853 Minimally, the filters for appl1, appl2, appl3 may be reused for the 854 above setup. 856 +---------------------+ 857 |DataPath | 858 | IfCapSet="If1" | 859 | Roles="A+B" | 860 | IfDirection=Ingress | +------+ 861 | Start --------------+--->|Clfr | 862 +---------------------+ | Id=1 | 863 +------+ 865 +------------+ +--------------+ 866 |ClfrElement | +-->|Meter | 867 | Id=101 | | | Id=101 | 868 | ClfrId=1 | | | SucceedNext -+--->... 869 | Order=NA | | | FailNext ----+--->... 870 | Next ------+--+ | Specific -+ | 871 | Specific --+-+ +-----------+--+ 872 +------------+ | | 873 | +-------+ | +--------+ 874 +-->|Filter1| +-->|TBMeter1| 875 +-------+ +--------+ 877 +------------+ +--------------+ 878 |ClfrElement | +-->|Meter | 879 | Id=102 | | | Id=102 | 881 DiffServ QoS Policy Information Base February 2001 883 | ClfrId=1 | | | SucceedNext -+->... 884 | Order=NA | | | FailNext ----+->... 885 | Next ------+--+ | Specific -+ | 886 | Specific --+-+ +-----------+--+ 887 +------------+ | | 888 | +-------+ | +--------+ 889 +-->|Filter2| +-->|TBMeter2| 890 +-------+ +--------+ 892 +------------+ +--------------+ 893 |ClfrElement | +-->|Meter | 894 | Id=103 | | | Id=103 | 895 | ClfrId=1 | | | SucceedNext -+->... 896 | Order=NA | | | FailNext ----+->... 897 | Next ------+--+ | Specific -+ | 898 | Specific --+-+ +-----------+--+ 899 +------------+ | | 900 | +-------+ | +--------+ 901 +-->|Filter3| +-->|TBMeter3| 902 +-------+ +--------+ 904 Figure 5: Additional Data Path Example Part 1 906 +-------------+ +-----------------+ 907 ---->|Q | +->|Scheduler | 908 | Id=EF | | | Id=Diffserv | 909 | Next -------+-----------------------+ | Next=0.0 | 910 | SchdParam -+| | | Method=Priority | 911 +------------++ | | SchdParam=0.0 | 912 | | +-----------------+ 913 +------------+ | 914 | | 915 | +-----------+ | 916 +->|SchdParamEF| | 917 +-----------+ +---------------------+ 918 | 919 +----------------+ +-------------+ | 920 --->|AlgDrop | +->|Q | | 921 | Id=AF11 | | | Id=AF1 | +-------------+ | 922 | Type=randomDrop| | | Next -------+--->|Scheduler | | 923 | Next ----------+-+--+ | SchdParam -+| | Id=AF | | 924 | QMeasure ------+-+ | +------------++ | Next -------+--+ 925 | QThreshold | | | | Method=WFQ | 926 | Specific -+ | | +------------+ | SchdParam --+--+ 928 DiffServ QoS Policy Information Base February 2001 930 +-----------+----+ | | +-------------+ | 931 | | | +------------+ | 932 +-----------+ | +->|SchdParamAF1| +----------------+ 933 | +--------------+ | +------------+ | 934 +->|RandomDropAF11| | | +-----------+ 935 +--------------+ | +->|SchdParamAF| 936 | +-----------+ 937 +----------------+ | 938 --->|AlgDrop | | 939 | Id=AF12 | | 940 | Type=randomDrop| | 941 | Next ----------+-+--+ 942 | QMeasure ------+-+ 943 | QThreshold | 944 | Specific -+ | 945 +-----------+----+ 946 | 947 +-----------+ 948 | +--------------+ 949 +->|RandomDropAF12| 950 +--------------+ 952 Figure 6: Additional Data Path Example Part 2 954 5.2.2. Meter and Action Example Discussion 956 A simple Meter that can be parameterized by a single TBMeter entry is 957 shown here. For Metering types that require multiple TBMeter entries 958 for parameterization, a second level Meter and TBMeter table entries may 959 be used. For example, for [TRTCM], with the first level TBMeter entry 960 used for Peak Information Token Bucket, the first level SucceedNext 961 points to the second level Meter entry, with second level TBMeter entry 962 used for Committed Information Token Bucket. 964 5.2.3. Queue and Scheduler Example Discussion 966 Example in Figure 6 shows three classified input traffic streams, EF, 967 AF11, and AF12, feeding into their respective queue and algorithmic 968 droppers. After their respective dropping process, the AF traffic 969 streams feed into the same queue, QAF1X. 971 A Scheduler, AF, is shown in Figure 6, as the sink for AF1X queue 972 traffic, servicing AF1X queue with scheduling parameters indicated by 973 DiffServ QoS Policy Information Base February 2001 975 SchdParamAF1X. This scheduler is used to service traffic from AF1X, 976 AF2X, AF3X queues using weighted fair queuing method. The AF2X and AF3X 977 queues are not shown in Figure 6, they can be very much like AF1X queue 978 setup. 980 Another traffic stream, EF, is handled by the EF queue. Scheduler 981 Diffserv services output of EF queue using SchdParamEF, and output of AF 982 scheduler using SchdParamAF, with Priority Queue scheduling method. 984 Notice all the diffserv traffic may go out on a link with traffic 985 shaping. The traffic shaping can be parameterize using the Shaping 986 | Scheduler in Figure 6. For shaping, the qosShapingRate attributes 987 should be used. The Shaping Scheduler is indicated as the last diffserv 988 functional element of this data path by using its Next pointer with 989 value of zeroDotZero. 991 6. Summary of the DiffServ PIB 993 The DiffServ PIB consists of one module containing the base PRCs for 994 setting DiffServ policy, queues, classifiers, meters, etc., and also 995 contains capability PRC's that allow a PEP to specify its device 996 characteristics to the PDP. This module contains two groups, which are 997 summarized in this section. 999 QoS Capabilities Group 1000 This group consists of PRCs to indicate to the PDP the types of 1001 interface supported on the PEP in terms of their QoS capabilities 1002 and PRCs that the PDP can install in order to configure these 1003 interfaces (queues, scheduling parameters, buffer sizes, etc.) to 1004 affect the desired policy. This group describes capabilities in 1005 terms of the types of interfaces and takes configuration in terms 1006 of interface types and role combinations [FR-PIB]; it does not deal 1007 with individual interfaces on the device. 1009 QoS Policy Group 1010 This group contains configuration of the functonal elements that 1011 comprise the QoS policy that applies to an interface and the 1012 specific parameters that describe those elements. This group 1013 contains classifiers, meters, actions, droppers, queues and 1014 schedulers. This group also contains the PRC that associates the 1015 datapath elements with role combinations. 1017 DiffServ QoS Policy Information Base February 2001 1019 7. PIB Operational Overview 1021 This section provides an operation overview of configuring DiffServ QoS 1022 policy. 1024 After initial PEP to PDP communication setup, using [COPS-PR] for 1025 example, the PEP will provide to the PDP the PIB Provisioning Classes 1026 (PRCs), interface types, and interface type capabilities it supports. 1028 The PRCs supported by the PEP are reported to the PDP in the PRC Support 1029 Table, frwkPrcSupportTable defined in the framework PIB [FR-PIB]. Each 1030 instance of the frwkPrcSupportTable indicates a PRC that the PEP 1031 understands and for which the PDP can send class instances as part of 1032 the policy information. 1034 The interface types the PEP supports are described by rows in the 1035 interface type table, frwkIfCapsSetTable. Each row, or instance of this 1036 class contains a pointer to a instance of a PRC that describes the 1037 capabilities of the interface type. The capability objects may reside 1038 in the qosIfClassifierCapsTable, the qosIfMeterCapsTable, the 1039 qosIfSchedulerCapsTable, the qosIfElmDepthCapsTable, the 1040 qosIfElmOutputCapsTable, or in a table defined in another PIB. 1042 The PDP, with knowledge of the PEP's capabilities, then provides the PEP 1043 with administration domain and interface-specific policy information. 1045 Instances of the qosDataPathTable are used to specify the first element 1046 in the set of functional elements applied to an interface. Each 1047 instance of the qosDataPathTable applies to an interface type defined by 1048 its roles and direction (ingress or egress). 1050 DiffServ QoS Policy Information Base February 2001 1052 8. PIB Definitions 1054 8.1. The DiffServ Base PIB 1056 DIFFSERV-PIB PIB-DEFINITIONS ::= BEGIN 1058 IMPORTS 1059 Unsigned32, Integer32, 1060 MODULE-IDENTITY, OBJECT-TYPE 1061 FROM COPS-PR-SPPI 1062 zeroDotZero 1063 FROM SNMPv2-SMI 1064 TruthValue, TEXTUAL-CONVENTION 1065 FROM SNMPv2-TC 1066 InstanceId, ReferenceId, TagId, TagReference 1067 FROM COPS-PR-SPPI 1068 RoleCombination 1069 FROM FRAMEWORK-PIB 1070 Dscp 1071 FROM DIFFSERV-DSCP-TC; 1072 IfDirection 1073 FROM DIFF-SERV-MIB; 1074 BurstSize 1075 FROM INTEGRATED-SERVICES-MIB; 1077 qosPolicyPib MODULE-IDENTITY 1078 SUBJECT-CATEGORIES { tbd -- QoS Client Type 1079 } 1080 LAST-UPDATED "200103021800Z" 1081 ORGANIZATION "IETF DIFFSERV WG" 1082 CONTACT-INFO " 1083 Michael Fine 1084 Cisco Systems, Inc. 1085 170 West Tasman Drive 1086 San Jose, CA 95134-1706 USA 1087 Phone: +1 408 527 8218 1088 Email: mfine@cisco.com 1090 Keith McCloghrie 1092 DiffServ QoS Policy Information Base February 2001 1094 Cisco Systems, Inc. 1095 170 West Tasman Drive, 1096 San Jose, CA 95134-1706 USA 1097 Phone: +1 408 526 5260 1098 Email: kzm@cisco.com 1100 John Seligson 1101 Nortel Networks, Inc. 1102 4401 Great America Parkway 1103 Santa Clara, CA 95054 USA 1104 Phone: +1 408 495 2992 1105 Email: jseligso@nortelnetworks.com" 1106 DESCRIPTION 1107 "The PIB module containing a set of provisioning classes 1108 that describe quality of service (QoS) policies for 1109 DiffServ. It includes general classes that may be extended 1110 by other PIB specifications as well as a set of PIB 1111 classes related to IP processing." 1113 ::= { tbd } 1115 qosCapabilityClasses OBJECT IDENTIFIER ::= { qosPolicyPib 1 } 1116 qosPolicyClasses OBJECT IDENTIFIER ::= { qosPolicyPib 2 } 1117 qosPolicyParameters OBJECT IDENTIFIER ::= { qosPolicyPib 3 } 1119 -- 1120 -- Interface Capabilities Group 1121 -- 1123 -- 1124 -- Interface Type Capability Tables 1125 -- 1126 -- The Interface type capability tables define capabilities that may 1127 -- be associated with an interface of a specific type. This PIB 1128 -- defines three such tables: a classification capabilities table, a 1129 -- metering capabilities table and a scheduling capabilities table. 1130 -- Other PIBs may define other capability tables to augment the 1131 -- capability definitions of these tables or to introduce completely 1132 -- new capabilities. 1134 -- 1135 DiffServ QoS Policy Information Base February 2001 1137 -- Classification Capabilities 1138 -- 1140 -- 1141 -- The Base Capability Table 1142 -- 1144 qosBaseIfCapsTable OBJECT-TYPE 1145 SYNTAX SEQUENCE OF QosBaseIfCapsEntry 1146 PIB-ACCESS notify, 3 1147 STATUS current 1148 DESCRIPTION 1149 "The Base Interface Capability class. This class represents 1150 a generic capability supported by a device in the ingress, 1151 egress or both directions." 1152 ::= { qosCapabilityClasses 1 } 1154 qosBaseIfCapsEntry OBJECT-TYPE 1155 SYNTAX QosBaseIfCapsEntry 1156 STATUS current 1157 DESCRIPTION 1158 "An instance of this class describes the qosBaseIfCaps class." 1160 PIB-INDEX { qosBaseIfCapsPrid } 1162 QosBaseIfCapsEntry ::= SEQUENCE { 1163 qosBaseIfCapsPrid InstanceId, 1164 qosBaseIfCapsDirection Integer32 1165 } 1167 qosBaseIfCapsPrid OBJECT-TYPE 1168 SYNTAX InstanceId 1169 STATUS current 1170 DESCRIPTION 1171 "An arbitrary integer index that uniquely identifies an 1172 instance of the class." 1173 ::= { qosBaseIfCapsEntry 1 } 1175 qosBaseIfCapsDirection OBJECT-TYPE 1176 SYNTAX Integer32 { 1177 inbound(1), 1178 outbound(2), 1180 DiffServ QoS Policy Information Base February 2001 1182 inAndOut(3) 1183 } 1184 STATUS current 1185 DESCRIPTION 1186 "This object specifies the direction(s) for which the capability 1187 applies. A value of 'inbound(1)' means the capability applies 1188 only to the ingress direction. A value of 'outbound(2)' means 1189 the capability applies only to the egress direction. A value of 1190 'inAndOut(3)' means the capability applies to both directions." 1191 ::= { qosBaseIfCapsEntry 2 } 1193 -- 1194 -- The Classification Capability Table 1195 -- 1197 qosIfClassificationCapsTable OBJECT-TYPE 1198 SYNTAX SEQUENCE OF QosIfClassificationCapsEntry 1199 PIB-ACCESS notify, 2 1200 STATUS current 1201 DESCRIPTION 1202 "This table specifies the classification capabilities of an 1203 interface type" 1204 ::= { qosCapabilityClasses 2 } 1206 qosIfClassificationCapsEntry OBJECT-TYPE 1207 SYNTAX QosIfClassificationEntry 1208 STATUS current 1209 DESCRIPTION 1210 "An instance of this class describes the classification 1211 capabilities of an interface." 1213 EXTENDS { qosBaseIfCapsEntry } 1214 UNIQUENESS { qosBaseIfCapsDirection, 1215 qosIfClassificationCapsSpec } 1216 ::= { qosIfClassificationCapsTable 1 } 1218 QosIfClassificationCapsEntry ::= SEQUENCE { 1219 qosIfClassificationCapsSpec BITS 1220 } 1221 DiffServ QoS Policy Information Base February 2001 1223 qosIfClassificationCapsSpec OBJECT-TYPE 1224 SYNTAX BITS { 1225 ipSrcAddrClassification(1), 1226 -- indicates the ability to classify based on 1227 -- IP source addresses 1228 ipDstAddrClassification(2), 1229 -- indicates the ability to classify based on 1230 -- IP destination addresses 1231 ipProtoClassification(3), 1232 -- indicates the ability to classify based on 1233 -- IP protocol numbers 1234 ipDscpClassification(4) 1235 -- indicates the ability to classify based on 1236 -- IP DSCP 1237 ipL4Classification(5) 1238 -- indicates the ability to classify based on 1239 -- IP layer 4 port numbers for UDP and TCP 1240 } 1241 STATUS current 1242 DESCRIPTION 1243 "Bit set of supported classification capabilities. In 1244 addition to these capabilities, other PIBs may define other 1245 capabilities that can then be specified in addition to the 1246 ones specified here (or instead of the ones specified here if 1247 none of these are specified)." 1248 ::= { qosIfClassificationCapsEntry 1 } 1250 -- 1251 -- Metering Capabilities 1252 -- 1254 qosIfMeteringCapsTable OBJECT-TYPE 1255 SYNTAX SEQUENCE OF QosIfMeteringCapsEntry 1256 PIB-ACCESS notify, 2 1257 STATUS current 1258 DESCRIPTION 1259 "This table specifies the metering capabilities of an 1260 interface type" 1261 ::= { qosCapabilityClasses 3 } 1263 qosIfMeteringCapsEntry OBJECT-TYPE 1264 SYNTAX QosIfMeteringCapsEntry 1266 DiffServ QoS Policy Information Base February 2001 1268 STATUS current 1269 DESCRIPTION 1270 "An instance of this class describes the classification 1271 capabilities of an interface." 1273 EXTENDS { qosBaseIfCapsEntry } 1274 UNIQUENESS { qosBaseIfCapsDirection, 1275 qosIfMeteringCapsSpec } 1276 ::= { qosIfMeteringCapsTable 1 } 1278 QosIfMeteringCapsEntry ::= SEQUENCE { 1279 qosIfMeteringCapsSpec BITS 1280 } 1282 qosIfMeteringCapsSpec OBJECT-TYPE 1283 SYNTAX BITS { 1284 meterByRemarking (1), 1285 meterByDropping (2), 1286 -- These capabilities indicate if the interface 1287 -- can remark out of profile packets or drop them, 1288 -- respectively 1289 } 1290 STATUS current 1291 DESCRIPTION 1292 "Bit set of supported metering capabilities. As with 1293 classification capabilities, these metering capabilities may 1294 be augmented by capabilities specified in other PRCs (in other 1295 PIBs)." 1296 ::= { qosIfMeteringCapsEntry 1 } 1298 -- 1299 -- Algorithmic Dropper Capabilities 1300 -- 1301 -- This capability table indicates the types of algorithmic 1302 -- drop supported by an interface type for a specific flow 1303 -- direction. 1304 -- Additional capabilities affecting the drop functionalities 1305 -- are determined based on queue capabilities associated with 1306 -- specific instance of a dropper, hence not specified by 1307 -- this table. 1308 -- 1309 DiffServ QoS Policy Information Base February 2001 1311 qosIfAlgDropCapsTable OBJECT-TYPE 1312 SYNTAX SEQUENCE OF QosIfAlgDropCapsEntry 1313 PIB-ACCESS notify, 2 1314 STATUS current 1315 DESCRIPTION 1316 "This table specifies the algorithmic dropper 1317 capabilities of an interface type" 1318 ::= { qosCapabilityClasses 4 } 1320 qosIfAlgDropCapsEntry OBJECT-TYPE 1321 SYNTAX QosIfAlgDropCapsEntry 1322 STATUS current 1323 DESCRIPTION 1324 "An instance of this class describes the algorithm dropper 1325 capabilities of an interface." 1326 EXTENDS { qosBaseIfCapsEntry } 1327 UNIQUENESS { qosBaseIfCapsDirection, 1328 qosIfAlgDropCapsType } 1329 ::= { qosIfAlgDropCapsTable 1 } 1331 QosIfAlgDropCapsEntry ::= SEQUENCE { 1332 qosIfAlgDropCapsType BITS 1333 } 1335 qosIfAlgDropCapsType OBJECT-TYPE 1336 SYNTAX BITS { 1337 tailDrop(2), 1338 headDrop(3), 1339 randomDrop(4) } 1340 STATUS current 1341 DESCRIPTION 1342 "The type of algorithm that droppers associated with queues 1343 may use. 1345 The tailDrop(2) algorithm means that packets are dropped from 1346 the tail of the queue when the associated queue's MaxQueueSize is 1347 exceeded. The headDrop(3) algorithm means that packets are 1348 dropped from the head of the queue when the associated queue's 1349 MaxQueueSize is exceeded. The randomDrop(4) algorithm means that 1350 an algorithm is executed which may randomly 1351 drop the packet, or drop other packet(s) from the queue 1352 in its place. The specifics of the algorithm may be 1353 proprietary. However, parameters would be specified in the 1354 qosRandomDropTable." 1355 ::= { qosIfAlgDropCapsEntry 1 } 1357 DiffServ QoS Policy Information Base February 2001 1359 -- 1360 -- Queue Capabilities 1361 -- 1363 qosIfQueueCapsTable OBJECT-TYPE 1364 SYNTAX SEQUENCE OF QosIfQueueCapsEntry 1365 PIB-ACCESS notify, 4 1366 STATUS current 1367 DESCRIPTION 1368 "This table specifies the scheduling capabilities of an 1369 interface type" 1370 ::= { qosCapabilityClasses 5 } 1372 qosIfQueueCapsEntry OBJECT-TYPE 1373 SYNTAX QosIfSchedulerCapsEntry 1374 STATUS current 1375 DESCRIPTION 1376 "An instance of this class describes the queue 1377 capabilities of an interface type." 1378 EXTENDS { qosBaseIfCapsEntry } 1379 UNIQUENESS { qosBaseIfCapsDirection, 1380 qosIfQueueCapsMinQueueSize, 1381 qosIfQueueCapsMaxQueueSize, 1382 qosIfQueueCapsTotalQueueSize } 1383 ::= { qosIfQueueCapsTable 1 } 1385 QosIfQueueCapsEntry ::= SEQUENCE { 1386 qosIfQueueCapsMinQueueSize Unsigned32, 1387 qosIfQueueCapsMaxQueueSize Unsigned32, 1388 qosIfQueueCapsTotalQueueSize Unsigned32 1389 } 1391 qosIfQueueCapsMinQueueSize OBJECT-TYPE 1392 SYNTAX Unsigned32 1393 STATUS current 1394 DESCRIPTION 1395 "Some interfaces may allow the size of a queue to be 1396 configured. This attribute specifies the minimum size that 1397 can be configured for a queue, specified in bytes." 1398 ::= { qosIfQueueCapsEntry 1 } 1400 qosIfQueueCapsMaxQueueSize OBJECT-TYPE 1401 SYNTAX Unsigned32 1402 STATUS current 1403 DESCRIPTION 1405 DiffServ QoS Policy Information Base February 2001 1407 "Some interfaces may allow the size of a queue to be 1408 configured. This attribute specifies the maximum size that 1409 can be configured for a queue, specified in bytes." 1410 ::= { qosIfQueueCapsEntry 2 } 1412 qosIfQueueCapsTotalQueueSize OBJECT-TYPE 1413 SYNTAX Unsigned32 1414 STATUS current 1415 DESCRIPTION 1416 "Some interfaces may have a limited buffer space to be share 1417 amoungst all queues of that interface while also allowing the 1418 size of each queue to be configurable. To prevent the 1419 situation where the PDP configures the sizes of the queues in 1420 excess of the total buffer available to the interface, the PEP 1421 can report the total buffer space in bytes available with this 1422 capability." 1423 ::= { qosIfQueueCapsEntry 3 } 1425 -- 1426 -- Scheduler Capabilities 1427 -- 1429 qosIfSchedulerCapsTable OBJECT-TYPE 1430 SYNTAX SEQUENCE OF QosIfSchedulerCapsEntry 1431 PIB-ACCESS notify, 3 1432 STATUS current 1433 DESCRIPTION 1434 "This table specifies the scheduler capabilities of an 1435 interface type" 1436 ::= { qosCapabilityClasses 6 } 1438 qosIfSchedulerCapsEntry OBJECT-TYPE 1439 SYNTAX QosIfSchedulerCapsEntry 1440 STATUS current 1441 DESCRIPTION 1442 "An instance of this class describes the scheduler 1443 capabilities of an interface type." 1444 EXTENDS { qosBaseIfCapsEntry } 1445 UNIQUENESS { qosBaseIfCapsDirection, 1446 qosIfSchedulerCapsServiceDisc, 1447 qosIfSchedulerCapsMaxInputs } 1448 ::= { qosIfSchedulerCapsTable 1 } 1450 QosIfSchedulerCapsEntry ::= SEQUENCE { 1451 DiffServ QoS Policy Information Base February 2001 1453 qosIfSchedulerCapsServiceDisc OBJECT IDENTIFIER, 1454 qosIfSchedulerCapsMaxInputs Unsigned32 1455 } 1457 qosIfSchedulerCapsServiceDisc OBJECT-TYPE 1458 SYNTAX OBJECT IDENTIFIER 1459 STATUS current 1460 DESCRIPTION 1461 "The scheduling discipline for which the set of capabilities 1462 specified in this object apply. Obejct identifiers for several 1463 general purpose and well-known queuing disciplines are defined 1464 in this PIB. Queueing disciplines defined in another PIB may 1465 also be specified." 1466 ::= { qosIfSchedulerCapsEntry 1 } 1468 qosIfSchedulerCapsMaxInputs OBJECT-TYPE 1469 SYNTAX Unsigned32 1470 STATUS current 1471 DESCRIPTION 1472 "The maximum number of queues that this interface type can 1473 support for the scheduler type indicated by 1474 qosIfSchedulerCapsServiceDisc. A value of zero means that there 1475 is no maximum." 1476 ::= { qosIfSchedulerCapsEntry 2 } 1478 -- 1479 -- Shaper Capabilities 1480 -- 1482 qosIfShaperCapsTable OBJECT-TYPE 1483 SYNTAX SEQUENCE OF QosIfShaperCapsEntry 1484 PIB-ACCESS notify, 3 1485 STATUS current 1486 DESCRIPTION 1487 "This table specifies the shaping capabilities of an 1488 interface type" 1489 ::= { qosCapabilityClasses 7 } 1491 qosIfShaperCapsEntry OBJECT-TYPE 1492 SYNTAX QosIfShaperCapsEntry 1493 STATUS current 1494 DESCRIPTION 1495 "An instance of this class describes the shaping 1496 capabilities of an interface type." 1498 DiffServ QoS Policy Information Base February 2001 1500 EXTENDS { qosBaseIfCapsEntry } 1501 UNIQUENESS { qosBaseIfCapsDirection, 1502 qosIfShaperCapsAlgorithm, 1503 qosIfShaperCapsMaxNumberOfRates } 1504 ::= { qosIfShaperCapsTable 1 } 1506 QosIfShaperCapsEntry ::= SEQUENCE { 1507 qosIfShaperCapsAlgorithm OBJECT IDENTIFIER, 1508 qosIfShaperCapsMaxNumberOfRates Unsigned32 1509 } 1511 qosIfShaperCapsAlgorithm OBJECT-TYPE 1512 SYNTAX OBJECT IDENTIFIER 1513 STATUS current 1514 DESCRIPTION 1515 "The shaping method for which the set of capabilities 1516 specified in this object apply. Values that may be 1517 used for this attribute are TBD." 1518 ::= { qosIfShaperCapsEntry 1 } 1520 qosIfShaperCapsMaxNumberOfRates OBJECT-TYPE 1521 SYNTAX Unsigned32 1522 STATUS current 1523 DESCRIPTION 1524 "The maximum number of rates shapers of the type indicated 1525 by qosIfShaperCapsAlgorithm may have for this interface type 1526 and flow direction." 1527 ::= { qosIfShaperCapsEntry 2 } 1529 -- 1530 -- Datapath Element Linkage Capabilities 1531 -- 1533 -- 1534 -- Datapath Element Cascade Depth 1535 -- 1537 qosIfElmDepthCapsTable OBJECT-TYPE 1538 SYNTAX SEQUENCE OF QosIfElmDepthCapsEntry 1539 PIB-ACCESS notify, 3 1540 STATUS current 1541 DESCRIPTION 1542 "This table specifies the number of elements of the same 1544 DiffServ QoS Policy Information Base February 2001 1546 type that can be cascaded together in a data path." 1547 ::= { qosCapabilityClasses 8 } 1549 qosIfElmDepthCapsEntry OBJECT-TYPE 1550 SYNTAX QosIfElmDepthCapsEntry 1551 STATUS current 1552 DESCRIPTION 1553 "An instance of this class describes the cascade depth 1554 for a particular datapath functional element PRC. A 1555 functional datapath element not represented in this 1556 table can be assumed to have no specific maximum 1557 depth." 1559 EXTENDS { qosBaseIfCapsEntry } 1560 UNIQUENESS { qosBaseIfCapsDirection, 1561 qosIfElmDepthCapsPrc } 1562 ::= { qosIfElmDepthCapsTable 1 } 1564 QosIfElmDepthCapsEntry ::= SEQUENCE { 1565 qosIfElmDepthCapsPrc OBJECT IDENTIFIER, 1566 qosIfElmDepthCapsCascadeMax Unsigned32 1567 } 1569 qosIfElmDepthCapsPrc OBJECT-TYPE 1570 SYNTAX OBJECT IDENTIFIER 1571 STATUS current 1572 DESCRIPTION 1573 "The object identifier of a PRC that represents a datapath 1574 functional element. This may be one of: qosClfrElementEntry, 1575 qosMeterEntry, qosActionEntry, qosAlgDropEntry, qosQEntry, or 1576 qosSchedulerEntry. The value is the OID of the table entry. 1577 There may not be more than one instance of this class with 1578 the same value of qosIfElmDepthCapsPrc." 1579 ::= { qosIfElmDepthCapsEntry 1 } 1581 qosIfElmDepthCapsCascadeMax OBJECT-TYPE 1582 SYNTAX Unsigned32 1583 STATUS current 1584 DESCRIPTION 1585 "The maximum number of elements of type qosIfElmDepthCapsPrc 1587 DiffServ QoS Policy Information Base February 2001 1589 that can be linked consecutively in a data path." A value of 1590 zero indicates there is no specific maximum." 1591 ::= { qosIfElmDepthCapsEntry 2 } 1593 -- 1594 -- Datapath Element Linkage Types 1595 -- 1597 qosIfElmLinkCapsTable OBJECT-TYPE 1598 SYNTAX SEQUENCE OF QosIfElmLinkCapsEntry 1599 PIB-ACCESS notify, 4 1600 STATUS current 1601 DESCRIPTION 1602 "This table specifies what types of datapath functional 1603 elements may be used as the next downstream element for 1604 a specific type of functional element." 1605 ::= { qosCapabilityClasses 9 } 1607 qosIfElmLinkCapsEntry OBJECT-TYPE 1608 SYNTAX QosIfElmLinkCapsEntry 1609 STATUS current 1610 DESCRIPTION 1611 "An instance of this class specifies a PRC that may 1612 be used as the next functional element after a specific 1613 type of element in a data path." 1615 EXTENDS { qosBaseIfCapsEntry } 1616 UNIQUENESS { qosBaseIfCapsDirection, 1617 qosIfElmLinkCapsPrc, 1618 qosIfElmLinkCapsAttr, 1619 qosIfElmLinkCapsNextPrc } 1620 ::= { qosIfElmLinkCapsTable 1 } 1622 QosIfElmLinkCapsEntry ::= SEQUENCE { 1623 qosIfElmLinkCapsPrc OBJECT IDENTIFIER, 1624 qosIfElmLinkCapsAttr Unsigned32, 1625 qosIfElmLinkCapsNextPrc OBJECT IDENTIFIER 1626 } 1627 DiffServ QoS Policy Information Base February 2001 1629 qosIfElmLinkCapsPrc OBJECT-TYPE 1630 SYNTAX OBJECT IDENTIFIER 1631 STATUS current 1632 DESCRIPTION 1633 "The value is the OID of a PRC that represents a 1634 functional datapath element." 1635 ::= { qosIfElmLinkCapsEntry 1 } 1637 qosIfElmLinkCapsAttr OBJECT-TYPE 1638 SYNTAX Unsigned32 1639 STATUS current 1640 DESCRIPTION 1641 "The value represents the attribute in the the PRC 1642 indicated by qosIfElmLinkCapsPrc that is used to 1643 specify the next functional element in the datapath. 1645 The attribute value corresponds to the order in which 1646 the attribute appears in the definition of the PRC. 1647 A value of 1 indicates the first attribute of the PRC, 1648 a value of 2 indicates the second attribute of the 1649 PRC, and so forth." 1650 ::= { qosIfElmLinkCapsEntry 2 } 1652 qosIfElmLinkCapsNextPrc OBJECT-TYPE 1653 SYNTAX OBJECT IDENTIFIER 1654 STATUS current 1655 DESCRIPTION 1656 "The value is the OID of a PRC table entry from which 1657 instances can be referenced by the attribute indicated 1658 by qosIfElmLinkCapsPrc and qosIfElmLinkAttr. 1660 For example, suppose a meter's success output can be an 1661 action or another meter, and the fail output can only be 1662 an action. This can be expressed as follows: 1664 Prid Prc Attr NextPrc 1665 1 qosMeterEntry qosMeterSucceedNext qosActionEntry 1666 2 qosMeterEntry qosMeterSucceedNext qosMeterEntry 1667 3 qosMeterEntry qosMeterFailNext qosActionEntry." 1668 ::= { qosIfElmLinkCapsEntry 3 } 1670 -- 1671 DiffServ QoS Policy Information Base February 2001 1673 -- Policy Classes 1674 -- 1676 -- 1677 -- Data Path Table 1678 -- 1679 -- The Data Path Table enumerates the Differentiated Services 1680 -- Data Paths within this device. Each entry specifies 1681 -- the first functional datapath element to process data flow 1682 -- for each specific datapath. Each datapath is defined by the 1683 -- interface role combination and direction. This table can 1684 -- therefore have up to two entries for each role combination, 1685 -- ingress and egress. 1687 qosDataPathTable OBJECT-TYPE 1688 SYNTAX SEQUENCE OF QosDataPathEntry 1689 PIB-ACCESS install, 6 1690 STATUS current 1691 DESCRIPTION 1692 "The data path table defines the data paths in this 1693 device. Each data path is defined by the interface, 1694 role combination and traffic direction. The first 1695 functional datapath element to handle traffic for 1696 this data path is defined by a Prid in the entries 1697 of this table." 1698 ::= { qosPolicyClasses 1 } 1700 qosDataPathEntry OBJECT-TYPE 1701 SYNTAX QosDataPathEntry 1702 STATUS current 1703 DESCRIPTION 1704 "An entry in the data path table describes a single 1705 data path in this device." 1706 PIB-INDEX { qosDataPathPrid } 1707 UNIQUENESS { qosDataPathRoles, 1708 qosDataPathIfDirection } 1709 ::= { qosDataPathTable 1 } 1711 QosDataPathEntry ::= SEQUENCE { 1712 qosDataPathPrid InstanceId, 1713 qosDataPathIfName SnmpAdminString, 1715 DiffServ QoS Policy Information Base February 2001 1717 qosDataPathRoles RoleCombination, 1718 qosDataPathIfDirection IfDirection, 1719 qosDataPathStart Prid 1720 } 1722 qosDataPathPrid OBJECT-TYPE 1723 SYNTAX InstanceId 1724 STATUS current 1725 DESCRIPTION 1726 "An arbitrary integer index that uniquely identifies an 1727 instance of the class." 1728 ::= { qosDataPathEntry 1 } 1730 qosDataPathIfName OBJECT-TYPE 1731 SYNTAX SnmpAdminString 1732 STATUS current 1733 DESCRIPTION 1734 "The interface capability set to which this data path entry 1735 applies. The interface capability name specified by this 1736 attribute must exist in the frwkIfCapSetTable [FR-PIB] prior 1737 to association with an instance of this class." 1738 ::= { qosDataPathEntry 2 } 1740 qosDataPathRoles OBJECT-TYPE 1741 SYNTAX RoleCombination 1742 STATUS current 1743 DESCRIPTION 1744 "The interfaces to which this data path entry applies, 1745 specified in terms of roles. There must exist an entry 1746 in the frwkIfCapSetRoleComboTable [FR-PIB] specifying 1747 this role combination, together with the interface 1748 capability set specified by qosDataPathIfName, prior to 1749 association with an instance of this class." 1750 ::= { qosDataPathEntry 3 } 1752 qosDataPathIfDirection OBJECT-TYPE 1753 SYNTAX IfDirection 1754 STATUS current 1755 DESCRIPTION 1756 "Specifies the direction for which this data path 1757 entry applies on this interface." 1759 DiffServ QoS Policy Information Base February 2001 1761 ::= { qosDataPathEntry 4 } 1763 qosDataPathStart OBJECT-TYPE 1764 SYNTAX Prid 1765 STATUS current 1766 DESCRIPTION 1767 "This selects the first functional datapath element 1768 to handle traffic for this data path. This 1769 Prid should point to an instance of one of: 1770 qosClfrEntry 1771 qosMeterEntry 1772 qosActionEntry 1773 qosAlgDropEntry 1774 qosQEntry 1776 The PRI to must exist prior to the installation of 1777 this datapath start element." 1778 ::= { qosDataPathEntry 5 } 1780 -- 1781 -- Classifiers 1782 -- 1784 -- 1785 -- Classifier Table 1786 -- 1787 -- Classifier allows multiple classifier elements, of same or different 1788 -- types, to be used together. 1789 -- A classifier must completely classify all packets presented to it. 1790 -- This means all traffic handled by a classifier must match 1791 -- at least one classifier element within the classifier, 1792 -- with the classifier element parameters specified by a filter. 1794 qosClfrTable OBJECT-TYPE 1795 SYNTAX SEQUENCE OF QosClfrEntry 1796 PIB-ACCESS install, 3 1797 STATUS current 1798 DESCRIPTION 1799 "" 1800 REFERENCE 1801 "[MODEL] section 4.1" 1802 ::= { qosPolicyClasses 2 } 1804 DiffServ QoS Policy Information Base February 2001 1806 qosClfrEntry OBJECT-TYPE 1807 SYNTAX QosClfrEntry 1808 STATUS current 1809 DESCRIPTION 1810 "An entry in the classifier table describes a 1811 single classifier. Each classifier element belong- 1812 ing to the this classifier must have its 1813 qosClfrElementClfrId attribute equal to qosClfrId." 1814 PIB-INDEX { qosClfrPrid } 1815 UNIQUENESS { qosClfrId } 1816 ::= { qosClfrTable 1 } 1818 QosClfrEntry ::= SEQUENCE { 1819 qosClfrPrid InstanceId, 1820 qosClfrId TagReference 1821 } 1823 qosClfrPrid OBJECT-TYPE 1824 SYNTAX InstanceId 1825 STATUS current 1826 DESCRIPTION 1827 "An arbitrary integer index that uniquely identifies an 1828 instance of the class." 1829 ::= { qosClfrEntry 1 } 1831 qosClfrId OBJECT-TYPE 1832 SYNTAX TagReference 1833 PIB-TAG qosClfrElementClfrId 1834 STATUS current 1835 DESCRIPTION 1836 "Identifies a Classifier. A Classifier must be 1837 complete, this means all traffic handled by a 1838 Classifier must match at least one Classifier 1839 Element within the Classifier." 1840 ::= { qosClfrEntry 2 } 1842 -- 1843 -- Classifier Element Table 1844 -- 1845 -- Entries in the classifier element table serves as 1846 -- the anchor for each classification pattern, defined 1847 DiffServ QoS Policy Information Base February 2001 1849 -- in filter table entries. Each classifier element 1850 -- table entry also specifies the subsequent downstream 1851 -- diffserv functional datapath element when the 1852 -- classification pattern is satisfied. 1853 -- Each entry in the classifier element table describes 1854 -- one branch of the fan-out characteristic of a classifier 1855 -- indicated in [MODEL] section 4.1. A classifier is made up 1856 -- of one or more classifier elements. 1857 -- 1859 qosClfrElementTable OBJECT-TYPE 1860 SYNTAX SEQUENCE OF QosClfrElementEntry 1861 PIB-ACCESS install, 6 1862 STATUS current 1863 DESCRIPTION 1864 "The classifier element table enumerates the rela- 1865 tionship between classification patterns and subse- 1866 quent downstream diffserv functional data path ele- 1867 ments. Classification parameters are defined by 1868 entries of filter tables pointed to by 1869 qosClfrElementSpecific. There can be filter 1870 tables of different types, and they can be inter- 1871 mixed and used within a classifier. An example of a 1872 filter table is the frwkIpFilterTable, defined in 1873 [FR-PIB], for IP Multi-Field Classifiers (MFCs). 1874 Filter tables for other filter types may be defined 1875 elsewhere." 1876 REFERENCE 1877 "[MODEL] section 4.1" 1878 ::= { qosPolicyClasses 3 } 1880 qosClfrElementEntry OBJECT-TYPE 1881 SYNTAX QosClfrElementEntry 1882 STATUS current 1883 DESCRIPTION 1884 "An entry in the classifier element table describes a 1885 single element of the classifier." 1886 PIB-INDEX { qosClfrElementPrid } 1887 UNIQUENESS { qosClfrElementClfrId, 1888 qosClfrElementOrder, 1889 qosClfrElementSpecific } 1890 ::= { qosClfrElementTable 1 } 1892 DiffServ QoS Policy Information Base February 2001 1894 QosClfrElementEntry ::= SEQUENCE { 1895 qosClfrElementPrid InstanceId, 1896 qosClfrElementClfrId TagId, 1897 qosClfrElementPrecedence Unsigned32, 1898 qosClfrElementNext Prid, 1899 qosClfrElementSpecific Prid 1900 } 1902 qosClfrPrid OBJECT-TYPE 1903 SYNTAX InstanceId 1904 STATUS current 1905 DESCRIPTION 1906 "An arbitrary integer index that uniquely identifies an 1907 instance of the class." 1908 ::= { qosClfrElementEntry 1 } 1910 qosClfrElementClfrId OBJECT-TYPE 1911 SYNTAX TagId 1912 STATUS current 1913 DESCRIPTION 1914 "A classifier Id identifies which classifier this 1915 classifier element is a part of. This needs to be 1916 the value of qosClfrId attribute for an existing 1917 instance of qosClfrEntry." 1918 ::= { qosClfrElementEntry 2 } 1920 qosClfrElementPrecedence OBJECT-TYPE 1921 SYNTAX Unsigned32 1922 STATUS current 1923 DESCRIPTION 1924 "The relative order in which classifier elements are 1925 applied: higher numbers represent classifier elements 1926 with higher precedence. Classifier elements with the same 1927 order must be unambiguous i.e. they must define 1928 non-overlapping patterns, and are considered to be 1929 applied simultaneously to the traffic stream. Clas- 1930 sifier elements with different order may overlap in 1931 their filters: the classifier element with the highest 1932 order that matches is taken. 1934 On a given interface, there must be a complete clas- 1935 sifier in place at all times in the 1937 DiffServ QoS Policy Information Base February 2001 1939 ingress direction. This means that there will always 1940 be one or more filters that match every possible pat- 1941 tern that could be presented in an incoming packet. 1942 There is no such requirement in the egress direction." 1943 DEFVAL { 0 } 1944 ::= { qosClfrElementEntry 3 } 1946 qosClfrElementNext OBJECT-TYPE 1947 SYNTAX Prid 1948 STATUS current 1949 DESCRIPTION 1950 "This attribute provides one branch of the fan-out 1951 functionality of a classifier described in [MODEL] 1952 section 4.1. 1954 This selects the next diffserv functional datapath 1955 element to handle traffic for this data path. 1957 A value of zeroDotZero marks the end of DiffServ processing 1958 for this data path. Any other value must point to a 1959 valid (pre-existing) instance of one of:" 1960 qosClfrEntry 1961 qosMeterEntry 1962 qosActionEntry 1963 qosAlgDropEntry 1964 qosQEntry." 1965 DEFVAL { zeroDotZero } 1966 ::= { qosClfrElementEntry 4 } 1968 qosClfrElementSpecific OBJECT-TYPE 1969 SYNTAX Prid 1970 STATUS current 1971 DESCRIPTION 1972 "A pointer to a valid entry in another table that 1973 describes the applicable classification filter, e.g. 1974 an entry in frwkIpFilterTable [FR-PIB]. 1976 The PRI pointed to must exist prior to the installation of 1977 this classifier element. 1979 The value zeroDotZero is interpreted to match any- 1980 thing not matched by another classifier element - only one 1981 such entry may exist for each classifier." 1983 DiffServ QoS Policy Information Base February 2001 1985 DEFVAL { zeroDotZero } 1986 ::= { qosClfrElementEntry 5 } 1988 -- 1989 -- Meters 1990 -- 1991 -- This PIB supports a variety of Meters. It includes a 1992 -- specific definition for Meters whose parameter set can 1993 -- be modelled using Token Bucket parameters. 1994 -- Other metering parameter sets can be defined and used 1995 -- when necessary. 1996 -- 1997 -- Multiple meter elements may be logically cascaded 1998 -- using their qosMeterSucceedNext pointers if 1999 -- a multi-rate Meter is required. 2000 -- One example of this might be for an AF PHB implementation 2001 -- that uses two-rate meters. 2002 -- 2003 -- Cascading of individual meter elements in the PIB is intended 2004 -- to be functionally equivalent to determining the conformance 2005 -- level of a packet using a multi-rate meter. The sequential 2006 -- nature of the representation is merely a notational 2007 -- convenience for this PIB. 2008 -- 2009 -- For example: 2010 -- Conforming to RFC 2697, srTCM can be parameterized using 2011 -- two sets of qosMeterEntry and qosTBMeterEntry. 2012 -- With the first set parameterizing the Committed Burst Size 2013 -- token-bucket, second set parameterizing the Excess Burst Size 2014 -- token-bucket. With both set's qosTBMeterRate parameters 2015 -- being used to reflect the Committed Information Rate value. 2016 -- 2017 -- Conforming to RFC 2698, trTCM can be parameterized using 2018 -- two sets of qosMeterEntry and qosTBMeterEntry. 2019 -- With the first set parameterizing the Peak Information Rate 2020 -- and Peak Burst Size token-bucket, second set parameterizing 2021 -- the Committed Information Rate and Committed Burst Size 2022 -- token-bucket. 2023 -- 2024 -- Conforming to RFC 2859, tswTCM can be parameterized using 2025 -- two sets of qosMeterEntry and qosTBMeterEntry. 2026 -- With the first set parameterizing the Committed Target Rate, 2027 -- second set parametering the Peak Target Rate. 2028 -- With both set's qosTBMeterInterval being used to 2029 DiffServ QoS Policy Information Base February 2001 2031 -- reflect the Average Interval as specified by RFC 2859. 2032 -- 2034 qosMeterTable OBJECT-TYPE 2035 SYNTAX SEQUENCE OF QosMeterEntry 2036 PIB-ACCESS install, 5 2037 STATUS current 2038 DESCRIPTION 2039 "This table enumerates specific meters that a system 2040 may use to police a stream of traffic. The traffic 2041 stream to be metered is determined by the element(s) 2042 upstream of the meter i.e. by the object(s) that 2043 point to each entry in this table. This may include 2044 all traffic on an interface. 2046 Specific meter details are to be found in 2047 qosMeterSpecific." 2048 REFERENCE 2049 "[MODEL] section 5.1" 2050 ::= { qosPolicyClasses 4 } 2052 qosMeterEntry OBJECT-TYPE 2053 SYNTAX QosMeterEntry 2054 STATUS current 2055 DESCRIPTION 2056 "An entry in the meter table describing a single 2057 meter." 2058 PIB-INDEX { qosMeterPrid } 2059 UNIQUENESS { } 2060 ::= { qosMeterTable 1 } 2062 QosMeterEntry ::= SEQUENCE { 2063 qosMeterPrid InstanceId, 2064 qosMeterSucceedNext Prid, 2065 qosMeterFailNext Prid, 2066 qosMeterSpecific Prid 2067 } 2069 qosMeterPrid OBJECT-TYPE 2070 SYNTAX InstanceId 2071 STATUS current 2073 DiffServ QoS Policy Information Base February 2001 2075 DESCRIPTION 2076 "An arbitrary integer index that uniquely identifies an 2077 instance of the class." 2078 ::= { qosMeterEntry 1 } 2080 qosMeterSucceedNext OBJECT-TYPE 2081 SYNTAX Prid 2082 STATUS current 2083 DESCRIPTION 2084 "If the traffic does conform, this selects the next 2085 diffserv functional datapath element to handle 2086 traffic for this data path. 2088 The value zeroDotZero in this variable indicates no 2089 further Diffserv treatment is performed on traffic of 2090 this datapath. Any other value must point to a valid 2091 (pre-existing) instance of one of:" 2092 qosClfrEntry 2093 qosMeterEntry 2094 qosActionEntry 2095 qosAlgDropEntry 2096 qosQEntry." 2097 DEFVAL { zeroDotZero } 2098 ::= { qosMeterEntry 2 } 2100 qosMeterFailNext OBJECT-TYPE 2101 SYNTAX Prid 2102 STATUS current 2103 DESCRIPTION 2104 "If the traffic does not conform, this selects the 2105 next diffserv functional datapath element to handle 2106 traffic for this data path. 2108 The value zeroDotZero in this variable indicates no 2109 further Diffserv treatment is performed on traffic of 2110 this datapath. Any other value must point to a valid 2111 (pre-existing) instance of one of:" 2112 qosClfrEntry 2113 qosMeterEntry 2114 qosActionEntry 2115 qosAlgDropEntry 2116 qosQEntry." 2117 DEFVAL { zeroDotZero } 2119 DiffServ QoS Policy Information Base February 2001 2121 ::= { qosMeterEntry 3 } 2123 qosMeterSpecific OBJECT-TYPE 2124 SYNTAX Prid 2125 STATUS current 2126 DESCRIPTION 2127 "This indicates the behaviour of the meter by point- 2128 ing to an entry containing detailed parameters. Note 2129 that entries in that specific table must be managed 2130 explicitly. 2132 For example, qosMeterSpecific may point to an 2133 entry in qosTBMeterTable, which contains an 2134 instance of a single set of Token Bucket parameters. 2136 The PRI pointed to must exist prior to installing this 2137 Meter datapath element." 2138 ::= { qosMeterEntry 5 } 2140 -- 2141 -- Token-Bucket Parameter Table 2142 -- 2143 -- Each entry in the Token Bucket Parameter Table parameterizes 2144 -- a single token bucket. Multiple token buckets can be 2145 -- used together to parameterize multiple levels of 2146 -- conformance. 2147 -- 2148 -- Entries of this table are used for both policing, as token 2149 -- bucket parameters, and shaping, as leaky bucket parameters. 2150 -- 2151 -- Note that an entry in the Token Bucket Parameter Table can 2152 -- be shared, pointed to, by multiple qosMeterTable 2153 -- and qosSchedulerTable entries. 2154 -- 2156 qosTBParamTable OBJECT-TYPE 2157 SYNTAX SEQUENCE OF QosTBParamEntry 2158 PIB-ACCESS install, 6 2159 STATUS current 2160 DESCRIPTION 2161 "This table enumerates specific token-bucket meters 2163 DiffServ QoS Policy Information Base February 2001 2165 that a system may use to police a stream of traffic. 2166 Such meters are modelled here as having a single rate 2167 and a single burst size. Multiple entries are used 2168 when multiple rates/burst sizes are needed." 2169 REFERENCE 2170 "[MODEL] section 5.1" 2171 ::= { qosPolicyClasses 5 } 2173 qosTBParamEntry OBJECT-TYPE 2174 SYNTAX QosTBParamEntry 2175 STATUS current 2176 DESCRIPTION 2177 "An entry that describes a single token-bucket meter." 2178 PIB-INDEX { qosTBParamPrid } 2179 UNIQUENESS { qosTBParamType, 2180 qosTBParamRate, 2181 qosTBParamBurstSize, 2182 qosTBParamInterval } 2183 ::= { qosTBParamTable 1 } 2185 QosTBParamEntry ::= SEQUENCE { 2186 qosTBParamPrid InstanceId, 2187 qosTBParamType OBJECT IDENTIFIER, 2188 qosTBParamRate Unsigned32, 2189 qosTBParamBurstSize BurstSize, 2190 qosTBParamInterval Unsigned32 2191 } 2193 qosTBParamPrid OBJECT-TYPE 2194 SYNTAX InstanceId 2195 STATUS current 2196 DESCRIPTION 2197 "An arbitrary integer index that uniquely identifies an 2198 instance of the class." 2199 ::= { qosTBParamEntry 1 } 2201 qosTBParamType OBJECT-TYPE 2202 SYNTAX OBJECT IDENTIFIER 2203 STATUS current 2204 DESCRIPTION 2205 "The Metering/Shaping algorithm associated with the 2207 DiffServ QoS Policy Information Base February 2001 2209 Token/Leaky Bucket parameters. 2211 Standard values for generic algorithms are as follows: 2213 qosTBParamSimpleTokenBucket, qosTBParamAvgRate, 2214 qosTBParamSrTCMBlind, qosTBParamSrTCMAware, 2215 qosTBParamTrTCMBlind, qosTBParamTrTCMAware, 2216 qosTBParamTswTCM 2218 are specified in this PIB as OBJECT-IDENTITYs; additional values 2219 may be further specified in other PIBs." 2220 REFERENCE 2221 "[MODEL] section 5" 2222 ::= { qosTBParamEntry 2 } 2224 qosTBParamRate OBJECT-TYPE 2225 SYNTAX Unsigned32 2226 UNITS "kilobits per second" 2227 STATUS current 2228 DESCRIPTION 2229 "The token-bucket rate, in kilobits per second 2230 (kbps). This attribute is used for: 1. CIR in RFC 2231 2697 for srTCM 2. PIR and CIR in FRC 2698 for trTCM 2232 3. CTR and PTR in RFC 2859 for TSWTCM 4. AverageRate 2233 used in [MODEL] section 5." 2234 ::= { qosTBParamEntry 3 } 2236 qosTBParamBurstSize OBJECT-TYPE 2237 SYNTAX BurstSize 2238 UNITS "Bytes" 2239 STATUS current 2240 DESCRIPTION 2241 "The maximum number of bytes in a single transmission 2242 burst. This attribute is used for: 1. CBS and EBS in 2243 RFC 2697 for srTCM 2. CBS and PBS in FRC 2698 for 2244 trTCM 3. Burst Size used in [MODEL] section 5." 2245 ::= { qosTBParamEntry 4 } 2247 qosTBparamInterval OBJECT-TYPE 2248 SYNTAX Unsigned32 2249 UNITS "microseconds" 2250 STATUS current 2252 DiffServ QoS Policy Information Base February 2001 2254 DESCRIPTION 2255 "The time interval used with the token bucket. For: 2256 1. Average Rate Meter, [MODEL] section 5.2.1, - 2257 Delta. 2. Simple Token Bucket Meter, [MODEL] section 2258 5.1, - time interval t. 3. RFC 2859 TSWTCM, - 2259 AVG_INTERVAL. 4. RFC 2697 srTCM, RFC 2698 trTCM, - 2260 token bucket update time interval." 2261 ::= { qosTBParamEntry 5 } 2263 -- 2264 -- Actions 2265 -- 2267 -- 2268 -- The Action Table allows enumeration of the different 2269 -- types of actions to be applied to a traffic flow. 2270 -- 2272 qosActionTable OBJECT-TYPE 2273 SYNTAX SEQUENCE OF QosActionEntry 2274 PIB-ACCESS install, 5 2275 STATUS current 2276 DESCRIPTION 2277 "The Action Table enumerates actions that can be per- 2278 formed to a stream of traffic. Multiple actions can 2279 be concatenated. For example, after marking a stream 2280 of traffic exiting from a meter, a device can then 2281 perform a mark action of the conforming or non- 2282 conforming traffic. 2284 Specific actions are indicated by qosAction- 2285 Specific which points to an entry of a specific 2286 action type parameterizing the action in detail." 2287 REFERENCE 2288 "[MODEL] section 6." 2289 ::= { qosPolicyClasses 6 } 2291 qosActionEntry OBJECT-TYPE 2292 SYNTAX QosActionEntry 2294 DiffServ QoS Policy Information Base February 2001 2296 STATUS current 2297 DESCRIPTION 2298 "Each entry in the action table allows description of 2299 one specific action to be applied to traffic." 2300 PIB-INDEX { qosActionPrid } 2301 UNIQUENESS { } 2302 ::= { qosActionTable 1 } 2304 QosActionEntry ::= SEQUENCE { 2305 qosActionPrid InstanceId, 2306 qosActionNext Prid, 2307 qosActionSpecific Prid, 2308 qosActionType INTEGER 2309 } 2311 qosActionPrid OBJECT-TYPE 2312 SYNTAX InstanceId 2313 STATUS current 2314 DESCRIPTION 2315 "An arbitrary integer index that uniquely identifies an 2316 instance of the class." 2317 ::= { qosActionEntry 1 } 2319 qosActionNext OBJECT-TYPE 2320 SYNTAX Prid 2321 STATUS current 2322 DESCRIPTION 2323 "This selects the next diffserv functional datapath 2324 element to handle traffic for this data path. 2326 The value zeroDotZero in this variable indicates no 2327 further Diffserv treatment is performed on traffic of 2328 this datapath. Any other value must point to a valid 2329 (pre-existing) instance of one of:" 2330 qosClfrEntry 2331 qosMeterEntry 2332 qosActionEntry 2333 qosAlgDropEntry 2334 qosQEntry." 2335 DEFVAL { zeroDotZero } 2336 ::= { qosActionEntry 2 } 2338 DiffServ QoS Policy Information Base February 2001 2340 qosActionSpecific OBJECT-TYPE 2341 SYNTAX Prid 2342 STATUS current 2343 DESCRIPTION 2344 "A pointer to an object instance providing additional 2345 information for the type of action indicated by this 2346 action table entry. 2348 This attribute is meaningful only if qosActionType is 2349 specific(2). For other action types, this attribute 2350 should be NULL. 2352 For the standard actions defined by this PIB module, 2353 this should point to an instance of 2354 qosDscpMarkActEntry. For other actions, it may point 2355 to an instance of a PRC defined in some other PIB. 2356 The PRI pointed to must exist prior to installing this 2357 action datapath entry." 2358 ::= { qosActionEntry 3 } 2360 qosActionType OBJECT-TYPE 2361 SYNTAX INGEGER { 2362 specific(2), 2363 absoluteDrop(3) 2364 } 2365 STATUS current 2366 DESCRIPTION 2367 "This attribute indicates how the parameters of the 2368 action are to be specified. 2370 A value of specific(2) indicates that the action 2371 paramters are described in the instance of the PRC 2372 pointed to by qosActionSpecific. 2374 A value of absoluteDrop(3) indicates that the absolute 2375 drop action to be taken, and that no additional 2376 parameters apply to this action. For this action 2377 type, the value of qosActionSpecific should be 2378 zeroDotZero." 2379 ::= { qosActionEntry 4 } 2381 -- DSCP Mark Action Table 2382 -- 2383 DiffServ QoS Policy Information Base February 2001 2385 -- Rows of this table are pointed to by qosActionSpecific 2386 -- to provide detailed parameters specific to the DSCP 2387 -- Mark action. 2388 -- 2390 qosDscpMarkActTable OBJECT-TYPE 2391 SYNTAX SEQUENCE OF QosDscpMarkActEntry 2392 PIB-ACCESS install, 3 2393 STATUS current 2394 DESCRIPTION 2395 "This table enumerates specific DSCPs used for mark- 2396 ing or remarking the DSCP field of IP packets. The 2397 entries of this table may be referenced by a 2398 qosActionSpecific attribute." 2399 REFERENCE 2400 "[MODEL] section 6.1" 2401 ::= { qosPolicyClasses 7 } 2403 qosDscpMarkActEntry OBJECT-TYPE 2404 SYNTAX QosDscpMarkActEntry 2405 STATUS current 2406 DESCRIPTION 2407 "An entry in the DSCP mark action table that 2408 describes a single DSCP used for marking." 2409 PIB-INDEX { qosDscpMarkActPrid } 2410 INDEX { qosDscpMarkActDscp } 2411 UNIQUENESS { qosDscpMarkActDscp } 2412 ::= { qosDscpMarkActTable 1 } 2414 QosDscpMarkActEntry ::= SEQUENCE { 2415 qosDscpMarkActPrid InstanceId, 2416 qosDscpMarkActDscp Dscp 2417 } 2419 qosDscpMarkActPrid OBJECT-TYPE 2420 SYNTAX InstanceId 2421 STATUS current 2422 DESCRIPTION 2423 "An arbitrary integer index that uniquely identifies an 2424 instance of the class." 2425 ::= { qosDscpMarkActEntry 1 } 2427 DiffServ QoS Policy Information Base February 2001 2429 qosDscpMarkActDscp OBJECT-TYPE 2430 SYNTAX Dscp 2431 STATUS current 2432 DESCRIPTION 2433 "The DSCP that this Action uses for marking/remarking 2434 traffic. Note that a DSCP value of -1 is not permit- 2435 ted in this table. It is quite possible that the 2436 only packets subject to this Action are already 2437 marked with this DSCP. Note also that Diffserv may 2438 result in packet remarking both on ingress to a net- 2439 work and on egress from it and it is quite possible 2440 that ingress and egress would occur in the same 2441 router." 2442 ::= { qosDscpMarkActEntry 2 } 2444 -- 2445 -- Algorithmic Drop Table 2446 -- 2448 qosAlgDropTable OBJECT-TYPE 2449 SYNTAX SEQUENCE OF QosAlgDropEntry 2450 PIB-ACCESS install, 7 2451 STATUS current 2452 DESCRIPTION 2453 "The algorithmic drop table contains entries describ- 2454 ing an element that drops packets according to some 2455 algorithm." 2456 REFERENCE 2457 "[MODEL] section 7.1.3" 2458 ::= { qosPolicyClasses 9 } 2460 qosAlgDropEntry OBJECT-TYPE 2461 SYNTAX QosAlgDropEntry 2462 STATUS current 2463 DESCRIPTION 2464 "An entry describes a process that drops packets 2465 according to some algorithm. Further details of the 2466 algorithm type are to be found in qosAlgDropType 2467 and with more detail parameter entry pointed to by 2468 qosAlgDropSpecific when necessary." 2469 PIB-INDEX { qosAlgDropPrid } 2471 DiffServ QoS Policy Information Base February 2001 2473 UNIQUENESS { } 2474 ::= { qosAlgDropTable 1 } 2476 QosAlgDropEntry ::= SEQUENCE { 2477 qosAlgDropPrid InstanceId, 2478 qosAlgDropType INTEGER, 2479 qosAlgDropNext Prid, 2480 qosAlgDropQMeasure Prid, 2481 qosAlgDropQThreshold Unsigned32, 2482 qosAlgDropSpecific Prid 2483 } 2485 qosAlgDropPrid OBJECT-TYPE 2486 SYNTAX InstanceId 2487 STATUS current 2488 DESCRIPTION 2489 "An arbitrary integer index that uniquely identifies an 2490 instance of the class." 2491 ::= { qosAlgDropEntry 1 } 2493 qosAlgDropType OBJECT-TYPE 2494 SYNTAX INTEGER { 2495 other(1), 2496 tailDrop(2), 2497 headDrop(3), 2498 randomDrop(4) 2499 } 2500 STATUS current 2501 DESCRIPTION 2502 "The type of algorithm used by this dropper. A value 2503 of tailDrop(2) or headDrop(3) represents an algorithm 2504 that is completely specified by this PIB. 2506 A value of other(1) indicates that the specifics of 2507 the drop algorithm are specified in some other PIB 2508 module, and that the qosAlgDropSpecific attribute 2509 points to an instance of a PRC in that PIB that 2510 specifies the information necessary to implement the 2511 algorithm. 2513 The tailDrop(2) algorithm is described as follows: 2514 qosAlgDropQThreshold represents the depth of the 2516 DiffServ QoS Policy Information Base February 2001 2518 queue, pointed to by qosAlgDropQMeasure, at 2519 which all newly arriving packets will be dropped. 2521 The headDrop(3) algorithm is described as follows: if 2522 a packet arrives when the current depth of the queue, 2523 pointed to by qosAlgDropQMeasure, is at 2524 qosAlgDropQThreshold, packets currently at the head of 2525 the queue are dropped to make room for the new packet 2526 to be enqueued at the tail of the queue. 2528 The randomDrop(4) algorithm is described as follows: 2529 on packet arrival, an algorithm is executed which may 2530 randomly drop the packet, or drop other packet(s) 2531 from the queue in its place. The specifics of the 2532 algorithm may be proprietary. For this algorithm, 2533 qosAlgDropSpecific points to a qosRandomDropEntry 2534 that describes the algorithm. For this 2535 algorithm, qosAlgQThreshold is understood to be 2536 the absolute maximum size of the queue and additional 2537 parameters are described in qosRandomDropTable." 2538 ::= { qosAlgDropEntry 2 } 2540 qosAlgDropNext OBJECT-TYPE 2541 SYNTAX Prid 2542 STATUS current 2543 DESCRIPTION 2544 "This selects the next diffserv functional datapath 2545 element to handle traffic for this data path. 2547 The value zeroDotZero in this variable indicates no 2548 further Diffserv treatment is performed on traffic of 2549 this datapath. Any other value must point to a valid 2550 (pre-existing) instance of one of:" 2551 qosClfrEntry 2552 qosMeterEntry 2553 qosActionEntry 2554 qosAlgDropEntry 2555 qosQEntry." 2556 DEFVAL { zeroDotZero } 2557 ::= { qosAlgDropEntry 3 } 2559 qosAlgDropQMeasure OBJECT-TYPE 2560 SYNTAX Prid 2562 DiffServ QoS Policy Information Base February 2001 2564 STATUS current 2565 DESCRIPTION 2566 "Points to an entry in the qosQTable to indicate 2567 the queue that a drop algorithm is to monitor when 2568 deciding whether to drop a packet. 2570 The PRI pointed to must exist prior to installing 2571 this dropper element." 2572 ::= { qosAlgDropEntry 4 } 2574 qosAlgDropQThreshold OBJECT-TYPE 2575 SYNTAX Unsigned32 2576 UNITS "Bytes" 2577 STATUS current 2578 DESCRIPTION 2579 "A threshold on the depth in bytes of the queue being 2580 measured at which a trigger is generated to the drop- 2581 ping algorithm. 2583 For the tailDrop(2) or headDrop(3) algorithms, this 2584 represents the depth of the queue, pointed to by 2585 qosAlgDropQMeasure, at which the drop action 2586 will take place. Other algorithms will need to define 2587 their own semantics for this threshold." 2588 ::= { qosAlgDropEntry 5 } 2590 qosAlgDropSpecific OBJECT-TYPE 2591 SYNTAX Prid 2592 STATUS current 2593 DESCRIPTION 2594 "Points to a table entry that provides further detail 2595 regarding a drop algorithm. The PRI pointed to 2596 must exist prior to installing this dropper element. 2598 Entries with qosAlgDropType equal to other(1) 2599 must have this point to an instance of a PRC 2600 defined in another PIB module. 2602 Entries with qosAlgDropType equal to random- 2603 Drop(4) must have this point to an entry in 2604 qosRandomDropTable. 2606 For all other algorithms, this should take the value 2608 DiffServ QoS Policy Information Base February 2001 2610 zeroDotzero." 2611 ::= { qosAlgDropEntry 6 } 2613 -- 2614 -- Random Drop Table 2615 -- 2617 qosRandomDropTable OBJECT-TYPE 2618 SYNTAX SEQUENCE OF QosRandomDropEntry 2619 PIB-ACCESS install, 9 2620 STATUS current 2621 DESCRIPTION 2622 "The random drop table contains entries describing a 2623 process that drops packets randomly. Entries in this 2624 table is intended to be pointed to by 2625 qosAlgDropSpecific." 2626 REFERENCE 2627 "[MODEL] section 7.1.3" 2628 ::= { qosPolicyClasses 10 } 2630 qosRandomDropEntry OBJECT-TYPE 2631 SYNTAX QosRandomDropEntry 2632 STATUS current 2633 DESCRIPTION 2634 "An entry describes a process that drops packets 2635 according to a random algorithm." 2636 PIB-INDEX { qosRandomDropPrid } 2637 UNIQUENESS { qosRandomDropMinThreshBytes, 2638 qosRandomDropMinThreshPkts, 2639 qosRandomDropMaxThreshBytes, 2640 qosRandomDropMaxThreshPkts, 2641 qosRandomDropProbMax, 2642 qosRandomDropInvWeight, 2643 qosRandomDropSamplingRate 2644 ::= { qosRandomDropTable 1 } 2646 QosRandomDropEntry ::= SEQUENCE { 2647 qosRandomDropPrid InstanceId, 2648 qosRandomDropMinThreshBytes Unsigned32, 2649 qosRandomDropMinThreshPkts Unsigned32, 2650 qosRandomDropMaxThreshBytes Unsigned32, 2651 qosRandomDropMaxThreshPkts Unsigned32, 2653 DiffServ QoS Policy Information Base February 2001 2655 qosRandomDropProbMax Unsigned32, 2656 qosRandomDropInvWeight Unsigned32, 2657 qosRandomDropSamplingRate Unsigned32 2658 } 2660 qosRandomDropPrid OBJECT-TYPE 2661 SYNTAX InstanceId 2662 STATUS current 2663 DESCRIPTION 2664 "An arbitrary integer index that uniquely identifies an 2665 instance of the class." 2666 ::= { qosRandomDropEntry 1 } 2668 qosRandomDropMinThreshBytes OBJECT-TYPE 2669 SYNTAX Unsigned32 2670 UNITS "bytes" 2671 STATUS current 2672 DESCRIPTION 2673 "The average queue depth in bytes, beyond which traffic has a 2674 non-zero probability of being dropped." 2675 ::= { qosRandomDropEntry 2 } 2677 qosRandomDropMinThreshPkts OBJECT-TYPE 2678 SYNTAX Unsigned32 2679 UNITS "packets" 2680 STATUS current 2681 DESCRIPTION 2682 "The average queue depth in packets, beyond which traffic has a 2683 non-zero probability of being dropped." 2684 ::= { qosRandomDropEntry 3 } 2686 qosRandomDropMaxThreshBytes OBJECT-TYPE 2687 SYNTAX Unsigned32 2688 UNITS "bytes" 2689 STATUS current 2690 DESCRIPTION 2691 "The average queue depth beyond which traffic has a probability 2692 indicated by qosRandomDropProbMax of being dropped or 2693 marked. Note that this differs from the physical queue limit, 2694 which is stored in qosAlgDropQThreshold." 2695 ::= { qosRandomDropEntry 4 } 2697 DiffServ QoS Policy Information Base February 2001 2699 qosRandomDropMaxThreshPkts OBJECT-TYPE 2700 SYNTAX Unsigned32 2701 UNITS "packets" 2702 STATUS current 2703 DESCRIPTION 2704 "The average queue depth beyond which traffic has a probability 2705 indicated by qosRandomDropProbMax of being dropped or 2706 marked. Note that this differs from the physical queue limit, 2707 which is stored in qosAlgDropQThreshold." 2708 ::= { qosRandomDropEntry 5 } 2710 qosRandomDropProbMax OBJECT-TYPE 2711 SYNTAX Unsigned32 2712 STATUS current 2713 DESCRIPTION 2714 "The worst case random drop probability, expressed in drops per 2715 thousand packets. 2717 For example, if every packet may be dropped in the worst case 2718 (100%), this has the value 1000. Alternatively, if in the worst 2719 case one percent (1%) of traffic may be dropped, it has the value 2720 10." 2721 ::= { qosRandomDropEntry 6 } 2723 qosRandomDropInvWeight OBJECT-TYPE 2724 SYNTAX Unsigned32 2725 STATUS current 2726 DESCRIPTION 2727 "The weighting of past history in affecting the calculation of 2728 the current queue average. The moving average of the queue depth 2729 uses the inverse of this value as the factor for the new queue 2730 depth, and one minus that inverse as the factor for the 2731 historical average. 2733 Implementations may choose to limit the acceptable set of values 2734 to a specified set, such as powers of 2." 2735 ::= { qosRandomDropEntry 7 } 2737 qosRandomDropSamplingRate OBJECT-TYPE 2738 SYNTAX Unsigned32 2739 STATUS current 2740 DESCRIPTION 2742 DiffServ QoS Policy Information Base February 2001 2744 "The number of times per second the queue is sampled for queue 2745 average calculation. A value of zero means the queue is sampled 2746 approximately each time a packet is enqueued (or dequeued)." 2747 ::= { qosRandomDropEntry 8 } 2749 -- 2750 -- Queue Table 2751 -- 2753 -- 2754 -- An entry of qosQTable represents a FIFO queue diffserv 2755 -- functional data path element as described in [MODEL] section 2756 -- 7.1.1. 2757 -- Notice the specification of scheduling parameters for a queue 2758 -- as part of the input to a scheduler functional data path 2759 -- element as described in [MODEL] section 7.1.2. This allows 2760 -- building of hierarchical queuing/scheduling. 2761 -- A queue therefore is parameterized by: 2762 -- 1. Which scheduler will service this queue, qosQNext. 2763 -- 2. How the scheduler will service this queue, with respect 2764 -- to all the other queues the same scheduler needs to service, 2765 -- qosQWeight. | 2766 -- 2767 -- Notice one or more upstream diffserv data path element may share, 2768 -- point to, a qosQTable entry as described in [MODEL] section 2769 -- 7.1.1. 2770 -- 2772 qosQTable OBJECT-TYPE 2773 SYNTAX SEQUENCE OF QosQEntry 2774 PIB-ACCESS install, 5 2775 STATUS current 2776 DESCRIPTION 2777 "The Queue Table enumerates the individual queues on 2778 an interface." 2779 ::= { qosPolicyClasses 11 } 2781 qosQEntry OBJECT-TYPE 2782 SYNTAX QosQEntry 2783 STATUS current 2784 DESCRIPTION 2785 "An entry in the Queue Table describes a single queue 2787 DiffServ QoS Policy Information Base February 2001 2789 in one direction on an interface." 2790 PIB-INDEX { qosQPrid } 2791 UNIQUENESS { } 2792 ::= { qosQTable 1 } 2794 QosQEntry ::= SEQUENCE { 2795 qosQPrid InstanceId, 2796 qosQNext Prid, 2797 qosQWeight Prid, 2798 qosQShaper Prid 2799 } 2801 qosQPrid OBJECT-TYPE 2802 SYNTAX InstanceId 2803 STATUS current 2804 DESCRIPTION 2805 "An arbitrary integer index that uniquely identifies an 2806 instance of the class." 2807 ::= { qosQEntry 1 } 2809 qosQNext OBJECT-TYPE 2810 SYNTAX Prid 2811 STATUS current 2812 DESCRIPTION 2813 "This selects the next diffserv functional datapath 2814 element to handle traffic for this data path. This 2815 value must point to a valid (pre-existing) instance 2816 of one of: 2817 qosSchedulerEntry" 2818 ::= { qosQEntry 2 } 2820 qosQWeight OBJECT-TYPE 2821 SYNTAX Prid 2822 STATUS current 2823 DESCRIPTION 2824 "This Prid indicates the entry in qosAssuredRateTable 2825 the scheduler, pointed to by qosQNext, should use to service 2826 this queue. If this value is zeroDotZero, then qosQShaper 2827 must not be zeroDotZero. If this value is not zeroDotZero 2828 then the instance pointed to must exist prior to installing 2829 this entry." 2831 DiffServ QoS Policy Information Base February 2001 2833 ::= { qosQEntry 3 } 2835 qosQShaper OBJECT-TYPE 2836 SYNTAX Prid 2837 STATUS current 2838 DESCRIPTION 2839 "This Prid indicates the entry in qosShapingRateTable 2840 the scheduler, pointed to by qosQNext, should use to service 2841 this queue. If this value is zeroDotZero, then qosQWeight 2842 must not be zeroDotZero. If this value is not zeroDotZero 2843 then the instance pointed to must exist prior to installing 2844 this entry." 2845 ::= { qosQEntry 4 } 2847 -- 2848 -- Scheduler Table 2849 -- 2850 -- 2851 -- The Scheduler Table is used for representing packet schedulers: 2852 -- it provides flexibility for multiple scheduling algorithms, each 2853 -- servicing multiple queues, to be used on the same logical/physical 2854 -- interface. 2855 -- Notice the servicing parameters the scheduler uses is 2856 -- specified by each of its upstream functional data path elements, 2857 -- most likely queues or schedulers. 2858 -- The coordination and coherency between the servicing parameters 2859 -- of the scheduler's upstream functional data path elements must 2860 -- be maintained for the scheduler to function correctly. 2861 -- 2862 -- The qosSchedulerShaper attribute is used for specifying | 2863 -- the servicing parameters for output of a scheduler when its 2864 -- downstream functional data path element is another scheduler. 2865 -- This is used for building hierarchical queue/scheduler. 2866 -- | 2867 -- More discussion of the scheduler functional data path element 2868 -- is in [MODEL] section 7.1.2. 2869 -- 2871 qosSchedulerTable OBJECT-TYPE 2872 SYNTAX SEQUENCE OF QosSchedulerEntry 2873 PIB-ACCESS install, 6 2874 STATUS current 2875 DESCRIPTION 2877 DiffServ QoS Policy Information Base February 2001 2879 "The Scheduler Table enumerates packet schedulers. 2880 Multiple scheduling algorithms can be used on a given 2881 interface, with each algorithm described by one 2882 qosSchedulerEntry." 2883 REFERENCE 2884 "[MODEL] section 7.1.2" 2885 ::= { qosPolicyClasses 12 } 2887 qosSchedulerEntry OBJECT-TYPE 2888 SYNTAX QosSchedulerEntry 2889 STATUS current 2890 DESCRIPTION 2891 "An entry in the Scheduler Table describing a single 2892 instance of a scheduling algorithm." 2893 PIB-INDEX { qosSchedulerPrid } 2894 UNIQUENESS { } 2895 ::= { qosSchedulerTable 1 } 2897 QosSchedulerEntry ::= SEQUENCE { 2898 qosSchedulerPrid InstanceId, 2899 qosSchedulerNext Prid, 2900 qosSchedulerMethod OBJECT IDENTIFIER, 2901 qosSchedulerWeight Prid, 2902 qosSchedulerShaper Prid 2903 } 2905 qosSchedulerPrid OBJECT-TYPE 2906 SYNTAX InstanceId 2907 STATUS current 2908 DESCRIPTION 2909 "An arbitrary integer index that uniquely identifies an 2910 instance of the class." 2911 ::= { qosSchedulerEntry 1 } 2913 qosSchedulerSucceedNext OBJECT-TYPE 2914 SYNTAX Prid 2915 STATUS current 2916 DESCRIPTION 2917 "This selects the next diffserv functional datapath 2918 element to handle traffic for this data path. 2920 DiffServ QoS Policy Information Base February 2001 2922 A value of zeroDotZero in this attribute indicates no 2923 further Diffserv treatment is performed on traffic of 2924 this datapath. The use of zeroDotZero is the normal 2925 usage for the last functional datapath element. Any 2926 value other than zeroDotZero must point to a valid 2927 (pre-existing) instance of one of: 2928 qosSchedulerEntry 2929 qosQEntry (as indicated by [MODEL] section 2930 7.1.4), 2932 or 2934 qosClfrEntry 2935 qosMeterEntry 2936 qosActionEntry 2937 qosAlgDropEntry (for building multiple TCB's for the same 2938 data path). 2940 This can point to another qosSchedulerEntry 2941 for implementation of multiple scheduler methods for 2942 the same datapath, and for implementation of 2943 hierarchical schedulers." 2944 DEFVAL { zeroDotZero } 2945 ::= { qosSchedulerEntry 2 } 2947 qosSchedulerMethod OBJECT-TYPE 2948 SYNTAX OBJECT IDENTIFIER 2949 STATUS current 2950 DESCRIPTION 2951 "The scheduling algorithm used by this Scheduler. Standard values 2952 for generic algorithms: qosSchedulerPriority, qosSchedulerWRR, 2953 and qosSchedulerWFQ are specified in this PIB; 2954 additional values may be further specified in other PIBs." 2955 REFERENCE 2956 "[MODEL] section 7.1.2" 2957 ::= { qosSchedulerEntry 3 } 2959 qosSchedulerWeight OBJECT-TYPE 2960 SYNTAX Prid 2961 STATUS current 2962 DESCRIPTION 2963 "This Prid indicates the entry in qosAssuredRateTable 2964 which indicates the priority or minimum output rate from this 2966 DiffServ QoS Policy Information Base February 2001 2968 scheduler. This attribute is only used when there is more than 2969 one level of scheduler. It should have the value of zeroDotZero 2970 when not used." 2971 DEFVAL { zeroDotZero } 2972 ::= { qosSchedulerEntry 4 } 2974 qosSchedulerShaper OBJECT-TYPE 2975 SYNTAX Prid 2976 STATUS current 2977 DESCRIPTION 2978 "This Prid indicates the entry in qosShapingRateTable 2979 which indicates the maximum output rate from this scheduler. 2980 This attribute is only used when there is more than one level of 2981 scheduler. It should have the value of zeroDotZero when not 2982 used." 2983 DEFVAL { zeroDotZero } 2984 ::= { qosSchedulerEntry 5 } 2986 -- 2987 -- Assured Rate Parameters Table 2988 -- 2989 -- This is used to specify parameters for the inputs to a 2990 -- work-conserving scheduler. 2991 -- 2992 -- The scheduling parameters are separate from the Queue Entries 2993 -- for reusability and for usage by both queues and schedulers, 2994 -- and this follows the separation of data path elements from 2995 -- parameterization approach used through out this PIB. 2996 -- Usage of scheduling parameter table entry by schedulers allow 2997 -- building of hierarchical scheduling. 2998 -- 3000 qosAssuredRateTable OBJECT-TYPE 3001 SYNTAX SEQUENCE OF QosAssuredRateEntry 3002 PIB-ACCESS install, 5 3003 STATUS current 3004 DESCRIPTION 3005 "The Assured Rate Table enumerates individual 3006 sets of scheduling parameter that can be used/reused 3007 by Queues and Schedulers." 3008 ::= { qosPolicyClasses 13 } 3010 DiffServ QoS Policy Information Base February 2001 3012 qosAssuredRateEntry OBJECT-TYPE 3013 SYNTAX QosAssuredRateEntry 3014 STATUS current 3015 DESCRIPTION 3016 "An entry in the Assured Rate Table describes 3017 a single set of scheduling parameter for use by 3018 queues and schedulers." 3019 PIB-INDEX { qosAssuredRatePrid } 3020 UNIQUENESS { qosAssuredRatePriority, 3021 qosAssuredRateAbs, 3022 qosAssuredRateRel } 3023 ::= { qosAssuredRateTable 1 } 3025 QosAssuredRateEntry ::= SEQUENCE { 3026 qosAssuredRatePrid InstanceId, 3027 qosAssuredRatePriority Unsigned32, 3028 qosAssuredRateAbs Unsigned32, 3029 qosAssuredRateRel Unsigned32 3030 } 3032 qosAssuredRatePrid OBJECT-TYPE 3033 SYNTAX InstanceId 3034 STATUS current 3035 DESCRIPTION 3036 "An arbitrary integer index that uniquely identifies an 3037 instance of the class." 3038 ::= { qosAssuredRateEntry 1 } 3040 qosAssuredRatePriority OBJECT-TYPE 3041 SYNTAX Unsigned32 3042 STATUS current 3043 DESCRIPTION 3044 "The priority of this input to the associated scheduler, relative 3045 to the scheduler's other inputs." 3046 ::= { qosAssuredRateEntry 2 } 3048 qosAssuredRateAbs OBJECT-TYPE 3049 SYNTAX Unsigned32 3050 UNITS "kilobits per second" 3051 STATUS current 3052 DESCRIPTION 3054 DiffServ QoS Policy Information Base February 2001 3056 "The minimum absolute rate, in kilobits/sec, that a 3057 downstream scheduler element should allocate to this 3058 queue. If the value is zero, then there is effec- 3059 tively no minimum rate guarantee. If the value is 3060 non-zero, the scheduler will assure the servicing of 3061 this queue to at least this rate. 3063 Note that this attribute's value is coupled to that 3064 of qosAssuredRateRel: changes to one will 3065 affect the value of the other. They are linked by the 3066 following equation: 3068 qosAssuredRateRel = qosAssuredRateAbs * 10000/ifSpeed 3070 or, if appropriate: 3072 qosAssuredRateRel = qosAssuredRateAbs * 10000 / ifHighSpeed" 3073 REFERENCE 3074 "ifSpeed, ifHighSpeed from [IFMIB]" 3075 ::= { qosAssuredRateEntry 3 } 3077 qosAssuredRateRel OBJECT-TYPE 3078 SYNTAX Unsigned32 3079 STATUS current 3080 DESCRIPTION 3081 "The minimum rate that a downstream scheduler element 3082 should allocate to this queue, relative to the max- 3083 imum rate of the interface as reported by ifSpeed or 3084 ifHighSpeed, in units of 1/10,000 of 1. If the value 3085 is zero, then there is effectively no minimum rate 3086 guarantee. If the value is non-zero, the scheduler 3087 will assure the servicing of this queue to at least 3088 this rate. 3090 Note that this attribute's value is coupled to that 3091 of qosAssuredRateAbs: changes to one will 3092 affect the value of the other. They are linked by the 3093 following equation: 3095 qosAssuredRateAbs = ifSpeed * qosAssuredRateRel/10000 3097 or, if appropriate: 3099 qosAssuredRateAbs = ifHighSpeed * qosAssuredRateRel/10000" 3101 DiffServ QoS Policy Information Base February 2001 3103 REFERENCE 3104 "ifSpeed, ifHighSpeed from [IFMIB]" 3105 ::= { qosAssuredRateEntry 4 } 3107 -- 3108 -- Shaping Rate Table 3109 -- 3110 -- This contains attributes that are used to specify 3111 -- non-work-conserving parameters to a scheduler for the purpose 3112 -- of traffic shaping. These attributes limits the servicing of 3113 -- the queue/scheduler, in affect, shaping the output of the 3114 -- queue/scheduler, as described in [MODEL] section 7.2. 3115 -- 3116 -- The scheduling parameters are separate from the Queue Entries 3117 -- for reusability and for usage by both queues and schedulers, 3118 -- and this follows the separation of data path elements from 3119 -- parameterization approach used through out this PIB. 3120 -- Usage of scheduling parameter table entry by schedulers allow 3121 -- building of hierarchical scheduling. 3122 -- 3124 qosShapingRateTable OBJECT-TYPE 3125 SYNTAX SEQUENCE OF QosShapingRateEntry 3126 PIB-ACCESS install, 6 3127 STATUS current 3128 DESCRIPTION 3129 "The Shaping Rate Table enumerates individual 3130 sets of scheduling parameter that can be used/reused 3131 by Queues and Schedulers." 3132 ::= { qosPolicyClasses 14 } 3134 qosShapingRateEntry OBJECT-TYPE 3135 SYNTAX QosShapingRateEntry 3136 STATUS current 3137 DESCRIPTION 3138 "An entry in the Assured Rate Table describes 3139 a single set of scheduling parameter for use by 3140 queues and schedulers." 3141 PIB-INDEX { qosShapingRatePrid } 3142 UNIQUENESS { qosShapingRateLevel, 3143 qosShapingRateAbs, 3144 qosShapingRateRel, 3145 qosShapingRateThreshold } 3147 DiffServ QoS Policy Information Base February 2001 3149 ::= { qosShapingRateTable 1 } 3151 QosShapingRateEntry ::= SEQUENCE { 3152 qosShapingRatePrid InstanceId, 3153 qosShapingRateLevel Unsigned32, 3154 qosShapingRateAbs Unsigned32, 3155 qosShapingRateRel Unsigned32, 3156 qosShapingRateThreshold BurstSize 3157 } 3159 qosShapingRatePrid OBJECT-TYPE 3160 SYNTAX InstanceId 3161 STATUS current 3162 DESCRIPTION 3163 "An arbitrary integer index that uniquely identifies an 3164 instance of the class." 3165 ::= { qosShapingRateEntry 1 } 3167 qosShapingRateLevel OBJECT-TYPE 3168 SYNTAX Unsigned32 3169 STATUS current 3170 DESCRIPTION 3171 "An index that indicates which level of a multi-rate shaper is 3172 being given its parameters. By convention, increasing levels have 3173 increasing rates." 3174 ::= { qosShapingRateEntry 2 } 3176 qosShapingRateAbs OBJECT-TYPE 3177 SYNTAX Unsigned32 3178 UNITS "kilobits per second" 3179 STATUS current 3180 DESCRIPTION 3181 "The maximum rate in kilobits/sec that a downstream 3182 scheduler element should allocate to this queue. If 3183 the value is zero, then there is effectively no max- 3184 imum rate limit and that the scheduler should attempt 3185 to be work-conserving for this queue. If the value 3186 is non-zero, the scheduler will limit the servicing 3187 of this queue to, at most, this rate in a non-work- 3188 conserving manner. 3190 DiffServ QoS Policy Information Base February 2001 3192 Note that this attribute's value is coupled to that 3193 of qosShapingRateRel: changes to one will 3194 affect the value of the other. They are linked by the 3195 following equation: 3197 qosShapingRateRel = qosShapingRateAbs * 10000/ifSpeed 3199 or, if appropriate: 3201 qosShapingRateRel = qosShapingRateAbs * 10000/ifHighSpeed" 3202 REFERENCE 3203 "ifSpeed, ifHighSpeed from [IFMIB]" 3204 ::= { qosShapingRateEntry 3 } 3206 qosShapingRateRel OBJECT-TYPE 3207 SYNTAX Unsigned32 3208 STATUS current 3209 DESCRIPTION 3210 "The maximum rate that a downstream scheduler element 3211 should allocate to this queue, relative to the max- 3212 imum rate of the interface as reported by ifSpeed or 3213 ifHighSpeed, in units of 1/10,000 of 1. If the value 3214 is zero, then there is effectively no maximum rate 3215 limit and the scheduler should attempt to be work- 3216 conserving for this queue. If the value is non-zero, 3217 the scheduler will limit the servicing of this queue 3218 to, at most, this rate in a non-work-conserving 3219 manner. 3221 Note that this attribute's value is coupled to that 3222 of qosShapingRateAbs: changes to one will 3223 affect the value of the other. They are linked by the 3224 following equation: 3226 qosShapingRateAbs = ifSpeed * qosShapingRateRel/10000 3228 or, if appropriate: 3230 qosShapingRateAbs = ifHighSpeed * qosShapingRateRel/10000" 3231 REFERENCE 3232 "ifSpeed, ifHighSpeed from [IFMIB]" 3233 ::= { qosShapingRateEntry 4 } 3235 DiffServ QoS Policy Information Base February 2001 3237 qosShapingRateThreshold OBJECT-TYPE 3238 SYNTAX BurstSize 3239 UNITS "Bytes" 3240 STATUS current 3241 DESCRIPTION 3242 "The number of bytes of queue depth at which the rate of a 3243 multi-rate scheduler will increase to the next output rate. In 3244 the last conceptual row for such a shaper, this threshold is 3245 ignored and by convention is zero." 3246 REFERENCE 3247 "RFC 2963" 3248 ::= { qosShapingRateEntry 5 } 3250 -- 3251 -- Parameters Section 3252 -- 3254 -- The Parameters Section defines parameter objects that can be used for 3255 -- specific attributes defined in the PIB PRCs. 3257 qosTBParameters OBJECT IDENTIFIER ::= { qosPolicyParameters 1 } 3258 qosSchedulerParameters OBJECT IDENTIFIER ::= { qosPolicyParameters 2 } 3260 -- 3261 -- Token Bucket Type Parameters 3262 -- 3264 qosTBParamSimpleTokenBucket OBJECT-IDENTITY 3265 STATUS current 3266 DESCRIPTION 3267 "This value indicates the use of a Two Parameter Token Bucket 3268 as described in [MODEL] section 5.2.3." 3269 REFERENCE 3270 "[MODEL] sections 5 and 7.1.2" 3271 ::= { qosTBParameters 1 } 3273 qosTBParamAvgRate OBJECT-IDENTITY 3274 STATUS current 3275 DESCRIPTION 3276 "This value indicates the use of an Average Rate Meter as 3277 described in [MODEL] section 5.2.1." 3278 REFERENCE 3280 DiffServ QoS Policy Information Base February 2001 3282 "[MODEL] sections 5 and 7.1.2" 3283 ::= { qosTBParameters 4 } 3285 qosTBParamSrTCMBlind OBJECT-IDENTITY 3286 STATUS current 3287 DESCRIPTION 3288 "This value indicates the use of Single Rate Three Color Marker 3289 Metering as defined by RFC 2697, with `Color Blind' mode as 3290 described by the RFC." 3291 REFERENCE 3292 "[MODEL] sections 5 and 7.1.2" 3293 ::= { qosTBParameters 5 } 3295 qosTBParamSrTCMAware OBJECT-IDENTITY 3296 STATUS current 3297 DESCRIPTION 3298 "This value indicates the use of Single Rate Three Color Marker 3299 Metering as defined by RFC 2697, with `Color Aware' mode as 3300 described by the RFC." 3301 REFERENCE 3302 "[MODEL] sections 5 and 7.1.2" 3303 ::= { qosTBParameters 6 } 3305 qosTBParamTrTCMBlind OBJECT-IDENTITY 3306 STATUS current 3307 DESCRIPTION 3308 "This value indicates the use of Two Rate Three Color Marker 3309 Metering as defined by RFC 2698, with `Color Blind' mode as 3310 described by the RFC." 3311 REFERENCE 3312 "[MODEL] sections 5 and 7.1.2" 3313 ::= { qosTBParameters 7 } 3315 qosTBParamTrTCMAware OBJECT-IDENTITY 3316 STATUS current 3317 DESCRIPTION 3318 "This value indicates the use of Two Rate Three Color Marker 3319 Metering as defined by RFC 2698, with `Color Aware' mode as 3320 described by the RFC." 3321 REFERENCE 3322 "[MODEL] sections 5 and 7.1.2" 3324 DiffServ QoS Policy Information Base February 2001 3326 ::= { qosTBParameters 8 } 3328 qosTBParamTswTCM OBJECT-IDENTITY 3329 STATUS current 3330 DESCRIPTION 3331 "This value indicates the use of Time Sliding Window 3332 Three Color Marker Metering as defined by RFC 2859." 3333 REFERENCE 3334 "[MODEL] sections 5 and 7.1.2" 3335 ::= { qosTBParameters 9 } 3337 -- 3338 -- Scheduler Method Parameters 3339 -- 3341 qosSchedulerPriority OBJECT-IDENTITY 3342 STATUS current 3343 DESCRIPTION 3344 "For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc 3345 to indicate Priority scheduling method, defined as an algorithm in 3346 which the presence of data in a queue or set of queues absolutely 3347 precludes dequeue from another queue or set of queues. Notice 3348 attributes from qosAssuredRateEntry of the queues/schedulers feeding 3349 this scheduler are used when determining the next packet to 3350 schedule." 3351 REFERENCE 3352 "[MODEL] section 7.1.2" 3353 ::= { qosSchedulerParameters 1 } 3355 qosSchedulerWRR OBJECT-IDENTITY 3356 STATUS current 3357 DESCRIPTION 3358 "For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc 3359 to indicate Weighted Round scheduling method, defined as any 3360 algorithm 3361 in which a set of queues are visited in a fixed order, and varying 3362 amounts of traffic are removed from each queue in turn to implement 3363 an 3364 average output rate by class. Notice attributes from 3365 qosAssuredRateEntry of the queues/schedulers feeding this scheduler 3366 are 3367 used when determining the next packet to schedule." 3368 REFERENCE 3369 "[MODEL] section 7.1.2" 3370 ::= { qosSchedulerParameters 2 } 3372 DiffServ QoS Policy Information Base February 2001 3374 qosSchedulerWFQ OBJECT-IDENTITY 3375 STATUS current 3376 DESCRIPTION 3377 "For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc 3378 to indicate Weighted Fair Queueing scheduling method, defined as any 3379 algorithm in which a set of queues are conceptually visited in some 3380 order, to implement an average output rate by class. Notice 3381 attributes from qosAssuredRateEntry of the queues/schedulers feeding 3382 this scheduler are used when determining the next packet to 3383 schedule." 3384 REFERENCE 3385 "[MODEL] section 7.1.2" 3386 ::= { qosSchedulerParameters 3 } 3388 -- 3389 -- Conformance Section 3390 -- 3392 qosPolicyPibConformance 3393 OBJECT IDENTIFIER ::= { qosPolicyPib 3 } 3395 qosPolicyPibCompliances 3396 OBJECT IDENTIFIER ::= { qosPolicyPibConformance 1 } 3397 qosPolicyPibGroups 3398 OBJECT IDENTIFIER ::= { qosPolicyPibConformance 2 } 3400 qosPolicyPibCompliance MODULE-COMPLIANCE 3401 STATUS current 3402 DESCRIPTION 3403 "Describes the requirements for conformance to the 3404 QoS Policy PIB." 3406 MODULE -- this module 3407 MANDATORY-GROUPS { 3408 qosPibDataPathGroup, 3409 qosPibClfrGroup, 3410 qosPibClfrElementGroup, 3411 qosPibActionGroup, 3412 qosPibAlgDropGroup, 3413 qosPibQGroup, 3414 qosPibSchedulerGroup, 3415 qosPibAssuredRateGroup, 3417 DiffServ QoS Policy Information Base February 2001 3419 qosPibShapingRateGroup } 3421 GROUP qosPibMeterGroup 3422 DESCRIPTION 3423 "This group is mandatory for devices that implement 3424 metering functions." 3426 GROUP qosPibTBParamGroup 3427 DESCRIPTION 3428 "This group is mandatory for devices that implement 3429 token-bucket metering functions." 3431 GROUP qosPibDscpMarkActGroup 3432 DESCRIPTION 3433 "This group is mandatory for devices that implement 3434 DSCP-Marking functions." 3436 GROUP qosPibRandomDropGroup 3437 DESCRIPTION 3438 "This group is mandatory for devices that implement 3439 Random Drop functions." 3441 OBJECT qosClfrId 3442 MIN-ACCESS notify 3443 DESCRIPTION 3444 "Install support is not required." 3446 OBJECT qosClfrElementClfrId 3447 MIN-ACCESS notify 3448 DESCRIPTION 3449 "Install support is not required." 3451 OBJECT qosClfrElementPrecedence 3452 MIN-ACCESS notify 3453 DESCRIPTION 3454 "Install support is not required." 3456 DiffServ QoS Policy Information Base February 2001 3458 OBJECT qosClfrElementNext 3459 MIN-ACCESS notify 3460 DESCRIPTION 3461 "Install support is not required." 3463 OBJECT qosClfrElementSpecific 3464 MIN-ACCESS notify 3465 DESCRIPTION 3466 "Install support is not required." 3468 OBJECT qosMeterSucceedNext 3469 MIN-ACCESS notify 3470 DESCRIPTION 3471 "Install support is not required." 3473 OBJECT qosMeterFailNext 3474 MIN-ACCESS notify 3475 DESCRIPTION 3476 "Install support is not required." 3478 OBJECT qosMeterSpecific 3479 MIN-ACCESS notify 3480 DESCRIPTION 3481 "Install support is not required." 3483 OBJECT qosTBParamType 3484 MIN-ACCESS notify 3485 DESCRIPTION 3486 "Install support is not required." 3488 OBJECT qosTBParamRate 3489 MIN-ACCESS notify 3490 DESCRIPTION 3491 "Install support is not required." 3493 OBJECT qosTBParamBurstSize 3494 MIN-ACCESS notify 3495 DESCRIPTION 3497 DiffServ QoS Policy Information Base February 2001 3499 "Install support is not required." 3501 OBJECT qosTBParamInterval 3502 MIN-ACCESS notify 3503 DESCRIPTION 3504 "Install support is not required." 3506 OBJECT qosActionNext 3507 MIN-ACCESS notify 3508 DESCRIPTION 3509 "Install support is not required." 3511 OBJECT qosActionSpecific 3512 MIN-ACCESS notify 3513 DESCRIPTION 3514 "Install support is not required." 3516 OBJECT qosAlgDropType 3517 MIN-ACCESS notify 3518 DESCRIPTION 3519 "Install support is not required." 3521 OBJECT qosAlgDropNext 3522 MIN-ACCESS notify 3523 DESCRIPTION 3524 "Install support is not required." 3526 OBJECT qosAlgDropQMeasure 3527 MIN-ACCESS notify 3528 DESCRIPTION 3529 "Install support is not required." 3531 OBJECT qosAlgDropQThreshold 3532 MIN-ACCESS notify 3533 DESCRIPTION 3534 "Install support is not required." 3536 DiffServ QoS Policy Information Base February 2001 3538 OBJECT qosAlgDropSpecific 3539 MIN-ACCESS notify 3540 DESCRIPTION 3541 "Install support is not required." 3543 OBJECT qosRandomDropMinThreshBytes 3544 MIN-ACCESS notify 3545 DESCRIPTION 3546 "Install support is not required." 3548 OBJECT qosRandomDropMinThreshPkts 3549 MIN-ACCESS notify 3550 DESCRIPTION 3551 "Install support is not required." 3553 OBJECT qosRandomDropMaxThreshBytes 3554 MIN-ACCESS notify 3555 DESCRIPTION 3556 "Install support is not required." 3558 OBJECT qosRandomDropMaxThreshPkts 3559 MIN-ACCESS notify 3560 DESCRIPTION 3561 "Install support is not required." 3563 OBJECT qosRandomDropInvWeight 3564 MIN-ACCESS notify 3565 DESCRIPTION 3566 "Install support is not required." 3568 OBJECT qosRandomDropSamplingRate 3569 MIN-ACCESS notify 3570 DESCRIPTION 3571 "Install support is not required." 3573 OBJECT qosRandomDropProbMax 3574 MIN-ACCESS notify 3575 DESCRIPTION 3577 DiffServ QoS Policy Information Base February 2001 3579 "Install support is not required." 3581 OBJECT qosQNext 3582 MIN-ACCESS notify 3583 DESCRIPTION 3584 "Install support is not required." 3586 OBJECT qosQWeight 3587 MIN-ACCESS notify 3588 DESCRIPTION 3589 "Install support is not required." 3591 OBJECT qosQShaper 3592 MIN-ACCESS notify 3593 DESCRIPTION 3594 "Install support is not required." 3596 OBJECT qosSchedulerMethod 3597 MIN-ACCESS notify 3598 DESCRIPTION 3599 "Install support is not required." 3601 OBJECT qosSchedulerWeight 3602 MIN-ACCESS notify 3603 DESCRIPTION 3604 "Install support is not required." 3606 OBJECT qosSchedulerShaper 3607 MIN-ACCESS notify 3608 DESCRIPTION 3609 "Install support is not required." 3611 OBJECT qosSchedulerNext 3612 MIN-ACCESS notify 3613 DESCRIPTION 3614 "Install support is not required." 3616 DiffServ QoS Policy Information Base February 2001 3618 OBJECT qosAssuredRatePriority 3619 MIN-ACCESS notify 3620 DESCRIPTION 3621 "Install support is not required." 3623 OBJECT qosAssuredRateAbs 3624 MIN-ACCESS notify 3625 DESCRIPTION 3626 "Install support is not required." 3628 OBJECT qosAssuredRateRel 3629 MIN-ACCESS notify 3630 DESCRIPTION 3631 "Install support is not required." 3633 OBJECT qosShapingRateAbs 3634 MIN-ACCESS notify 3635 DESCRIPTION 3636 "Install support is not required." 3638 OBJECT qosShapingRateRel 3639 MIN-ACCESS notify 3640 DESCRIPTION 3641 "Install support is not required." 3643 OBJECT qosShapingRateThreshold 3644 MIN-ACCESS notify 3645 DESCRIPTION 3646 "Install support is not required." 3648 ::= { qosPibCompliances 1 } 3650 qosPibDataPathGroup OBJECT-GROUP 3651 OBJECTS { 3652 qosDataPathStart 3653 } 3654 STATUS current 3655 DESCRIPTION 3657 DiffServ QoS Policy Information Base February 2001 3659 "The Data Path Group defines the PIB Objects that 3660 describe a data path." 3661 ::= { qosPibGroups 1 } 3663 qosPibClfrGroup OBJECT-GROUP 3664 OBJECTS { 3665 qosClfrId 3666 } 3667 STATUS current 3668 DESCRIPTION 3669 "The Classifier Group defines the PIB Objects that 3670 describe a generic classifier." 3671 ::= { qosPibGroups 2 } 3673 qosPibClfrElementGroup OBJECT-GROUP 3674 OBJECTS { 3675 qosClfrElementClfrId, qosClfrElementOrder, 3676 qosClfrElementNext, qosClfrElementSpecific 3677 } 3678 STATUS current 3679 DESCRIPTION 3680 "The Classifier Group defines the PIB Objects that 3681 describe a generic classifier." 3682 ::= { qosPibGroups 3 } 3684 qosPibMeterGroup OBJECT-GROUP 3685 OBJECTS { 3686 qosMeterSucceedNext, qosMeterFailNext, 3687 qosMeterSpecific 3688 } 3689 STATUS current 3690 DESCRIPTION 3691 "The Meter Group defines the objects used in describ- 3692 ing a generic meter element." 3693 ::= { qosPibGroups 5 } 3695 qosPibTBParamGroup OBJECT-GROUP 3696 OBJECTS { 3697 qosTBParamType, qosTBParamRate, 3698 qosTBParamBurstSize, qosTBParamInterval 3699 } 3701 DiffServ QoS Policy Information Base February 2001 3703 STATUS current 3704 DESCRIPTION 3705 "The Token-Bucket Parameter Group defines the objects 3706 used in describing a single-rate token bucket meter 3707 element." 3708 ::= { qosPibGroups 6 } 3710 qosPibActionGroup OBJECT-GROUP 3711 OBJECTS { 3712 qosActionNext, qosActionSpecific 3713 } 3714 STATUS current 3715 DESCRIPTION 3716 "The Action Group defines the objects used in 3717 describing a generic action element." 3718 ::= { qosPibGroups 7 } 3720 qosPibDscpMarkActGroup OBJECT-GROUP 3721 OBJECTS { 3722 qosDscpMarkActDscp 3723 } 3724 STATUS current 3725 DESCRIPTION 3726 "The DSCP Mark Action Group defines the objects used 3727 in describing a DSCP Marking Action element." 3728 ::= { qosPibGroups 8 } 3730 qosPibAlgDropGroup OBJECT-GROUP 3731 OBJECTS { 3732 qosAlgDropType, qosAlgDropNext, 3733 qosAlgDropQMeasure, qosAlgDropQThreshold, 3734 qosAlgDropSpecific 3735 } 3736 STATUS current 3737 DESCRIPTION 3738 "The Algorithmic Drop Group contains the objects that 3739 describe algorithmic dropper operation and configura- 3740 tion." 3741 ::= { qosPibGroups 12 } 3743 qosPibRandomDropGroup OBJECT-GROUP 3744 DiffServ QoS Policy Information Base February 2001 3746 OBJECTS { 3747 qosRandomDropMinThreshBytes, 3748 qosRandomDropMinThreshPkts, 3749 qosRandomDropMaxThreshBytes, 3750 qosRandomDropMaxThreshPkts, 3751 qosRandomDropProbMax, 3752 qosRandomDropInvWeight, 3753 qosRandomDropSamplingRate 3754 } 3755 STATUS current 3756 DESCRIPTION 3757 "The Random Drop Group augments the Algorithmic Drop Group for 3758 random dropper operation and configuration." 3759 ::= { qosPibGroups 13 } 3761 qosPibQGroup OBJECT-GROUP 3762 OBJECTS { 3763 qosQNext, qosQWeight, qosQShaper 3764 } 3765 STATUS current 3766 DESCRIPTION 3767 "The Queue Group contains the objects that describe 3768 an interface's queues." 3769 ::= { qosPibGroups 14 } 3771 qosPibSchedulerGroup OBJECT-GROUP 3772 OBJECTS { 3773 qosSchedulerMethod, qosSchedulerWeight, 3774 qosSchedulerShaper, qosSchedulerNext 3775 } 3776 STATUS current 3777 DESCRIPTION 3778 "The Scheduler Group contains the objects that 3779 describe packet schedulers on interfaces." 3780 ::= { qosPibGroups 15 } 3782 qosPibAssuredRateGroup OBJECT-GROUP 3783 OBJECTS { 3784 qosAssuredRatePriority, 3785 qosAssuredRateAbs, qosAssuredRateRel 3786 } 3787 STATUS current 3789 DiffServ QoS Policy Information Base February 2001 3791 DESCRIPTION 3792 "The Assured Rate Group contains the objects 3793 that describe packet schedulers' parameters on inter- 3794 faces." 3795 ::= { qosPibGroups 16 } 3797 qosPibShapingRateGroup OBJECT-GROUP 3798 OBJECTS { 3799 qosShapingRateAbs, qosShapingRateRel, 3800 qosShapingRateThreshold 3801 } 3802 STATUS current 3803 DESCRIPTION 3804 "The Shaping Rate Group contains the objects 3805 that describe packet schedulers' parameters on inter- 3806 faces." 3807 ::= { qosPibGroups 17 } 3809 END 3810 DiffServ QoS Policy Information Base February 2001 3812 9. Subect Category Considerations 3814 The numbering space used for the DiffServ PIB, as indicated by the 3815 SUBJECT-CATEGORIES clause, will be assigned by the Internet Assigned 3816 Numbers Authority (IANA). Notice the numbering space used by SUBJECT- 3817 CATEGORIES maps to the Client Type numbering space in [COPS-PR]. This 3818 relationship is detailed in section 7.1 of [SPPI]. Due to the fact that 3819 Client Type value of 1 has already been used by [COPS-RSVP], the 3820 numbering space for SUBJECT-CATEGORIES will need to start with the value 3821 of 2. 3823 Other PIB Modules may use the same SUBJECT-CATEGORIES as this DiffServ 3824 PIB Module. In such situations, PRC numbering space under a specific 3825 SUBJECT-CATEGORIES should be coordinated with existing PIB Modules using 3826 the same SUBJECT-CATEGORIES. 3828 10. Security Considerations 3830 The information contained in a PIB when transported by the COPS protocol 3831 [COPS-PR] may be sensitive, and its function of provisioning a PEP 3832 requires that only authorized communication take place. The use of 3833 IPSEC between PDP and PEP, as described in [COPS], provides the 3834 necessary protection against these threats. 3836 11. Intellectual Property Considerations 3838 The IETF is being notified of intellectual property rights claimed in 3839 regard to some or all of the specification contained in this document. 3840 For more information consult the online list of claimed rights. 3842 12. Authors' Addresses 3844 Michael Fine 3845 Cisco Systems, Inc. 3846 170 West Tasman Drive 3847 San Jose, CA 95134-1706 USA 3848 Phone: +1 408 527 8218 3849 Email: mfine@cisco.com 3851 Keith McCloghrie 3853 DiffServ QoS Policy Information Base February 2001 3855 Cisco Systems, Inc. 3856 170 West Tasman Drive 3857 San Jose, CA 95134-1706 USA 3858 Phone: +1 408 526 5260 3859 Email: kzm@cisco.com 3861 John Seligson 3862 Nortel Networks, Inc. 3863 4401 Great America Parkway 3864 Santa Clara, CA 95054 USA 3865 Phone: +1 408 495 2992 3866 Email: jseligso@nortelnetworks.com 3868 Kwok Ho Chan 3869 Nortel Networks, Inc. 3870 600 Technology Park Drive 3871 Billerica, MA 01821 USA 3872 Phone: +1 978 288 8175 3873 Email: khchan@nortelnetworks.com 3875 Scott Hahn 3876 Intel 3877 2111 NE 25th Avenue 3878 Hillsboro, OR 97124 USA 3879 Phone: +1 503 264 8231 3880 Email: scott.hahn@intel.com 3882 Carol Bell 3883 Intel 3884 2111 NE 25th Avenue 3885 Hillsboro, OR 97124 USA 3886 Phone: +1 503 264 8491 3887 Email: carol.a.bell@intel.com 3889 Andrew Smith 3890 Allegro Networks 3891 6399 San Ignacio Ave 3892 San Jose, CA 95119 3893 andrew@allegronetworks.com 3895 DiffServ QoS Policy Information Base February 2001 3897 Francis Reichmeyer 3898 PFN, Inc. 3899 University Park at MIT 3900 26 Landsdowne Street 3901 Cambridge, MA 02139 3902 Phone: +1 617 494 9980 3903 Email: franr@pfn.com 3905 13. References 3907 [COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and 3908 A. Sastry, "The COPS (Common Open Policy Service) Protocol" 3909 RFC 2748, January 2000. 3911 [COPS-PR] K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, 3912 F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, 3913 "COPS Usage for Policy Provisioning," 3914 draft-ietf-rap-cops-pr-05.txt, October 2000. 3916 [SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning 3917 Information," draft-ietf-rap-sppi-03.txt, November 2000. 3919 [DSARCH] M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and 3920 E. Davies, "An Architecture for Differentiated Services", 3921 RFC 2475, December 1998 3923 [DSFIELD] K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the 3924 Differentiated Services Field (DS Field) in the IPv4 and 3925 IPv6 Headers", RFC 2474, December 1998. 3927 [FR-PIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, 3928 A. Smith, F. Reichmeyer "Framework Policy Information Base", 3929 Internet Draft , 3930 November 2000 3932 [RAP-FRAMEWORK] R. Yavatkar, D. Pendarakis, "A Framework for 3933 Policy-based Admission Control", 3934 RFC 2753, January 2000. 3936 [SNMP-SMI] K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, 3937 M. Rose and S. Waldbusser, "Structure of Management Information 3938 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 3940 DiffServ QoS Policy Information Base February 2001 3942 [MODEL] Y. Bernet, A. Smith, S. Blake, D. Grossman "A Conceptual Model 3943 for DiffServ Routers", draft-ietf-diffserv-model-04.txt, 3944 July 2000. 3946 [IFMIB] K. McCloghrie, F. Kastenholz, "The Interfaces Group MIB using 3947 SMIv2", RFC 2233, November 1997. 3949 [DS-MIB] F. Baker, K. Chan, A. Smith, "Management Information Base for 3950 the Differentiated Services Architecture", 3951 draft-ietf-diffserv-mib-07.txt, February 2001 3953 [ACTQMGMT] V. Firoiu, M. Borden "A Study of Active Queue Management for 3954 Congestion Control", March 2000, In IEEE Infocom 2000, 3955 http://www.ieee-infocom.org/2000/papers/405.pdf 3957 [AQMROUTER] 3958 V.Misra, W.Gong, D.Towsley "Fuid-based analysis of a network of AQM 3959 routers supporting TCP flows with an application to RED", In 3960 SIGCOMM 2000, 3961 http://www.acm.org/sigcomm/sigcomm2000/conf/paper/sigcomm2000-4- 3962 3.ps.gz 3964 [AF-PHB] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured 3965 Forwarding 3966 PHB Group.", RFC 2597, June 1999. 3968 [EF-PHB] V. Jacobson, K. Nichols, K. Poduri, "An Expedited Forwarding 3969 PHB." 3970 RFC 2598, June 1999. 3972 [INETADDRESS] Daniele, M., Haberman, B., Routhier, S., Schoenwaelder, 3973 J., 3974 "Textual Conventions for Internet Network Addresses.", RFC 2851, 3975 June 2000. 3977 [INTSERVMIB] F. Baker, J. Krawczyk, A. Sastry, "Integrated Services 3978 Management Information Base using SMIv2", RFC 2213, September 1997. 3980 [QUEUEMGMT] B. Braden et al., "Recommendations on Queue Management and 3981 Congestion Avoidance in the Internet", RFC 2309, April 1998. 3983 [RED93] "Random Early Detection", 1993. 3985 [SRTCM] J. Heinanen, R. Guerin, "A Single Rate Three Color Marker", RFC 3986 2697, September 1999. 3988 DiffServ QoS Policy Information Base February 2001 3990 [TRTCM] J. Heinanen, R. Guerin, "A Two Rate Three Color Marker", RFC 3991 2698, 3992 September 1999. 3994 [TSWTCM] W. Fang, N. Seddigh, B. Nandy "A Time Sliding Window Three 3995 Colour 3996 Marker", RFC 2859, June 2000. 3998 DiffServ QoS Policy Information Base February 2001 4000 Table of Contents 4002 1 Glossary ........................................................ 3 4003 2 Introduction .................................................... 3 4004 3 Relationship to the Diffserv Informal Management Model .......... 3 4005 3.1 PIB Overview .................................................. 4 4006 4 Structure of the PIB ............................................ 6 4007 4.1 General Conventions ........................................... 6 4008 4.2 DiffServ Data Paths ........................................... 6 4009 4.2.1 Data Path PRC ............................................... 7 4010 4.3 Classifiers ................................................... 7 4011 4.3.1 Classifier PRC .............................................. 8 4012 4.3.2 Classifier Element PRC ..................................... 8 4013 4.4 Meters ........................................................ 9 4014 4.4.1 Meter PRC ................................................... 9 4015 4.4.2 Token-Bucket Parameter PRC .................................. 10 4016 4.5 Actions ....................................................... 10 4017 4.5.1 DSCP Mark Action PRC ........................................ 11 4018 4.5.2 Absolute Drop Action ........................................ 11 4019 4.6 Queueing Elements ............................................. 11 4020 4.6.1 Algorithmic Dropper PRC ..................................... 11 4021 4.6.2 Random Dropper PRC .......................................... 12 4022 4.6.3 Queues and Schedulers ....................................... 14 4023 4.7 Specifying Device Capabilities ................................ 16 4024 5 PIB Usage Example ............................................... 17 4025 5.1 Model's Example ............................................... 17 4026 5.2 Additional Data Path Example .................................. 20 4027 5.2.1 Data Path and Classifier Example Discussion ................. 20 4028 5.2.2 Meter and Action Example Discussion ......................... 23 4029 5.2.3 Queue and Scheduler Example Discussion ...................... 23 4030 6 Summary of the DiffServ PIB ..................................... 24 4031 7 PIB Operational Overview ........................................ 25 4032 8 PIB Definitions ................................................. 26 4033 8.1 The DiffServ Base PIB ......................................... 26 4034 9 Subect Category Considerations .................................. 89 4035 10 Security Considerations ........................................ 89 4036 11 Intellectual Property Considerations ........................... 89 4037 12 Authors' Addresses ............................................. 89 4038 13 References ..................................................... 91