idnits 2.17.1 draft-baker-diffserv-mib-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing document type: Expected "INTERNET-DRAFT" in the upper left hand corner of the first page ** Missing expiration date. The document expiration date should appear on the first and last page. ** 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 is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard == It seems as if not all pages are separated by form feeds - found 0 form feeds but 27 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. (A line matching the expected section header was found, but with an unexpected indentation: ' 3.1. Overview' ) ** The document seems to lack a Security Considerations section. (A line matching the expected section header was found, but with an unexpected indentation: ' 6. Security Considerations' ) ** 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 an Authors' Addresses Section. ** There are 13 instances of too long lines in the document, the longest one being 3 characters in excess of 72. ** The abstract seems to contain references ([EF], [15], [2], [Architecture], [16], [3], [4], [5], [6], [7], [AF], [8], [9], [10], [11], [12], [DSCP], [13], [Framework], [14], [1]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 430 has weird spacing: '...between meter...' -- 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 (June 1999) is 9081 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 section? '1' on line 945 looks like a reference -- Missing reference section? '2' on line 950 looks like a reference -- Missing reference section? '3' on line 955 looks like a reference -- Missing reference section? '4' on line 959 looks like a reference -- Missing reference section? '5' on line 963 looks like a reference -- Missing reference section? '6' on line 970 looks like a reference -- Missing reference section? '7' on line 976 looks like a reference -- Missing reference section? '8' on line 982 looks like a reference -- Missing reference section? '9' on line 988 looks like a reference -- Missing reference section? '10' on line 994 looks like a reference -- Missing reference section? '11' on line 1000 looks like a reference -- Missing reference section? '12' on line 1006 looks like a reference -- Missing reference section? '13' on line 1011 looks like a reference -- Missing reference section? '14' on line 1017 looks like a reference -- Missing reference section? '15' on line 1021 looks like a reference -- Missing reference section? '16' on line 1027 looks like a reference -- Missing reference section? 'Framework' on line 1049 looks like a reference -- Missing reference section? 'DSCP' on line 1033 looks like a reference -- Missing reference section? 'Architecture' on line 1038 looks like a reference -- Missing reference section? 'AF' on line 1043 looks like a reference -- Missing reference section? 'EF' on line 1046 looks like a reference Summary: 12 errors (**), 0 flaws (~~), 3 warnings (==), 23 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Fred Baker 4 Draft Differentiated Services MIB June 1999 6 Management Information Base for the 7 Differentiated Services Architecture 9 draft-baker-diffserv-mib-00.txt 11 Abstract 13 This memo describes a proposed MIB for the Differentiated 14 Services Architecture. 16 1. Status of this Memo 18 This document is an Internet-Draft and is in full conformance 19 with all provisions of Section 10 of RFC 2026. Internet- 20 Drafts are working documents of the Internet Engineering Task 21 Force (IETF), its areas, and its working groups. Note that 22 other groups may also distribute working documents as 23 Internet-Drafts. 25 Internet-Drafts are draft documents valid for a maximum of six 26 months and may be updated, replaced, or obsoleted by other 27 documents at any time. It is inappropriate to use Internet 28 Drafts as reference material or to cite them other than as 29 "work in progress." 31 The list of current Internet-Drafts can be accessed at 32 http://www.ietf.org/ietf/1id-abstracts.txt 34 The list of Internet-Draft Shadow Directories can be accessed 35 at http://www.ietf.org/shadow.html. 37 This particular draft is being developed in the 38 Diffferentiated Services Working Group. Discussion of it 39 therefore belongs on that list. The charter for Differentiated 40 Services may be found at 41 http://www.ietf.org/html.charters/diffserv-charter.html 42 2. The SNMP Management Framework 44 The SNMP Management Framework presently consists of five major 45 components: 47 o An overall architecture, described in RFC 2571 [1]. 49 o Mechanisms for describing and naming objects and 50 events for the purpose of management. The first 51 version of this Structure of Management Information 52 (SMI) is called SMIv1 and described in RFC 1155 [2], 53 RFC 1212 [3] and RFC 1215 [4]. The second version, 54 called SMIv2, is described in RFC 2578 [5], RFC 2579 55 [6] and RFC 2580 [7]. 57 o Message protocols for transferring management 58 information. The first version of the SNMP message 59 protocol is called SNMPv1 and described in RFC 1157 60 [8]. A second version of the SNMP message protocol, 61 which is not an Internet standards track protocol, is 62 called SNMPv2c and described in RFC 1901 [9] and RFC 63 1906 [10]. The third version of the message protocol 64 is called SNMPv3 and described in RFC 1906 [10], RFC 65 2572 [11] and RFC 2574 [12]. 67 o Protocol operations for accessing management 68 information. The first set of protocol operations and 69 associated PDU formats is described in RFC 1157 [8]. A 70 second set of protocol operations and associated PDU 71 formats is described in RFC 1905 [13]. 73 o A set of fundamental applications described in RFC 74 2573 [14] and the view-based access control mechanism 75 described in RFC 2575 [15]. 77 A more detailed introduction to the current SNMP 78 Management Framework can be found in RFC 2570 [16]. 80 Managed objects are accessed via a virtual information 81 store, termed the Management Information Base or MIB. 82 Objects in the MIB are defined using the mechanisms 83 defined in the SMI. 85 This memo specifies a MIB module that is compliant to 86 the SMIv2. A MIB conforming to the SMIv1 can be 87 produced through the appropriate translations. The 88 resulting translated MIB must be semantically 89 equivalent, except where objects or events are omitted 90 because no translation is possible (use of Counter64). 91 Some machine readable information in SMIv2 will be 92 converted into textual descriptions in SMIv1 during 93 the translation process. However, this loss of machine 94 readable information is not considered to change the 95 semantics of the MIB. 97 3. Structure of this MIB 99 This MIB is designed according to the Differentiated Services 100 implementation conceptual model documented in [Framework]. 102 3.1. Overview 104 In principle, if one were to construct a network out of two 105 port routers (in appropriate places connected by LANs or 106 similar media), then it would be necessary for each router to 107 perform exactly four QoS control functions on traffic in each 108 direction: 109 - Classify each message according to some set of rules 110 - In edge devices, determine whether it is within or outside its 111 intended rate 112 - Perform some set of resulting actions, minimally including 113 applying a drop policy appropriate to the classification and 114 queue in question, and in edge devices perhaps additionally 115 marking the traffic with a Differentiated Services Code Point 116 (DSCP) as defined in [DSCP]. 117 - Enqueue the traffic for output in the appropriate queue. 119 If we build the network out of N-port routers, we expect the 120 behavior of the network to be identical. We are forced 121 therefore to provide essentially the same set of functions on 122 the ingress port of a router as on the egress port of a 123 router, and to admit that some interfaces will be "edge" 124 interfaces and some will be "interior" to the Differentiated 125 Services domain. The one point of difference between an 126 ingress and an egress interface is that all traffic on an 127 egress interface is queued, while traffic on an ingress 128 interface will typically be queued only for shaping purposes. 130 Hence, in this MIB, we model them identically, making the 131 distinction between ingress and egress interfaces an index 132 variable. 134 The MIB therefore contains five elements: 135 - Behavior Aggregate Classification Table 136 - Classifier Table 137 - Meter Table 138 - Actions (which are found in the Meter Table) 139 - Queue Table 140 3.2. Behavior Aggregate Classification Table 142 The Behavior Aggregate Classification Table is present for 143 several reasons. First, the DSCP must be identified somewhere 144 for the purpose of identifying tagged streams of traffic. This 145 could be done in-line, and is not. 147 The reason the BA Classifier is pulled out into a separate 148 table is because we envisage the use of other tables for other 149 kinds of classifiers, public or proprietary. For example, the 150 typical "five-tuple" used in per-flow classification (as in 151 RSVP) might be represented by a table whose objects include 152 the necessary IP Addresses, the IP protocol, the necessary 153 TCP/UDP port numbers, and a RowStatus variable. By pulling the 154 classifier itself into a table that can be referenced via an 155 instanced Object Identifier, we enable the use of any sort of 156 classification table that one might wish to design - and that 157 classifier table need not be found in this MIB. 159 3.3. Classifier Table 161 The classifier table, now, indicates how traffic is sorted 162 out. It identifies separable classes of traffic, by reference 163 to an appropriate classifier, from individual micro-flows to 164 aggregates identified by DSCP. It then sends these classified 165 streams to an appropriate meter. 167 An important form of classifier is "everything else". 169 3.4. Meter Table 171 A meter, according to the conceptual model, measures the rate 172 at which a stream of traffic passes it and compares it to some 173 threshold. A given message is said to "conform" to the meter 174 if at the time that the message is being looked at the stream 175 appears to be within the meter's limit rate. 177 Multiple classes of traffic, as identified by the classifier 178 table, may be presented to the same meter. For example, if it 179 is desired to drop all traffic which uses any DSCP that has 180 not been publicly defined, a classifier entry might exist for 181 each such DSCP, shunting it to an "accepts everything" meter, 182 and dropping all traffic that matches that meter. 184 Clearly, it is necessary to identify what is to be done with 185 messages which conform to the meter's limit, and with messages 186 that do not. It is also necessary for the meter to be 187 arbitrarily extensible, as some PHBs require the successive 188 application of an arbitrary number of meters. The approach 189 taken in this design is to have each meter indicate what 190 action is to be taken for conforming traffic, and what meter 191 is to be used for traffic which fails to conform. With the 192 definition of a special type of meter which always matches, we 193 now have the necessary flexibility. 195 3.5. Actions (which are found in the Meter Table) 197 Considerable discussion has taken place regarding the possible 198 actions. Suggested actions include "no action", "mark the 199 traffic", "drop the traffic, randomly or all of it", and 200 "shape the traffic. In this MIB, two actions are 201 contemplated: marking the traffic, and applying a drop policy. 202 The author notes that marking the traffic with the same DSCP s 203 it already has has no effect, and all traffic must expect to 204 come up against some drop policy. 206 Also found in the Meter Table are counters that record how 207 much traffic conformed to the given meter and therefore 208 received the configured actions, and how much was dropped as a 209 result of the configured drop policy. 211 Traffic matching a meter and not dropped is presented to a 212 queue for further processing. 214 3.6. Queue Table 216 In this version of the MIB, a relatively simple queue is 217 envisaged which places some form of Class Weighted Round Robin 218 to one or more sets of queues, each of which enjoys preemptive 219 priority over lower numbered priorities of queue sets. Each 220 queue is capable of acting as a work-conserving queue (one 221 which transmits as rapidly as its weight allows, but 222 guarantees to its class of traffic, as a side-effect of its 223 weight, a minimum rate), or as a non-work-conserving or 224 "shaping" queue. 226 Multiple meters may direct their traffic to the same queue. 227 For example, the Assured Forwarding PHB suggests that all 228 traffic marked AF11, AF12, or AF13 be placed in the same queue 229 without reordering. 231 Some discussion has elapsed concerning the structure of the 232 queue in question, and its functions. It is expected that the 233 description of the queuing system will grow during working 234 group discussion, as this is an area where vendors differ 235 markedly in their architectures. 237 4. MIB Definition 239 DIFF-SERV-MIB DEFINITIONS ::= BEGIN 241 IMPORTS 242 transmission, Unsigned32, Counter32, Counter64, OBJECT-TYPE, 243 MODULE-IDENTITY FROM SNMPv2-SMI 244 TEXTUAL-CONVENTION, RowStatus, TruthValue, RowPointer, 245 TestAndIncr FROM SNMPv2-TC 246 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF 247 ifIndex FROM IF-MIB; 249 diffServMib MODULE-IDENTITY 250 LAST-UPDATED "9906250138Z" -- Fri Jun 25 01:38:49 PDT 1999 251 ORGANIZATION "Cisco Systems" 252 CONTACT-INFO 253 " Fred Baker 254 Postal: 519 Lado Drive 255 Santa Barbara, California 93111 256 Tel: +1 (408)526-4257 257 FAX: +1 (805)681-0115 258 E-mail: fred@cisco.com" 259 DESCRIPTION 260 "This MIB defines the objects necessary to manage a 261 device that uses the Differentiated Services 262 Architecture described in RFC 2475." 263 ::= { transmission 12345 } 265 dsObjects OBJECT IDENTIFIER ::= { diffServMib 1 } 266 dsTables OBJECT IDENTIFIER ::= { diffServMib 2 } 267 dsConform OBJECT IDENTIFIER ::= { diffServMib 3 } 268 diffServMibCompliance OBJECT IDENTIFIER ::= { dsMib 4 } 269 dsGroups OBJECT IDENTIFIER ::= { diffServMib 5 } 270 -- The tools necessary to perform basic Behavior Aggregate 271 -- Classification 272 -- 273 Dscp ::= TEXTUAL-CONVENTION 274 DISPLAY-HINT "d" 275 STATUS current 276 DESCRIPTION 277 "The code point used for discriminating a traffic 278 stream." 279 SYNTAX INTEGER (0..63) 281 dsAggregateTable OBJECT-TYPE 282 SYNTAX SEQUENCE OF DsAggregateEntry 283 MAX-ACCESS not-accessible 284 STATUS current 285 DESCRIPTION 286 "The 'Aggregate' Table enumerates Behavior Aggregate 287 classifiers (DSCPs) that a system may identify traffic 288 using." 289 ::= { dsTables 1 } 291 dsAggregateEntry OBJECT-TYPE 292 SYNTAX DsAggregateEntry 293 MAX-ACCESS not-accessible 294 STATUS current 295 DESCRIPTION 296 "A 'aggregate' entry describes a single BA classifier." 297 INDEX { dsAggregateDSCP } 298 ::= { dsAggregateTable 1 } 300 DsAggregateEntry ::= SEQUENCE { 301 dsAggregateDSCP Dscp 302 } 304 dsAggregateDSCP OBJECT-TYPE 305 SYNTAX Dscp 306 MAX-ACCESS read-only 307 STATUS current 308 DESCRIPTION 309 "This is the Differentiated Services Code Point (DSCP) 310 for the classifier. This is used only as a RowPointer 311 in the dsClassifierMFPointer, and is not actually 312 configured to changed." 313 ::= { dsAggregateEntry 1 } 315 -- This object allows a configuring system to obtain a unique 316 -- value for dsClassifierNumber for purposes of configuration 318 dsClassifierUnique OBJECT-TYPE 319 SYNTAX TestAndIncrement 320 MAX-ACCESS read-only 321 STATUS current 322 DESCRIPTION 323 "The dsClassifierUnique object yields a unique new 324 value for dsClassifierNumber when read." 325 ::= { dsObjects 1 } 327 -- The Classifier Table allows us to enumerate the relationship 328 -- between arbitrary classifiers and the meters which apply to 329 -- classified streams. 331 dsClassifierTable OBJECT-TYPE 332 SYNTAX SEQUENCE OF DsClassifierEntry 333 MAX-ACCESS not-accessible 334 STATUS current 335 DESCRIPTION 336 "The classifier table enumerates specific classifiers 337 that a system may apply, including Differentiated 338 Services Code Points (DSCPs) and Multi-field 339 discriminators such as {Source IP Address, Destination 340 IP Address, IP Protocol, Source TCP/UDP Port, 341 Destination TCP/UDP Port)." 342 ::= { dsTables 2 } 344 dsClassifierEntry OBJECT-TYPE 345 SYNTAX DsClassifierEntry 346 MAX-ACCESS not-accessible 347 STATUS current 348 DESCRIPTION 349 "An entry in the classifier table describes a single 350 classifier." 351 INDEX { ifIndex, dsInterfaceDirection, dsClassifierNumber } 352 ::= { dsClassifierTable 1 } 354 DsClassifierEntry ::= SEQUENCE { 355 dsInterfaceDirection INTEGER, 356 dsClassifierNumber Unsigned32, 357 dsClassifierMFPointer RowPointer, 358 dsClassifierMeterNumber Unsigned32, 359 dsClassifierStatus RowStatus 360 } 361 dsInterfaceDirection OBJECT-TYPE 362 SYNTAX INTEGER { 363 inbound(1), -- ingress interface 364 outbound(2) -- egress interface 365 } 366 MAX-ACCESS not-accessible 367 STATUS current 368 DESCRIPTION 369 "Specifies the direction for this entry on the 370 interface. 'inbound' traffic is operated on during 371 receipt, while 'outbound' traffic is operated on prior 372 to transmission." 373 ::= { dsClassifierEntry 1 } 375 dsClassifierNumber OBJECT-TYPE 376 SYNTAX Unsigned32 377 MAX-ACCESS not-accessible 378 STATUS current 379 DESCRIPTION 380 "Number enumerates the classifier entry." 381 ::= { dsClassifierEntry 2 } 383 dsClassifierMFPointer OBJECT-TYPE 384 SYNTAX RowPointer 385 MAX-ACCESS read-create 386 STATUS current 387 DESCRIPTION 388 "A pointer to the row that describes the applicable 389 classifier. An obvious choice would be the 390 dsAggregateEntry for a given DSCP, but other choices 391 include tables describing any classifier that may be of 392 interest. 394 The NULL OID { 0 0 } is interpreted to match anything 395 not matched by another classifier." 396 ::= { dsClassifierEntry 3 } 398 dsClassifierMeterNumber OBJECT-TYPE 399 SYNTAX Unsigned32 400 MAX-ACCESS read-create 401 STATUS current 402 DESCRIPTION 403 "The Meter Number selects the Meter Entry that will 404 govern the rate-limited acceptance of traffic of this 405 type." 406 ::= { dsClassifierEntry 4 } 408 dsClassifierStatus OBJECT-TYPE 409 SYNTAX RowStatus 410 MAX-ACCESS read-create 411 STATUS current 412 DESCRIPTION 413 "The RowStatus variable controls the reading, writing, 414 enabling, and disabling of a classifier entry." 415 ::= { dsClassifierEntry 5 } 417 -- This object allows a configuring system to obtain a unique 418 -- value for dsClassifierNumber for purposes of configuration 420 dsMeterUnique OBJECT-TYPE 421 SYNTAX TestAndIncrement 422 MAX-ACCESS read-only 423 STATUS current 424 DESCRIPTION 425 "The dsMeterUnique object yields a unique new value for 426 dsMeterNumber when read." 427 ::= { dsObjects 2 } 429 -- The Meter Table allows us to enumerate the relationship 430 -- between meters and the actions, other meters, and queues that 431 -- result from them. 433 dsMeterTable OBJECT-TYPE 434 SYNTAX SEQUENCE OF DsMeterEntry 435 MAX-ACCESS not-accessible 436 STATUS current 437 DESCRIPTION 438 "The Meter Table enumerates specific meters that a 439 system may apply to a stream of classified traffic. 440 Such a stream may include a single micro-flow, all 441 traffic from a given source to a given destination, all 442 traffic conforming to a single classifier, or any other 443 cut of the traffic, including all of it. 445 Note that the model requires all traffic to pass 446 through one or more meters, and that the last meter 447 configured in such a sequence must always conform. 449 Counters in this table start counting on creation of 450 the meter that specifies their existence." 451 ::= { dsTables 3 } 453 dsMeterEntry OBJECT-TYPE 454 SYNTAX DsMeterEntry 455 MAX-ACCESS not-accessible 456 STATUS current 457 DESCRIPTION 458 "An entry in the meter table describes a single meter. 459 Note that a meter has exactly one rate, defined as the 460 burst size each time interval. Multiple meters may be 461 cascaded should a multi-rate meter be needed in a given 462 Per-Hop Behavior. An example of such a PHB is AF." 463 INDEX { ifIndex, dsInterfaceDirection, dsMeterNumber } 464 ::= { dsMeterTable 1 } 466 DsMeterEntry ::= SEQUENCE { 467 dsMeterNumber Unsigned32, 468 dsMeterInterval Unsigned32, 469 dsMeterBurstSize Unsigned32, 470 dsMeterFailMeter Unsigned32, 471 dsMeterQueueNumber Unsigned32, 472 dsMeterDSCP Dscp, 473 dsMeterMinThreshold Unsigned32, 474 dsMeterMaxThreshold Unsigned32, 475 dsMeterAlwaysDrop TruthValue, 476 dsMeterAlwaysConform TruthValue, 477 dsMeterConformingPackets Counter32, 478 dsMeterConformingOctets Counter64, 479 dsMeterTailDrops Counter32, 480 dsMeterRandomDrops Counter32, 481 dsMeterStatus RowStatus 482 } 484 dsMeterNumber OBJECT-TYPE 485 SYNTAX Unsigned32 486 MAX-ACCESS not-accessible 487 STATUS current 488 DESCRIPTION 489 "The number of the meter, for reference from the 490 classifier or in cascade from another meter." 491 ::= { dsMeterEntry 1 } 493 dsMeterInterval OBJECT-TYPE 494 SYNTAX Unsigned32 495 MAX-ACCESS read-create 496 STATUS current 497 DESCRIPTION 498 "The number of microseconds in the token bucket 499 interval for this meter. Note that implementations 500 frequently do not keep time in microseconds internally, 501 so in implementation the effect of this value must be 502 approximated." 503 ::= { dsMeterEntry 2 } 505 dsMeterBurstSize OBJECT-TYPE 506 SYNTAX Unsigned32 507 MAX-ACCESS read-create 508 STATUS current 509 DESCRIPTION 510 "The number of bytes in a single transmission burst. 512 The rate at which the metered traffic may run is one 513 burst per interval. Note that if multiple meters are 514 cascaded onto one PHB, such as in AF, their intervals 515 must be equal, and the peak rate of the data stream is 516 the sum of their intervals per interval." 517 ::= { dsMeterEntry 3 } 519 dsMeterFailMeter OBJECT-TYPE 520 SYNTAX Unsigned32 521 MAX-ACCESS read-create 522 STATUS current 523 DESCRIPTION 524 "If the traffic does not conform to the meter, the 525 number of the next meter to enquire of. If Always- 526 Conform is true, this number must be zero, as no more 527 tests are necessary. If Always-Conform is false, this 528 number may not be zero, as there is some possibility 529 that the test will fail." 530 ::= { dsMeterEntry 4 } 532 dsMeterQueueNumber OBJECT-TYPE 533 SYNTAX Unsigned32 534 MAX-ACCESS read-create 535 STATUS current 536 DESCRIPTION 537 "The Queue Number selects which queue on the interface 538 that a message is placed into. Incoming traffic may use 539 the value zero in this variable to indicate that no 540 queuing on receipt occurs. Incoming interfaces 541 generally use queuing either to divert routing traffic 542 for speedier processing during a flap, or for shaping 543 purposes." 544 ::= { dsMeterEntry 5 } 546 dsMeterDSCP OBJECT-TYPE 547 SYNTAX Dscp 548 MAX-ACCESS read-create 549 STATUS current 550 DESCRIPTION 551 "The DSCP that traffic conforming to this classifier 552 and this meter is remarked with. Note that if the 553 classifier is working from the same DSCP value, no 554 effective change in the DSCP results." 555 ::= { dsMeterEntry 6 } 557 dsMeterMinThreshold OBJECT-TYPE 558 SYNTAX Unsigned32 559 MAX-ACCESS read-create 560 STATUS current 561 DESCRIPTION 562 "The min-threshold is the queue depth that a random 563 drop process will seek to manage the queue's depth to." 564 ::= { dsMeterEntry 7 } 566 dsMeterMaxThreshold OBJECT-TYPE 567 SYNTAX Unsigned32 568 MAX-ACCESS read-create 569 STATUS current 570 DESCRIPTION 571 "The max-threshold is the maximum permissible queue 572 depth. In tail drop scenarios, the queue will drop if a 573 packet is presented to it and it is instantaneously 574 full by this measure. In random drop scenarios, the 575 queue will drop if a packet is presented to it and the 576 average queue depth exceeds the max-threshold." 577 ::= { dsMeterEntry 8 } 579 dsMeterAlwaysDrop OBJECT-TYPE 580 SYNTAX TruthValue 581 MAX-ACCESS read-create 582 STATUS current 583 DESCRIPTION 584 "If true, traffic conforming to this meter is always 585 dropped. In such a case, the drop controls are 586 ignored." 587 ::= { dsMeterEntry 9 } 589 dsMeterAlwaysConform OBJECT-TYPE 590 SYNTAX TruthValue 591 MAX-ACCESS read-create 592 STATUS current 593 DESCRIPTION 594 "If true, the meter always accepts all traffic; its 595 rate is effectively infinite. In such a case, the token 596 bucket defined by the Interval and Burst-Size 597 parameters is ignored." 598 ::= { dsMeterEntry 10 } 600 dsMeterConformingPackets OBJECT-TYPE 601 SYNTAX Counter32 602 MAX-ACCESS read-only 603 STATUS current 604 DESCRIPTION 605 "The number of packets conforming to this meter." 607 ::= { dsMeterEntry 11 } 609 dsMeterConformingOctets OBJECT-TYPE 610 SYNTAX Counter64 611 MAX-ACCESS read-only 612 STATUS current 613 DESCRIPTION 614 "The number of octets conforming to this meter." 615 ::= { dsMeterEntry 12 } 617 dsMeterTailDrops OBJECT-TYPE 618 SYNTAX Counter32 619 MAX-ACCESS read-only 620 STATUS current 621 DESCRIPTION 622 "The number of packets conforming to this classifier 623 and meter that have been dropped because either the 624 meter always drops, or the queue's depth exceeds the 625 max-threshold value." 626 ::= { dsMeterEntry 13 } 628 dsMeterRandomDrops OBJECT-TYPE 629 SYNTAX Counter32 630 MAX-ACCESS read-only 631 STATUS current 632 DESCRIPTION 633 "The number of packets conforming to this classifier 634 and meter that have been dropped by a random drop 635 process because the queue is over-full." 636 ::= { dsMeterEntry 14 } 638 dsMeterStatus OBJECT-TYPE 639 SYNTAX RowStatus 640 MAX-ACCESS read-create 641 STATUS current 642 DESCRIPTION 643 "The RowStatus variable controls the reading, writing, 644 enabling, and disabling of a meter entry." 645 ::= { dsMeterEntry 15 } 647 -- This object allows a configuring system to obtain a unique 648 -- value for dsClassifierNumber for purposes of configuration 650 dsQueueUnique OBJECT-TYPE 651 SYNTAX TestAndIncrement 652 MAX-ACCESS read-only 653 STATUS current 654 DESCRIPTION 655 "The dsQueueUnique object yields a unique new value for 656 dsQueueNumber when read." 657 ::= { dsObjects 3 } 659 -- The Queue Table allows us to describe queues 661 dsQueueTable OBJECT-TYPE 662 SYNTAX SEQUENCE OF DsQueueEntry 663 MAX-ACCESS not-accessible 664 STATUS current 665 DESCRIPTION 666 "The Queue Table enumerates the queues on an interface. 667 Queues are used to store traffic during intervals when 668 the arrival rate exceeds the departure rate for a class 669 of traffic. Because some PHBs indicate that the use of 670 a priority queue may be advisable, each queue in this 671 system is seen as having a priority. Those queues that 672 share the same priority operate in what may externally 673 appear to be a Weighted Round Robin manner, and preempt 674 the traffic belonging to any lower priority. For this 675 reason, it is strongly urged that traffic placed into 676 prioritized queues be strongly policed to avoid traffic 677 lockout. 679 Queues in this table also have a rate, which may be a 680 minimum or a maximum rate. If it is a minimum rate, 681 then the weight in the WRR is effectively set to this 682 rate divided by the sum of the rates of queues on the 683 interface, guaranteeing it at least that throughput 684 rate. If it is a maximum rate, the queue operates as a 685 shaper, potentially reducing the rate of traffic 686 through it to the indicated rate." 687 ::= { dsTables 4 } 689 dsQueueEntry OBJECT-TYPE 690 SYNTAX DsQueueEntry 691 MAX-ACCESS not-accessible 692 STATUS current 693 DESCRIPTION 694 "An entry in the Queue Table describes a single queue." 695 INDEX { ifIndex, dsInterfaceDirection, dsQueueNumber } 696 ::= { dsQueueTable 1 } 698 DsQueueEntry ::= SEQUENCE { 699 dsQueueNumber Unsigned32, 700 dsQueueRate Unsigned32, 701 dsQueueType INTEGER, 702 dsQueuePriority Unsigned32, 703 dsQueueStatus RowStatus 704 } 706 dsQueueNumber OBJECT-TYPE 707 SYNTAX Unsigned32 708 MAX-ACCESS not-accessible 709 STATUS current 710 DESCRIPTION 711 "The number of the queue, used as a link from the Meter 712 Table to the Queue Table." 713 ::= { dsQueueEntry 1 } 715 dsQueueRate OBJECT-TYPE 716 SYNTAX Unsigned32 717 MAX-ACCESS read-create 718 STATUS current 719 DESCRIPTION 720 "The rate of the queue, in kilobits per second (KBPS). 721 This unit is chosen because interfaces exist at the 722 time of this writing which exceed the number of bits 723 per second which may be represented in a 32 bit 724 number." 725 ::= { dsQueueEntry 2 } 727 dsQueueType OBJECT-TYPE 728 SYNTAX INTEGER { 729 minimum(1), -- work-conserving queue 730 maximum(2) -- non-work-conserving queue 731 } 732 MAX-ACCESS read-create 733 STATUS current 734 DESCRIPTION 735 "A queue guarantees its traffic, assuming ifSpeed is 736 properly configured or calculated, at least or at most 737 the rate in question. If the value 'minimum' is 738 selected, the queue is a work-conserving queue, and 739 guarantees at least the rate specified. If other queues 740 are not fully utilized, it may give a higher service 741 rate. If the value guarantees that its throughput will 742 not exceed that rate." 743 ::= { dsQueueEntry 3 } 745 dsQueuePriority OBJECT-TYPE 746 SYNTAX Unsigned32 747 MAX-ACCESS read-create 748 STATUS current 749 DESCRIPTION 750 "The priority of the queue. If multiple queues exist on 751 the same interface at the same priority, they are 752 effectively given Weighted Round Robin service. If 753 multiple priorities are configured on an interface, 754 traffic with a numerically higher priority number is 755 deemed to have higher priority than other traffic, and 756 is preemptively serviced." 757 ::= { dsQueueEntry 4 } 759 dsQueueStatus OBJECT-TYPE 760 SYNTAX RowStatus 761 MAX-ACCESS read-create 762 STATUS current 763 DESCRIPTION 764 "The RowStatus variable controls the reading, writing, 765 enabling, and disabling of a queue entry." 766 ::= { dsQueueEntry 5 } 768 dsCompliance MODULE-COMPLIANCE 769 STATUS current 770 DESCRIPTION 771 "This MIB may be implemented as a read-only or as a 772 read-create MIB. As a result, it may be used for 773 monitoring or for configuration." 774 MODULE -- This Module 775 MANDATORY-GROUPS { 776 dsClassifierGroup, 777 dsMeterGroup, 778 dsQueueGroup 779 -- note that the dsStaticGroup is not mandatory 780 } 782 OBJECT dsAggregateDSCP 783 MIN-ACCESS read-only 784 DESCRIPTION 785 "Write access is not required." 787 OBJECT dsClassifierMFPointer 788 MIN-ACCESS read-only 789 DESCRIPTION 790 "Write access is not required." 792 OBJECT dsClassifierMeterNumber 793 MIN-ACCESS read-only 794 DESCRIPTION 795 "Write access is not required." 797 OBJECT dsClassifierStatus 798 MIN-ACCESS read-only 799 DESCRIPTION 800 "Write access is not required." 802 OBJECT dsMeterInterval 803 MIN-ACCESS read-only 804 DESCRIPTION 805 "Write access is not required." 807 OBJECT dsMeterBurstSize 808 MIN-ACCESS read-only 809 DESCRIPTION 810 "Write access is not required." 812 OBJECT dsMeterAlwaysConform 813 MIN-ACCESS read-only 814 DESCRIPTION 815 "Write access is not required." 817 OBJECT dsMeterAlwaysDrop 818 MIN-ACCESS read-only 819 DESCRIPTION 820 "Write access is not required." 822 OBJECT dsMeterMinThreshold 823 MIN-ACCESS read-only 824 DESCRIPTION 825 "Write access is not required." 827 OBJECT dsMeterMaxThreshold 828 MIN-ACCESS read-only 829 DESCRIPTION 830 "Write access is not required." 832 OBJECT dsMeterDSCP 833 MIN-ACCESS read-only 834 DESCRIPTION 835 "Write access is not required." 837 OBJECT dsMeterQueueNumber 838 MIN-ACCESS read-only 839 DESCRIPTION 840 "Write access is not required." 842 OBJECT dsMeterFailMeter 843 MIN-ACCESS read-only 844 DESCRIPTION 845 "Write access is not required." 847 OBJECT dsMeterStatus 848 MIN-ACCESS read-only 849 DESCRIPTION 850 "Write access is not required." 852 OBJECT dsQueueRate 853 MIN-ACCESS read-only 854 DESCRIPTION 855 "Write access is not required." 857 OBJECT dsQueueType 858 MIN-ACCESS read-only 859 DESCRIPTION 860 "Write access is not required." 862 OBJECT dsQueuePriority 863 MIN-ACCESS read-only 864 DESCRIPTION 865 "Write access is not required." 867 OBJECT dsQueueStatus 868 MIN-ACCESS read-only 869 DESCRIPTION 870 "Write access is not required." 871 ::= { diffServMibCompliance 1 } 873 dsClassifierGroup OBJECT-GROUP 874 OBJECTS { 875 dsAggregateDSCP, dsClassifierMFPointer, 876 dsClassifierMeterNumber, dsClassifierStatus 877 } 878 STATUS current 879 DESCRIPTION 880 "The Classifier Group defines the MIB Objects that 881 describe a classifier." 883 ::= { dsGroups 1 } 885 dsMeterGroup OBJECT-GROUP 886 OBJECTS { 887 dsMeterInterval, dsMeterBurstSize, dsMeterAlwaysConform, 888 dsMeterAlwaysDrop, dsMeterRandomDrops, dsMeterTailDrops, 889 dsMeterMinThreshold, dsMeterMaxThreshold, dsMeterDSCP, 890 dsMeterQueueNumber, dsMeterConformingPackets, 891 dsMeterConformingOctets, dsMeterFailMeter, dsMeterStatus 892 } 893 STATUS current 894 DESCRIPTION 895 "The Meter Group defines the objects used in describing 896 a meter." 897 ::= { dsGroups 2 } 899 dsQueueGroup OBJECT-GROUP 900 OBJECTS { 901 dsQueueRate, dsQueueType, dsQueuePriority, dsQueueStatus 902 } 903 STATUS current 904 DESCRIPTION 905 "The Queue Group contains the objects that describe an 906 interface's queues." 907 ::= { dsGroups 3 } 909 dsStaticGroup OBJECT-GROUP 910 OBJECTS { 911 dsClassifierUnique, dsMeterUnique, dsQueueUnique 912 } 913 STATUS current 914 DESCRIPTION 915 "The Static Group contains scalar objects used in 916 creating unique enumerations for classifiers, meters, 917 and queues." 918 ::= { dsGroups 4 } 920 5. Acknowledgments 922 This MIB has been developed with active involvement from a 923 number of sources, but most notably Andrew Smith, Yoram 924 Bernet, Steve Blake, Ping Pan, Roch Guerin, Keith McCloghrie, 925 Kathleen Nichols, Brian Carpenter, Scott Hahn, and Jeremy 926 Greene. 928 6. Security Considerations 930 This part remains to be filled in. 932 It is clear that this MIB is potentially useful for 933 configuration, and anything that can be configured can be 934 misconfigured, with potentially disastrous effect. 936 At this writing, no security holes have been identified beyond 937 those which SNMP Security is itself intended to address - 938 primarily controlled access to sensitive information and the 939 ability to configure a device - or which might result from 940 operator error, which is beyond the scope of any security 941 architecture. 943 7. References 945 [1] Harrington, D., Presuhn, R., and B. Wijnen, "An 946 Architecture for Describing SNMP Management Frameworks", 947 RFC 2571, Cabletron Systems, Inc., BMC Software, Inc., 948 IBM T. J. Watson Research, April 1999 950 [2] Rose, M., and K. McCloghrie, "Structure and 951 Identification of Management Information for TCP/IP-based 952 Internets", RFC 1155, STD 16, Performance Systems 953 International, Hughes LAN Systems, May 1990 955 [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", 956 RFC 1212, STD 16, Performance Systems International, 957 Hughes LAN Systems, March 1991 959 [4] M. Rose, "A Convention for Defining Traps for use with 960 the SNMP", RFC 1215, Performance Systems International, 961 March 1991 963 [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 964 Rose, M., and S. Waldbusser, "Structure of Management 965 Information Version 2 (SMIv2)", RFC 2578, STD 58, Cisco 966 Systems, SNMPinfo, TU Braunschweig, SNMP Research, First 967 Virtual Holdings, International Network Services, April 968 1999 970 [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 971 Rose, M., and S. Waldbusser, "Textual Conventions for 972 SMIv2", RFC 2579, STD 58, Cisco Systems, SNMPinfo, TU 973 Braunschweig, SNMP Research, First Virtual Holdings, 974 International Network Services, April 1999 976 [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., 977 Rose, M., and S. Waldbusser, "Conformance Statements for 978 SMIv2", RFC 2580, STD 58, Cisco Systems, SNMPinfo, TU 979 Braunschweig, SNMP Research, First Virtual Holdings, 980 International Network Services, April 1999 982 [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, 983 "Simple Network Management Protocol", RFC 1157, STD 15, 984 SNMP Research, Performance Systems International, 985 Performance Systems International, MIT Laboratory for 986 Computer Science, May 1990. 988 [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 989 "Introduction to Community-based SNMPv2", RFC 1901, SNMP 990 Research, Inc., Cisco Systems, Inc., Dover Beach 991 Consulting, Inc., International Network Services, January 992 1996. 994 [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 995 "Transport Mappings for Version 2 of the Simple Network 996 Management Protocol (SNMPv2)", RFC 1906, SNMP Research, 997 Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., 998 International Network Services, January 1996. 1000 [11] Case, J., Harrington D., Presuhn R., and B. Wijnen, 1001 "Message Processing and Dispatching for the Simple 1002 Network Management Protocol (SNMP)", RFC 2572, SNMP 1003 Research, Inc., Cabletron Systems, Inc., BMC Software, 1004 Inc., IBM T. J. Watson Research, April 1999 1006 [12] Blumenthal, U., and B. Wijnen, "User-based Security Model 1007 (USM) for version 3 of the Simple Network Management 1008 Protocol (SNMPv3)", RFC 2574, IBM T. J. Watson Research, 1009 April 1999 1011 [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, 1012 "Protocol Operations for Version 2 of the Simple Network 1013 Management Protocol (SNMPv2)", RFC 1905, SNMP Research, 1014 Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., 1015 International Network Services, January 1996. 1017 [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 1018 Applications", RFC 2573, SNMP Research, Inc., Secure 1019 Computing Corporation, Cisco Systems, April 1999 1021 [15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based 1022 Access Control Model (VACM) for the Simple Network 1023 Management Protocol (SNMP)", RFC 2575, IBM T. J. Watson 1024 Research, BMC Software, Inc., Cisco Systems, Inc., April 1025 1999 1027 [16] Case, J., Mundy, R., Partain, D., and B. Stewart, 1028 "Introduction to Version 3 of the Internet-standard 1029 Network Management Framework", RFC 2570, SNMP Research, 1030 Inc., TIS Labs at Network Associates, Inc., Ericsson, 1031 Cisco Systems, April 1999 1033 [DSCP] 1034 K. Nichols, S. Blake, F. Baker, D. Black, "Definition of 1035 the Differentiated Services Field (DS Field) in the IPv4 1036 and IPv6 Headers." RFC 2474, December 1998. 1038 [Architecture] 1039 S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. 1040 Weiss, "An Architecture for Differentiated Service." RFC 1041 2475, December 1998. 1043 [AF] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured 1044 Forwarding PHB Group." RFC 2597, June 1999. 1046 [EF] V. Jacobson, K. Nichols, K. Poduri. "An Expedited 1047 Forwarding PHB." RFC 2598, June 1999. 1049 [Framework] 1050 Bernet et al, "A Framework for Differentiated Services", 1051 03/01/1999, draft-ietf-diffserv-framework-02.txt 1053 8. Author's Address: 1054 Fred Baker 1055 519 Lado Drive 1056 Santa Barbara, California 93111 1057 fred.baker@cisco.com