idnits 2.17.1 draft-ietf-diffserv-pib-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Abstract section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 232 instances of weird spacing in the document. Is it really formatted ragged-right, rather than justified? ** There are 16 instances of too long lines in the document, the longest one being 5 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 1249 has weird spacing: '...ket, or drop ...' == Line 1253 has weird spacing: '... in its p...' == Line 1412 has weird spacing: '...erEntry qosM...' == Line 1413 has weird spacing: '...erEntry qosM...' == Line 1414 has weird spacing: '...erEntry qosM...' == (227 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 (November 24, 2000) is 8526 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: 'AF-PHB' is mentioned on line 447, but not defined == Missing Reference: 'SRTCM' is mentioned on line 328, but not defined == Missing Reference: 'TRTCM' is mentioned on line 328, but not defined == Missing Reference: 'QUEUEMGMT' is mentioned on line 447, but not defined == Missing Reference: 'ACTQMGMT' is mentioned on line 514, but not defined == Unused Reference: 'SNMP-SMI' is defined on line 3432, but no explicit reference was found in the text == Unused Reference: 'IFMIB' is defined on line 3440, 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') -- Possible downref: Non-RFC (?) normative reference: 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) Summary: 14 errors (**), 0 flaws (~~), 16 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Network Working Group M. Fine 2 Internet Draft K. McCloghrie 3 Expires May 2001 Cisco Systems 4 J. Seligson 5 K. Chan 6 Nortel Networks 7 S. Hahn 8 Intel 9 A. Smith 10 Allegro Networks 11 Francis Reichmeyer 12 IPHighway 14 November 24, 2000 16 Differentiated Services Quality of Service Policy Information Base 18 draft-ietf-diffserv-pib-02.txt 20 Status of this Memo 22 This document is an Internet-Draft and is in full conformance with all 23 provisions of Section 10 of RFC2026. Internet-Drafts are working 24 documents of the Internet Engineering Task Force (IETF), its areas, and 25 its working groups. Note that other groups may also distribute working 26 documents as Internet-Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference material 31 or to cite them other than as ``work in progress.'' 33 To view the current status of any Internet-Draft, please check the 34 DiffServ QoS Policy Information Base November 2000 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 November 2000 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 November 2000 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 including the TCB notion in its parameters, 107 this PIB allow any grouping of elements to construct TCBs, using rules 108 indicated by the [MODEL]. This will minimize changes to this PIB if 109 rules in [MODEL] changes. 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 November 2000 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 A general extensible framework for describing the starting point of 154 DiffServ datapaths within a single DiffServ device. This table 155 descibes interface role combination and interface direction 156 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 - TBMeter 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", "replicator" and "null" actions described in [MODEL] 171 are accomplished implicitly by means of the RowPointer structures 173 DiffServ QoS Policy Information Base November 2000 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 November 2000 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 sections. 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 role combination and direction for the packet flow. There 231 should be at most two entries for each role combination, one for ingress 232 and one for egress. Each instance provides the first DiffServ 233 Functional Element each packet at a specific interface (identified by 234 the roles assigned to the interface) traveling in a specific relative 235 direction should experience. Notice this table is interface specific, 236 with the use of RoleCombination. To indicate explicitly that there are 237 no Diffserv treatments for a particular role combination and direction, 238 an instance of the Data Path PRC can be created with zeroDotZero in the 239 qosDataPathStart attribute. This situation can also be indicated 240 implicitly by not supplying an instance of a Data Path PRC for that 241 particular role combination and direction. The explicit/implicit 242 selection is up to the implementation. This means that the PEP should 243 perform normal IP device processing when zeroDotZero is used in the 244 qosDataPathStart attribute, or when the entry does not exist. Normal IP 245 device processing will depend on the device, for example, this can be 246 forwarding the packet. 248 4.3. Classifiers 250 The classifier and classifier element tables determine how traffic is 251 sorted out. They identify separable classes of traffic, by reference to 252 appropriate filters, which may select anything from an individual micro- 253 flow to aggregates identified by DSCP. 255 The classification is used to send these separate streams to appropriate 256 Meter, Action, Queue, Scheduler and Algorithmic Dropper elements. For 257 example, to indicate a multi-stage meter, sub-classes of traffic may be 258 sent to different meter stages: e.g. in an implementation of the Assured 259 Forwarding (AF) PHB [AF-PHB], AF11 traffic might be sent to the first 260 meter, AF12 traffic might be sent to the second and AF13 traffic sent to 261 DiffServ QoS Policy Information Base November 2000 263 the second meter stage's out-of-profile action. 265 The concept of a classifier is the same as described in [MODEL]. The 266 structure of the classifier and classifier element tables, is the same 267 as the classifier described in [MODEL]. Classifier elements have an 268 associated precedence order solely for the purpose of resolving 269 ambiguity between overlapping filters. Filter with higher values of 270 order are compared first; the order of tests for entries of the same 271 precedence is unimportant. 273 A datapath may consist of more than one classifier. There may be 274 overlap of filter specification between filters of different 275 classifiers. The first classifier functional datapath element 276 encountered, as determined by the sequencing of diffserv functional 277 datapath elements, will be used first. 279 An important form of classifier is "everything else": the final stage of 280 the classifier i.e. the one with the lowest precedence, must be 281 "complete" since the result of an incomplete classifier is not 282 necessarily deterministic - see [MODEL] section 4.1.2. 284 The definition of the actual filter to be used by the classifier is 285 referenced via a Prid: this enables the use of any sort of filter table 286 that one might wish to design, standard or proprietary. No filters are 287 defined in this PIB. However, standard filters for IP packets are 288 defined in the Framework PIB [FR-PIB]. 290 4.3.1. Classifier PRC 292 Classifiers are organized by instances of the Classifier PRC. Each 293 instance corresponds to a single Classifier. Instances of the 294 Classifier PRC get linked from the upstream diffserv functional datapath 295 element, e.g., a qosDataPathentry instance. A data path may consist of 296 more than one Classifier, and the order in which the classifiers are 297 applied to the traffic is the same as the order the classifier table 298 entries are linked in the data path. 300 4.3.2. Classifier Element PRC 302 While the Classifier PRC specifies the input side of the Classifier, the 303 Classifier Element PRC enumerates each branch of the fan-out of a 304 DiffServ QoS Policy Information Base November 2000 306 Classifier, associating each fan-out branch with a Filter for 307 discriminating the traffic for that branch. Each Classifier Element PRI 308 is part of a Classifier, indicated by qosClfrElementClfrId. 310 The definition of the actual filter to be used by the classifier is 311 referenced via a Prid: this enables the use of any sort of filter table 312 that one might wish to design, standard or proprietary. An example of a 313 filter that may be pointed to by a Classifier Element PRI is the 314 frwkIpFilter PRC, defined in [FR-PIB]. 316 4.4. Meters 318 A meter, according to [MODEL] section 5, measures the rate at which 319 packets making up a stream of traffic pass it, compares this rate to 320 some set of thresholds and produces some number (two or more) of 321 potential results. A given packet is said to "conform" to the meter if, 322 at the time that the packet is being looked at, the stream appears to be 323 within the meter's profile. PIB syntax makes it easiest to define this 324 as a sequence of one or more cascaded pass/fail tests, modeled here as 325 if-then-else constructs. It is important to understand that this way of 326 modelling does not imply anything about the implementation being 327 "sequential": multi-rate/multi-profile meters e.g. those designed to 328 support [SRTCM] or [TRTCM], can still be modelled this way even if they, 329 of necessity, share information between the stages: the stages are 330 introduced merely as a notational convenience in order to simplify the 331 PIB structure. 333 4.4.1. Meter PRC 335 The generic meter PRC is used as a base for all more specific forms of 336 meter. The definition of parameters specific to the type of meter used 337 is referenced via a pointer to an instance of a PRC containing those 338 specifics. This enables the use of any sort of specific meter table 339 that one might wish to design, standard or proprietary. The specific 340 meter table may be, but does not need to be, defined in this PIB module. 342 DiffServ QoS Policy Information Base November 2000 344 4.4.2. Token-Bucket Meter PRC 346 This is included as an example of a common type of meter. Entries in 347 this table are referenced from the qosMeterSpecific attributes of meter 348 PRC instances. The parameters are represented by a rate qosTBMeterRate, 349 a burst size qosTBMeterBurstSize, and an interval qosTBMeterInterval. 350 The type of meter being parameterized is indicated by the qosTBMeterType 351 attribute. This is used to determine how the rate, burst and rate 352 interval parameters are used. Additional meter parameterization classes 353 can be defined in this or another PIB when necessary. 355 4.5. Actions 357 Actions include "no action", "mark the traffic with a DSCP" or "drop the 358 traffic". Other tasks such as "shape the traffic" or "drop based on some 359 algorithm" are handled elsewhere as queueing mechanisms, rather than 360 actions, consistent with [MODEL]. The "multiplexer", "replicator" and 361 "null" actions described in [MODEL] are accomplished implicitly through 362 various combinations of the other elements. 364 This PIB uses the Action PRC qosActionTable to organize one Action's 365 relationship with the element(s) before and after it. It allows Actions 366 to be cascaded to enable multiple Actions be applied to a single traffic 367 stream by using each entry's qosActionNext attribute. The qosActionNext 368 attribute of the last action entry in the chain points to the next 369 element in the TCB, if any, e.g. a Queueing element. It may also point 370 at a next TCB. 372 The parameters needed for the Action element will depend on the type of 373 Action to be taken. Hence the PIB allows for specific Action Tables for 374 the different Action types. This flexibility allows additional Actions 375 be specified in future revisions of this PIB, or in other PIBs and also 376 allows for the use of proprietary Actions without impact on those 377 defined here. 379 There is one action - the absolute drop action - that does not require 380 additional parameters. This action silently discards all traffic 381 presented to it. To accommodate this action, the qosAction PRC contains 382 an attribute, qosActionType, that indicates whether the absolute drop 383 action is to be used or if the action is described by a specific action 384 table. 386 DiffServ QoS Policy Information Base November 2000 388 4.5.1. DSCP Mark Action PRC 390 This Action is applied to traffic in order to mark it with a Diffserv 391 Codepoint (DSCP) value, specified in the qosDscpMarkActTable. Other 392 marking actions might be specified elsewhere - these are outside the 393 scope of this PIB. 395 4.5.2. Absolute Drop Action 397 This action just silently discards all traffic presented to it. This 398 action has no additional parameters and so is represented only within 399 diffServActionType without its specific table. 401 4.6. Queueing Elements 403 These include Algorithmic Droppers, Queues and Schedulers which are all 404 inter-related in their use of queueing techniques. 406 4.6.1. Algorithmic Dropper PRC 408 Algorithmic Droppers have a close relationship with queueing: they are 409 represented in this PIB by instances of an Algorithmic Dropper PRC. 410 Entries contain a qosAlgDropNext attribute which indicates to which 411 queue they sink their traffic. 413 An Algorithmic Dropper is assumed to operate indiscriminately on all 414 packets that are presented at its input. If it is necessary to perform 415 additional classification on the stream then a separate TCB must be 416 introduced at this point: Classifier elements here can then distinguish 417 the different types of traffic on which dropping is to act and the 418 treatment for each type is described by a separate qosAlgDropEntry. 420 Algorithmic Droppers may also contain a pointer to specific detail of 421 the drop algorithm. This PIB defines the detail for three drop 422 algorithms: Tail Drop, Head Drop and Random Drop; other algorithms are 423 outside the scope of this PIB modele but the general framework is 424 intended to allow for their inclusion via other PIB modules. 426 One generally-applicable parameter of a dropper is the specification of 427 a queue-depth threshold at which some drop action is to start. This is 428 DiffServ QoS Policy Information Base November 2000 430 represented in this PIB, as a base attribute of the Algorithmic Dropper 431 entry, by pointing to the queue for which depth is to be compared and 432 the depth threshold to compare against. 434 o A Tail Dropper requires the specification of a maximum queue depth 435 threshold: when the queue pointed at by diffServAlgDropQMeasure 436 reaches that depth threshold, qosAlgDropQThresh, any new 437 traffic arriving at the dropper is discarded. This algorithm uses 438 only parameters that are part of the qosAlgDropEntry. 440 o A Head Dropper requires the specification of a maximum queue depth 441 threshold: when the queue pointed at by qosAlgDropQMeasure 442 reaches that depth threshold, qosAlgDropQThresh, traffic 443 currently at the head of the queue is discarded. This algorithm 444 uses only parameters that are part of the qosAlgDropEntry. 446 o Random Droppers are recommended as a way to control congestion, in 447 [QUEUEMGMT] and called for in the [AF-PHB]. Various implementations 448 exist, which agree on marking or dropping just enough traffic to 449 communicate with TCP-like protocols about congestion avoidance, but 450 differ markedly on their specific parameters. This PIB attempts to 451 offer a minimal set of controls for any random dropper, but expects 452 that vendors will augment the PRC with additional controls and 453 status in accordance with their implementation. This algorithm 454 requires additional parameters on top of those in 455 qosAlgDropEntry; these are discussed below. 457 4.6.2. Random Dropper PRC 459 One example of a random dropper is a RED-like dropper. An example of 460 the representation chosen in this PIB for this element is shown in 461 Figure 1. 463 Random droppers often have their drop probability function described as 464 a plot of drop probability (P) against averaged queue length (Q). 465 (Qmin,Pmin) then defines the start of the characteristic plot. Normally 466 Pmin=0, meaning with average queue length below Qmin, there will be no 467 drops. (Qmax,Pmax) defines a "knee" on the plot, after which point the 468 drop probability become more progressive (greater slope). (Qclip,1) 469 defines the queue length at which all packets will be dropped. Notice 470 this is different from Tail Drop because this uses an averaged queue 471 length. although it is possible for Qclip = Qmax. In the PIB module, 472 DiffServ QoS Policy Information Base November 2000 474 qosRandomDropMinThreshBytes and qosRandomDropMinThreshPkts represent 475 Qmin. qosRandomDropMaxThreshBytes and qosRandomDropMaxThreshPkts 476 represent Qmax. 478 +-------------+ +-----------+ 479 --->| Next --------+-->| Next ---------> to Scheduler 480 | Thresh=100k | | | Min=none | 481 | Measure -------+ | Max=none | 482 | Type=random | | Pri=10 | 483 | Specif -------+ | Type=fifo | 484 +-------------+ | +-----------+ 485 AlgDrop.3 | Queue.4 486 | 487 | +--------------+ 488 +-->| Minthresh=10k| 489 | Maxthresh=80k| 490 | Weight=1/16 | 491 | ProbMax= 0.5 | 492 +--------------+ 493 RandomDrop.3 495 Figure 1: Example Use of the RandomDropTable for Random Droppers 497 qosRandomDropProbMax represents Pmax. This PIB does not represent Pmin 498 (assumed to be zero unless otherwise represented) or Qclip (assumed to 499 be Qmax unless otherwise represented). 501 Each random dropper specification is associated with a queue. This 502 allows multiple drop processes (of same or different types) be 503 associated with the same queue, as different PHB implementations may 504 require. This also allows for sequences of multiple droppers if 505 necessary. 507 The calculation of a smoothed queue length may also have an important 508 bearing on the behaviour of the dropper: parameters may include the 509 sampling interval and the weight of each sample. The performance may be 510 very sensitive to the values of these parameters and a wide range of 511 possible values may be required due to a wide range of link speeds. Most 512 algorithms include a sample weight, represented here by 513 qosRandomDropInvWeight. Note however that there is ongoing research on 514 this topic, see e.g. [ACTQMGMT]. 516 Additional parameters may be added in an enterprise PIB module, e.g. by 517 DiffServ QoS Policy Information Base November 2000 519 using AUGMENTS or EXTENDS on this table, to handle aspects of random 520 drop algorithms that are not standardised here. 522 NOTE: Deterministic Droppers can be viewed as a special case of Random 523 Droppers with the drop probability restricted to 0 and 1. Hence 524 Deterministic Droppers might be described by a Random Dropper with Pmin 525 = 0, Pmax = 1, Qmin = Qmax = Qclip, the averaged queue length at which 526 dropping occurs. 528 4.6.3. Queues and Schedulers 530 The Queue PRC models simple FIFO queues, as described in [MODEL] section 531 7.1.1. The Scheduler PRC allows flexibility in constructing both simple 532 and somewhat more complex queueing hierarchies from those queues. Of 533 course, since TCBs can be cascaded multiple times on an interface, even 534 more complex hierarchies can be constructed that way also. 536 Queue PRC instances are pointed at by the "next" attributes of the 537 upstream elements e.g. qosMeterSucceedNext. Note that multiple upstream 538 elements may direct their traffic to the same Queue PRI. For example, 539 the Assured Forwarding PHB suggests that all traffic marked AF11, AF12 540 or AF13 be placed in the same queue, after metering, without reordering. 541 This would be represented by having the qosMeterSucceedNext of each 542 upstream meter point at the same Queue PRI. 544 Queue Table entries specify the scheduler it wants service from by use 545 of its Next pointer. 547 Each Scheduler Table entry represents the algorithm in use for servicing 548 the one or more queues that feed it. The [MODEL] section 7.1.2 describes 549 a scheduler with multiple inputs: this is represented in the PIB by 550 having the scheduling parameters be associated with each input. In this 551 way, sets of Queues can be grouped together as inputs to the same 552 Scheduler. This table serves to represent the example scheduler 553 described in the [MODEL]: other more complex representations might be 554 created outside of this PIB. 556 Both the Queue PRC and the Scheduler PRC use instances of the Scheduler 557 Parameterization PRC to specify diffserv treatment parameterization. 558 Scheduler Parameter PRC instances are used to parameterize each input 559 that feeds into a scheduler. The inputs can be a mixture of Queue PRI's 560 and Scheduler PRI's. Scheduler Parameter PRI's can be used/reused by 561 one or more Queue and/or Scheduler Table entries. 563 DiffServ QoS Policy Information Base November 2000 565 For representing a Strict Priority scheduler, each scheduler input is 566 assigned a priority with respect to all the other inputs feeding the 567 same scheduler, with default values for the other parameters. A higher- 568 priority input will be serviced first over a lower-priority input, 569 assuming that all guarantees have already been met. 571 For Weighted Queueing algorithms e.g. WFQ, WRR, the "weight" of a given 572 scheduler input is represented with a Minimum Service Rate leaky-bucket 573 profile which provides guaranteed bandwidth to that input, if required. 574 This is represented, as were token-bucket meters, by a rate 575 qosSchdParamMinRateAbs. The rate may, alternatively, be represented by a 576 relative value, as a fraction of the interface's current line rate, 577 qosSchdParamMinRateRel to assist in cases where line rates are variable 578 or where a higher-level policy might be expressed in terms of fractions 579 of network resources. The two rate parameters are inter- related and 580 changes in one may be reflected in the other. 582 An input may also be capable of acting as a non-work-conserving [MODEL] 583 traffic shaper: this is done by defining a Maximum Service Rate leaky- 584 bucket profile in order to limit the scheduler bandwidth available to 585 that input. This is represented, similarly to the minimum rate, by a 586 rate qosSchdParamMaxRateAbs. The rate may, alternatively, be represented 587 by a relative value, as a fraction of the interface's current line rate, 588 qosSchdParamMaxRateRel. 590 Notice hierarchical schedulers can be parameterized using these PRC's by 591 having Scheduler PRI's feed into other Scheduler PRI's. 593 4.7. Specifying Device Capabilities 595 The Diffserv PIB uses the Base PRC classes frwkPrcSupportTable and 596 frwkCompLimitsTable defined in [FR-PIB] to specify what PRC's are 597 supported by a PEP and to specify any limitations on that support. The 598 PIB also uses the capability PRC's frwkIfCapSetTable and 599 frwkIfCapSetRoleComboTable defined in [FR-PIB] to specify the device's 600 interface types and role combinations. Each instance of the capability 601 PRC frwkIfCapSetTable contains an OID that points to an instance of a 602 PRC that describes some capability of that interface type. The Diffserv 603 PIB defines several of these capability PRC's, which assist the PDP with 604 the configuration of Diffserv functional elements that can be 605 implemented by the device. 607 DiffServ QoS Policy Information Base November 2000 609 Classification capabilities, such as which directions (ingress or egress 610 support IP classification and whether the interface is capable of 611 classifying on layer 4 information, are reported using 612 qosIfClassificationCapsTable. Metering capabilities, such as which 613 directions support metering, are specified using qosIfMeteringCapsTable. 614 Scheduling capabilities, such as the maximum number of queues and 615 priorities supported, are reported using qosIfSchedulingCapsTable. 617 Two PRC's are defined to allow specification of the element linkage 618 capabilities of the PEP. The qosIfElmDepthCaps PRC indicates the 619 maximum number of functional datapath elements that can be linked 620 consecutively in a datapath. The qosIfElmLinkCaps PRC indicates what 621 functional datapath elements are may follow a specific type of element 622 in a datapath. 624 5. PIB Usage Example 626 This section provides some examples on how the different table entries 627 of this PIB may be used to parameterize a DiffServ Device. For the 628 figures, all the PRC and attribute names are assumed to have the PRC 629 (table entry) name as the common initial part of the name. 631 +---------------------+ 632 |DataPath | 633 | Roles="A+B" | 634 | IfDirection=Ingress | +------+ 635 | Start --------------+--->|Clfr | 636 +---------------------+ | Id=1 | 637 +------+ 639 +------------+ +--------------+ +-----------+ 640 |ClfrElement | +-->|Meter | +-->|Action | 641 | Id=101 | | | Id=101 | | | Id=101 | 642 | ClfrId=1 | | | SucceedNext -+--+ | Next -----+---->... 643 | Order=NA | | | FailNext ----+->... | Specific -+-+ 644 | Next ------+--+ | Specific -+ | | Type=Spcf | | 645 | Specific --+-+ +-----------+--+ +-----------+ | 646 +------------+ | | +-------+ 647 | +-------+ | +--------+ | +------------+ 648 +-->|Filter1| +-->|TBMeter1| +-->|DscpMarkAct1| 649 +-------+ +--------+ +------------+ 651 DiffServ QoS Policy Information Base November 2000 653 +------------+ +--------------+ +-----------+ 654 |ClfrElement | +-->|Meter | +-->|Action | 655 | Id=102 | | | Id=102 | | | Id=102 | 656 | ClfrId=1 | | | SucceedNext -+--+ | Next -----+---->... 657 | Order=NA | | | FailNext ----+->... | Specific -+-+ 658 | Next ------+--+ | Specific -+ | | Type=Spcf | | 659 | Specific --+-+ +-----------+--+ +-----------+ | 660 +------------+ | | +-------+ 661 | +-------+ | +--------+ | +------------+ 662 +-->|Filter2| +-->|TBMeter2| +-->|DscpMarkAct2| 663 +-------+ +--------+ +------------+ 665 +------------+ +--------------+ +-----------+ 666 |ClfrElement | +-->|Meter | +-->|Action | 667 | Id=103 | | | Id=103 | | | Id=103 | 668 | ClfrId=1 | | | SucceedNext -+--+ | Next -----+---->... 669 | Order=NA | | | FailNext ----+->... | Specific -+-+ 670 | Next ------+--+ | Specific -+ | | Type=Spcf | | 671 | Specific --+-+ +-----------+--+ +-----------+ | 672 +------------+ | | +-------+ 673 | +-------+ | +--------+ | +------------+ 674 +-->|Filter3| +-->|TBMeter3| +-->|DscpMarkAct3| 675 +-------+ +--------+ +------------+ 677 Figure 3: Data Path Example Part 1 679 +-------------+ +------------------+ +----------------------+ 680 ---->|Q | +->|Scheduler | +->|Scheduler | 681 | Id=EF | | | Id=DiffServ | | | Id=Shaping | 682 | Next -------+---+ | Next ------------+--+ | Next=zeroDotZero | 683 | SchdParam -+| | | Method=priorityq | | Method=priorityq | 684 +------------++ | | SchdParam -+ | | SchdParam=zeroDotZero| 685 | | +------------+-----+ +----------------------+ 686 +------------+ | | 687 | | +------------+ 688 | +-----------+ | | 689 +->|SchdParamEF| | | +----------------+ 690 +-----------+ | +->|SchdParamShaping| 691 | +----------------+ 692 | 693 | 694 +-----------------------------------------+ 695 | 696 | 698 DiffServ QoS Policy Information Base November 2000 700 +----------------+ +-------------+ | 701 --->|AlgDrop | +->|Q | | 702 | Id=AF11 | | | Id=AF1X | +-------------+ | 703 | Type=randomDrop| | | Next -------+--->|Scheduler | | 704 | Next ----------+-+--+ | SchdParam -+| | Id=AF | | 705 | QMeasure ------+-+ | +------------++ | Next -------+--+ 706 | QThreshold | | | | Method=wfq | 707 | Specific -+ | | +------------+ | SchdParam -+| 708 +-----------+----+ | | +------------++ 709 | | | +-------------+ | 710 +-----------+ | +->|SchdParamAF1X| +------------+ 711 | +--------------+ | +-------------+ | 712 +->|RandomDropAF11| | | +-----------+ 713 +--------------+ | +->|SchdParamAF| 714 | +-----------+ 715 +----------------+ | 716 --->|AlgDrop | | 717 | Id=AF12 | | 718 | Type=randomDrop| | 719 | Next ----------+-+--+ 720 | QMeasure ------+-+ 721 | QThreshold | 722 | Specific -+ | 723 +-----------+----+ 724 | 725 +-----------+ 726 | +--------------+ 727 +->|RandomDropAF12| 728 +--------------+ 730 Figure 4: Data Path Example Part 2 732 5.1. Data Path and Classifier Example Discussion 734 The example in Figure 4 shows a single DataPathEntry PRI feeding into a 735 single Classifier PRI, with three ClfrElement and Filter PRI pairs 736 belonging to this Classifier 1. Notice the three Filters used here must 737 completely classify all the traffic presented to this data path. 739 Another level of classification can be defined that follows the Action 740 function datapath elements in Figure 3. This second level of 741 classifiers and their subsequent function datapath elements would be 742 considered as in another TCB. 744 DiffServ QoS Policy Information Base November 2000 746 This multi-level classification allow the construction of traffic 747 separations like: 748 if (dept1) 749 { 750 if (appl1) then take dept1-appl1-action. 751 if (appl2) then take dept1-appl2-action. 752 if (appl3) then take dept1-appl3-action. 753 } 754 if (dept2) 755 { 756 if (appl1) then take dept2-appl1-action. 757 if (appl2) then take dept2-appl2-action. 758 if (appl3) then take dept2-appl3-action. 759 } 760 if (dept3) 761 { 762 if (appl1) then take dept3-appl1-action. 763 if (appl2) then take dept3-appl2-action. 764 if (appl3) then take dept3-appl3-action. 765 } 767 The filters for appl1, appl2, appl3 may be reused for the above setup. 769 5.2. Meter and Action Example Discussion 771 A simple Meter that can be parameterized by a single TBMeter entry is 772 shown here. For Metering types that require mutliple TBMeter entries 773 for parameterization, a second level Meter and TBMeter table entries may 774 be used. For example, for trTCM, with the first level TBMeter entry 775 used for Peak Information Token Bucket, the first level SucceedNext 776 points to the second level Meter entry, with second level TBMeter entry 777 used for Committed Information Token Bucket. 779 5.3. Queue and Scheduler Example Discussion 781 Example in Figure 4 shows three classified input traffic streams, EF, 782 AF11, and AF12, feeding into their respective queue and algorithmic 783 droppers. After their respective dropping process, the AF traffic 784 streams feed into the same queue, QAF1X. 786 A Scheduler, AF, is shown in Figure 4, as the sink for AF1X queue 787 DiffServ QoS Policy Information Base November 2000 789 traffic, servicing AF1X queue with scheduling parameters indicated by 790 SchdParamAF1X. This scheduler is used to service traffic from AF1X, 791 AF2X, AF3X queues using weighted fair queueing method. The AF2X and 792 AF3X queues are not shown in Figure 4, they can be very much like AF1X 793 queue setup. 795 Another traffic stream, EF, is handled by the EF queue. Scheduler 796 DiffServ services output of EF queue using SchdParamEF, and output of AF 797 scheduler using SchdParamAF, with Weighted Fair Queueing method. 799 Notice all the diffserv traffic may go out on a link with traffic 800 shaping. The traffic shaping can be parameterize using the Shaping 801 Scheduler in Figure 4. For shaping, the qosSchdParamMaxRate attributes 802 should be used. The output of the Shaping Scheduler is indicated using 803 its Next pointer with value of zeroDotZero, the output port. 805 6. Summary of the DiffServ PIB 807 The DiffServ PIB consists of one module containing the base PRCs for 808 setting DiffServ policy, queues, classifiers, meters, etc., and also 809 contains capability PRC's that allow a PEP to specify its device 810 characteristics to the PDP. This module contains two groups, which are 811 summarized in this section. 813 QoS Capabilities Group 814 This group consists of PRCs to indicate to the PDP the types of 815 interface supported on the PEP in terms of their QoS capabilities 816 and PRCs that the PDP can install in order to configure these 817 interfaces (queues, scheduling parameters, buffer sizes, etc.) to 818 affect the desired policy. This group describes capabilities in 819 terms of the types of interfaces and takes configuration in terms 820 of interface types and role combinations [FR-PIB]; it does not deal 821 with individual interfaces on the device. 823 QoS Policy Group 824 This group contains configuration of the functonal elements that 825 comprise the QoS policy that applies to an interface and the 826 specific parameters that describe those elements. This group 827 contains classifiers, meters, actions, droppers, queues and 828 schedulers. This group also contains the PRC that associates the 829 datapath elements with role combinations. 831 DiffServ QoS Policy Information Base November 2000 833 7. PIB Operational Overview 835 This section provides an operation overview of configuring DiffServ QoS 836 policy. 838 After initial PEP to PDP communication setup, using [COPS-PR] for 839 example, the PEP will provide to the PDP the PIB Provisioning Classes 840 (PRCs), interface types, and interface type capabilities it supports. 842 The PRCs supported by the PEP are reported to the PDP in the PRC Support 843 Table, frwkPrcSupportTable defined in the framework PIB [FR-PIB]. Each 844 instance of the frwkPrcSupportTable indicates a PRC that the PEP 845 understands and for which the PDP can send class instances as part of 846 the policy information. 848 The interface types the PEP supports are described by rows in the 849 interface type table, frwkIfCapsSetTable. Each row, or instance of this 850 class contains a pointer to a instance of a PRC that describes the 851 capabilities of the interface type. The capability objects may reside 852 in the qosIfClassifierCapsTable, the qosIfMeterCapsTable, the 853 qosIfSchedulerCapsTable, the qosIfElmDepthCapsTable, the 854 qosIfElmOutputCapsTable, or in a table defined in another PIB. 856 The PDP, with knowledge of the PEP's capabilities, then provides the PEP 857 with administration domain and interface-specific policy information. 859 Instances of the qosDataPathTable are used to specify the first element 860 in the set of functional elements applied to an interface. Each 861 instance of the qosDataPathTable applies to an interface type defined by 862 its roles and direction (ingress or egress). 864 DiffServ QoS Policy Information Base November 2000 866 8. PIB Definitions 868 8.1. The DiffServ Base PIB 870 DIFFSERV-PIB PIB-DEFINITIONS ::= BEGIN 872 IMPORTS 873 Unsigned32, Integer32, 874 MODULE-IDENTITY, OBJECT-TYPE 875 FROM COPS-PR-SPPI 876 zeroDotZero 877 FROM SNMPv2-SMI 878 TruthValue, TEXTUAL-CONVENTION 879 FROM SNMPv2-TC 880 InstanceId, ReferenceId, TagId, TagReference 881 FROM COPS-PR-SPPI 882 RoleCombination 883 FROM FRAMEWORK-PIB 884 Dscp, IfDirection 885 FROM DIFF-SERV-MIB; 887 qosPolicyPib MODULE-IDENTITY 888 CLIENT-TYPE { tbd -- QoS Client Type 889 } 890 LAST-UPDATED "200011241800Z" 891 ORGANIZATION "IETF DIFFSERV WG" 892 CONTACT-INFO " 893 Michael Fine 894 Cisco Systems, Inc. 895 170 West Tasman Drive 896 San Jose, CA 95134-1706 USA 897 Phone: +1 408 527 8218 898 Email: mfine@cisco.com 900 Keith McCloghrie 901 Cisco Systems, Inc. 902 170 West Tasman Drive, 903 San Jose, CA 95134-1706 USA 904 Phone: +1 408 526 5260 906 DiffServ QoS Policy Information Base November 2000 908 Email: kzm@cisco.com 910 John Seligson 911 Nortel Networks, Inc. 912 4401 Great America Parkway 913 Santa Clara, CA 95054 USA 914 Phone: +1 408 495 2992 915 Email: jseligso@nortelnetworks.com" 916 DESCRIPTION 917 "The PIB module containing a set of policy rule classes 918 that describe quality of service (QoS) policies for 919 DiffServ. It includes general classes that may be extended 920 by other PIB specifications as well as a set of PIB 921 classes related to IP processing." 923 ::= { tbd } 925 qosCapabilityClasses OBJECT IDENTIFIER ::= { qosPolicyPib 1 } 926 qosPolicyClasses OBJECT IDENTIFIER ::= { qosPolicyPib 2 } 928 -- 929 -- Interface Capabilities Group 930 -- 932 -- 933 -- Interface Type Capability Tables 934 -- 935 -- The Interface type capability tables define capabilities that may 936 -- be associated with an interface of a specific type. This PIB 937 -- defines three such tables: a classification capabilities table, a 938 -- metering capabilities table and a scheduling capabilities table. 939 -- Other PIBs may define other capability tables to augment the 940 -- capability definitions of these tables or to introduce completely 941 -- new capabilities. 943 -- 944 -- Classification Capabilities 945 -- 946 DiffServ QoS Policy Information Base November 2000 948 qosIfClassificationCapsTable OBJECT-TYPE 949 SYNTAX SEQUENCE OF QosIfClassificationCapsEntry 950 PIB-ACCESS notify, 3 951 STATUS current 952 DESCRIPTION 953 "This table specifies the classification capabilities of an 954 interface type" 955 ::= { qosCapabilityClasses 1 } 957 qosIfClassificationCapsEntry OBJECT-TYPE 958 SYNTAX QosIfClassificationEntry 959 STATUS current 960 DESCRIPTION 961 "An instance of this class describes the classification 962 capabilities of an interface." 964 PIB-INDEX { qosIfClassificationCapsPrid } 965 UNIQUENESS { qosIfClassificationCapsSpec } 966 ::= { qosIfClassificationCapsTable 1 } 968 QosIfClassificationCapsEntry ::= SEQUENCE { 969 qosIfClassificationCapsPrid InstanceId, 970 qosIfClassificationCapsSpec BITS 971 } 973 qosIfClassificationCapsPrid OBJECT-TYPE 974 SYNTAX InstanceId 975 STATUS current 976 DESCRIPTION 977 "An arbitrary integer index that uniquely identifies an 978 instance of the class." 979 ::= { qosIfClassificationCapsEntry 1 } 981 qosIfClassificationCapsSpec OBJECT-TYPE 982 SYNTAX BITS { 983 inputIpClassification(1), 984 outputIpClassification(2), 985 -- Indicates the ability to classify IP 986 -- packets on ingress and on egress, 987 -- respectively. 989 DiffServ QoS Policy Information Base November 2000 991 ipSrcAddrClassification(3), 992 -- indicates the ability to classify based on 993 -- IP source addresses 994 ipDstAddrClassification(4), 995 -- indicates the ability to classify based on 996 -- IP destination addresses 997 ipProtoClassification(5), 998 -- indicates the ability to classify based on 999 -- IP protocol numbers 1000 ipDscpClassification(6) 1001 -- indicates the ability to classify based on 1002 -- IP DSCP 1003 ipL4Classification(7) 1004 -- indicates the ability to classify based on 1005 -- IP layer 4 port numbers for UDP and TCP 1006 } 1007 STATUS current 1008 DESCRIPTION 1009 "Bit set of supported classification capabilities. In 1010 addition to these capabilities, other PIBs may define other 1011 capabilities that can then be specified in addition to the 1012 ones specified here (or instead of the ones specified here if 1013 none of these are specified)." 1014 ::= { qosIfClassificationCapsEntry 2 } 1016 -- 1017 -- Metering Capabilities 1018 -- 1020 qosIfMeteringCapsTable OBJECT-TYPE 1021 SYNTAX SEQUENCE OF QosIfMeteringCapsEntry 1022 PIB-ACCESS notify, 3 1023 STATUS current 1024 DESCRIPTION 1025 "This table specifies the metering capabilities of an 1026 interface type" 1027 ::= { qosCapabilityClasses 2 } 1029 qosIfMeteringCapsEntry OBJECT-TYPE 1030 SYNTAX QosIfMeteringCapsEntry 1031 STATUS current 1032 DESCRIPTION 1034 DiffServ QoS Policy Information Base November 2000 1036 "An instance of this class describes the classification 1037 capabilities of an interface." 1039 PIB-INDEX { qosIfMeteringCapsPrid } 1040 UNIQUENESS { qosIfMeteringCapsSpec } 1041 ::= { qosIfMeteringCapsTable 1 } 1043 QosIfMeteringCapsEntry ::= SEQUENCE { 1044 qosIfMeteringCapsPrid InstanceId, 1045 qosIfMeteringCapsSpec BITS 1046 } 1048 qosIfMeteringCapsPrid OBJECT-TYPE 1049 SYNTAX InstanceId 1050 STATUS current 1051 DESCRIPTION 1052 "An arbitrary integer index that uniquely identifies an 1053 instance of the class." 1054 ::= { qosIfMeteringCapsEntry 1 } 1056 qosIfMeteringCapsSpec OBJECT-TYPE 1057 SYNTAX BITS { 1058 meterByRemarking (1), 1059 meterByDropping (2), 1060 -- These capabilities indicate if the interface 1061 -- can remark out of profile packets or drop them, 1062 -- respectively 1064 inputShaping (3), 1065 outputShaping (4) 1066 -- indicate if the interface can shape on ingress 1067 -- or on egress, respectively. 1069 } 1070 STATUS current 1071 DESCRIPTION 1072 "Bit set of supported metering capabilities. As with 1073 classification capabilities, these metering capabilities may 1074 be augmented by capabilities specified in other PRCs (in other 1076 DiffServ QoS Policy Information Base November 2000 1078 PIBs)." 1079 ::= { qosIfMeteringCapsEntry 2 } 1081 -- 1082 -- Scheduling Capabilities 1083 -- 1085 qosIfSchedulingCapsTable OBJECT-TYPE 1086 SYNTAX SEQUENCE OF QosIfSchedulingCapsEntry 1087 PIB-ACCESS notify, 10 1088 STATUS current 1089 DESCRIPTION 1090 "This table specifies the scheduling capabilities of an 1091 interface type" 1092 ::= { qosCapabilityClasses 3 } 1094 qosIfSchedulingCapsEntry OBJECT-TYPE 1095 SYNTAX QosIfSchedulingCapsEntry 1096 STATUS current 1097 DESCRIPTION 1098 "An instance of this class describes the classification 1099 capabilities of an interface." 1101 PIB-INDEX { qosIfSchedulingCapsPrid } 1102 UNIQUENESS { qosIfSchedulingCapsMaxQueues, 1103 qosIfSchedulingCapsMaxThresholds, 1104 qosIfSchedulingCapsMaxPriorities, 1105 qosIfSchedulingCapsServiceDisc, 1106 qosIfSchedulingCapsMinQueueSize, 1107 qosIfSchedulingCapsMaxQueueSize, 1108 qosIfSchedulingCapsTotalQueueSize, 1109 qosIfSchedulingCapsWredCapable } 1110 ::= { qosIfSchedulingCapsTable 1 } 1112 QosIfSchedulingCapsEntry ::= SEQUENCE { 1113 qosIfSchedulingCapsPrid InstanceId, 1114 qosIfSchedulingCapsMaxQueues INTEGER, 1115 qosIfSchedulingCapsMaxThresholds INTEGER, 1116 qosIfSchedulingCapsMaxPriorities INTEGER, 1118 DiffServ QoS Policy Information Base November 2000 1120 qosIfSchedulingCapsServiceDisc BITS, 1121 qosIfSchedulingCapsMinQueueSize INTEGER, 1122 qosIfSchedulingCapsMaxQueueSize INTEGER, 1123 qosIfSchedulingCapsTotalQueueSize INTEGER, 1124 qosIfSchedulingCapsAlgDropSupported BITS 1125 } 1127 qosIfSchedulingCapsPrid OBJECT-TYPE 1128 SYNTAX InstanceId 1129 STATUS current 1130 DESCRIPTION 1131 "An arbitrary integer index that uniquely identifies an 1132 instance of the class." 1133 ::= { qosIfSchedulingCapsEntry 1 } 1135 qosIfSchedulingCapsMaxQueues OBJECT-TYPE 1136 SYNTAX INTEGER 1137 STATUS current 1138 DESCRIPTION 1139 "The maximum number of queues that this interface type can 1140 support. A value of zero means that there is no maximum." 1141 ::= { qosIfSchedulingCapsEntry 2 } 1143 qosIfSchedulingCapsMaxThresholds OBJECT-TYPE 1144 SYNTAX INTEGER 1145 STATUS current 1146 DESCRIPTION 1147 "The maximum number of drop thresholds that each queue 1148 supports. If the interface has a different number of 1149 thresholds for each of its queues, it must report the maximum 1150 number of thresholds any of the queues supports. The value of 1151 this attribute must be one or more." 1152 ::= { qosIfSchedulingCapsEntry 3 } 1154 qosIfSchedulingCapsMaxPriorities OBJECT-TYPE 1155 SYNTAX INTEGER 1156 STATUS current 1157 DESCRIPTION 1158 "The maximum number of priority levels that the the queues of 1159 the interface may be grouped into. A value of zero means 1160 there is no maximum." 1162 DiffServ QoS Policy Information Base November 2000 1164 ::= { qosIfSchedulingCapsEntry 4 } 1166 qosIfSchedulingCapsServiceDisc OBJECT-TYPE 1167 SYNTAX BITS { 1168 other(1), -- Unspecified or specified in 1169 -- another capability 1170 priorityq(2), -- Priority Queueing 1171 rr(3), -- Strict Round Robin 1172 wrr(3), -- Weighted Round Robin 1173 fq(4), -- Strict Fair Queuing 1174 wfq(4), -- Weighted Fair Queuing 1175 wirr(5), -- Weighted Interleaved Round Robin 1176 bsp(6) -- Bounded Strict Priority 1177 STATUS current 1178 DESCRIPTION 1179 "The scheduling disciplines supported for servicing queues in 1180 the same priority group that the interface supports. Several 1181 general purpose and well-known queuing disciplines are 1182 supported by this attribute. Other queueing disciplines may be 1183 specified instead of, or in addition to, these disciplines by 1184 setting and providing another capabilities PRC specifying the 1185 other scheduling discipline. 1187 If none is specified then the service discipline is either 1188 unspecified or specified by another capabilities PRC." 1189 ::= { qosIfSchedulingCapsEntry 5 } 1191 qosIfSchedulingCapsMinQueueSize OBJECT-TYPE 1192 SYNTAX INTEGER 1193 STATUS current 1194 DESCRIPTION 1195 "Some interfaces may allow the size of a queue to be 1196 configured. This attribute specifies the minimum size the 1197 queue can be configured to specified in bytes. 1199 Some interfaces set queue size in terms of packets. These 1200 devices must report the minimum queue size in bytes by 1201 assuming an average packet size suitable for the particular 1202 interface." 1203 ::= { qosIfSchedulingCapsEntry 6 } 1205 DiffServ QoS Policy Information Base November 2000 1207 qosIfSchedulingCapsMaxQueueSize OBJECT-TYPE 1208 SYNTAX INTEGER 1209 STATUS current 1210 DESCRIPTION 1211 "Some interfaces may allow the size of a queue to be 1212 configured. This attribute specifies the maximum size the 1213 queue can be configured to specified in bytes. As with 1214 qosIfSchedulingCapsMinQueueSize, devices that set 1215 queue size in terms of packets must report the maximum queue 1216 size in bytes by assuming an average packet size suitable for 1217 the particular interface." 1218 ::= { qosIfSchedulingCapsEntry 7 } 1220 qosIfSchedulingCapsTotalQueueSize OBJECT-TYPE 1221 SYNTAX INTEGER 1222 STATUS current 1223 DESCRIPTION 1224 "Some interfaces may have a limited buffer space to be share 1225 amoung all queues of that interface while also allowing the 1226 size of each queue to be configurable. To prevent the 1227 situation where the PDP configures the sizes of the queues in 1228 excess of the total buffer available to the interface, the PEP 1229 can report the total buffer space available with this 1230 capability. The value is the total number of bytes." 1231 ::= { qosIfSchedulingCapsEntry 8 } 1233 qosIfSchedulingCapsAlgDropSupported OBJECT-TYPE 1234 SYNTAX BITS { 1235 tailDrop(2), 1236 headDrop(3), 1237 randomDrop(4) 1238 STATUS current 1239 DESCRIPTION 1240 "The type of algorithm that droppers associated with this queue 1241 may use. 1243 The tailDrop(2) algorithm means that packets are dropped from 1244 the tail of the queue when the associated threshold is 1245 exceeded. The headDrop(3) algorithm means that packets are 1246 dropped from the head of the queue when the associated 1247 threshold is exceeded. The randomDrop(4) algorithm means that, 1248 on packet arrival, an algorithm is executed which may randomly 1249 drop the packet, or drop other packet(s) from the queue 1251 DiffServ QoS Policy Information Base November 2000 1253 in its place. The specifics of the algorithm may be 1254 proprietary. However, parameters would be specified in the 1255 qosRandomDropTable." 1256 ::= { qosIfSchedulingCapsEntry 9 } 1258 -- 1259 -- Datapath Element Linkage Capabilities 1260 -- 1262 -- 1263 -- Datapath Element Cascade Depth 1264 -- 1266 qosIfElmDepthCapsTable OBJECT-TYPE 1267 SYNTAX SEQUENCE OF QosIfElmDepthCapsEntry 1268 PIB-ACCESS notify, 4 1269 STATUS current 1270 DESCRIPTION 1271 "This table specifies the number of elements of the same 1272 type that can be cascaded together in a data path." 1273 ::= { qosCapabilityClasses 4 } 1275 qosIfElmDepthCapsEntry OBJECT-TYPE 1276 SYNTAX QosIfElmDepthCapsEntry 1277 STATUS current 1278 DESCRIPTION 1279 "An instance of this class describes the cascade depth 1280 for a particular datapath functional element PRC. A 1281 functional datapath element not represented in this 1282 table can be assumed to have no specific maximum 1283 depth." 1285 PIB-INDEX { qosIfElmDepthCapsPrid } 1286 UNIQUENESS { qosIfElmDepthCapsPrc } 1287 ::= { qosIfElmDepthCapsTable 1 } 1289 QosIfElmDepthCapsEntry ::= SEQUENCE { 1290 qosIfElmDepthCapsPrid InstanceId, 1291 qosIfElmDepthCapsPrc OBJECT IDENTIFIER, 1292 qosIfElmDepthCapsCascadeMax Unsigned32 1294 DiffServ QoS Policy Information Base November 2000 1296 } 1298 qosIfElmDepthCapsPrid OBJECT-TYPE 1299 SYNTAX InstanceId 1300 STATUS current 1301 DESCRIPTION 1302 "An arbitrary integer index that uniquely identifies an 1303 instance of the class." 1304 ::= { qosIfElmDepthCapsEntry 1 } 1306 qosIfElmDepthCapsPrc OBJECT-TYPE 1307 SYNTAX OBJECT IDENTIFIER 1308 STATUS current 1309 DESCRIPTION 1310 "The object identifier of a PRC that represents a datapath 1311 functional element. This may be one of: qosClfrElementEntry, 1312 qosMeterEntry, qosActionEntry, qosAlgDropEntry, qosQEntry, or 1313 qosSchedulerEntry. The value is the OID of the table entry. 1314 There may not be more than one instance of this class with 1315 the same value of qosIfElmDepthCapsPrc." 1316 ::= { qosIfElmDepthCapsEntry 2 } 1318 qosIfElmDepthCapsCascadeMax OBJECT-TYPE 1319 SYNTAX Unsigned32 1320 STATUS current 1321 DESCRIPTION 1322 "The maximum number of elements of type qosIfElmDepthCapsPrc 1323 that can be linked consecutively in a data path." A value of 1324 zero indicates there is no specific maximum." 1325 ::= { qosIfElmDepthCapsEntry 3 } 1327 -- 1328 -- Datapath Element Linkage Types 1329 -- 1331 qosIfElmLinkCapsTable OBJECT-TYPE 1332 SYNTAX SEQUENCE OF QosIfElmLinkCapsEntry 1333 PIB-ACCESS notify, 5 1334 STATUS current 1335 DESCRIPTION 1337 DiffServ QoS Policy Information Base November 2000 1339 "This table specifies what types of datapath functional 1340 elements may be used as the next downstream element for 1341 a specific type of functional element." 1342 ::= { qosCapabilityClasses 5 } 1344 qosIfElmLinkCapsEntry OBJECT-TYPE 1345 SYNTAX QosIfElmLinkCapsEntry 1346 STATUS current 1347 DESCRIPTION 1348 "An instance of this class specifies a PRC that may 1349 be used as the next functional element after a specific 1350 type of element in a data path." 1352 PIB-INDEX { qosIfElmLinkCapsPrid } 1353 UNIQUENESS { qosIfElmLinkCapsPrc, 1354 qosIfElmLinkCapsAttr, 1355 qosIfElmLinkCapsNextPrc } 1356 ::= { qosIfElmLinkCapsTable 1 } 1358 QosIfElmLinkCapsEntry ::= SEQUENCE { 1359 qosIfElmLinkCapsPrid InstanceId, 1360 qosIfElmLinkCapsPrc OBJECT IDENTIFIER, 1361 qosIfElmLinkCapsAttr Unsigned32, 1362 qosIfElmLinkCapsNextPrc OBJECT IDENTIFIER 1363 } 1365 qosIfElmLinkCapsPrid OBJECT-TYPE 1366 SYNTAX InstanceId 1367 STATUS current 1368 DESCRIPTION 1369 "An arbitrary integer index that uniquely identifies an 1370 instance of the class." 1371 ::= { qosIfElmLinkCapsEntry 1 } 1373 qosIfElmLinkCapsPrc OBJECT-TYPE 1374 SYNTAX OBJECT IDENTIFIER 1375 STATUS current 1376 DESCRIPTION 1377 "The value is the OID of a PRC that represents a 1378 functional datapath element." 1380 DiffServ QoS Policy Information Base November 2000 1382 ::= { qosIfElmLinkCapsEntry 2 } 1384 qosIfElmLinkCapsAttr OBJECT-TYPE 1385 SYNTAX Unsigned32 1386 STATUS current 1387 DESCRIPTION 1388 "The value represents the attribute in the the PRC 1389 indicated by qosIfElmLinkCapsPrc that is used to 1390 specify the next functional element in the datapath. 1392 The attribute value corresponds to the order in which 1393 the attribute appears in the definition of the PRC. 1394 A value of 1 indicates the first attribute of the PRC, 1395 a value of 2 indicates the second attribute of the 1396 PRC, and so forth." 1397 ::= { qosIfElmLinkCapsEntry 3 } 1399 qosIfElmLinkCapsNextPrc OBJECT-TYPE 1400 SYNTAX OBJECT IDENTIFIER 1401 STATUS current 1402 DESCRIPTION 1403 "The value is the OID of a PRC table entry from which 1404 instances can be referenced by the attribute indicated 1405 by qosIfElmLinkCapsPrc and qosIfElmLinkAttr. 1407 For example, suppose a meter's success output can be an 1408 action or another meter, and the fail output can only be 1409 an action. This can be expressed as follows: 1411 Prid Prc Attr NextPrc 1412 1 qosMeterEntry qosMeterSucceedNext qosActionEntry 1413 2 qosMeterEntry qosMeterSucceedNext qosMeterEntry 1414 3 qosMeterEntry qosMeterFailNext qosActionEntry." 1415 ::= { qosIfElmLinkCapsEntry 4 } 1417 -- 1418 -- Data Path 1419 -- 1421 -- 1422 -- Data Path Table 1423 DiffServ QoS Policy Information Base November 2000 1425 -- 1426 -- The Data Path Table enumerates the Differentiated Services 1427 -- Data Paths within this device. Each entry specifies 1428 -- the first functional datapath element to process data flow 1429 -- for each specific datapath. Each datapath is defined by the 1430 -- interface role combination and direction. This table can 1431 -- therefore have up to two entries for each role combination, 1432 -- ingress and egress. 1434 qosDataPathTable OBJECT-TYPE 1435 SYNTAX SEQUENCE OF QosDataPathEntry 1436 PIB-ACCESS install, 5 1437 STATUS current 1438 DESCRIPTION 1439 "The data path table defines the data paths in this 1440 device. Each data path is defined by the interface, 1441 role combination and traffic direction. The first 1442 functional datapath element to handle traffic for 1443 this data path is defined by a Prid in the entries 1444 of this table." 1445 ::= { qosPolicyClasses 1 } 1447 qosDataPathEntry OBJECT-TYPE 1448 SYNTAX QosDataPathEntry 1449 STATUS current 1450 DESCRIPTION 1451 "An entry in the data path table describes a single 1452 data path in this device." 1453 PIB-INDEX { qosDataPathPrid } 1454 UNIQUENESS { qosDataPathRoles, 1455 qosDataPathIfDirection } 1456 ::= { qosDataPathTable 1 } 1458 QosDataPathEntry ::= SEQUENCE { 1459 qosDataPathPrid InstanceId, 1460 qosDataPathRoles RoleCombination, 1461 qosDataPathIfDirection IfDirection, 1462 qosDataPathStart Prid 1463 } 1465 qosDataPathPrid OBJECT-TYPE 1466 DiffServ QoS Policy Information Base November 2000 1468 SYNTAX InstanceId 1469 STATUS current 1470 DESCRIPTION 1471 "An arbitrary integer index that uniquely identifies an 1472 instance of the class." 1473 ::= { qosDataPathEntry 1 } 1475 qosDataPathRoles OBJECT-TYPE 1476 SYNTAX RoleCombination 1477 STATUS current 1478 DESCRIPTION 1479 "The interfaces to which this data path entry applies, 1480 specified in terms of roles. The role combination 1481 specified by this attribute must exist in the 1482 frwkIfCapSetRoleComboTable [FR-PIB] prior to association 1483 with an instance of this class." 1484 ::= { qosDataPathEntry 2 } 1486 qosDataPathIfDirection OBJECT-TYPE 1487 SYNTAX IfDirection 1488 STATUS current 1489 DESCRIPTION 1490 "Specifies the direction for which this data path 1491 entry applies on this interface." 1492 ::= { qosDataPathEntry 3 } 1494 qosDataPathStart OBJECT-TYPE 1495 SYNTAX Prid 1496 STATUS current 1497 DESCRIPTION 1498 "This selects the first functional datapath element 1499 to handle traffic for this data path. This 1500 Prid should point to an instance of one of: 1501 qosClfrEntry 1502 qosMeterEntry 1503 qosActionEntry 1504 qosAlgDropEntry 1505 qosQEntry 1507 The PRI to must exist prior to the installation of 1508 this datapath start element." 1509 ::= { qosDataPathEntry 4 } 1511 DiffServ QoS Policy Information Base November 2000 1513 -- 1514 -- Classifiers 1515 -- 1517 -- 1518 -- Classifier Table 1519 -- 1520 -- Classifier allows multiple classifier elements, of same or different 1521 -- types, to be used together. 1522 -- A classifier must completely classify all packets presented to it. 1523 -- This means all traffic handled by a classifier must match 1524 -- at least one classifier element within the classifier, 1525 -- with the classifier element parameters specified by a filter. 1527 qosClfrTable OBJECT-TYPE 1528 SYNTAX SEQUENCE OF QosClfrEntry 1529 PIB-ACCESS install, 3 1530 STATUS current 1531 DESCRIPTION 1532 "" 1533 REFERENCE 1534 "[MODEL] section 4.1" 1535 ::= { qosPolicyClasses 2 } 1537 qosClfrEntry OBJECT-TYPE 1538 SYNTAX QosClfrEntry 1539 STATUS current 1540 DESCRIPTION 1541 "An entry in the classifier table describes a 1542 single classifier, all classifier elements belong- 1543 ing to the same classifier must have its 1544 qosClfrElementClfrId attribute have the same 1545 value, one of qosClfrId." 1546 PIB-INDEX { qosClfrPrid } 1547 UNIQUENESS { qosClfrId } 1548 ::= { qosClfrTable 1 } 1550 QosClfrEntry ::= SEQUENCE { 1551 qosClfrPrid InstanceId, 1552 qosClfrId TagReference 1553 } 1554 DiffServ QoS Policy Information Base November 2000 1556 qosClfrPrid OBJECT-TYPE 1557 SYNTAX InstanceId 1558 STATUS current 1559 DESCRIPTION 1560 "An arbitrary integer index that uniquely identifies an 1561 instance of the class." 1562 ::= { qosClfrEntry 1 } 1564 qosClfrId OBJECT-TYPE 1565 SYNTAX TagReference 1566 PIB-TAG qosClfrElementClfrId 1567 STATUS current 1568 DESCRIPTION 1569 "Identifies a Classifier. A Classifier must be 1570 complete, this means all traffic handled by a 1571 Classifier must match at least one Classifier 1572 Element within the Classifier, with the Classifier 1573 parameters specified by a Filter. 1575 If there is ambiguity between Classifiers Elements of 1576 different Classifiers, the precedence is indicated 1577 by the order the Classifiers are linked, the 1578 first Classifier in the link is applied to the 1579 traffic first. 1580 ::= { qosClfrEntry 2 } 1582 -- 1583 -- Classifier Element Table 1584 -- 1585 -- Entries in the classifier element table serves as 1586 -- the anchor for each classification pattern, defined 1587 -- in filter table entries. Each classifier element 1588 -- table entry also specifies the subsequent downstream 1589 -- diffserv functional datapath element when the 1590 -- classification pattern is satisfied. 1591 -- Each entry in the classifier element table describes 1592 -- one branch of the fan-out characteristic of a classifier 1593 -- indicated in [MODEL] section 4.1. A classifier is madeup 1594 -- of one or more classifier elements. 1595 -- 1597 qosClfrElementTable OBJECT-TYPE 1598 DiffServ QoS Policy Information Base November 2000 1600 SYNTAX SEQUENCE OF QosClfrElementEntry 1601 PIB-ACCESS install, 6 1602 STATUS current 1603 DESCRIPTION 1604 "The classifier element table enumerates the rela- 1605 tionship between classification patterns and subse- 1606 quent downstream diffserv functional datapath ele- 1607 ments. Classification parameters are defined by 1608 entries of filter tables pointed to by 1609 qosClfrElementSpecific. There can be filter 1610 tables of different types, and they can be inter- 1611 mixed and used within a classifier. An example of a 1612 filter table is the frwkIpFilterTable, defined in 1613 [FR-PIB], for IP Multi-Field Classifiers (MFCs). 1614 Filter tables for other filter types may be defined 1615 elsewhere." 1616 REFERENCE 1617 "[MODEL] section 4.1" 1618 ::= { qosPolicyClasses 3 } 1620 qosClfrElementEntry OBJECT-TYPE 1621 SYNTAX QosClfrElementEntry 1622 STATUS current 1623 DESCRIPTION 1624 "An entry in the classifier element table describes a 1625 single element of the classifier." 1626 PIB-INDEX { qosClfrElementPrid } 1627 UNIQUENESS { qosClfrElementClfrId, 1628 qosClfrElementOrder, 1629 qosClfrElementSpecific } 1630 ::= { qosClfrElementTable 1 } 1632 QosClfrElementEntry ::= SEQUENCE { 1633 qosClfrElementPrid InstanceId, 1634 qosClfrElementClfrId TagId, 1635 qosClfrElementOrder Unsigned32, 1636 qosClfrElementNext Prid, 1637 qosClfrElementSpecific Prid 1638 } 1640 qosClfrPrid OBJECT-TYPE 1641 SYNTAX InstanceId 1643 DiffServ QoS Policy Information Base November 2000 1645 STATUS current 1646 DESCRIPTION 1647 "An arbitrary integer index that uniquely identifies an 1648 instance of the class." 1649 ::= { qosClfrElementEntry 1 } 1651 qosClfrElementClfrId OBJECT-TYPE 1652 SYNTAX TagId 1653 STATUS current 1654 DESCRIPTION 1655 "A classifier Id identifies which classifier this 1656 classifier element is a part of. This needs to be 1657 the value of qosClfrId attribute for an existing 1658 instance of qosClfrEntry." 1659 ::= { qosClfrElementEntry 2 } 1661 qosClfrElementOrder OBJECT-TYPE 1662 SYNTAX Unsigned32 1663 STATUS current 1664 DESCRIPTION 1665 "The relative order in which classifier elements are 1666 applied: higher numbers represent classifier elements 1667 with higher precedence. Classifier elements with the same 1668 order must be unambiguous i.e. they must define 1669 non-overlapping patterns, and are considered to be 1670 applied simultaneously to the traffic stream. Clas- 1671 sifier elements with different order may overlap in 1672 their filters: the classifier element with the highest 1673 order that matches is taken. 1675 On a given interface, there must be a complete clas- 1676 sifier in place at all times in the 1677 ingress direction. This means that there will always 1678 be one or more filters that match every possible pat- 1679 tern that could be presented in an incoming packet. 1680 There is no such requirement in the egress direction." 1681 DEFVAL { 0 } 1682 ::= { qosClfrElementEntry 3 } 1684 qosClfrElementNext OBJECT-TYPE 1685 SYNTAX Prid 1686 STATUS current 1688 DiffServ QoS Policy Information Base November 2000 1690 DESCRIPTION 1691 "This attribute provides one branch of the fan-out 1692 functionality of a classifier described in [MODEL] 1693 section 4.1. 1695 This selects the next diffserv functional datapath 1696 element to handle traffic for this data path. 1698 A value of zeroDotZero marks the end of DiffServ processing 1699 for this data path. Any other value must point to a 1700 valid (pre-existing) instance of one of:" 1701 qosClfrEntry 1702 qosMeterEntry 1703 qosActionEntry 1704 qosAlgDropEntry 1705 qosQEntry." 1706 DEFVAL { zeroDotZero } 1707 ::= { qosClfrElementEntry 4 } 1709 qosClfrElementSpecific OBJECT-TYPE 1710 SYNTAX Prid 1711 STATUS current 1712 DESCRIPTION 1713 "A pointer to a valid entry in another table that 1714 describes the applicable classification filter, e.g. 1715 an entry in frwkIpFilterTable [FR-PIB]. 1717 The PRI pointed to must exist prior to the installation of 1718 this classifier element. 1720 The value zeroDotZero is interpreted to match any- 1721 thing not matched by another classifier element - only one 1722 such entry may exist for each classifier." 1723 DEFVAL { zeroDotZero } 1724 ::= { qosClfrElementEntry 5 } 1726 -- 1727 -- Meters 1728 -- 1729 -- This PIB supports a variety of Meters. It includes a 1730 -- specific definition for Meters whose parameter set can 1731 -- be modelled using Token Bucket parameters. 1732 -- Other metering parameter sets can be defined and used 1733 DiffServ QoS Policy Information Base November 2000 1735 -- when necessary. 1736 -- 1737 -- Multiple meter elements may be logically cascaded 1738 -- using their qosMeterSucceedNext pointers if 1739 -- a multi-rate Meter is required. 1740 -- One example of this might be for an AF PHB implementation 1741 -- that uses two-rate meters. 1742 -- 1743 -- Cascading of individual meter elements in the PIB is intended 1744 -- to be functionally equivalent to determining the conformance 1745 -- level of a packet using a multi-rate meter. The sequential 1746 -- nature of the representation is merely a notational 1747 -- convenience for this PIB. 1748 -- 1749 -- For example: 1750 -- Conforming to RFC 2697, srTCM can be parameterized using 1751 -- two sets of qosMeterEntry and qosTBMeterEntry. 1752 -- With the first set parameterizing the Committed Burst Size 1753 -- token-bucket, second set parameterizing the Excess Burst Size 1754 -- token-bucket. With both set's qosTBMeterRate parameters 1755 -- being used to reflect the Committed Information Rate value. 1756 -- 1757 -- Conforming to RFC 2698, trTCM can be parameterized using 1758 -- two sets of qosMeterEntry and qosTBMeterEntry. 1759 -- With the first set parameterizing the Peak Information Rate 1760 -- and Peak Burst Size token-bucket, second set parameterizing 1761 -- the Committed Information Rate and Committed Burst Size 1762 -- token-bucket. 1763 -- 1764 -- Conforming to RFC 2859, tswTCM can be parameterized using 1765 -- two sets of qosMeterEntry and qosTBMeterEntry. 1766 -- With the first set parameterizing the Committed Target Rate, 1767 -- second set parametering the Peak Target Rate. 1768 -- With both set's qosTBMeterInterval being used to 1769 -- reflect the Average Interval as specified by RFC 2859. 1770 -- 1772 qosMeterTable OBJECT-TYPE 1773 SYNTAX SEQUENCE OF QosMeterEntry 1774 PIB-ACCESS install, 5 1775 STATUS current 1776 DESCRIPTION 1777 "This table enumerates specific meters that a system 1778 may use to police a stream of traffic. The traffic 1780 DiffServ QoS Policy Information Base November 2000 1782 stream to be metered is determined by the element(s) 1783 upstream of the meter i.e. by the object(s) that 1784 point to each entry in this table. This may include 1785 all traffic on an interface. 1787 Specific meter details are to be found in 1788 qosMeterSpecific." 1789 REFERENCE 1790 "[MODEL] section 5.1" 1791 ::= { qosPolicyClasses 4 } 1793 qosMeterEntry OBJECT-TYPE 1794 SYNTAX QosMeterEntry 1795 STATUS current 1796 DESCRIPTION 1797 "An entry in the meter table describing a single 1798 meter." 1799 PIB-INDEX { qosMeterPrid } 1800 UNIQUENESS { } 1801 ::= { qosMeterTable 1 } 1803 QosMeterEntry ::= SEQUENCE { 1804 qosMeterPrid InstanceId, 1805 qosMeterSucceedNext Prid, 1806 qosMeterFailNext Prid, 1807 qosMeterSpecific Prid 1808 } 1810 qosMeterPrid OBJECT-TYPE 1811 SYNTAX InstanceId 1812 STATUS current 1813 DESCRIPTION 1814 "An arbitrary integer index that uniquely identifies an 1815 instance of the class." 1816 ::= { qosMeterEntry 1 } 1818 qosMeterSucceedNext OBJECT-TYPE 1819 SYNTAX Prid 1820 STATUS current 1821 DESCRIPTION 1822 "If the traffic does conform, this selects the next 1824 DiffServ QoS Policy Information Base November 2000 1826 diffserv functional datapath element to handle 1827 traffic for this data path. 1829 The value zeroDotZero in this variable indicates no 1830 further Diffserv treatment is performed on traffic of 1831 this datapath. Any other value must point to a valid 1832 (pre-existing) instance of one of:" 1833 qosClfrEntry 1834 qosMeterEntry 1835 qosActionEntry 1836 qosAlgDropEntry 1837 qosQEntry." 1838 DEFVAL { zeroDotZero } 1839 ::= { qosMeterEntry 2 } 1841 qosMeterFailNext OBJECT-TYPE 1842 SYNTAX Prid 1843 STATUS current 1844 DESCRIPTION 1845 "If the traffic does not conform, this selects the 1846 next diffserv functional datapath element to handle 1847 traffic for this data path. 1849 The value zeroDotZero in this variable indicates no 1850 further Diffserv treatment is performed on traffic of 1851 this datapath. Any other value must point to a valid 1852 (pre-existing) instance of one of:" 1853 qosClfrEntry 1854 qosMeterEntry 1855 qosActionEntry 1856 qosAlgDropEntry 1857 qosQEntry." 1858 DEFVAL { zeroDotZero } 1859 ::= { qosMeterEntry 3 } 1861 qosMeterSpecific OBJECT-TYPE 1862 SYNTAX Prid 1863 STATUS current 1864 DESCRIPTION 1865 "This indicates the behaviour of the meter by point- 1866 ing to an entry containing detailed parameters. Note 1867 that entries in that specific table must be managed 1868 explicitly. 1870 DiffServ QoS Policy Information Base November 2000 1872 For example, qosMeterSpecific may point to an 1873 entry in qosTBMeterTable, which contains an 1874 instance of a single set of Token Bucket parameters. 1876 The PRI pointed to must exist prior to installing this 1877 Meter datapath element." 1878 ::= { qosMeterEntry 5 } 1880 -- 1881 -- Token-Bucket Meter Table 1882 -- 1883 -- Each entry in the Token Bucket Meter Table parameterize 1884 -- a single token bucket. Multiple token buckets can be 1885 -- used together to parameterize multiple levels of 1886 -- conformance. 1887 -- 1889 qosTBMeterTable OBJECT-TYPE 1890 SYNTAX SEQUENCE OF QosTBMeterEntry 1891 PIB-ACCESS install, 6 1892 STATUS current 1893 DESCRIPTION 1894 "This table enumerates specific token-bucket meters 1895 that a system may use to police a stream of traffic. 1896 Such meters are modelled here as having a single rate 1897 and a single burst size." 1898 REFERENCE 1899 "[MODEL] section 5.1" 1900 ::= { qosPolicyClasses 5 } 1902 qosTBMeterEntry OBJECT-TYPE 1903 SYNTAX QosTBMeterEntry 1904 STATUS current 1905 DESCRIPTION 1906 "An entry that describes a single token-bucket meter, 1907 indexed by the same variables as a qosMeterEn- 1908 try." 1909 PIB-INDEX { qosTBMeterPrid } 1910 UNIQUENESS { qosTBMeterType, 1911 qosTBMeterRate, 1912 qosTBMeterBurstSize, 1913 qosTBMeterInterval } 1915 DiffServ QoS Policy Information Base November 2000 1917 ::= { qosTBMeterTable 1 } 1919 QosTBMeterEntry ::= SEQUENCE { 1920 qosTBMeterPrid InstanceId, 1921 qosTBMeterType INTEGER, 1922 qosTBMeterRate Unsigned32, 1923 qosTBMeterBurstSize BurstSize, 1924 qosTBMeterInterval Unsigned32 1925 } 1927 qosTBMeterPrid OBJECT-TYPE 1928 SYNTAX InstanceId 1929 STATUS current 1930 DESCRIPTION 1931 "An arbitrary integer index that uniquely identifies an 1932 instance of the class." 1933 ::= { qosTBMeterEntry 1 } 1935 qosTBMeterType OBJECT-TYPE 1936 SYNTAX INTEGER { 1937 tokenBucket(2), -- Simple Token Bucket 1938 avgRate(3), -- Average Rate 1939 srTCMBlind(4), -- srTCM, Color-blind 1940 srTCMAware(5), -- srTCM, Color-aware 1941 trTCMBlind(6), -- trTCM, Color-blind 1942 trTCMAware(7), -- trTCM, Color-aware 1943 tswTCM(8) -- tswTCM 1944 } 1945 STATUS current 1946 DESCRIPTION 1947 "The type of meter using parameters specified by this 1948 TBMeter entry. 1950 Value of tokenBucket(2) indicates the use of Two 1951 Parameter Token Bucket Meter as described in [MODEL] 1952 section 5.2.3. 1954 Value of avgRate(3) indicates the use of Average Rate 1955 Meter as described in [MODEL] section 5.2.1. 1957 Value of srTCMBlind(4) and srTCMAware(5) indicates 1958 the use of Single Rate Three Color Marker Metering as 1960 DiffServ QoS Policy Information Base November 2000 1962 defined by RFC 2697, with `Color Blind' and `Color 1963 Aware' mode as described by the RFC. 1965 Value of trTCMBlind(6) and trTCMAware(7) indicates 1966 the use of Two Rate Three Color Marker Metering as 1967 defined by RFC 2698, with `Color Blind' and `Color 1968 Aware' mode as described by the RFC. 1970 Value of tswTCM(8) indicates the use of Time Sliding 1971 Window Three Color Marker Metering as defined by RFC 1972 2859." 1973 REFERENCE 1974 "[MODEL] section 5" 1975 ::= { qosTBMeterEntry 2 } 1977 qosTBMeterRate OBJECT-TYPE 1978 SYNTAX Unsigned32 1979 UNITS "kilobits per second" 1980 STATUS current 1981 DESCRIPTION 1982 "The token-bucket rate, in kilobits per second 1983 (kbps). This attribute is used for: 1. CIR in RFC 1984 2697 for srTCM 2. PIR and CIR in FRC 2698 for trTCM 1985 3. CTR and PTR in RFC 2859 for TSWTCM 4. AverageRate 1986 used in [MODEL] section 5." 1987 ::= { qosTBMeterEntry 3 } 1989 qosTBMeterBurstSize OBJECT-TYPE 1990 SYNTAX BurstSize 1991 UNITS "Bytes" 1992 STATUS current 1993 DESCRIPTION 1994 "The maximum number of bytes in a single transmission 1995 burst. This attribute is used for: 1. CBS and EBS in 1996 RFC 2697 for srTCM 2. CBS and PBS in FRC 2698 for 1997 trTCM 3. Burst Size used in [MODEL] section 5." 1998 ::= { qosTBMeterEntry 4 } 2000 qosTBMeterInterval OBJECT-TYPE 2001 SYNTAX Unsigned32 2002 UNITS "microseconds" 2003 STATUS current 2005 DiffServ QoS Policy Information Base November 2000 2007 DESCRIPTION 2008 "The time interval used with the token bucket. For: 2009 1. Average Rate Meter, [MODEL] section 5.2.1, - 2010 Delta. 2. Simple Token Bucket Meter, [MODEL] section 2011 5.1, - time interval t. 3. RFC 2859 TSWTCM, - 2012 AVG_INTERVAL. 4. RFC 2697 srTCM, RFC 2698 trTCM, - 2013 token bucket update time interval." 2014 ::= { qosTBMeterEntry 5 } 2016 -- 2017 -- Actions 2018 -- 2020 -- 2021 -- The Action Table allows enumeration of the different 2022 -- types of actions to be applied to a traffic flow. 2023 -- 2025 qosActionTable OBJECT-TYPE 2026 SYNTAX SEQUENCE OF QosActionEntry 2027 PIB-ACCESS install, 5 2028 STATUS current 2029 DESCRIPTION 2030 "The Action Table enumerates actions that can be per- 2031 formed to a stream of traffic. Multiple actions can 2032 be concatenated. For example, after marking a stream 2033 of traffic exiting from a meter, a device can then 2034 perform a mark action of the conforming or non- 2035 conforming traffic. 2037 Specific actions are indicated by qosAction- 2038 Specific which points to an entry of a specific 2039 action type parameterizing the action in detail." 2040 REFERENCE 2041 "[MODEL] section 6." 2042 ::= { qosPolicyClasses 6 } 2044 qosActionEntry OBJECT-TYPE 2045 SYNTAX QosActionEntry 2047 DiffServ QoS Policy Information Base November 2000 2049 STATUS current 2050 DESCRIPTION 2051 "Each entry in the action table allows description of 2052 one specific action to be applied to traffic." 2053 PIB-INDEX { qosActionPrid } 2054 UNIQUENESS { } 2055 ::= { qosActionTable 1 } 2057 QosActionEntry ::= SEQUENCE { 2058 qosActionPrid InstanceId, 2059 qosActionNext Prid, 2060 qosActionSpecific Prid, 2061 qosActionType INTEGER 2062 } 2064 qosActionPrid OBJECT-TYPE 2065 SYNTAX InstanceId 2066 STATUS current 2067 DESCRIPTION 2068 "An arbitrary integer index that uniquely identifies an 2069 instance of the class." 2070 ::= { qosActionEntry 1 } 2072 qosActionNext OBJECT-TYPE 2073 SYNTAX Prid 2074 STATUS current 2075 DESCRIPTION 2076 "This selects the next diffserv functional datapath 2077 element to handle traffic for this data path. 2079 The value zeroDotZero in this variable indicates no 2080 further Diffserv treatment is performed on traffic of 2081 this datapath. Any other value must point to a valid 2082 (pre-existing) instance of one of:" 2083 qosClfrEntry 2084 qosMeterEntry 2085 qosActionEntry 2086 qosAlgDropEntry 2087 qosQEntry." 2088 DEFVAL { zeroDotZero } 2089 ::= { qosActionEntry 2 } 2091 DiffServ QoS Policy Information Base November 2000 2093 qosActionSpecific OBJECT-TYPE 2094 SYNTAX Prid 2095 STATUS current 2096 DESCRIPTION 2097 "A pointer to an object instance providing additional 2098 information for the type of action indicated by this 2099 action table entry. 2101 This attribute is meaningful only if qosActionType is 2102 specific(3). For other action types, this attribute 2103 should be NULL. 2105 For the standard actions defined by this PIB module, 2106 this should point to an instance of 2107 qosDscpMarkActEntry. For other actions, it may point 2108 to an instance of a PRC defined in some other PIB. 2109 The PRI pointed to must exist prior to installing this 2110 action datapath entry." 2111 ::= { qosActionEntry 3 } 2113 qosActionType OBJECT-TYPE 2114 SYNTAX INGEGER { 2115 specific(2), 2116 absoluteDrop(3) 2117 } 2118 STATUS current 2119 DESCRIPTION 2120 "This attribute indicates how the parameters of the 2121 action are to be specified. 2123 A value of specific(2) indicates that the action 2124 paramters are described in the instance of the PRC 2125 pointed to by qosActionSpecific. 2127 A value of absoluteDrop(3) indicates that the absolute 2128 drop action to be taken, and that no additional 2129 parameters apply to this action. For this action 2130 type, the value of qosActionSpecific should be 2131 zeroDotZero." 2132 ::= { qosActionEntry 4 } 2134 -- DSCP Mark Action Table 2135 -- 2136 DiffServ QoS Policy Information Base November 2000 2138 -- Rows of this table are pointed to by qosActionSpecific 2139 -- to provide detailed parameters specific to the DSCP 2140 -- Mark action. 2141 -- 2143 qosDscpMarkActTable OBJECT-TYPE 2144 SYNTAX SEQUENCE OF QosDscpMarkActEntry 2145 PIB-ACCESS install, 3 2146 STATUS current 2147 DESCRIPTION 2148 "This table enumerates specific DSCPs used for mark- 2149 ing or remarking the DSCP field of IP packets. The 2150 entries of this table may be referenced by a 2151 qosActionSpecific attribute." 2152 REFERENCE 2153 "[MODEL] section 6.1" 2154 ::= { qosPolicyClasses 7 } 2156 qosDscpMarkActEntry OBJECT-TYPE 2157 SYNTAX QosDscpMarkActEntry 2158 STATUS current 2159 DESCRIPTION 2160 "An entry in the DSCP mark action table that 2161 describes a single DSCP used for marking." 2162 PIB-INDEX { qosDscpMarkActPrid } 2163 INDEX { qosDscpMarkActDscp } 2164 UNIQUENESS { qosDscpMarkActDscp } 2165 ::= { qosDscpMarkActTable 1 } 2167 QosDscpMarkActEntry ::= SEQUENCE { 2168 qosDscpMarkActPrid InstanceId, 2169 qosDscpMarkActDscp Dscp 2170 } 2172 qosDscpMarkActPrid OBJECT-TYPE 2173 SYNTAX InstanceId 2174 STATUS current 2175 DESCRIPTION 2176 "An arbitrary integer index that uniquely identifies an 2177 instance of the class." 2178 ::= { qosDscpMarkActEntry 1 } 2180 DiffServ QoS Policy Information Base November 2000 2182 qosDscpMarkActDscp OBJECT-TYPE 2183 SYNTAX Dscp 2184 STATUS current 2185 DESCRIPTION 2186 "The DSCP that this Action uses for marking/remarking 2187 traffic. Note that a DSCP value of -1 is not permit- 2188 ted in this table. It is quite possible that the 2189 only packets subject to this Action are already 2190 marked with this DSCP. Note also that Diffserv may 2191 result in packet remarking both on ingress to a net- 2192 work and on egress from it and it is quite possible 2193 that ingress and egress would occur in the same 2194 router." 2195 ::= { qosDscpMarkActEntry 2 } 2197 -- 2198 -- Algorithmic Drop Table 2199 -- 2201 qosAlgDropTable OBJECT-TYPE 2202 SYNTAX SEQUENCE OF QosAlgDropEntry 2203 PIB-ACCESS install, 7 2204 STATUS current 2205 DESCRIPTION 2206 "The algorithmic drop table contains entries describ- 2207 ing an element that drops packets according to some 2208 algorithm." 2209 REFERENCE 2210 "[MODEL] section 7.1.3" 2211 ::= { qosPolicyClasses 9 } 2213 qosAlgDropEntry OBJECT-TYPE 2214 SYNTAX QosAlgDropEntry 2215 STATUS current 2216 DESCRIPTION 2217 "An entry describes a process that drops packets 2218 according to some algorithm. Further details of the 2219 algorithm type are to be found in qosAlgDropType 2220 and with more detail parameter entry pointed to by 2221 qosAlgDropSpecific when necessary." 2222 PIB-INDEX { qosAlgDropPrid } 2224 DiffServ QoS Policy Information Base November 2000 2226 UNIQUENESS { } 2227 ::= { qosAlgDropTable 1 } 2229 QosAlgDropEntry ::= SEQUENCE { 2230 qosAlgDropPrid InstanceId, 2231 qosAlgDropType INTEGER, 2232 qosAlgDropNext Prid, 2233 qosAlgDropQMeasure Prid, 2234 qosAlgDropQThreshold Unsigned32, 2235 qosAlgDropSpecific Prid 2236 } 2238 qosAlgDropPrid OBJECT-TYPE 2239 SYNTAX InstanceId 2240 STATUS current 2241 DESCRIPTION 2242 "An arbitrary integer index that uniquely identifies an 2243 instance of the class." 2244 ::= { qosAlgDropEntry 1 } 2246 qosAlgDropType OBJECT-TYPE 2247 SYNTAX INTEGER { 2248 other(1), 2249 tailDrop(2), 2250 headDrop(3), 2251 randomDrop(4) 2252 } 2253 STATUS current 2254 DESCRIPTION 2255 "The type of algorithm used by this dropper. A value 2256 of tailDrop(2) or headDrop(3) represents an algorithm 2257 that is completely specified by this PIB. 2259 A value of other(1) indicates that the specifics of 2260 the drop algorithm are specified in some other PIB 2261 module, and that the qosAlgDropSpecific attribute 2262 points to an instance of a PRC in that PIB that 2263 specifies the information necessary to implement the 2264 algorithm. 2266 The tailDrop(2) algorithm is described as follows: 2267 qosAlgDropQThreshold represents the depth of the 2269 DiffServ QoS Policy Information Base November 2000 2271 queue, pointed to by qosAlgDropQMeasure, at 2272 which all newly arriving packets will be dropped. 2274 The headDrop(3) algorithm is described as follows: if 2275 a packet arrives when the current depth of the queue, 2276 pointed to by qosAlgDropQMeasure, is at 2277 qosAlgDropQThreshold, packets currently at the head of 2278 the queue are dropped to make room for the new packet 2279 to be enqueued at the tail of the queue. 2281 The randomDrop(4) algorithm is described as follows: 2282 on packet arrival, an algorithm is executed which may 2283 randomly drop the packet, or drop other packet(s) 2284 from the queue in its place. The specifics of the 2285 algorithm may be proprietary. For this algorithm, 2286 qosAlgDropSpecific points to a qosRandomDropEntry 2287 that describes the algorithm. For this 2288 algorithm, qosAlgQThreshold is understood to be 2289 the absolute maximum size of the queue and additional 2290 parameters are described in qosRandomDropTable." 2291 ::= { qosAlgDropEntry 2 } 2293 qosAlgDropNext OBJECT-TYPE 2294 SYNTAX Prid 2295 STATUS current 2296 DESCRIPTION 2297 "This selects the next diffserv functional datapath 2298 element to handle traffic for this data path. 2300 The value zeroDotZero in this variable indicates no 2301 further Diffserv treatment is performed on traffic of 2302 this datapath. Any other value must point to a valid 2303 (pre-existing) instance of one of:" 2304 qosClfrEntry 2305 qosMeterEntry 2306 qosActionEntry 2307 qosAlgDropEntry 2308 qosQEntry." 2309 DEFVAL { zeroDotZero } 2310 ::= { qosAlgDropEntry 3 } 2312 qosAlgDropQMeasure OBJECT-TYPE 2313 SYNTAX Prid 2315 DiffServ QoS Policy Information Base November 2000 2317 STATUS current 2318 DESCRIPTION 2319 "Points to an entry in the qosQTable to indicate 2320 the queue that a drop algorithm is to monitor when 2321 deciding whether to drop a packet. 2323 The PRI pointed to must exist prior to installing 2324 this dropper element." 2325 ::= { qosAlgDropEntry 4 } 2327 qosAlgDropQThreshold OBJECT-TYPE 2328 SYNTAX Unsigned32 2329 UNITS "Bytes" 2330 STATUS current 2331 DESCRIPTION 2332 "A threshold on the depth in bytes of the queue being 2333 measured at which a trigger is generated to the drop- 2334 ping algorithm. 2336 For the tailDrop(2) or headDrop(3) algorithms, this 2337 represents the depth of the queue, pointed to by 2338 qosAlgDropQMeasure, at which the drop action 2339 will take place. Other algorithms will need to define 2340 their own semantics for this threshold." 2341 ::= { qosAlgDropEntry 5 } 2343 qosAlgDropSpecific OBJECT-TYPE 2344 SYNTAX Prid 2345 STATUS current 2346 DESCRIPTION 2347 "Points to a table entry that provides further detail 2348 regarding a drop algorithm. The PRI pointed to 2349 must exist prior to installing this dropper element. 2351 Entries with qosAlgDropType equal to other(1) 2352 must have this point to an instance of a PRC 2353 defined in another PIB module. 2355 Entries with qosAlgDropType equal to random- 2356 Drop(4) must have this point to an entry in 2357 qosRandomDropTable. 2359 For all other algorithms, this should take the value 2361 DiffServ QoS Policy Information Base November 2000 2363 zeroDotzero." 2364 ::= { qosAlgDropEntry 6 } 2366 -- 2367 -- Random Drop Table 2368 -- 2370 qosRandomDropTable OBJECT-TYPE 2371 SYNTAX SEQUENCE OF QosRandomDropEntry 2372 PIB-ACCESS install, 9 2373 STATUS current 2374 DESCRIPTION 2375 "The random drop table contains entries describing a 2376 process that drops packets randomly. Entries in this 2377 table is intended to be pointed to by 2378 qosAlgDropSpecific." 2379 REFERENCE 2380 "[MODEL] section 7.1.3" 2381 ::= { qosPolicyClasses 10 } 2383 qosRandomDropEntry OBJECT-TYPE 2384 SYNTAX QosRandomDropEntry 2385 STATUS current 2386 DESCRIPTION 2387 "An entry describes a process that drops packets 2388 according to a random algorithm." 2389 PIB-INDEX { qosRandomDropPrid } 2390 UNIQUENESS { qosRandomDropMinThreshBytes, 2391 qosRandomDropMinThreshPkts, 2392 qosRandomDropMaxThreshBytes, 2393 qosRandomDropMaxThreshPkts, 2394 qosRandomDropInvProbMax, 2395 qosRandomDropInvWeight, 2396 qosRandomDropSamplingRate 2397 ::= { qosRandomDropTable 1 } 2399 QosRandomDropEntry ::= SEQUENCE { 2400 qosRandomDropPrid InstanceId, 2401 qosRandomDropMinThreshBytes Unsigned32, 2402 qosRandomDropMinThreshPkts Unsigned32, 2403 qosRandomDropMaxThreshBytes Unsigned32, 2404 qosRandomDropMaxThreshPkts Unsigned32, 2406 DiffServ QoS Policy Information Base November 2000 2408 qosRandomDropInvProbMax Unsigned32, 2409 qosRandomDropInvWeight Unsigned32, 2410 qosRandomDropSamplingRate Unsigned32 2411 } 2413 qosRandomDropPrid OBJECT-TYPE 2414 SYNTAX InstanceId 2415 STATUS current 2416 DESCRIPTION 2417 "An arbitrary integer index that uniquely identifies an 2418 instance of the class." 2419 ::= { qosRandomDropEntry 1 } 2421 qosRandomDropMinThreshBytes OBJECT-TYPE 2422 SYNTAX Unsigned32 2423 UNITS "bytes" 2424 STATUS current 2425 DESCRIPTION 2426 "The average queue depth in bytes, beyond which 2427 traffic has a non-zero probability of being dropped. 2428 Changes in this variable may or may not be reflected 2429 in the reported value of qosRandomDropMinThreshPkts." 2430 ::= { qosRandomDropEntry 2 } 2432 qosRandomDropMinThreshPkts OBJECT-TYPE 2433 SYNTAX Unsigned32 2434 UNITS "packets" 2435 STATUS current 2436 DESCRIPTION 2437 "The average queue depth in packets, beyond which 2438 traffic has a non-zero probability of being dropped. 2439 Changes in this variable may or may not be reflected 2440 in the reported value of qosRandomDropMinThreshBytes." 2441 ::= { qosRandomDropEntry 3 } 2443 qosRandomDropMaxThreshBytes OBJECT-TYPE 2444 SYNTAX Unsigned32 2445 UNITS "bytes" 2446 STATUS current 2447 DESCRIPTION 2448 "The average queue depth beyond which traffic has a 2450 DiffServ QoS Policy Information Base November 2000 2452 probability indicated by qosRandomDropInvProbMax 2453 of being dropped or marked. Note that this differs 2454 from the physical queue limit, which is stored in 2455 qosAlgDropQThreshold. Changes in this variable 2456 may or may not be reflected in the reported value of 2457 qosRandomDropMaxThreshPkts." 2458 ::= { qosRandomDropEntry 4 } 2460 qosRandomDropMaxThreshPkts OBJECT-TYPE 2461 SYNTAX Unsigned32 2462 UNITS "packets" 2463 STATUS current 2464 DESCRIPTION 2465 "The average queue depth beyond which traffic has a 2466 probability indicated by qosRandomDropInvProbMax 2467 of being dropped or marked. Note that this differs 2468 from the physical queue limit, which is stored in 2469 qosAlgDropQThreshold. Changes in this variable 2470 may or may not be reflected in the reported value of 2471 qosRandomDropMaxThreshBytes." 2472 ::= { qosRandomDropEntry 5 } 2474 qosRandomDropInvProbMax OBJECT-TYPE 2475 SYNTAX Unsigned32 2476 STATUS current 2477 DESCRIPTION 2478 "The worst case random drop probability, expressed as 2479 the inverse of the drop probability. With special 2480 case of the value zero meaning zero probability of 2481 drop. 2483 For example, if every packet may be dropped in the 2484 worst case (100%), this has the value of 2485 4,294,967,295." 2486 ::= { qosRandomDropEntry 6 } 2488 qosRandomDropInvWeight OBJECT-TYPE 2489 SYNTAX Unsigned32 2490 STATUS current 2491 DESCRIPTION 2492 "The weighting of past history in affecting the cal- 2493 culation of the current queue average. The moving 2495 DiffServ QoS Policy Information Base November 2000 2497 average of the queue depth uses the inverse of this 2498 value as the factor for the new queue depth, and one 2499 minus that inverse as the factor for the historical 2500 average. 2502 Implementations may choose to limit the acceptable 2503 set of values to a specified set, such as powers of 2504 2." 2505 ::= { qosRandomDropEntry 7 } 2507 qosRandomDropSamplingRate OBJECT-TYPE 2508 SYNTAX Unsigned32 2509 STATUS current 2510 DESCRIPTION 2511 "The number of times per second the queue is sampled 2512 for queue average calculation. A value of zero means 2513 the queue is sampled approximately each time a packet 2514 is enqueued (or dequeued)." 2515 ::= { qosRandomDropEntry 8 } 2517 -- 2518 -- Queue Table 2519 -- 2521 -- 2522 -- An entry in qosQTable represents a FIFO queue diffserv 2523 -- functional datapath element as described in [MODEL] section 2524 -- 7.1.1. 2525 -- Notice the specification of scheduling parameters for a queue 2526 -- as part of the input to a scheduler functional datapath 2527 -- element as described in [MODEL] section 7.1.2. This allows 2528 -- building of hierarchical queueing/scheduling. 2529 -- A queue therefore is parameterized by: 2530 -- 1. Which scheduler will service this queue, qosQNext. 2531 -- 2. How the scheduler will service this queue, with respect 2532 -- to all the other queues the same scheduler needs to service, 2533 -- qosQSchdParam. 2534 -- 2536 qosQTable OBJECT-TYPE 2537 SYNTAX SEQUENCE OF QosQEntry 2538 PIB-ACCESS install, 4 2540 DiffServ QoS Policy Information Base November 2000 2542 STATUS current 2543 DESCRIPTION 2544 "The Queue Table enumerates the individual queues on 2545 an interface." 2546 ::= { qosPolicyClasses 11 } 2548 qosQEntry OBJECT-TYPE 2549 SYNTAX QosQEntry 2550 STATUS current 2551 DESCRIPTION 2552 "An entry in the Queue Table describes a single queue 2553 in one direction on an interface." 2554 PIB-INDEX { qosQPrid } 2555 UNIQUENESS { } 2556 ::= { qosQTable 1 } 2558 QosQEntry ::= SEQUENCE { 2559 qosQPrid InstanceId, 2560 qosQNext Prid, 2561 qosQSchdParam Prid 2562 } 2564 qosQPrid OBJECT-TYPE 2565 SYNTAX InstanceId 2566 STATUS current 2567 DESCRIPTION 2568 "An arbitrary integer index that uniquely identifies an 2569 instance of the class." 2570 ::= { qosQEntry 1 } 2572 qosQNext OBJECT-TYPE 2573 SYNTAX Prid 2574 STATUS current 2575 DESCRIPTION 2576 "This selects the next diffserv functional datapath 2577 element to handle traffic for this data path. This 2578 value must point to a valid (pre-existing) instance 2579 of one of: 2580 qosSchedulerEntry" 2581 ::= { qosQEntry 2 } 2583 DiffServ QoS Policy Information Base November 2000 2585 qosQSchdParam OBJECT-TYPE 2586 SYNTAX Prid 2587 STATUS current 2588 DESCRIPTION 2589 "This Prid indicates the entry in 2590 qosSchdParamTable the scheduler, pointed to by 2591 qosQNext, should use to service this queue. The PRI 2592 pointed to must exist prior to installing this queue 2593 element." 2594 ::= { qosQEntry 3 } 2596 -- 2597 -- Scheduler Table 2598 -- 2599 -- The Scheduler Table is used for representing packet schedulers: 2600 -- it provides flexibility for multiple scheduling algorithms, each 2601 -- servicing multiple queues, to be used on the same logical/physical 2602 -- interface. 2603 -- Notice the servicing parameters the scheduler uses is 2604 -- specified by each of its upstream functional datapath elements, 2605 -- most likely queues or schedulers. 2606 -- The coordination and coherency between the servicing parameters 2607 -- of the scheduler's upstream functional datapath elements must 2608 -- be maintained for the scheduler to function correctly. 2609 -- 2610 -- The qosSchedulerSchdParam attribute is used for specifying 2611 -- the servicing parameters for output of a scheduler when its 2612 -- downstream functional datapath element is another scheduler. 2613 -- This is used for building hierarchical queue/scheduler. 2614 -- 2616 qosSchedulerTable OBJECT-TYPE 2617 SYNTAX SEQUENCE OF QosSchedulerEntry 2618 PIB-ACCESS install, 5 2619 STATUS current 2620 DESCRIPTION 2621 "The Scheduler Table enumerates packet schedulers. 2622 Multiple scheduling algorithms can be used on a given 2623 interface, with each algorithm described by one 2624 qosSchedulerEntry." 2625 REFERENCE 2626 "[MODEL] section 7.1.2" 2628 DiffServ QoS Policy Information Base November 2000 2630 ::= { qosPolicyClasses 12 } 2632 qosSchedulerEntry OBJECT-TYPE 2633 SYNTAX QosSchedulerEntry 2634 STATUS current 2635 DESCRIPTION 2636 "An entry in the Scheduler Table describing a single 2637 instance of a scheduling algorithm." 2638 PIB-INDEX { qosSchedulerPrid } 2639 UNIQUENESS { } 2640 ::= { qosSchedulerTable 1 } 2642 QosSchedulerEntry ::= SEQUENCE { 2643 qosSchedulerPrid InstanceId, 2644 qosSchedulerNext Prid, 2645 qosSchedulerMethod INTEGER, 2646 qosSchedulerSchdParam Prid 2647 } 2649 qosSchedulerPrid OBJECT-TYPE 2650 SYNTAX InstanceId 2651 STATUS current 2652 DESCRIPTION 2653 "An arbitrary integer index that uniquely identifies an 2654 instance of the class." 2655 ::= { qosSchedulerEntry 1 } 2657 qosSchedulerNext OBJECT-TYPE 2658 SYNTAX Prid 2659 STATUS current 2660 DESCRIPTION 2661 "This selects the next diffserv functional datapath 2662 element to handle traffic for this data path. 2664 A value of zeroDotZero in this attribute indicates no 2665 further Diffserv treatment is performed on traffic of 2666 this datapath. The use of zeroDotZero is the normal 2667 usage for the last functional datapath element. Any 2668 value other than zeroDotZero must point to a valid 2669 (pre-existing) instance of one of: 2670 qosSchedulerEntry 2672 DiffServ QoS Policy Information Base November 2000 2674 qosQEntry (as indicated by [MODEL] section 2675 7.1.4). 2677 This can point to another qosSchedulerEntry 2678 for implementation of multiple scheduler methods for 2679 the same datapath, and for implementation of 2680 hierarchical schedulers." 2681 DEFVAL { zeroDotZero } 2682 ::= { qosSchedulerEntry 2 } 2684 qosSchedulerMethod OBJECT-TYPE 2685 SYNTAX INTEGER { 2686 priorityq(2), -- Priority Queueing 2687 wrr(3), -- Weighted Round Robin 2688 wfq(4), -- Weighted Fair Queuing 2689 wirr(5), -- Weighted Interleaved Round Robin 2690 bsp(6) -- Bounded Strict Priority 2691 } 2692 STATUS current 2693 DESCRIPTION 2694 "The scheduling algorithm used by this Scheduler. 2696 A value of priorityq(2) is used to indicate strict 2697 priority queueing: only the qosSchdParamPriority 2698 attributes of the queues feeding this scheduler are 2699 used when determining the next packet to schedule. 2701 A value of wrr(3) indicates weighted round-robin 2702 scheduling. Packets are scheduled from each of the 2703 queues feeding this scheduler according to all of the 2704 parameters of the qosSchdParam entry. 2706 A value of wfq(4) indicates weighted fair queueing 2707 scheduling. Packets are scheduled from each of the 2708 queues feeding this scheduler according to all the 2709 parameters of the QosSchdParamEntry directed 2710 from qosQueue entry. 2712 A value of wirr(5) indicates weighted interleaved 2713 roundrobin queueing scheduling. Packets are 2714 scheduled from each of the queues feeding this 2715 scheduler according to all the parameters of the 2716 QosSchdParamEntry directed from qosQueue 2717 entry. 2719 DiffServ QoS Policy Information Base November 2000 2721 A value of bsp(6) indicates bounded strict priority 2722 scheduling. Packets are scheduled from each of the 2723 queues feeding this scheduler according to all the 2724 parameters of the QosSchdParamEntry directed 2725 from qosQueue entry." 2726 REFERENCE 2727 "[MODEL] section 7.1.2" 2728 ::= { qosSchedulerEntry 3 } 2730 qosSchedulerSchdParam OBJECT-TYPE 2731 SYNTAX Prid 2732 STATUS current 2733 DESCRIPTION 2734 "This Prid indicates the entry in 2735 qosSchdParamTable the higher level scheduler, 2736 pointed to by qosSchedulerNext, should use to 2737 service the output of this scheduler. This attribute 2738 is only used when there is more than one level of 2739 scheduler. A value of 0.0 should be sent to indicate 2740 that this attribute is not used." 2741 ::= { qosSchedulerEntry 4 } 2743 -- 2744 -- Scheduling Parameter Table 2745 -- 2746 -- The scheduling parameters are separate from the Queue Entries 2747 -- for reusability and for usage by both queues and schedulers, 2748 -- and this follows the separation of datapath elements from 2749 -- parameterization approach used throught out this PIB. 2750 -- Usage of scheduling parameter table entry by schedulers allow 2751 -- building of hierarchical scheduling. 2752 -- 2753 -- The qosSchdParamMaxRateAbs/Rel attributes are used to 2754 -- construct non-work-conserving scheduler for the purpose of 2755 -- traffic shaping. These attributes limits the servicing of 2756 -- the queue/scheduler, in affect, shaping the output of the 2757 -- queue/scheduler, as described in [MODEL] section 7.2. 2758 -- 2760 qosSchdParamTable OBJECT-TYPE 2761 SYNTAX SEQUENCE OF QosSchdParamEntry 2763 DiffServ QoS Policy Information Base November 2000 2765 PIB-ACCESS install, 7 2766 STATUS current 2767 DESCRIPTION 2768 "The Scheduling Parameter Table enumerates individual 2769 sets of scheduling parameter that can be used/reused 2770 by Queues and Schedulers." 2771 ::= { qosPolicyClasses 13 } 2773 qosSchdParamEntry OBJECT-TYPE 2774 SYNTAX QosSchdParamEntry 2775 STATUS current 2776 DESCRIPTION 2777 "An entry in the Scheduling Parameter Table describes 2778 a single set of scheduling parameter for use by 2779 queues and schedulers. 2781 Notice multiple inter-mixed Queue and Scheduler 2782 entries can use the same Scheduler Parameter entry." 2783 PIB-INDEX { qosSchdParamPrid } 2784 UNIQUENESS { qosSchdParamPriority, 2785 qosSchdParamMinRateAbs, 2786 qosSchdParamMinRateRel, 2787 qosSchdParamMaxRateAbs, 2788 qosSchdParamMaxRateRel } 2789 ::= { qosSchdParamTable 1 } 2791 QosSchdParamEntry ::= SEQUENCE { 2792 qosSchdParamPrid InstanceId, 2793 qosSchdParamPriority Unsigned32, 2794 qosSchdParamMinRateAbs Unsigned32, 2795 qosSchdParamMinRateRel Unsigned32, 2796 qosSchdParamMaxRateAbs Unsigned32, 2797 qosSchdParamMaxRateRel Unsigned32 2798 } 2800 qosSchdParamPrid OBJECT-TYPE 2801 SYNTAX InstanceId 2802 STATUS current 2803 DESCRIPTION 2804 "An arbitrary integer index that uniquely identifies an 2805 instance of the class." 2806 ::= { qosSchdParamEntry 1 } 2808 DiffServ QoS Policy Information Base November 2000 2810 qosSchdParamPriority OBJECT-TYPE 2811 SYNTAX Unsigned32 2812 STATUS current 2813 DESCRIPTION 2814 "The priority of this queue, to be used as a parame- 2815 ter to the next scheduler element downstream from 2816 this one." 2817 ::= { qosSchdParamEntry 2 } 2819 qosSchdParamMinRateAbs OBJECT-TYPE 2820 SYNTAX Unsigned32 2821 UNITS "kilobits per second" 2822 STATUS current 2823 DESCRIPTION 2824 "The minimum absolute rate, in kilobits/sec, that a 2825 downstream scheduler element should allocate to this 2826 queue. If the value is zero, then there is effec- 2827 tively no minimum rate guarantee. If the value is 2828 non-zero, the scheduler will assure the servicing of 2829 this queue to at least this rate. 2831 Note that this attribute's value is coupled to that 2832 of qosSchdParamMinRateRel: changes to one will 2833 affect the value of the other. They are linked by the 2834 following equation: 2836 qosSchdParamMinRateRel = qosSchdParamMinRateAbs * 10,000,000/ifSpeed 2838 or, if appropriate: 2840 qosSchdParamMinRateRel = qosSchdParamMinRateAbs * 10 / ifHighSpeed" 2841 REFERENCE 2842 "ifSpeed, ifHighSpeed from [IFMIB]" 2843 ::= { qosSchdParamEntry 3 } 2845 qosSchdParamMinRateRel OBJECT-TYPE 2846 SYNTAX Unsigned32 2847 STATUS current 2848 DESCRIPTION 2849 "The minimum rate that a downstream scheduler element 2850 should allocate to this queue, relative to the max- 2851 imum rate of the interface as reported by ifSpeed or 2852 ifHighSpeed, in units of 1/10,000 of 1. If the value 2854 DiffServ QoS Policy Information Base November 2000 2856 is zero, then there is effectively no minimum rate 2857 guarantee. If the value is non-zero, the scheduler 2858 will assure the servicing of this queue to at least 2859 this rate. 2861 Note that this attribute's value is coupled to that 2862 of qosSchdParamMinRateAbs: changes to one will 2863 affect the value of the other. They are linked by the 2864 following equation: 2866 qosSchdParamMinRateAbs = ifSpeed * qosSchdParamMinRateRel/10,000,000 2868 or, if appropriate: 2870 qosSchdParamMinRateAbs = ifHighSpeed * qosSchdParamMinRateRel / 10" 2871 REFERENCE 2872 "ifSpeed, ifHighSpeed from [IFMIB]" 2873 ::= { qosSchdParamEntry 4 } 2875 qosSchdParamMaxRateAbs OBJECT-TYPE 2876 SYNTAX Unsigned32 2877 UNITS "kilobits per second" 2878 STATUS current 2879 DESCRIPTION 2880 "The maximum rate in kilobits/sec that a downstream 2881 scheduler element should allocate to this queue. If 2882 the value is zero, then there is effectively no max- 2883 imum rate limit and that the scheduler should attempt 2884 to be work-conserving for this queue. If the value 2885 is non-zero, the scheduler will limit the servicing 2886 of this queue to, at most, this rate in a non-work- 2887 conserving manner. 2889 Note that this attribute's value is coupled to that 2890 of qosSchdParamMaxRateRel: changes to one will 2891 affect the value of the other. They are linked by the 2892 following equation: 2894 qosSchdParamMaxRateRel = qosSchdParamMaxRateAbs * 10,000,000/ifSpeed 2896 or, if appropriate: 2898 qosSchdParamMaxRateRel = qosSchdParamMaxRateAbs * 10 / ifHighSpeed" 2899 REFERENCE 2901 DiffServ QoS Policy Information Base November 2000 2903 "ifSpeed, ifHighSpeed from [IFMIB]" 2904 ::= { qosSchdParamEntry 5 } 2906 qosSchdParamMaxRateRel OBJECT-TYPE 2907 SYNTAX Unsigned32 2908 STATUS current 2909 DESCRIPTION 2910 "The maximum rate that a downstream scheduler element 2911 should allocate to this queue, relative to the max- 2912 imum rate of the interface as reported by ifSpeed or 2913 ifHighSpeed, in units of 1/10,000 of 1. If the value 2914 is zero, then there is effectively no maximum rate 2915 limit and the scheduler should attempt to be work- 2916 conserving for this queue. If the value is non-zero, 2917 the scheduler will limit the servicing of this queue 2918 to, at most, this rate in a non-work-conserving 2919 manner. 2921 Note that this attribute's value is coupled to that 2922 of qosSchdParamMaxRateAbs: changes to one will 2923 affect the value of the other. They are linked by the 2924 following equation: 2926 qosSchdParamMaxRateAbs = ifSpeed * qosSchdParamMaxRateRel/10,000,000 2928 or, if appropriate: 2930 qosSchdParamMaxRateAbs = ifHighSpeed * qosSchdParamMaxRateRel / 10" 2931 REFERENCE 2932 "ifSpeed, ifHighSpeed from [IFMIB]" 2933 ::= { qosSchdParamEntry 6 } 2935 -- 2936 -- Conformance Section 2937 -- 2939 qosPolicyPibConformance 2940 OBJECT IDENTIFIER ::= { qosPolicyPib 3 } 2942 qosPolicyPibCompliances 2943 DiffServ QoS Policy Information Base November 2000 2945 OBJECT IDENTIFIER ::= { qosPolicyPibConformance 1 } 2946 qosPolicyPibGroups 2947 OBJECT IDENTIFIER ::= { qosPolicyPibConformance 2 } 2949 qosPolicyPibCompliance MODULE-COMPLIANCE 2950 STATUS current 2951 DESCRIPTION 2952 "Describes the requirements for conformance to the 2953 QoS Policy PIB." 2955 MODULE -- this module 2956 MANDATORY-GROUPS { 2957 qosPibDataPathGroup, 2958 qosPibClfrGroup, 2959 qosPibClfrElementGroup, 2960 qosPibActionGroup, 2961 qosPibAlgDropGroup, 2962 qosPibQGroup, 2963 qosPibSchedulerGroup, 2964 qosPibSchdParamGroup } 2966 GROUP qosPibMeterGroup 2967 DESCRIPTION 2968 "This group is mandatory for devices that implement 2969 metering functions." 2971 GROUP qosPibTBMeterGroup 2972 DESCRIPTION 2973 "This group is mandatory for devices that implement 2974 token-bucket metering functions." 2976 GROUP qosPibDscpMarkActGroup 2977 DESCRIPTION 2978 "This group is mandatory for devices that implement 2979 DSCP-Marking functions." 2981 GROUP qosPibRandomDropGroup 2982 DESCRIPTION 2983 "This group is mandatory for devices that implement 2984 Random Drop functions." 2986 DiffServ QoS Policy Information Base November 2000 2988 OBJECT qosClfrId 2989 MIN-ACCESS notify 2990 DESCRIPTION 2991 "Install support is not required." 2993 OBJECT qosClfrElementClfrId 2994 MIN-ACCESS notify 2995 DESCRIPTION 2996 "Install support is not required." 2998 OBJECT qosClfrElementOrder 2999 MIN-ACCESS notify 3000 DESCRIPTION 3001 "Install support is not required." 3003 OBJECT qosClfrElementNext 3004 MIN-ACCESS notify 3005 DESCRIPTION 3006 "Install support is not required." 3008 OBJECT qosClfrElementSpecific 3009 MIN-ACCESS notify 3010 DESCRIPTION 3011 "Install support is not required." 3013 OBJECT qosMeterSucceedNext 3014 MIN-ACCESS notify 3015 DESCRIPTION 3016 "Install support is not required." 3018 OBJECT qosMeterFailNext 3019 MIN-ACCESS notify 3020 DESCRIPTION 3021 "Install support is not required." 3023 OBJECT qosMeterSpecific 3024 MIN-ACCESS notify 3025 DESCRIPTION 3027 DiffServ QoS Policy Information Base November 2000 3029 "Install support is not required." 3031 OBJECT qosTBMeterType 3032 MIN-ACCESS notify 3033 DESCRIPTION 3034 "Install support is not required." 3036 OBJECT qosTBMeterRate 3037 MIN-ACCESS notify 3038 DESCRIPTION 3039 "Install support is not required." 3041 OBJECT qosTBMeterBurstSize 3042 MIN-ACCESS notify 3043 DESCRIPTION 3044 "Install support is not required." 3046 OBJECT qosTBMeterInterval 3047 MIN-ACCESS notify 3048 DESCRIPTION 3049 "Install support is not required." 3051 OBJECT qosActionNext 3052 MIN-ACCESS notify 3053 DESCRIPTION 3054 "Install support is not required." 3056 OBJECT qosActionSpecific 3057 MIN-ACCESS notify 3058 DESCRIPTION 3059 "Install support is not required." 3061 OBJECT qosAlgDropType 3062 MIN-ACCESS notify 3063 DESCRIPTION 3064 "Install support is not required." 3066 DiffServ QoS Policy Information Base November 2000 3068 OBJECT qosAlgDropNext 3069 MIN-ACCESS notify 3070 DESCRIPTION 3071 "Install support is not required." 3073 OBJECT qosAlgDropQMeasure 3074 MIN-ACCESS notify 3075 DESCRIPTION 3076 "Install support is not required." 3078 OBJECT qosAlgDropQThreshold 3079 MIN-ACCESS notify 3080 DESCRIPTION 3081 "Install support is not required." 3083 OBJECT qosAlgDropSpecific 3084 MIN-ACCESS notify 3085 DESCRIPTION 3086 "Install support is not required." 3088 OBJECT qosRandomDropMinThreshBytes 3089 MIN-ACCESS notify 3090 DESCRIPTION 3091 "Install support is not required." 3093 OBJECT qosRandomDropMinThreshPkts 3094 MIN-ACCESS notify 3095 DESCRIPTION 3096 "Install support is not required." 3098 OBJECT qosRandomDropMaxThreshBytes 3099 MIN-ACCESS notify 3100 DESCRIPTION 3101 "Install support is not required." 3103 OBJECT qosRandomDropMaxThreshPkts 3104 MIN-ACCESS notify 3105 DESCRIPTION 3107 DiffServ QoS Policy Information Base November 2000 3109 "Install support is not required." 3111 OBJECT qosRandomDropInvWeight 3112 MIN-ACCESS notify 3113 DESCRIPTION 3114 "Install support is not required." 3116 OBJECT qosRandomDropSamplingRate 3117 MIN-ACCESS notify 3118 DESCRIPTION 3119 "Install support is not required." 3121 OBJECT qosRandomDropInvProbMax 3122 MIN-ACCESS notify 3123 DESCRIPTION 3124 "Install support is not required." 3126 OBJECT qosQNext 3127 MIN-ACCESS notify 3128 DESCRIPTION 3129 "Install support is not required." 3131 OBJECT qosQSchdParam 3132 MIN-ACCESS notify 3133 DESCRIPTION 3134 "Install support is not required." 3136 OBJECT qosSchedulerMethod 3137 MIN-ACCESS notify 3138 DESCRIPTION 3139 "Install support is not required." 3141 OBJECT qosSchedulerSchdParam 3142 MIN-ACCESS notify 3143 DESCRIPTION 3144 "Install support is not required." 3146 DiffServ QoS Policy Information Base November 2000 3148 OBJECT qosSchedulerNext 3149 MIN-ACCESS notify 3150 DESCRIPTION 3151 "Install support is not required." 3153 OBJECT qosSchdParamPriority 3154 MIN-ACCESS notify 3155 DESCRIPTION 3156 "Install support is not required." 3158 OBJECT qosSchdParamMinRateAbs 3159 MIN-ACCESS notify 3160 DESCRIPTION 3161 "Install support is not required." 3163 OBJECT qosSchdParamMinRateRel 3164 MIN-ACCESS notify 3165 DESCRIPTION 3166 "Install support is not required." 3168 OBJECT qosSchdParamMaxRateAbs 3169 MIN-ACCESS notify 3170 DESCRIPTION 3171 "Install support is not required." 3173 OBJECT qosSchdParamMaxRateRel 3174 MIN-ACCESS notify 3175 DESCRIPTION 3176 "Install support is not required." 3178 ::= { qosPibCompliances 1 } 3180 qosPibDataPathGroup OBJECT-GROUP 3181 OBJECTS { 3182 qosDataPathStart 3183 } 3184 STATUS current 3185 DESCRIPTION 3187 DiffServ QoS Policy Information Base November 2000 3189 "The Data Path Group defines the PIB Objects that 3190 describe a data path." 3191 ::= { qosPibGroups 1 } 3193 qosPibClfrGroup OBJECT-GROUP 3194 OBJECTS { 3195 qosClfrId 3196 } 3197 STATUS current 3198 DESCRIPTION 3199 "The Classifier Group defines the PIB Objects that 3200 describe a generic classifier." 3201 ::= { qosPibGroups 2 } 3203 qosPibClfrElementGroup OBJECT-GROUP 3204 OBJECTS { 3205 qosClfrElementClfrId, qosClfrElementOrder, 3206 qosClfrElementNext, qosClfrElementSpecific 3207 } 3208 STATUS current 3209 DESCRIPTION 3210 "The Classifier Group defines the PIB Objects that 3211 describe a generic classifier." 3212 ::= { qosPibGroups 3 } 3214 qosPibMeterGroup OBJECT-GROUP 3215 OBJECTS { 3216 qosMeterSucceedNext, qosMeterFailNext, 3217 qosMeterSpecific 3218 } 3219 STATUS current 3220 DESCRIPTION 3221 "The Meter Group defines the objects used in describ- 3222 ing a generic meter element." 3223 ::= { qosPibGroups 5 } 3225 qosPibTBMeterGroup OBJECT-GROUP 3226 OBJECTS { 3227 qosTBMeterType, qosTBMeterRate, 3228 qosTBMeterBurstSize, qosTBMeterInterval 3229 } 3231 DiffServ QoS Policy Information Base November 2000 3233 STATUS current 3234 DESCRIPTION 3235 "The Token-Bucket Meter Group defines the objects 3236 used in describing a single-rate token bucket meter 3237 element." 3238 ::= { qosPibGroups 6 } 3240 qosPibActionGroup OBJECT-GROUP 3241 OBJECTS { 3242 qosActionNext, qosActionSpecific 3243 } 3244 STATUS current 3245 DESCRIPTION 3246 "The Action Group defines the objects used in 3247 describing a generic action element." 3248 ::= { qosPibGroups 7 } 3250 qosPibDscpMarkActGroup OBJECT-GROUP 3251 OBJECTS { 3252 qosDscpMarkActDscp 3253 } 3254 STATUS current 3255 DESCRIPTION 3256 "The DSCP Mark Action Group defines the objects used 3257 in describing a DSCP Marking Action element." 3258 ::= { qosPibGroups 8 } 3260 qosPibAlgDropGroup OBJECT-GROUP 3261 OBJECTS { 3262 qosAlgDropType, qosAlgDropNext, 3263 qosAlgDropQMeasure, qosAlgDropQThreshold, 3264 qosAlgDropSpecific 3265 } 3266 STATUS current 3267 DESCRIPTION 3268 "The Algorithmic Drop Group contains the objects that 3269 describe algorithmic dropper operation and configura- 3270 tion." 3271 ::= { qosPibGroups 12 } 3273 qosPibRandomDropGroup OBJECT-GROUP 3274 DiffServ QoS Policy Information Base November 2000 3276 OBJECTS { 3277 qosRandomDropMinThreshBytes, 3278 qosRandomDropMinThreshPkts, 3279 qosRandomDropMaxThreshBytes, 3280 qosRandomDropMaxThreshPkts, 3281 qosRandomDropInvProbMax, 3282 qosRandomDropInvWeight, 3283 qosRandomDropSamplingRate 3284 } 3285 STATUS current 3286 DESCRIPTION 3287 "The Random Drop Group augments the Algorithmic Drop Group for 3288 random dropper operation and configuration." 3289 ::= { qosPibGroups 13 } 3291 qosPibQGroup OBJECT-GROUP 3292 OBJECTS { 3293 qosQNext, qosQSchdParam 3294 } 3295 STATUS current 3296 DESCRIPTION 3297 "The Queue Group contains the objects that describe 3298 an interface's queues." 3299 ::= { qosPibGroups 14 } 3301 qosPibSchedulerGroup OBJECT-GROUP 3302 OBJECTS { 3303 qosSchedulerMethod, qosSchedulerSchdParam, 3304 qosSchedulerNext 3305 } 3306 STATUS current 3307 DESCRIPTION 3308 "The Scheduler Group contains the objects that 3309 describe packet schedulers on interfaces." 3310 ::= { qosPibGroups 15 } 3312 qosPibSchdParamGroup OBJECT-GROUP 3313 OBJECTS { 3314 qosSchdParamPriority, 3315 qosSchdParamMinRateAbs, qosSchdParamMinRateRel, 3316 qosSchdParamMaxRateAbs, qosSchdParamMaxRateRel, 3317 } 3319 DiffServ QoS Policy Information Base November 2000 3321 STATUS current 3322 DESCRIPTION 3323 "The Scheduler Parameter Group contains the objects 3324 that describe packet schedulers' parameters on inter- 3325 faces." 3326 ::= { qosPibGroups 16 } 3328 END 3329 DiffServ QoS Policy Information Base November 2000 3331 9. Security Considerations 3333 The information contained in a PIB when transported by the COPS protocol 3334 [COPS-PR] may be sensitive, and its function of provisioning a PEP 3335 requires that only authorized communication take place. The use of 3336 IPSEC between PDP and PEP, as described in [COPS], provides the 3337 necessary protection against these threats. 3339 10. Intellectual Property Considerations 3341 The IETF is being notified of intellectual property rights claimed in 3342 regard to some or all of the specification contained in this document. 3343 For more information consult the online list of claimed rights. 3345 11. Authors' Addresses 3347 Michael Fine 3348 Cisco Systems, Inc. 3349 170 West Tasman Drive 3350 San Jose, CA 95134-1706 USA 3351 Phone: +1 408 527 8218 3352 Email: mfine@cisco.com 3354 Keith McCloghrie 3355 Cisco Systems, Inc. 3356 170 West Tasman Drive 3357 San Jose, CA 95134-1706 USA 3358 Phone: +1 408 526 5260 3359 Email: kzm@cisco.com 3361 John Seligson 3362 Nortel Networks, Inc. 3363 4401 Great America Parkway 3364 Santa Clara, CA 95054 USA 3365 Phone: +1 408 495 2992 3366 Email: jseligso@nortelnetworks.com 3368 Kwok Ho Chan 3369 Nortel Networks, Inc. 3370 600 Technology Park Drive 3372 DiffServ QoS Policy Information Base November 2000 3374 Billerica, MA 01821 USA 3375 Phone: +1 978 288 8175 3376 Email: khchan@nortelnetworks.com 3378 Scott Hahn 3379 Intel 3380 2111 NE 25th Avenue 3381 Hillsboro, OR 97124 USA 3382 Phone: +1 503 264 8231 3383 Email: scott.hahn@intel.com 3385 Andrew Smith 3386 Allegro Networks 3387 6399 San Ignacio Ave 3388 San Jose, CA 95119 3389 andrew@allegronetworks.com 3391 Francis Reichmeyer 3392 University Park at MIT 3393 26 Landsdowne Street 3394 Cambridge, MA 02139 3395 Phone: +1 617 494 9980 3396 Email: franr@pfn.com 3398 12. References 3400 [COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and 3401 A. Sastry, "The COPS (Common Open Policy Service) Protocol" 3402 RFC 2748, January 2000. 3404 [COPS-PR] K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, 3405 F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, 3406 "COPS Usage for Policy Provisioning," 3407 draft-ietf-rap-cops-pr-05.txt, October 2000. 3409 [SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning 3410 Information," draft-ietf-rap-sppi-03.txt, November 2000. 3412 [DSARCH] M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and 3413 E. Davies, "An Architecture for Differentiated Services", 3415 DiffServ QoS Policy Information Base November 2000 3417 RFC 2475, December 1998 3419 [DSFIELD] K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the 3420 Differentiated Services Field (DS Field) in the IPv4 and 3421 IPv6 Headers", RFC 2474, December 1998. 3423 [FR-PIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, 3424 A. Smith, F. Reichmeyer "Framework Policy Information Base", 3425 Internet Draft , 3426 November 2000 3428 [RAP-FRAMEWORK] R. Yavatkar, D. Pendarakis, "A Framework for 3429 Policy-based Admission Control", 3430 RFC 2753, January 2000. 3432 [SNMP-SMI] K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, 3433 M. Rose and S. Waldbusser, "Structure of Management Information 3434 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 3436 [MODEL] Y. Bernet, A. Smith, S. Blake, D. Grossman "A Conceptual Model 3437 for DiffServ Routers", draft-ietf-diffserv-model-04.txt, 3438 July 2000. 3440 [IFMIB] K. McCloghrie, F. Kastenholz, "The Interfaces Group MIB using 3441 SMIv2", RFC 2233, November 1997. 3443 DiffServ QoS Policy Information Base November 2000 3445 Table of Contents 3447 1 Glossary ........................................................ 3 3448 2 Introduction .................................................... 3 3449 3 Relationship to the Diffserv Informal Management Model .......... 3 3450 3.1 PIB Overview .................................................. 4 3451 4 Structure of the PIB ............................................ 6 3452 4.1 General Conventions ........................................... 6 3453 4.2 DiffServ Data Paths ........................................... 6 3454 4.2.1 Data Path PRC ............................................... 7 3455 4.3 Classifiers ................................................... 7 3456 4.3.1 Classifier PRC .............................................. 8 3457 4.3.2 Classifier Element PRC ..................................... 8 3458 4.4 Meters ........................................................ 9 3459 4.4.1 Meter PRC ................................................... 9 3460 4.4.2 Token-Bucket Meter PRC ...................................... 10 3461 4.5 Actions ....................................................... 10 3462 4.5.1 DSCP Mark Action PRC ........................................ 11 3463 4.5.2 Absolute Drop Action ........................................ 11 3464 4.6 Queueing Elements ............................................. 11 3465 4.6.1 Algorithmic Dropper PRC ..................................... 11 3466 4.6.2 Random Dropper PRC .......................................... 12 3467 4.6.3 Queues and Schedulers ....................................... 14 3468 4.7 Specifying Device Capabilities ................................ 15 3469 5 PIB Usage Example ............................................... 16 3470 5.1 Data Path and Classifier Example Discussion ................... 18 3471 5.2 Meter and Action Example Discussion ........................... 19 3472 5.3 Queue and Scheduler Example Discussion ........................ 19 3473 6 Summary of the DiffServ PIB ..................................... 20 3474 7 PIB Operational Overview ........................................ 21 3475 8 PIB Definitions ................................................. 22 3476 8.1 The DiffServ Base PIB ......................................... 22 3477 9 Security Considerations ......................................... 79 3478 10 Intellectual Property Considerations ........................... 79 3479 11 Authors' Addresses ............................................. 79 3480 12 References ..................................................... 80