HTTP/1.1 200 OK Date: Mon, 08 Apr 2002 22:39:03 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Fri, 02 Jul 1999 12:33:00 GMT ETag: "2e7d5c-c518-377cb17c" Accept-Ranges: bytes Content-Length: 50456 Connection: close Content-Type: text/plain Fred Baker Draft Differentiated Services MIB June 1999 Management Information Base for the Differentiated Services Architecture draft-baker-diffserv-mib-00.txt Abstract This memo describes a proposed MIB for the Differentiated Services Architecture. 1. Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet- Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This particular draft is being developed in the Diffferentiated Services Working Group. Discussion of it therefore belongs on that list. The charter for Differentiated Services may be found at http://www.ietf.org/html.charters/diffserv-charter.html Fred Baker Expiration: December 1999 [Page 1] Draft Differentiated Services MIB June 1999 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [1]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in RFC 1155 [2], RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in RFC 2578 [5], RFC 2579 [6] and RFC 2580 [7]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in RFC 1157 [8]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and RFC 2574 [12]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13]. o A set of fundamental applications described in RFC 2573 [14] and the view-based access control mechanism described in RFC 2575 [15]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [16]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically Fred Baker Expiration: December 1999 [Page 2] Draft Differentiated Services MIB June 1999 equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. Fred Baker Expiration: December 1999 [Page 3] Draft Differentiated Services MIB June 1999 3. Structure of this MIB This MIB is designed according to the Differentiated Services implementation conceptual model documented in [Framework]. 3.1. Overview In principle, if one were to construct a network out of two port routers (in appropriate places connected by LANs or similar media), then it would be necessary for each router to perform exactly four QoS control functions on traffic in each direction: - Classify each message according to some set of rules - In edge devices, determine whether it is within or outside its intended rate - Perform some set of resulting actions, minimally including applying a drop policy appropriate to the classification and queue in question, and in edge devices perhaps additionally marking the traffic with a Differentiated Services Code Point (DSCP) as defined in [DSCP]. - Enqueue the traffic for output in the appropriate queue. If we build the network out of N-port routers, we expect the behavior of the network to be identical. We are forced therefore to provide essentially the same set of functions on the ingress port of a router as on the egress port of a router, and to admit that some interfaces will be "edge" interfaces and some will be "interior" to the Differentiated Services domain. The one point of difference between an ingress and an egress interface is that all traffic on an egress interface is queued, while traffic on an ingress interface will typically be queued only for shaping purposes. Hence, in this MIB, we model them identically, making the distinction between ingress and egress interfaces an index variable. The MIB therefore contains five elements: - Behavior Aggregate Classification Table - Classifier Table - Meter Table - Actions (which are found in the Meter Table) - Queue Table Fred Baker Expiration: December 1999 [Page 4] Draft Differentiated Services MIB June 1999 3.2. Behavior Aggregate Classification Table The Behavior Aggregate Classification Table is present for several reasons. First, the DSCP must be identified somewhere for the purpose of identifying tagged streams of traffic. This could be done in-line, and is not. The reason the BA Classifier is pulled out into a separate table is because we envisage the use of other tables for other kinds of classifiers, public or proprietary. For example, the typical "five-tuple" used in per-flow classification (as in RSVP) might be represented by a table whose objects include the necessary IP Addresses, the IP protocol, the necessary TCP/UDP port numbers, and a RowStatus variable. By pulling the classifier itself into a table that can be referenced via an instanced Object Identifier, we enable the use of any sort of classification table that one might wish to design - and that classifier table need not be found in this MIB. 3.3. Classifier Table The classifier table, now, indicates how traffic is sorted out. It identifies separable classes of traffic, by reference to an appropriate classifier, from individual micro-flows to aggregates identified by DSCP. It then sends these classified streams to an appropriate meter. An important form of classifier is "everything else". 3.4. Meter Table A meter, according to the conceptual model, measures the rate at which a stream of traffic passes it and compares it to some threshold. A given message is said to "conform" to the meter if at the time that the message is being looked at the stream appears to be within the meter's limit rate. Multiple classes of traffic, as identified by the classifier table, may be presented to the same meter. For example, if it is desired to drop all traffic which uses any DSCP that has not been publicly defined, a classifier entry might exist for each such DSCP, shunting it to an "accepts everything" meter, and dropping all traffic that matches that meter. Clearly, it is necessary to identify what is to be done with Fred Baker Expiration: December 1999 [Page 5] Draft Differentiated Services MIB June 1999 messages which conform to the meter's limit, and with messages that do not. It is also necessary for the meter to be arbitrarily extensible, as some PHBs require the successive application of an arbitrary number of meters. The approach taken in this design is to have each meter indicate what action is to be taken for conforming traffic, and what meter is to be used for traffic which fails to conform. With the definition of a special type of meter which always matches, we now have the necessary flexibility. 3.5. Actions (which are found in the Meter Table) Considerable discussion has taken place regarding the possible actions. Suggested actions include "no action", "mark the traffic", "drop the traffic, randomly or all of it", and "shape the traffic. In this MIB, two actions are contemplated: marking the traffic, and applying a drop policy. The author notes that marking the traffic with the same DSCP s it already has has no effect, and all traffic must expect to come up against some drop policy. Also found in the Meter Table are counters that record how much traffic conformed to the given meter and therefore received the configured actions, and how much was dropped as a result of the configured drop policy. Traffic matching a meter and not dropped is presented to a queue for further processing. 3.6. Queue Table In this version of the MIB, a relatively simple queue is envisaged which places some form of Class Weighted Round Robin to one or more sets of queues, each of which enjoys preemptive priority over lower numbered priorities of queue sets. Each queue is capable of acting as a work-conserving queue (one which transmits as rapidly as its weight allows, but guarantees to its class of traffic, as a side-effect of its weight, a minimum rate), or as a non-work-conserving or "shaping" queue. Multiple meters may direct their traffic to the same queue. For example, the Assured Forwarding PHB suggests that all traffic marked AF11, AF12, or AF13 be placed in the same queue without reordering. Fred Baker Expiration: December 1999 [Page 6] Draft Differentiated Services MIB June 1999 Some discussion has elapsed concerning the structure of the queue in question, and its functions. It is expected that the description of the queuing system will grow during working group discussion, as this is an area where vendors differ markedly in their architectures. Fred Baker Expiration: December 1999 [Page 7] Draft Differentiated Services MIB June 1999 4. MIB Definition DIFF-SERV-MIB DEFINITIONS ::= BEGIN IMPORTS transmission, Unsigned32, Counter32, Counter64, OBJECT-TYPE, MODULE-IDENTITY FROM SNMPv2-SMI TEXTUAL-CONVENTION, RowStatus, TruthValue, RowPointer, TestAndIncr FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex FROM IF-MIB; diffServMib MODULE-IDENTITY LAST-UPDATED "9906250138Z" -- Fri Jun 25 01:38:49 PDT 1999 ORGANIZATION "Cisco Systems" CONTACT-INFO " Fred Baker Postal: 519 Lado Drive Santa Barbara, California 93111 Tel: +1 (408)526-4257 FAX: +1 (805)681-0115 E-mail: fred@cisco.com" DESCRIPTION "This MIB defines the objects necessary to manage a device that uses the Differentiated Services Architecture described in RFC 2475." ::= { transmission 12345 } dsObjects OBJECT IDENTIFIER ::= { diffServMib 1 } dsTables OBJECT IDENTIFIER ::= { diffServMib 2 } dsConform OBJECT IDENTIFIER ::= { diffServMib 3 } diffServMibCompliance OBJECT IDENTIFIER ::= { dsMib 4 } dsGroups OBJECT IDENTIFIER ::= { diffServMib 5 } Fred Baker Expiration: December 1999 [Page 8] Draft Differentiated Services MIB June 1999 -- The tools necessary to perform basic Behavior Aggregate -- Classification -- Dscp ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The code point used for discriminating a traffic stream." SYNTAX INTEGER (0..63) dsAggregateTable OBJECT-TYPE SYNTAX SEQUENCE OF DsAggregateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The 'Aggregate' Table enumerates Behavior Aggregate classifiers (DSCPs) that a system may identify traffic using." ::= { dsTables 1 } dsAggregateEntry OBJECT-TYPE SYNTAX DsAggregateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A 'aggregate' entry describes a single BA classifier." INDEX { dsAggregateDSCP } ::= { dsAggregateTable 1 } DsAggregateEntry ::= SEQUENCE { dsAggregateDSCP Dscp } dsAggregateDSCP OBJECT-TYPE SYNTAX Dscp MAX-ACCESS read-only STATUS current DESCRIPTION "This is the Differentiated Services Code Point (DSCP) for the classifier. This is used only as a RowPointer in the dsClassifierMFPointer, and is not actually configured to changed." ::= { dsAggregateEntry 1 } Fred Baker Expiration: December 1999 [Page 9] Draft Differentiated Services MIB June 1999 -- This object allows a configuring system to obtain a unique -- value for dsClassifierNumber for purposes of configuration dsClassifierUnique OBJECT-TYPE SYNTAX TestAndIncrement MAX-ACCESS read-only STATUS current DESCRIPTION "The dsClassifierUnique object yields a unique new value for dsClassifierNumber when read." ::= { dsObjects 1 } -- The Classifier Table allows us to enumerate the relationship -- between arbitrary classifiers and the meters which apply to -- classified streams. dsClassifierTable OBJECT-TYPE SYNTAX SEQUENCE OF DsClassifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The classifier table enumerates specific classifiers that a system may apply, including Differentiated Services Code Points (DSCPs) and Multi-field discriminators such as {Source IP Address, Destination IP Address, IP Protocol, Source TCP/UDP Port, Destination TCP/UDP Port)." ::= { dsTables 2 } dsClassifierEntry OBJECT-TYPE SYNTAX DsClassifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the classifier table describes a single classifier." INDEX { ifIndex, dsInterfaceDirection, dsClassifierNumber } ::= { dsClassifierTable 1 } DsClassifierEntry ::= SEQUENCE { dsInterfaceDirection INTEGER, dsClassifierNumber Unsigned32, dsClassifierMFPointer RowPointer, dsClassifierMeterNumber Unsigned32, dsClassifierStatus RowStatus } Fred Baker Expiration: December 1999 [Page 10] Draft Differentiated Services MIB June 1999 dsInterfaceDirection OBJECT-TYPE SYNTAX INTEGER { inbound(1), -- ingress interface outbound(2) -- egress interface } MAX-ACCESS not-accessible STATUS current DESCRIPTION "Specifies the direction for this entry on the interface. 'inbound' traffic is operated on during receipt, while 'outbound' traffic is operated on prior to transmission." ::= { dsClassifierEntry 1 } dsClassifierNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "Number enumerates the classifier entry." ::= { dsClassifierEntry 2 } dsClassifierMFPointer OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "A pointer to the row that describes the applicable classifier. An obvious choice would be the dsAggregateEntry for a given DSCP, but other choices include tables describing any classifier that may be of interest. The NULL OID { 0 0 } is interpreted to match anything not matched by another classifier." ::= { dsClassifierEntry 3 } dsClassifierMeterNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The Meter Number selects the Meter Entry that will govern the rate-limited acceptance of traffic of this type." ::= { dsClassifierEntry 4 } Fred Baker Expiration: December 1999 [Page 11] Draft Differentiated Services MIB June 1999 dsClassifierStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the reading, writing, enabling, and disabling of a classifier entry." ::= { dsClassifierEntry 5 } Fred Baker Expiration: December 1999 [Page 12] Draft Differentiated Services MIB June 1999 -- This object allows a configuring system to obtain a unique -- value for dsClassifierNumber for purposes of configuration dsMeterUnique OBJECT-TYPE SYNTAX TestAndIncrement MAX-ACCESS read-only STATUS current DESCRIPTION "The dsMeterUnique object yields a unique new value for dsMeterNumber when read." ::= { dsObjects 2 } -- The Meter Table allows us to enumerate the relationship -- between meters and the actions, other meters, and queues that -- result from them. dsMeterTable OBJECT-TYPE SYNTAX SEQUENCE OF DsMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Meter Table enumerates specific meters that a system may apply to a stream of classified traffic. Such a stream may include a single micro-flow, all traffic from a given source to a given destination, all traffic conforming to a single classifier, or any other cut of the traffic, including all of it. Note that the model requires all traffic to pass through one or more meters, and that the last meter configured in such a sequence must always conform. Counters in this table start counting on creation of the meter that specifies their existence." ::= { dsTables 3 } dsMeterEntry OBJECT-TYPE SYNTAX DsMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the meter table describes a single meter. Note that a meter has exactly one rate, defined as the burst size each time interval. Multiple meters may be cascaded should a multi-rate meter be needed in a given Per-Hop Behavior. An example of such a PHB is AF." INDEX { ifIndex, dsInterfaceDirection, dsMeterNumber } Fred Baker Expiration: December 1999 [Page 13] Draft Differentiated Services MIB June 1999 ::= { dsMeterTable 1 } DsMeterEntry ::= SEQUENCE { dsMeterNumber Unsigned32, dsMeterInterval Unsigned32, dsMeterBurstSize Unsigned32, dsMeterFailMeter Unsigned32, dsMeterQueueNumber Unsigned32, dsMeterDSCP Dscp, dsMeterMinThreshold Unsigned32, dsMeterMaxThreshold Unsigned32, dsMeterAlwaysDrop TruthValue, dsMeterAlwaysConform TruthValue, dsMeterConformingPackets Counter32, dsMeterConformingOctets Counter64, dsMeterTailDrops Counter32, dsMeterRandomDrops Counter32, dsMeterStatus RowStatus } dsMeterNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The number of the meter, for reference from the classifier or in cascade from another meter." ::= { dsMeterEntry 1 } dsMeterInterval OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The number of microseconds in the token bucket interval for this meter. Note that implementations frequently do not keep time in microseconds internally, so in implementation the effect of this value must be approximated." ::= { dsMeterEntry 2 } dsMeterBurstSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The number of bytes in a single transmission burst. Fred Baker Expiration: December 1999 [Page 14] Draft Differentiated Services MIB June 1999 The rate at which the metered traffic may run is one burst per interval. Note that if multiple meters are cascaded onto one PHB, such as in AF, their intervals must be equal, and the peak rate of the data stream is the sum of their intervals per interval." ::= { dsMeterEntry 3 } dsMeterFailMeter OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "If the traffic does not conform to the meter, the number of the next meter to enquire of. If Always- Conform is true, this number must be zero, as no more tests are necessary. If Always-Conform is false, this number may not be zero, as there is some possibility that the test will fail." ::= { dsMeterEntry 4 } dsMeterQueueNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The Queue Number selects which queue on the interface that a message is placed into. Incoming traffic may use the value zero in this variable to indicate that no queuing on receipt occurs. Incoming interfaces generally use queuing either to divert routing traffic for speedier processing during a flap, or for shaping purposes." ::= { dsMeterEntry 5 } dsMeterDSCP OBJECT-TYPE SYNTAX Dscp MAX-ACCESS read-create STATUS current DESCRIPTION "The DSCP that traffic conforming to this classifier and this meter is remarked with. Note that if the classifier is working from the same DSCP value, no effective change in the DSCP results." ::= { dsMeterEntry 6 } dsMeterMinThreshold OBJECT-TYPE SYNTAX Unsigned32 Fred Baker Expiration: December 1999 [Page 15] Draft Differentiated Services MIB June 1999 MAX-ACCESS read-create STATUS current DESCRIPTION "The min-threshold is the queue depth that a random drop process will seek to manage the queue's depth to." ::= { dsMeterEntry 7 } dsMeterMaxThreshold OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The max-threshold is the maximum permissible queue depth. In tail drop scenarios, the queue will drop if a packet is presented to it and it is instantaneously full by this measure. In random drop scenarios, the queue will drop if a packet is presented to it and the average queue depth exceeds the max-threshold." ::= { dsMeterEntry 8 } dsMeterAlwaysDrop OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If true, traffic conforming to this meter is always dropped. In such a case, the drop controls are ignored." ::= { dsMeterEntry 9 } dsMeterAlwaysConform OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If true, the meter always accepts all traffic; its rate is effectively infinite. In such a case, the token bucket defined by the Interval and Burst-Size parameters is ignored." ::= { dsMeterEntry 10 } dsMeterConformingPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets conforming to this meter." Fred Baker Expiration: December 1999 [Page 16] Draft Differentiated Services MIB June 1999 ::= { dsMeterEntry 11 } dsMeterConformingOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets conforming to this meter." ::= { dsMeterEntry 12 } dsMeterTailDrops OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets conforming to this classifier and meter that have been dropped because either the meter always drops, or the queue's depth exceeds the max-threshold value." ::= { dsMeterEntry 13 } dsMeterRandomDrops OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets conforming to this classifier and meter that have been dropped by a random drop process because the queue is over-full." ::= { dsMeterEntry 14 } dsMeterStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the reading, writing, enabling, and disabling of a meter entry." ::= { dsMeterEntry 15 } Fred Baker Expiration: December 1999 [Page 17] Draft Differentiated Services MIB June 1999 -- This object allows a configuring system to obtain a unique -- value for dsClassifierNumber for purposes of configuration dsQueueUnique OBJECT-TYPE SYNTAX TestAndIncrement MAX-ACCESS read-only STATUS current DESCRIPTION "The dsQueueUnique object yields a unique new value for dsQueueNumber when read." ::= { dsObjects 3 } -- The Queue Table allows us to describe queues dsQueueTable OBJECT-TYPE SYNTAX SEQUENCE OF DsQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Table enumerates the queues on an interface. Queues are used to store traffic during intervals when the arrival rate exceeds the departure rate for a class of traffic. Because some PHBs indicate that the use of a priority queue may be advisable, each queue in this system is seen as having a priority. Those queues that share the same priority operate in what may externally appear to be a Weighted Round Robin manner, and preempt the traffic belonging to any lower priority. For this reason, it is strongly urged that traffic placed into prioritized queues be strongly policed to avoid traffic lockout. Queues in this table also have a rate, which may be a minimum or a maximum rate. If it is a minimum rate, then the weight in the WRR is effectively set to this rate divided by the sum of the rates of queues on the interface, guaranteeing it at least that throughput rate. If it is a maximum rate, the queue operates as a shaper, potentially reducing the rate of traffic through it to the indicated rate." ::= { dsTables 4 } dsQueueEntry OBJECT-TYPE SYNTAX DsQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Fred Baker Expiration: December 1999 [Page 18] Draft Differentiated Services MIB June 1999 "An entry in the Queue Table describes a single queue." INDEX { ifIndex, dsInterfaceDirection, dsQueueNumber } ::= { dsQueueTable 1 } DsQueueEntry ::= SEQUENCE { dsQueueNumber Unsigned32, dsQueueRate Unsigned32, dsQueueType INTEGER, dsQueuePriority Unsigned32, dsQueueStatus RowStatus } dsQueueNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The number of the queue, used as a link from the Meter Table to the Queue Table." ::= { dsQueueEntry 1 } dsQueueRate OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The rate of the queue, in kilobits per second (KBPS). This unit is chosen because interfaces exist at the time of this writing which exceed the number of bits per second which may be represented in a 32 bit number." ::= { dsQueueEntry 2 } dsQueueType OBJECT-TYPE SYNTAX INTEGER { minimum(1), -- work-conserving queue maximum(2) -- non-work-conserving queue } MAX-ACCESS read-create STATUS current DESCRIPTION "A queue guarantees its traffic, assuming ifSpeed is properly configured or calculated, at least or at most the rate in question. If the value 'minimum' is selected, the queue is a work-conserving queue, and guarantees at least the rate specified. If other queues are not fully utilized, it may give a higher service Fred Baker Expiration: December 1999 [Page 19] Draft Differentiated Services MIB June 1999 rate. If the value guarantees that its throughput will not exceed that rate." ::= { dsQueueEntry 3 } dsQueuePriority OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The priority of the queue. If multiple queues exist on the same interface at the same priority, they are effectively given Weighted Round Robin service. If multiple priorities are configured on an interface, traffic with a numerically higher priority number is deemed to have higher priority than other traffic, and is preemptively serviced." ::= { dsQueueEntry 4 } dsQueueStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the reading, writing, enabling, and disabling of a queue entry." ::= { dsQueueEntry 5 } dsCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "This MIB may be implemented as a read-only or as a read-create MIB. As a result, it may be used for monitoring or for configuration." MODULE -- This Module MANDATORY-GROUPS { dsClassifierGroup, dsMeterGroup, dsQueueGroup -- note that the dsStaticGroup is not mandatory } OBJECT dsAggregateDSCP MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsClassifierMFPointer Fred Baker Expiration: December 1999 [Page 20] Draft Differentiated Services MIB June 1999 MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsClassifierMeterNumber MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsClassifierStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterInterval MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterAlwaysConform MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterAlwaysDrop MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterMinThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterMaxThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterDSCP MIN-ACCESS read-only DESCRIPTION Fred Baker Expiration: December 1999 [Page 21] Draft Differentiated Services MIB June 1999 "Write access is not required." OBJECT dsMeterQueueNumber MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterFailMeter MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsMeterStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsQueueRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsQueueType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsQueuePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dsQueueStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { diffServMibCompliance 1 } dsClassifierGroup OBJECT-GROUP OBJECTS { dsAggregateDSCP, dsClassifierMFPointer, dsClassifierMeterNumber, dsClassifierStatus } STATUS current DESCRIPTION "The Classifier Group defines the MIB Objects that describe a classifier." Fred Baker Expiration: December 1999 [Page 22] Draft Differentiated Services MIB June 1999 ::= { dsGroups 1 } dsMeterGroup OBJECT-GROUP OBJECTS { dsMeterInterval, dsMeterBurstSize, dsMeterAlwaysConform, dsMeterAlwaysDrop, dsMeterRandomDrops, dsMeterTailDrops, dsMeterMinThreshold, dsMeterMaxThreshold, dsMeterDSCP, dsMeterQueueNumber, dsMeterConformingPackets, dsMeterConformingOctets, dsMeterFailMeter, dsMeterStatus } STATUS current DESCRIPTION "The Meter Group defines the objects used in describing a meter." ::= { dsGroups 2 } dsQueueGroup OBJECT-GROUP OBJECTS { dsQueueRate, dsQueueType, dsQueuePriority, dsQueueStatus } STATUS current DESCRIPTION "The Queue Group contains the objects that describe an interface's queues." ::= { dsGroups 3 } dsStaticGroup OBJECT-GROUP OBJECTS { dsClassifierUnique, dsMeterUnique, dsQueueUnique } STATUS current DESCRIPTION "The Static Group contains scalar objects used in creating unique enumerations for classifiers, meters, and queues." ::= { dsGroups 4 } Fred Baker Expiration: December 1999 [Page 23] Draft Differentiated Services MIB June 1999 5. Acknowledgments This MIB has been developed with active involvement from a number of sources, but most notably Andrew Smith, Yoram Bernet, Steve Blake, Ping Pan, Roch Guerin, Keith McCloghrie, Kathleen Nichols, Brian Carpenter, Scott Hahn, and Jeremy Greene. 6. Security Considerations This part remains to be filled in. It is clear that this MIB is potentially useful for configuration, and anything that can be configured can be misconfigured, with potentially disastrous effect. At this writing, no security holes have been identified beyond those which SNMP Security is itself intended to address - primarily controlled access to sensitive information and the ability to configure a device - or which might result from operator error, which is beyond the scope of any security architecture. 7. References [1] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, Cabletron Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999 [2] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", RFC 1155, STD 16, Performance Systems International, Hughes LAN Systems, May 1990 [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", RFC 1212, STD 16, Performance Systems International, Hughes LAN Systems, March 1991 [4] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991 [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Fred Baker Expiration: December 1999 [Page 24] Draft Differentiated Services MIB June 1999 Information Version 2 (SMIv2)", RFC 2578, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999 [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", RFC 2579, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999 [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", RFC 2580, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999 [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, STD 15, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [11] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, SNMP Research, Inc., Cabletron Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999 [12] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, IBM T. J. Watson Research, April 1999 Fred Baker Expiration: December 1999 [Page 25] Draft Differentiated Services MIB June 1999 [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, SNMP Research, Inc., Secure Computing Corporation, Cisco Systems, April 1999 [15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, IBM T. J. Watson Research, BMC Software, Inc., Cisco Systems, Inc., April 1999 [16] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, SNMP Research, Inc., TIS Labs at Network Associates, Inc., Ericsson, Cisco Systems, April 1999 [DSCP] K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers." RFC 2474, December 1998. [Architecture] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, "An Architecture for Differentiated Service." RFC 2475, December 1998. [AF] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured Forwarding PHB Group." RFC 2597, June 1999. [EF] V. Jacobson, K. Nichols, K. Poduri. "An Expedited Forwarding PHB." RFC 2598, June 1999. [Framework] Bernet et al, "A Framework for Differentiated Services", 03/01/1999, draft-ietf-diffserv-framework-02.txt 8. Author's Address: Fred Baker 519 Lado Drive Santa Barbara, California 93111 fred.baker@cisco.com Fred Baker Expiration: December 1999 [Page 26] Draft Differentiated Services MIB June 1999 Fred Baker Expiration: December 1999 [Page 27]