From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc3289.txt | 6499 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 6499 insertions(+) create mode 100644 doc/rfc/rfc3289.txt (limited to 'doc/rfc/rfc3289.txt') diff --git a/doc/rfc/rfc3289.txt b/doc/rfc/rfc3289.txt new file mode 100644 index 0000000..30dcf59 --- /dev/null +++ b/doc/rfc/rfc3289.txt @@ -0,0 +1,6499 @@ + + + + + + +Network Working Group F. Baker +Request for Comments: 3289 Cisco System +Category: Standards Track K. Chan + Nortel Networks + A. Smith + Harbour Networks + May 2002 + + + Management Information Base for the + Differentiated Services Architecture + +Status of this Memo + + This document specifies an Internet standards track protocol for the + Internet community, and requests discussion and suggestions for + improvements. Please refer to the current edition of the "Internet + Official Protocol Standards" (STD 1) for the standardization state + and status of this protocol. Distribution of this memo is unlimited. + +Copyright Notice + + Copyright (C) The Internet Society (2002). All Rights Reserved. + +Abstract + + This memo describes an SMIv2 (Structure of Management Information + version 2) MIB for a device implementing the Differentiated Services + Architecture. It may be used both for monitoring and configuration + of a router or switch capable of Differentiated Services + functionality. + +Table of Contents + + 1 The SNMP Management Framework ................................. 3 + 2 Relationship to other working group documents ................. 4 + 2.1 Relationship to the Informal Management Model for + Differentiated Services Router ............................. 4 + 2.2 Relationship to other MIBs and Policy Management ............ 5 + 3 MIB Overview .................................................. 6 + 3.1 Processing Path ............................................. 7 + 3.1.1 diffServDataPathTable - The Data Path Table ............... 7 + 3.2 Classifier .................................................. 7 + 3.2.1 diffServClfrElementTable - The Classifier Element Table ... 8 + 3.2.2 diffServMultiFieldClfrTable - The Multi-field Classifier + Table ...................................................... 9 + 3.3 Metering Traffic ............................................ 10 + 3.3.1 diffServMeterTable - The Meter Table ...................... 11 + + + +Baker, et. al. Standards Track [Page 1] + +RFC 3289 Differentiated Services MIB May 2002 + + + 3.3.2 diffServTBParamTable - The Token Bucket Parameters Table... 11 + 3.4 Actions applied to packets .................................. 12 + 3.4.1 diffServActionTable - The Action Table .................... 12 + 3.4.2 diffServCountActTable - The Count Action Table ............ 12 + 3.4.3 diffServDscpMarkActTable - The Mark Action Table .......... 13 + 3.4.4 diffServAlgDropTable - The Algorithmic Drop Table ......... 13 + 3.4.5 diffServRandomDropTable - The Random Drop Parameters Table 14 + 3.5 Queuing and Scheduling of Packets ........................... 16 + 3.5.1 diffServQTable - The Class or Queue Table ................. 16 + 3.5.2 diffServSchedulerTable - The Scheduler Table .............. 16 + 3.5.3 diffServMinRateTable - The Minimum Rate Table ............. 16 + 3.5.4 diffServMaxRateTable - The Maximum Rate Table ............. 17 + 3.5.5 Using queues and schedulers together ...................... 17 + 3.6 Example configuration for AF and EF ......................... 20 + 3.6.1 AF and EF Ingress Interface Configuration ................. 20 + 3.6.1.1 Classification In The Example ........................... 22 + 3.6.1.2 AF Implementation On an Ingress Edge Interface .......... 22 + 3.6.1.2.1 AF Metering On an Ingress Edge Interface .............. 22 + 3.6.1.2.2 AF Actions On an Ingress Edge Interface ............... 23 + 3.6.1.3 EF Implementation On an Ingress Edge Interface .......... 23 + 3.6.1.3.1 EF Metering On an Ingress Edge Interface .............. 23 + 3.6.1.3.2 EF Actions On an Ingress Edge Interface ............... 23 + 3.7 AF and EF Egress Edge Interface Configuration ............... 24 + 3.7.1 Classification On an Egress Edge Interface ................ 24 + 3.7.2 AF Implementation On an Egress Edge Interface ............. 26 + 3.7.2.1 AF Metering On an Egress Edge Interface ................. 26 + 3.7.2.2 AF Actions On an Egress Edge Interface .................. 29 + 3.7.2.3 AF Rate-based Queuing On an Egress Edge Interface ....... 30 + 3.7.3 EF Implementation On an Egress Edge Interface ............. 30 + 3.7.3.1 EF Metering On an Egress Edge Interface ................. 30 + 3.7.3.2 EF Actions On an Egress Edge Interface .................. 30 + 3.7.3.3 EF Priority Queuing On an Egress Edge Interface ......... 32 + 4 Conventions used in this MIB .................................. 33 + 4.1 The use of RowPointer to indicate data path linkage ......... 33 + 4.2 The use of RowPointer to indicate parameters ................ 34 + 4.3 Conceptual row creation and deletion ........................ 34 + 5 Extending this MIB ............................................ 35 + 6 MIB Definition ................................................ 35 + 7 Acknowledgments ............................................... 110 + 8 Security Considerations ....................................... 110 + 9 Intellectual Property Rights .................................. 111 + 10 References ................................................... 112 + 11 Authors' Addresses ........................................... 115 + 12 Full Copyright Statement ..................................... 116 + + + + + + + +Baker, et. al. Standards Track [Page 2] + +RFC 3289 Differentiated Services MIB May 2002 + + +1. The SNMP Management Framework + + The SNMP Management Framework presently consists of five major + components: + + o An overall architecture, described in [RFC 2571]. + + 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 is described + in [RFC 1155], [RFC 1212] and [RFC 1215]. The second version, + called SMIv2, is described in [RFC 2578], RFC 2579 [RFC 2579] + and [RFC 2580]. + + o Message protocols for transferring management information. The + first version of the SNMP message protocol is called SNMPv1 and + is described in [RFC 1157]. A second version of the SNMP + message protocol, which is not an Internet standards track + protocol, is called SNMPv2c and is described in [RFC 1901] and + [RFC 1906]. The third version of the message protocol is + called SNMPv3 and is described in [RFC 1906], [RFC 2572] and + [RFC 2574]. + + o Protocol operations for accessing management information. The + first set of protocol operations and associated PDU formats is + described in [RFC 1157]. A second set of protocol operations + and associated PDU formats is described in [RFC 1905]. + + o A set of fundamental applications described in [RFC 2573] and + the view-based access control mechanism described in [RFC + 2575]. + + A more detailed introduction to the current SNMP Management Framework + can be found in [RFC 2570]. + + 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 + equivalent, except where objects or events are omitted because there + is 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. + + + +Baker, et. al. Standards Track [Page 3] + +RFC 3289 Differentiated Services MIB May 2002 + + + The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", + "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this + document are to be interpreted as described in [RFC 2119]. + +2. Relationship to other working group documents + + The Differentiated Services Working Group and related working groups + developed other documents, notably the Informal Management Model and + the policy configuration paradigm of SNMPCONF. The relationship + between the MIB and those documents is clarified here. + +2.1. Relationship to the Informal Management Model for Differentiated + Services Router + + This MIB is similar in design to [MODEL], although it can be used to + build functional data paths that the model would not well describe. + The model conceptually describes ingress and egress interfaces of an + n-port router, which may find some interfaces at a network edge and + others facing into the network core. It describes the configuration + and management of a Differentiated Services interface in terms of one + or more Traffic Conditioning Blocks (TCB), each containing, arranged + in the specified order, by definition, zero or more classifiers, + meters, actions, algorithmic droppers, queues and schedulers. + Traffic may be classified, and classified traffic may be metered. + Each stream of traffic identified by a combination of classifiers and + meters may have some set of actions performed on it; it may have + dropping algorithms applied and it may ultimately be stored into a + queue before being scheduled out to its next destination, either onto + a link or to another TCB. At times, the treatment for a given packet + must have any of those elements repeated. [MODEL] models this by + cascading multiple TCBs, while this MIB describes the policy by + directly linking the functional data path elements. + + The MIB represents this cascade by following the "Next" attributes of + the various elements. They indicate what the next step in + Differentiated Services processing will be, whether it be a + classifier, meter, action, algorithmic dropper, queue, scheduler or a + decision to now forward a packet. + + The higher level concept of a TCB is not required in the + parameterization or in the linking together of the individual + elements, hence it is not used in the MIB itself and is only + mentioned in the text for relating the MIB with the [MODEL]. Rather, + the MIB models the individual elements that make up the TCBs. + + This MIB uses the notion of a Data Path to indicate the + Differentiated Services processing a packet may experience. The Data + Path a packet will initially follow is an attribute of the interface + + + +Baker, et. al. Standards Track [Page 4] + +RFC 3289 Differentiated Services MIB May 2002 + + + in question. The Data Path Table provides a starting point for each + direction (ingress or egress) on each interface. A Data Path Table + Entry indicates the first of possible multiple elements that will + apply Differentiated Services treatment to the packet. + +2.2. Relationship to other MIBs and Policy Management + + This MIB provides for direct reporting and manipulation of detailed + functional elements. These elements consist of a structural element + and one or more parameter-bearing elements. While this can be + cumbersome, it allows the reuse of parameters. For example, a + service provider may offer three varieties of contracts, and + configure three parameter elements. Each such data path on the + system may then refer to these sets of parameters. The + diffServDataPathTable couples each direction on each interface with + the specified data path linkage. The concept of "interface" is as + defined by InterfaceIndex/ifIndex of the IETF Interfaces MIB [IF- + MIB]. + + Other MIBs and data structure definitions for policy management + mechanisms, other than SNMP/SMIv2 are likely to exist in the future + for the purpose of abstracting the model in other ways. An example + is the Differentiated Services Policy Information Base, [DSPIB]. + + In particular, abstractions in the direction of less detailed + definitions of Differentiated Services functionality are likely e.g. + some form of "Per-Hop Behavior"-based definition involving a template + of detailed object values which is applied to specific instances of + objects in this MIB semi-automatically. + + Another possible direction of abstraction is one using a concept of + "roles" (often, but not always, applied to interfaces). In this + case, it may be possible to re-use the object definitions in this + MIB, especially the parameterization tables. The Data Path table + will help in the reuse of the data path linkage tables by having the + interface specific information centralized, allowing easier + mechanical replacement of ifIndex by some sort of "roleIndex". This + work is ongoing. + + The reuse of parameter blocks on a variety of functional data paths + is intended to simplify network management. In many cases, one could + also re-use the structural elements as well; this has the unfortunate + side-effect of re-using the counters, so that monitoring information + is lost. For this reason, the re-use of structural elements is not + generally recommended. + + + + + + +Baker, et. al. Standards Track [Page 5] + +RFC 3289 Differentiated Services MIB May 2002 + + +3. MIB Overview + + The Differentiated Services Architecture does not specify how an + implementation should be assembled. The [MODEL] describes a general + approach to implementation design, or to user interface design. Its + components could, however, be assembled in a different way. For + example, traffic conforming to a meter might be run through a second + meter, or reclassified. + + This MIB models the same functional data path elements, allowing the + network manager to assemble them in any fashion that meets the + relevant policy. These data path elements include Classifiers, + Meters, Actions of various sorts, Queues, and Schedulers. + + In many of these tables, a distinction is drawn between the structure + of the policy (do this, then do that) and the parameters applied to + specific policy elements. This is to facilitate configuration, if + the MIB is used for that. The concept is that a set of parameters, + such as the values that describe a specific token bucket, might be + configured once and applied to many interfaces. + + The RowPointer Textual Convention is therefore used in two ways in + this MIB. It is defined for the purpose of connecting an object to + an entry dynamically; the RowPointer object identifies the first + object in the target Entry, and in so doing points to the entire + entry. In this MIB, it is used as a connector between successive + functional data path elements, and as the link between the policy + structure and the parameters that are used. When used as a + connector, it says what happens "next"; what happens to classified + traffic, to traffic conforming or not conforming to a meter, and so + on. When used to indicate the parameters applied in a policy, it + says "specifically" what is meant; the structure points to the + parameters of its policy. + + The use of RowPointers as connectors allows for the simple extension + of the MIB. The RowPointers, whether "next" or "specific", may point + to Entries defined in other MIB modules. For example, the only type + of meter defined in this MIB is a token bucket meter; if another type + of meter is required, another MIB could be defined describing that + type of meter, and diffServMeterSpecific could point to it. + Similarly, if a new action is required, the "next" pointer of the + previous functional datapath element could point to an Entry defined + in another MIB, public or proprietary. + + + + + + + + +Baker, et. al. Standards Track [Page 6] + +RFC 3289 Differentiated Services MIB May 2002 + + +3.1. Processing Path + + An interface has an ingress and an egress direction, and will + generally have a different policy in each direction. As traffic + enters an edge interface, it may be classified, metered, counted, and + marked. Traffic leaving the same interface might be remarked + according to the contract with the next network, queued to manage the + bandwidth, and so on. As [MODEL] points out, the functional datapath + elements used on ingress and egress are of the same type, but may be + structured in very different ways to implement the relevant policies. + +3.1.1. diffServDataPathTable - The Data Path Table + + Therefore, when traffic arrives at an ingress or egress interface, + the first step in applying the policy is determining what policy + applies. This MIB does that by providing a table of pointers to the + first functional data path element, indexed by interface and + direction on that interface. The content of the + diffServDataPathEntry is a single RowPointer, which points to that + functional data path element. + + When diffServDataPathStart in a direction on an interface is + undefined or is set to zeroDotZero, the implication is that there is + no specific policy to apply. + +3.2. Classifier + + Classifiers are used to differentiate among types of traffic. In the + Differentiated Services architecture, one usually discusses a + behavior aggregate identified by the application of one or more + Differentiated Services Code Points (DSCPs). However, especially at + network edges (which include hosts and first hop routers serving + hosts), traffic may arrive unmarked or the marks may not be trusted. + In these cases, one applies a Multi-Field Classifier, which may + select an aggregate as coarse as "all traffic", as fine as a specific + microflow identified by IP Addresses, IP Protocol, and TCP or UDP + ports, or variety of slices in between. + + Classifiers can be simple or complex. In a core interface, one would + expect to find simple behavior aggregate classification to be used. + However, in an edge interface, one might first ask what application + is being used, meter the arriving traffic, and then apply various + policies to the non-conforming traffic depending on the Autonomous + System number advertising the destination address. To accomplish + such a thing, traffic must be classified, metered, and then + reclassified. To this end, the MIB defines separate classifiers, + which may be applied at any point in processing, and may have + different content as needed. + + + +Baker, et. al. Standards Track [Page 7] + +RFC 3289 Differentiated Services MIB May 2002 + + + The MIB also allows for ambiguous classification in a structured + fashion. In the end, traffic classification must be unambiguous; one + must know for certain what policy to apply to any given packet. + However, writing an unambiguous specification is often tedious, while + writing a specification in steps that permits and excludes various + kinds of traffic may be simpler and more intuitive. In such a case, + the classification "steps" are enumerated; all classification + elements of one precedence are applied as if in parallel, and then + all classification elements of the next precedence. + + This MIB defines a single classifier parameter entry, the Multi-field + Classifier. A degenerate case of this multi-field classifier is a + Behavior Aggregate classifier. Other classifiers may be defined in + other MIB modules, to select traffic from a given layer two neighbor + or a given interface, traffic whose addresses belong to a given BGP + Community or Autonomous System, and so on. + +3.2.1. diffServClfrElementTable - The Classifier Element Table + + A classifier consists of classifier elements. A classifier element + identifies a specific set of traffic that forms part of a behavior + aggregate; other classifier elements within the same classifier may + identify other traffic that also falls into the behavior aggregate. + For example, in identifying AF traffic for the aggregate AF1, one + might implement separate classifier elements for AF11, AF12, and AF13 + within the same classifier and pointing to the same subsequent meter. + + Generally, one would expect the Data Path Entry to point to a + classifier (which is to say, a set of one or more classifier + elements), although it may point to something else when appropriate. + Reclassification in a functional data path is achieved by pointing to + another Classifier Entry when appropriate. + + A classifier element is a structural element, indexed by classifier + ID and element ID. It has a precedence value, allowing for + structured ambiguity as described above, a "specific" pointer that + identifies what rule is to be applied, and a "next" pointer directing + traffic matching the classifier to the next functional data path + element. If the "next" pointer is zeroDotZero, the indication is + that there is no further differentiated services processing for this + behavior aggregate. However, if the "specific" pointer is + zeroDotZero, the device is misconfigured. In such a case, the + classifier element should be operationally treated as if it were not + present. + + When the MIB is used for configuration, diffServClfrNextFree and + diffServClfrElementNextFree always contain legal values for + diffServClfrId and diffServClfrElementId that are not currently used + + + +Baker, et. al. Standards Track [Page 8] + +RFC 3289 Differentiated Services MIB May 2002 + + + in the system's configuration. The values are validated when + creating diffServClfrId and diffServClfrElementId, and in the event + of a failure (which would happen if two managers simultaneously + attempted to create an entry) must be re-read. + +3.2.2. diffServMultiFieldClfrTable - The Multi-field Classifier Table + + This MIB defines a single parameter type for classification, the + Multi-field Classifier. As a parameter, a filter may be specified + once and applied to many interfaces, using + diffServClfrElementSpecific. This filter matches: + + o IP source address prefix, including host, CIDR Prefix, and "any + source address" + + o IP destination address prefix, including host, CIDR Prefix, and + "any destination address" + + o IPv6 Flow ID + + o IP protocol or "any" + + o TCP/UDP/SCTP source port range, including "any" + + o TCP/UDP/SCTP destination port range, including "any" + + o Differentiated Services Code Point + + Since port ranges, IP prefixes, or "any" are defined in each case, it + is clear that a wide variety of filters can be constructed. The + Differentiated Services Behavior Aggregate filter is a special case + of this filter, in which only the DSCP is specified. + + Other MIB modules may define similar filters in the same way. For + example, a filter for Ethernet information might define source and + destination MAC addresses of "any", Ethernet Packet Type, IEEE 802.2 + SAPs, and IEEE 802.1 priorities. A filter related to policy routing + might be structured like the diffServMultiFieldClfrTable, but contain + the BGP Communities of the source and destination prefix rather than + the prefix itself, meaning "any prefix in this community". For such + a filter, a table similar to diffServMultiFieldClfrTable is + constructed, and diffServClfrElementSpecific is configured to point + to it. + + + + + + + + +Baker, et. al. Standards Track [Page 9] + +RFC 3289 Differentiated Services MIB May 2002 + + + When the MIB is used for configuration, + diffServMultiFieldClfrNextFree always contains a legal value for + diffServMultiFieldClfrId that is not currently used in the system's + configuration. + +3.3. Metering Traffic + + As discussed in [MODEL], a meter and a shaper are functions that + operate on opposing ends of a link. A shaper schedules traffic for + transmission at specific times in order to approximate a particular + line speed or combination of line speeds. In its simplest form, if + the traffic stream contains constant sized packets, it might transmit + one packet per unit time to build the equivalent of a CBR circuit. + However, various factors intervene to make the approximation inexact; + multiple classes of traffic may occasionally schedule their traffic + at the same time, the variable length nature of IP traffic may + introduce variation, and factors in the link or physical layer may + change traffic timing. A meter integrates the arrival rate of + traffic and determines whether the shaper at the far end was + correctly applied, or whether the behavior of the application in + question is naturally close enough to such behavior to be acceptable + under a given policy. + + A common type of meter is a Token Bucket meter, such as [srTCM] or + [trTCM]. This type of meter assumes the use of a shaper at a + previous node; applications which send at a constant rate when + sending may conform if the token bucket is properly specified. It + specifies the acceptable arrival rate and quantifies the acceptable + variability, often by specifying a burst size or an interval; since + rate = quantity/time, specifying any two of those parameters implies + the third, and a large interval provides for a forgiving system. + Multiple rates may be specified, as in AF, such that a subset of the + traffic (up to one rate) is accepted with one set of guarantees, and + traffic in excess of that but below another rate has a different set + of guarantees. Other types of meters exist as well. + + One use of a meter is when a service provider sells at most, a + certain bit rate to one of its customers, and wants to drop the + excess. In such a case, the fractal nature of normal Internet + traffic must be reflected in large burst intervals, as TCP frequently + sends packet pairs or larger bursts, and responds poorly when more + than one packet in a round trip interval is dropped. Applications + like FTP contain the effect by simply staying below the target bit + rate; this type of configuration very adversely affects transaction + applications like HTTP, however. Another use of a meter is in the AF + specification, in which excess traffic is marked with a related DSCP + and subjected to slightly more active queue depth management. The + + + + +Baker, et. al. Standards Track [Page 10] + +RFC 3289 Differentiated Services MIB May 2002 + + + application is not sharply limited to a contracted rate in such a + case, but can be readily contained should its traffic create a + burden. + +3.3.1. diffServMeterTable - The Meter Table + + The Meter Table is a structural table, specifying a specific + functional data path element. Its entry consists essentially of + three RowPointers - a "succeed" pointer, for traffic conforming to + the meter, a "fail" pointer, for traffic not conforming to the meter, + and a "specific" pointer, to identify the parameters in question. + This structure is a bow to SNMP's limitations; it would be better to + have a structure with N rates and N+1 "next" pointers, with a single + algorithm specified. In this case, multiple meter entries connected + by the "fail" link are understood to contain the parameters for a + specified algorithm, and traffic conforming to a given rate follows + their "succeed" paths. Within this MIB, only Token Bucket parameters + are specified; other varieties of meters may be designed in other MIB + modules. + + When the MIB is used for configuration, diffServMeterNextFree always + contains a legal value for diffServMeterId that is not currently used + in the system's configuration. + +3.3.2. diffServTBParamTable - The Token Bucket Parameters Table + + The Token Bucket Parameters Table is a set of parameters that define + a Token Bucket Meter. As a parameter, a token bucket may be + specified once and applied to many interfaces, using + diffServMeterSpecific. Specifically, several modes of [srTCM] and + [trTCM] are addressed. Other varieties of meters may be specified in + other MIB modules. + + In general, if a Token Bucket has N rates, it has N+1 potential + outcomes - the traffic stream is slower than and therefore conforms + to all of the rates, it fails the first few but is slower than and + therefore conforms to the higher rates, or it fails all of them. As + such, multi-rate meters should specify those rates in monotonically + increasing order, passing through the diffServMeterFailNext from more + committed to more excess rates, and finally falling through + diffServMeterFailNext to the set of actions that apply to traffic + which conforms to none of the specified rates. diffServTBParamType + in the first entry indicates the algorithm being used. At each rate, + diffServTBParamRate is derivable from diffServTBParamBurstSize and + diffServTBParamInterval; a superior implementation will allow the + + + + + + +Baker, et. al. Standards Track [Page 11] + +RFC 3289 Differentiated Services MIB May 2002 + + + configuration of any two of diffServTBParamRate, + diffServTBParamBurstSize, and diffServTBParamInterval, and respond + with the appropriate error code if all three are specified but are + not mathematically related. + + When the MIB is used for configuration, diffServTBParamNextFree + always contains a legal value for diffServTBParamId that is not + currently used in the system's configuration. + +3.4. Actions applied to packets + + "Actions" are the things a differentiated services interface PHB may + do to a packet in transit. At a minimum, such a policy might + calculate statistics on traffic in various configured classes, mark + it with a DSCP, drop it, or enqueue it before passing it on for other + processing. + + Actions are composed of a structural element, the + diffServActionTable, and various component action entries that may be + applied. In the case of the Algorithmic Dropper, an additional + parameter table may be specified to control Active Queue Management, + as defined in [RED93] and other AQM specifications. + +3.4.1. diffServActionTable - The Action Table + + The action table identifies sequences of actions to be applied to a + packet. Successive actions are chained through diffServActionNext, + ultimately resulting in zeroDotZero (indicating that the policy is + complete), a pointer to a queue, or a pointer to some other + functional data path element. + + When the MIB is used for configuration, diffServActionNextFree always + contains a legal value for diffServActionId that is not currently + used in the system's configuration. + +3.4.2. diffServCountActTable - The Count Action Table + + The count action accumulates statistics pertaining to traffic passing + through a given path through the policy. It is intended to be useful + for usage-based billing, for statistical studies, or for analysis of + the behavior of a policy in a given network. The objects in the + Count Action are various counters and a discontinuity time. The + counters display the number of packets and bytes encountered on the + path since the discontinuity time. They share the same discontinuity + time, which is the discontinuity time of the interface or agent. + + + + + + +Baker, et. al. Standards Track [Page 12] + +RFC 3289 Differentiated Services MIB May 2002 + + + The designers of this MIB expect that every path through a policy + should have a corresponding counter. In early versions, it was + impossible to configure an action without implementing a counter, + although the current design makes them in effect the network + manager's option, as a result of making actions consistent in + structure and extensibility. The assurance of proper debugging and + accounting is therefore left with the policy designer. + + When the MIB is used for configuration, diffServCountActNextFree + always contains a legal value for diffServCountActId that is not + currently used in the system's configuration. + +3.4.3. diffServDscpMarkActTable - The Mark Action Table + + The Mark Action table is an unusual table, both in SNMP and in this + MIB. It might be viewed not so much as an array of single-object + entries as an array of OBJECT-IDENTIFIER conventions, as the OID for + a diffServDscpMarkActDscp instance conveys all of the necessary + information: packets are to be marked with the requisite DSCP. + + As such, contrary to common practice, the index for the table is + read- only, and is both the Entry's index and its only value. + +3.4.4. diffServAlgDropTable - The Algorithmic Drop Table + + The Algorithmic Drop Table identifies a dropping algorithm, drops + packets, and counts the drops. Classified as an action, it is in + effect a method which applies a packet to a queue, and may modify + either. When the algorithm is "always drop", this is simple; when + the algorithm calls for head-drop, tail-drop, or a variety of Active + Queue Management, the queue is inspected, and in the case of Active + Queue Management, additional parameters are REQUIRED. + + What may not be clear from the name is that an Algorithmic Drop + action often does not drop traffic. Algorithms other than "always + drop" normally drop a few percent of packets at most. The action + inspects the diffServQEntry that diffServAlgDropQMeasure points to in + order to determine whether the packet should be dropped. + + When the MIB is used for configuration, diffServAlgDropNextFree + always contains a legal value for diffServAlgDropId that is not + currently used in the system's configuration. + + + + + + + + + +Baker, et. al. Standards Track [Page 13] + +RFC 3289 Differentiated Services MIB May 2002 + + +3.4.5. diffServRandomDropTable - The Random Drop Parameters Table + + The Random Drop Table is an extension of the Algorithmic Drop Table + intended for use on queues whose depth is actively managed. Active + Queue Management algorithms are typified by [RED93], but the + parameters they use vary. It was deemed for the purposes of this MIB + that the proper values to represent include: + + o Target case mean queue depth, expressed in bytes or packets + + o Worst case mean queue depth, expressed in bytes or packets + + o Maximum drop rate expressed as drops per thousand + + o Coefficient of an exponentially weighted moving average, + expressed as the numerator of a fraction whose denominator is + 65536. + + o Sampling rate + + An example of the representation chosen in this MIB for this element + is shown in Figure 1. + + Random droppers often have their drop probability function described + as a plot of drop probability (P) against averaged queue length (Q). + (Qmin,Pmin) then defines the start of the characteristic plot. + Normally Pmin=0, meaning with average queue length below Qmin, there + will be no drops. (Qmax,Pmax) defines a "knee" on the plot, after + which point the drop probability becomes more progressive (greater + slope). (Qclip,1) defines the queue length at which all packets will + be dropped. Notice this is different from Tail Drop because this + uses an averaged queue length, although it is possible for Qclip to + equal Qmax. + + In the MIB module, diffServRandomDropMinThreshBytes and + diffServRandomDropMinThreshPkts represent Qmin. + diffServRandomDropMaxThreshBytes and diffServRandomDropMaxThreshPkts + represent Qmax. diffServAlgDropQThreshold represents Qclip. + diffServRandomDropInvProbMax represents Pmax (inverse). This MIB + does not represent Pmin (assumed to be zero unless otherwise + represented). In addition, since message memory is finite, queues + generally have some upper bound above which they are incapable of + storing additional traffic. Normally this number is equal to Qclip, + specified by diffServAlgDropQThreshold. + + + + + + + +Baker, et. al. Standards Track [Page 14] + +RFC 3289 Differentiated Services MIB May 2002 + + + AlgDrop Queue + +-----------------+ +-------+ + --->| Next ---------+--+------------------->| Next -+--> ... + | QMeasure -------+--+ | ... | + | QThreshold | RandomDrop +-------+ + | Type=randomDrop | +----------------+ + | Specific -------+---->| MinThreshBytes | + +-----------------+ | MaxThreshBytes | + | ProbMax | + | Weight | + | SamplingRate | + +----------------+ + + Figure 1: Example Use of the RandomDropTable for Random Droppers + + Each random dropper specification is associated with a queue. This + allows multiple drop processes (of same or different types) to be + associated with the same queue, as different PHB implementations may + require. This also allows for sequences of multiple droppers if + necessary. + + The calculation of a smoothed queue length may also have an important + bearing on the behavior of the dropper: parameters may include the + sampling interval or rate, and the weight of each sample. The + performance may be very sensitive to the values of these parameters + and a wide range of possible values may be required due to a wide + range of link speeds. Most algorithms include a sample weight, + represented here by diffServRandomDropWeight. The availability of + diffServRandomDropSamplingRate as readable is important, the + information provided by Sampling Rate is essential to the + configuration of diffServRandomDropWeight. Having Sampling Rate be + configurable is also helpful, as line speed increases, the ability to + have queue sampling be less frequent than packet arrival is needed. + Note, however, that there is ongoing research on this topic, see e.g. + [ACTQMGMT] and [AQMROUTER]. + + Additional parameters may be added in an enterprise MIB module, e.g. + by using AUGMENTS on this table, to handle aspects of random drop + algorithms that are not standardized here. + + When the MIB is used for configuration, diffServRandomDropNextFree + always contains a legal value for diffServRandomDropId that is not + currently used in the system's configuration. + + + + + + + + +Baker, et. al. Standards Track [Page 15] + +RFC 3289 Differentiated Services MIB May 2002 + + +3.5. Queuing and Scheduling of Packets + + These include Queues and Schedulers, which are inter-related in their + use of queuing techniques. By doing so, it is possible to build + multi-level schedulers, such as those which treat a set of queues as + having priority among them, and at a specific priority find a + secondary WFQ scheduler with some number of queues. + +3.5.1. diffServQTable - The Class or Queue Table + + The Queue Table models simple FIFO queues. The Scheduler Table + allows flexibility in constructing both simple and somewhat more + complex queuing hierarchies from those queues. + + Queue Table entries are pointed at by the "next" attributes of the + upstream elements, such as diffServMeterSucceedNext or + diffServActionNext. Note that multiple upstream elements may direct + their traffic to the same Queue Table entry. For example, the + Assured Forwarding PHB suggests that all traffic marked AF11, AF12 or + AF13 be placed in the same queue, after metering, without reordering. + To accomplish that, the upstream diffServAlgDropNext pointers each + point to the same diffServQEntry. + + A common requirement of a queue is that its traffic enjoy a certain + minimum or maximum rate, or that it be given a certain priority. + Functionally, the selection of such is a function of a scheduler. + The parameter is associated with the queue, however, using the + Minimum or Maximum Rate Parameters Table. + + When the MIB is used for configuration, diffServQNextFree always + contains a legal value for diffServQId that is not currently used in + the system's configuration. + +3.5.2. diffServSchedulerTable - The Scheduler Table + + The scheduler, and therefore the Scheduler Table, accepts inputs from + either queues or a preceding scheduler. The Scheduler Table allows + flexibility in constructing both simple and somewhat more complex + queuing hierarchies from those queues. + + When the MIB is used for configuration, diffServSchedulerNextFree + always contains a legal value for diffServSchedulerId that is not + currently used in the system's configuration. + +3.5.3. diffServMinRateTable - The Minimum Rate Table + + When the output rate of a queue or scheduler must be given a minimum + rate or a priority, this is done using the diffServMinRateTable. + + + +Baker, et. al. Standards Track [Page 16] + +RFC 3289 Differentiated Services MIB May 2002 + + + Rates may be expressed as absolute rates, or as a fraction of + ifSpeed, and imply the use of a rate-based scheduler such as WFQ or + WRR. The use of a priority implies the use of a Priority Scheduler. + Only one of the Absolute or Relative rates needs to be set; the other + takes the relevant value as a result. Excess capacity is distributed + proportionally among the inputs to a scheduler using the assured + rate. More complex functionality may be described by augmenting this + MIB. + + When a priority scheduler is used, its effect is to give the queue + the entire capacity of the subject interface less the capacity used + by higher priorities, if there is traffic present to use it. This is + true regardless of the rate specifications applied to that queue or + other queues on the interface. Policing excess traffic will mitigate + this behavior. + + When the MIB is used for configuration, diffServMinRateNextFree + always contains a legal value for diffServMinRateId that is not + currently used in the system's configuration. + +3.5.4. diffServMaxRateTable - The Maximum Rate Table + + When the output rate of a queue or scheduler must be limited to at + most a specified maximum rate, this is done using the + diffServMaxRateTable. Rates may be expressed as absolute rates, or + as a fraction of ifSpeed. Only one of the Absolute or Relative rate + needs to be set; the other takes the relevant value as a result. + + The definition of a multirate shaper requires multiple + diffServMaxRateEntries. In this case, an algorithm such as [SHAPER] + is used. In that algorithm, more than one rate is specified, and at + any given time traffic is shaped to the lowest specified rate which + exceeds the arrival rate of traffic. + + When the MIB is used for configuration, diffServMaxRateNextFree + always contains a legal value for diffServMaxRateId that is not + currently used in the system's configuration. + +3.5.5. Using queues and schedulers together + + For representing a Strict Priority scheduler, each scheduler input is + assigned a priority with respect to all the other inputs feeding the + same scheduler, with default values for the other parameters. + Higher-priority traffic that is not being delayed for shaping will be + serviced before a lower-priority input. An example is found in + Figure 2. + + + + + +Baker, et. al. Standards Track [Page 17] + +RFC 3289 Differentiated Services MIB May 2002 + + + For weighted scheduling methods, such as WFQ or WRR, the "weight" of + a given scheduler input is represented with a Minimum Service Rate + leaky-bucket profile which provides a guaranteed minimum bandwidth to + that input, if required. This is represented by a rate + diffServMinRateAbsolute; the classical weight is the ratio between + that rate and the interface speed, or perhaps the ratio between that + rate and the sum of the configured rates for classes. The rate may + be represented by a relative value, as a fraction of the interface's + current line rate, diffServMinRateRelative, to assist in cases where + line rates are variable or where a higher-level policy might be + expressed in terms of fractions of network resources. The two rate + parameters are inter-related and changes in one may be reflected in + the other. An example is found in figure 3. + + +-----+ + +-------+ | P S | + | Queue +------------>+ r c | + +-------+-+--------+ | i h | + |Priority| | o e | + +--------+ | r d +-----------> + +-------+ | i u | + | Queue +------------>+ t l | + +-------+-+--------+ | y e | + |Priority| | r | + +--------+ +-----+ + + Figure 2: Priority Scheduler with two queues + + For weighted scheduling methods, one can say loosely, that WRR + focuses on meeting bandwidth sharing, without concern for relative + delay amongst the queues; where WFQ controls both queue the service + order and the amount of traffic serviced, providing bandwidth sharing + and relative delay ordering amongst the queues. + + A queue or scheduled set of queues (which is an input to a scheduler) + may also be capable of acting as a non-work-conserving [MODEL] + traffic shaper: this is done by defining a Maximum Service Rate + leaky-bucket profile in order to limit the scheduler bandwidth + available to that input. This is represented by a rate, in + diffServMaxRateAbsolute; the classical weight is the ratio between + that rate and the interface speed, or perhaps the ratio between that + rate and the sum of the configured rates for classes. The rate may + be represented by a relative value, as a fraction of the interface's + current line rate, diffServMaxRateRelative. This MIB presumes that + shaping is something a scheduler does to its inputs, which it models + as a queue with a maximum rate or a scheduler whose output has a + maximum rate. + + + + +Baker, et. al. Standards Track [Page 18] + +RFC 3289 Differentiated Services MIB May 2002 + + + +-----+ + +-------+ | W S | + | Queue +------------>+ R c | + +-------+-+--------+ | R h | + | Rate | | e | + +--------+ | o d +-----------> + +-------+ | r u | + | Queue +------------>+ l | + +-------+-+--------+ | W e | + | Rate | | F r | + +--------+ | Q | + +-----+ + + Figure 3: WRR or WFQ rate-based scheduler with two inputs + + The same may be done on a queue, if a given class is to be shaped to + a maximum rate without shaping other classes, as in Figure 5. + + Other types of priority and weighted scheduling methods can be + defined using existing parameters in diffServMinRateEntry. NOTE: + diffServSchedulerMethod uses OBJECT IDENTIFIER syntax, with the + different types of scheduling methods defined as OBJECT-IDENTITY. + + +---+ + +-------+ | S | + | Queue +------------>+ c | + +-------+-+--------+ | h | + | | | e +-----------> + +--------+ | d +-+-------+ + | u | |Shaping| + +-------+ | l | | Rate | + | Queue +------------>+ e | +-------+ + +-------+-+--------+ | r | + | | +---+ + +--------+ + + Figure 4: Shaping scheduled traffic to a known rate + + + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 19] + +RFC 3289 Differentiated Services MIB May 2002 + + + +---+ + +-------+ | S | + | Queue +------------>+ c | + +-------+-+--------+ | h | + |Min Rate| | e +-----------> + +--------+ | d | + | u | + +-------+ | l | + | Queue +------------>+ e | + +-------+-+--------+ | r | + |Min Rate| | | + +--------+ | | + |Max Rate| | | + +--------+ +---+ + + Figure 5: Shaping one input to a work-conserving scheduler + + Future scheduling methods may be defined in other MIBs. This + requires an OBJECT-IDENTITY definition, a description of how the + existing objects are reused, if they are, and any new objects they + require. + + To implement an EF and two AF classes, one must use a combination of + priority and WRR/WFQ scheduling. This requires us to cascade two + schedulers. If one were to additionally shape the output of the + system to a rate lower than the interface rate, one must place an + upper bound rate on the output of the priority scheduler. See figure + 6. + +3.6. Example configuration for AF and EF + + For the sake of argument, let us build an example with one EF class + and four AF classes using the constructs in this MIB. + +3.6.1. AF and EF Ingress Interface Configuration + + The ingress edge interface identifies traffic into classes, meters + it, and ensures that any excess is appropriately dealt with according + to the PHB. For AF, this means marking excess; for EF, it means + dropping excess or shaping it to a maximum rate. + + + + + + + + + + + +Baker, et. al. Standards Track [Page 20] + +RFC 3289 Differentiated Services MIB May 2002 + + + +-----+ + +-------+ | P S | + | Queue +---------------------------------->+ r c | + +-------+----------------------+--------+ | i h | + |Priority| | o e +-----------> + +--------+ | r d +-+-------+ + +------+ | i u | |Shaping| + +-------+ | W S +------------->+ t l | | Rate | + | Queue +------------>+ R c +-+--------+ | y e | +-------+ + +-------+-+--------+ | R h | |Priority| | r | + |Min Rate| | e | +--------+ +-----+ + +--------+ | o d | + +-------+ | r u | + | Queue +------------>+ l | + +-------+-+--------+ | W e | + |Min Rate| | F r | + +--------+ | Q | + +------+ + + Figure 6: Combined EF and AF services using cascaded schedulers. + + +-----------------------+ + | diffServDataPathStart | + +-----------+-----------+ + | + +----------+ + | + +--+--+ +-----+ +-----+ +-----+ +-----+ + | AF1 +-----+ AF2 +-----+ AF3 +-----+ AF4 +-----+ EF | + +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ + | | | | | + +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ + |trTCM| |trTCM| |trTCM| |trTCM| |srTCM| + |Meter| |Meter| |Meter| |Meter| |Meter| + +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+ + ||| ||| ||| ||| | | + +-+||---+ +-+||---+ +-+||---+ +-+||---+ +-+-|---+ + |+-+|----+ |+-+|----+ |+-+|----+ |+-+|----+ |+--+----+ + ||+-+-----+ ||+-+-----+ ||+-+-----+ ||+-+-----+ ||Actions| + +||Actions| +||Actions| +||Actions| +||Actions| +| | + +| | +| | +| | +| | +-+-----+ + +-+-----+ +-+-----+ +-+-----+ +-+-----+ | + ||| ||| ||| ||| | + VVV VVV VVV VVV V + + Accepted traffic is sent to IP forwarding + + Figure 7: combined EF and AF implementation, ingress side + + + +Baker, et. al. Standards Track [Page 21] + +RFC 3289 Differentiated Services MIB May 2002 + + +3.6.1.1. Classification In The Example + + A packet arriving at an ingress interface picks up its policy from + the diffServDataPathTable. This points to a classifier, which will + select traffic according to some specification for each traffic + class. + + An example of a classifier for an AFm class would be a set of three + classifier elements, each pointing to a Multi-field classification + parameter block identifying one of the AFmn DSCPs. Alternatively, + the filters might contain selectors for HTTP traffic or some other + application. + + An example of a classifier for EF traffic might be a classifier + element pointing to a filter specifying the EF code point, a + collection of classifiers with parameter blocks specifying individual + telephone calls, or a variety of other approaches. + + Typically, of course, a classifier identifies a variety of traffic + and breaks it up into separate classes. It might very well contain + fourteen classifier elements indicating the twelve AFmn DSCP values, + EF, and "everything else". These would presumably direct traffic + down six functional data paths: one for each AF or EF class, and one + for all other traffic. + +3.6.1.2. AF Implementation On an Ingress Edge Interface + + Each AFm class applies a Two Rate Three Color Meter, dividing traffic + into three groups. These groups of traffic conform to both specified + rates, only the higher one, or none. The intent, on the ingress + interface at the edge of the network, is to measure and appropriately + mark traffic. + +3.6.1.2.1. AF Metering On an Ingress Edge Interface + + Each AFm class applies a Two Rate Three Color Meter, dividing traffic + into three groups. If two rates R and S, where R < S, are specified + and traffic arrives at rate T, traffic comprising up to R bits per + second is considered to conform to the "confirmed" rate, R. If + R < T, traffic comprising up to S-R bits per second is considered to + conform to the "excess" rate, S. Any further excess is non- + conformant. + + Two meter entries are used to configure this, one for the conforming + rate and one for the excess rate. The rate parameters are stored in + associated Token Bucket Parameter Entries. The "FailNext" pointer of + the lower rate Meter Entry points to the other Meter Entry; both + "SucceedNext" pointers and the "FailNext" pointer of the higher Meter + + + +Baker, et. al. Standards Track [Page 22] + +RFC 3289 Differentiated Services MIB May 2002 + + + Entry point to lists of actions. In the color-blind mode, all three + classifier "next" entries point to the lower rate meter entry. In + the color-aware mode, the AFm1 classifier points to the lower rate + entry, the AFm2 classifier points to the higher rate entry (as it is + only compared against that rate), and the AFm3 classifier points + directly to the actions taken when both rates fail. + +3.6.1.2.2. AF Actions On an Ingress Edge Interface + + For network planning and perhaps for billing purposes, arriving + traffic is normally counted. Therefore, a "count" action, consisting + of an action table entry pointing to a count table entry, is + configured. + + Also, traffic is marked with the appropriate DSCP. The first R bits + per second are marked AFm1, the next S-R bits per second are marked + AFm2, and the rest is marked AFm3. It may be that traffic is + arriving marked with the same DSCP, but in general, the additional + complexity of deciding that it is being remarked to the same value is + not useful. Therefore, a "mark" action, consisting of an action + table entry pointing to a mark table entry, is configured. + + At this point, the usual case is that traffic is now forwarded in the + usual manner. To indicate this, the "SucceedNext" pointer of the + Mark Action is set to zeroDotZero. + +3.6.1.3. EF Implementation On an Ingress Edge Interface + + The EF class applies a Single Rate Two Color Meter, dividing traffic + into "conforming" and "excess" groups. The intent, on the ingress + interface at the edge of the network, is to measure and appropriately + mark conforming traffic and drop the excess. + +3.6.1.3.1. EF Metering On an Ingress Edge Interface + + A single rate two color (srTCM) meter requires one token bucket. It + is therefore configured using a single meter entry with a + corresponding Token Bucket Parameter Entry. Arriving traffic either + "succeeds" or "fails". + +3.6.1.3.2. EF Actions On an Ingress Edge Interface + + For network planning and perhaps for billing purposes, arriving + traffic that conforms to the meter is normally counted. Therefore, a + "count" action, consisting of an action table entry pointing to a + count table entry, is configured. + + + + + +Baker, et. al. Standards Track [Page 23] + +RFC 3289 Differentiated Services MIB May 2002 + + + Also, traffic is (re)marked with the EF DSCP. Therefore, a "mark" + action, consisting of an action table entry pointing to a mark table + entry, is configured. + + At this point, the successful traffic is now forwarded in the usual + manner. To indicate this, the "SucceedNext" pointer of the Mark + Action is set to zeroDotZero. + + Traffic that exceeded the arrival policy, however, is to be dropped. + One can use a count action on this traffic if the several counters + are interesting. However, since the drop counter in the Algorithmic + Drop Entry will count packets dropped, this is not clearly necessary. + An Algorithmic Drop Entry of the type "alwaysDrop" with no successor + is sufficient. + +3.7. AF and EF Egress Edge Interface Configuration + +3.7.1. Classification On an Egress Edge Interface + + A packet arriving at an egress interface may have been classified on + an ingress interface, and the egress interface may have access to + that information. If it is relevant, there is no reason not to use + that information. If it is not available, however, there may be a + need to (re)classify on the egress interface. In any event, it picks + up its "program" from the diffServDataPathTable. This points to a + classifier, which will select traffic according to some specification + for each traffic class. + + + + + + + + + + + + + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 24] + +RFC 3289 Differentiated Services MIB May 2002 + + + +-----------------------+ + | diffServDataPathStart | + +-----------+-----------+ + | + +----------+ + | + +--+--+ +-----+ +-----+ +-----+ +-----+ + | AF1 +-----+ AF2 +-----+ AF3 +-----+ AF4 +-----+ EF | + +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+ + ||| ||| ||| ||| | | + +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+ + |trTCM| |trTCM| |trTCM| |trTCM| |srTCM| + |Meter| |Meter| |Meter| |Meter| |Meter| + +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+ + ||| ||| ||| ||| | | + +-+||---+ +-+||---+ +-+||---+ +-+||---+ +-+-|---+ + |+-+|----+ |+-+|----+ |+-+|----+ |+-+|----+ |+--+----+ + ||+-+-----+ ||+-+-----+ ||+-+-----+ ||+-+-----+ ||Actions| + +||Actions| +||Actions| +||Actions| +||Actions| +| | + +| | +| | +| | +| | +-+-----+ + +-+-----+ +-+-----+ +-+-----+ +-+-----+ | + ||| ||| ||| ||| | + +-+++--+ +-+++--+ +-+++--+ +-+++--+ +--+---+ + | Queue| | Queue| | Queue| | Queue| | Queue| + +--+---+ +--+---+ +--+---+ +--+---+ +--+---+ + | | | | | + +--+-----------+-----------+-----------+---+ | + | WFQ/WRR Scheduler | | + +--------------------------------------+---+ | + | | + +-----+-----------+----+ + | Priority Scheduler | + +----------+-----------+ + | + V + + Figure 8: combined EF and AF implementation + + An example of a classifier for an AFm class would be a succession of + three classifier elements, each pointing to a Multi-field + classification parameter block identifying one of the AFmn DSCPs. + Alternatively, the filter might contain selectors for HTTP traffic or + some other application. + + + + + + + + +Baker, et. al. Standards Track [Page 25] + +RFC 3289 Differentiated Services MIB May 2002 + + + An example of a classifier for EF traffic might be either a + classifier element pointing to a Multi-field parameter specifying the + EF code point, or a collection of classifiers with parameter blocks + specifying individual telephone calls, or a variety of other + approaches. + + Each classifier delivers traffic to appropriate functional data path + elements. + +3.7.2. AF Implementation On an Egress Edge Interface + + Each AFm class applies a Two Rate Three Color Meter, dividing traffic + into three groups. These groups of traffic conform to both specified + rates, only the higher one, or none. The intent, on the ingress + interface at the edge of the network, is to measure and appropriately + mark traffic. + +3.7.2.1. AF Metering On an Egress Edge Interface + + Each AFm class applies a Two Rate Three Color Meter, dividing traffic + into three groups. If two rates R and S, where R < S, are specified + and traffic arrives at rate T, traffic comprising up to R bits per + second is considered to conform to the "confirmed" rate, R. If + R < T, traffic comprising up to S-R bits per second is considered to + conform to the "excess" rate, S. Any further excess is non- + conformant. + + Two meter entries are used to configure this, one for the conforming + rate and one for the excess rate. The rate parameters are stored in + associated Token Bucket Parameter Entries. The "FailNext" pointer of + the lower rate Meter Entry points to the other Meter Entry; both + "SucceedNext" pointers and the "FailNext" pointer of the higher Meter + Entry point to lists of actions. In the color-blind mode, all three + classifier "next" entries point to the lower rate meter entry. In + the color-aware mode, the AFm1 classifier points to the lower rate + entry, the AFm2 classifier points to the higher rate entry (as it is + only compared against that rate), and the AFm3 classifier points + directly to the actions taken when both rates fail. + + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 26] + +RFC 3289 Differentiated Services MIB May 2002 + + + +-----------------------------------------------------+ + | Classifier | + +--------+--------------------------------------------+ + |Green| Yellow| Red + | | | + +--+-----+-------+--+ Fail +--------------------+ + | Meter +------+ Meter | + +--+----------------+ +---+-------+--------+ + | Succeed (Green) | |Fail (Red) + | +---------+ | + | | Succeed (Yellow)| + +----+----+ +----+----+ +----+----+ + | Count | | Count | | Count | + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +----+----+ +----+----+ +----+----+ + |Mark AFx1| |Mark AFx2| |Mark AFx3| + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +----+----+ +----+----+ +----+----+ + | Random | | Random | | Random | + | Drop | | Drop | | Drop | + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +--------+-----------------+-----------------+--------+ + | Queue | + +--------------------------+--------------------------+ + | + +----+----+ + | Rate | + |Scheduler| + +----+----+ + | + + Figure 9a: Typical AF Edge egress interface configuration, + using color-blind meters + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 27] + +RFC 3289 Differentiated Services MIB May 2002 + + + +-----------------------------------------------------+ + | Classifier | + +--------+--------------------------------------------+ + |Green | Yellow | Red + | | | + +----+----+ +----+----+ | + | Count | | Count | | + | Action +-------+ Action +------------+ + +----+----+ Fail +----+----+ Fail | + |Succeed |Succeed | + +----+----+ +----+----+ +----+----+ + | Count | | Count | | Count | + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +----+----+ +----+----+ +----+----+ + |Mark AFx1| |Mark AFx2| |Mark AFx3| + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +----+----+ +----+----+ +----+----+ + | Random | | Random | | Random | + | Drop | | Drop | | Drop | + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +--------+-----------------+-----------------+--------+ + | Queue | + +--------------------------+--------------------------+ + | + +----+----+ + | Rate | + |Scheduler| + +----+----+ + | + + Figure 9b: Typical AF Edge egress interface configuration, + using color-aware meters + + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 28] + +RFC 3289 Differentiated Services MIB May 2002 + + + +-----------------------------------------------------+ + | Classifier | + +--------+-----------------+-----------------+--------+ + | Green | Yellow | Red + | | | + +----+----+ +----+----+ +----+----+ + | Count | | Count | | Count | + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +----+----+ +----+----+ +----+----+ + | Random | | Random | | Random | + | Drop | | Drop | | Drop | + | Action | | Action | | Action | + +----+----+ +----+----+ +----+----+ + | | | + +--------+-----------------+-----------------+--------+ + | Queue | + +--------------------------+--------------------------+ + | + +----+----+ + | Rate | + |Scheduler| + +----+----+ + | + + Figure 10: Typical AF Edge core interface configuration + +3.7.2.2. AF Actions On an Egress Edge Interface + + For network planning and perhaps for billing purposes, departing + traffic is normally counted. Therefore, a "count" action, consisting + of an action table entry pointing to a count table entry, is + configured. + + Also, traffic may be marked with an appropriate DSCP. The first R + bits per second are marked AFm1, the next S-R bits per second are + marked AFm2, and the rest is marked AFm3. It may be that traffic is + arriving marked with the same DSCP, but in general, the additional + complexity of deciding that it is being remarked to the same value is + not useful. Therefore, a "mark" action, consisting of an action + table entry pointing to a mark table entry, is configured. + + At this point, the usual case is that traffic is now queued for + transmission. The queue uses Active Queue Management, using an + algorithm such as RED. Therefore, an Algorithmic Dropper is + + + + + +Baker, et. al. Standards Track [Page 29] + +RFC 3289 Differentiated Services MIB May 2002 + + + configured for each AFmn traffic stream, with a slightly lower min- + threshold (and possibly lower max-threshold) for the excess traffic + than for the committed traffic. + +3.7.2.3. AF Rate-based Queuing On an Egress Edge Interface + + The queue expected by AF is normally a work-conserving queue. It + usually has a specified minimum rate, and may have a maximum rate + below the bandwidth of the interface. In concept, it will use as + much bandwidth as is available to it, but assure the lower bound. + + Common ways to implement this include various forms of Weighted Fair + Queuing (WFQ) or Weighted Round Robin (WRR). Integrated over a + longer interval, these give each class a predictable throughput rate. + They differ in that over short intervals they will order traffic + differently. In general, traffic classes that keep traffic in queue + will tend to absorb latency from queues with lower mean occupancy, in + exchange for which they make use of any available capacity. + +3.7.3. EF Implementation On an Egress Edge Interface + + The EF class applies a Single Rate Two Color Meter, dividing traffic + into "conforming" and "excess" groups. The intent, on the egress + interface at the edge of the network, is to measure and appropriately + mark conforming traffic and drop the excess. + +3.7.3.1. EF Metering On an Egress Edge Interface + + A single rate two color (srTCM) meter requires one token bucket. It + is therefore configured using a single meter entry with a + corresponding Token Bucket Parameter Entry. Arriving traffic either + "succeeds" or "fails". + +3.7.3.2. EF Actions On an Egress Edge Interface + + For network planning and perhaps for billing purposes, departing + traffic that conforms to the meter is normally counted. Therefore, a + "count" action, consisting of an action table entry pointing to a + count table entry, is configured. + + Also, traffic is (re)marked with the EF DSCP. Therefore, a "mark" + action, consisting of an action table entry pointing to a mark table + entry, is configured. + + + + + + + + +Baker, et. al. Standards Track [Page 30] + +RFC 3289 Differentiated Services MIB May 2002 + + + +-----------------------------------------------------+ + | Classifier | + +-------------------------+---------------------------+ + | Voice + | + +-------------+----------+ + | Meter | + +----+-------------+-----+ + | Succeed | Fail + | | + +----+----+ +----+----+ + | Count | | Always | + | Action | | Drop | + +----+----+ | Action | + | +---------+ + +----+---------+ + | Algorithmic | + | Drop Action | + +----+---------+ + | + +----------------+---------------+ + | Queue | + +----------------+---------------+ + | + +-----+-----+ + | Priority | + | Scheduler | + +-----+-----+ + + Figure 11: Typical EF Edge (Policing) Configuration + + + + + + + + + + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 31] + +RFC 3289 Differentiated Services MIB May 2002 + + + +--------------------------------+ + | Classifier | + +----------------+---------------+ + | Voice + | + +----+----+ + | Count | + | Action | + +----+----+ + | + +------+-------+ + | Algorithmic | + | Drop Action | + +------+-------+ + | + +----------------+---------------+ + | Queue | + +----------------+---------------+ + | + +-----+-----+ + | Priority | + | Scheduler | + +-----+-----+ + + Figure 12: Typical EF Core interface Configuration + + At this point, the successful traffic is now queued for transmission, + using a priority queue or perhaps a rate-based queue with significant + over-provision. Since the amount of traffic present is known, one + might not drop from this queue at all. + + Traffic that exceeded the policy, however, is dropped. A count + action can be used on this traffic if the several counters are + interesting. However, since the drop counter in the Algorithmic Drop + Entry will count packets dropped, this is not clearly necessary. An + Algorithmic Drop Entry of the type "alwaysDrop" with no successor is + sufficient. + +3.7.3.3. EF Priority Queuing On an Egress Edge Interface + + The normal implementation is a priority queue, to minimize induced + jitter. A separate queue is used for each EF class, with a strict + ordering. + + + + + + + + +Baker, et. al. Standards Track [Page 32] + +RFC 3289 Differentiated Services MIB May 2002 + + +4. Conventions used in this MIB + +4.1. The use of RowPointer to indicate data path linkage + + RowPointer is a textual convention used to identify a conceptual row + in a MIB Table by pointing to one of its objects. One of the ways + this MIB uses it is to indicate succession, pointing to data path + linkage table entries. + + For succession, it answers the question "what happens next?". Rather + than presume that the next table must be as specified in the + conceptual model [MODEL] and providing its index, the RowPointer + takes you to the MIB row representing that thing. In the + diffServMeterTable, for example, the diffServMeterFailNext RowPointer + might take you to another meter, while the diffServMeterSucceedNext + RowPointer would take you to an action. + + Since a RowPointer is not tied to any specific object except by the + value it contains, it is possible and acceptable to use RowPointers + to merge data paths. An obvious example of such a use is in the + classifier: traffic matching the DSCPs AF11, AF12, and AF13 might be + presented to the same meter in order to perform the processing + described in the Assured Forwarding PHB. Another use would be to + merge data paths from several interfaces; if they represent a single + service contract, having them share a common set of counters and + common policy may be a desirable configuration. Note well, however, + that such configurations may have related implementation issues - if + Differentiated Services processing for the interfaces is implemented + in multiple forwarding engines, the engines will need to communicate + if they are to implement such a feature. An implementation that + fails to provide this capability is not considered to have failed the + intention of this MIB or of the [MODEL]; an implementation that does + provide it is not considered superior from a standards perspective. + + NOTE -- the RowPointer construct is used to connect the functional + data paths. The [MODEL] describes these as TCBs, as an aid to + understanding. This MIB, however, does not model TCBs directly. + It operates at a lower level of abstraction using only individual + elements, connected in succession by RowPointers. Therefore, the + concept of TCBs enclosing individual Functional Data Path elements + is not directly applicable to this MIB, although management tools + that use this MIB may employ such a concept. + + It is possible that a path through a device following a set of + RowPointers is indeterminate i.e. it ends in a dangling RowPointer. + Guidance is provided in the MIB module's DESCRIPTION-clause for each + of the linkage attribute. In general, for both zeroDotZero and + dangling RowPointer, it is assumed the data path ends and the traffic + + + +Baker, et. al. Standards Track [Page 33] + +RFC 3289 Differentiated Services MIB May 2002 + + + should be given to the next logical part of the device, usually a + forwarding process or a transmission engine, or the proverbial bit- + bucket. Any variation from this usage is indicated by the attribute + affected. + +4.2. The use of RowPointer to indicate parameters + + RowPointer is also used in this MIB to indicate parameterization, for + pointing to parameterization table entries. + + For indirection (as in the diffServClfrElementTable), the idea is to + allow other MIBs, including proprietary ones, to define new and + arcane filters - MAC headers, IPv4 and IPv6 headers, BGP Communities + and all sorts of other things - while still utilizing the structures + of this MIB. This is a form of class inheritance (in "object + oriented" language): it allows base object definitions ("classes") to + be extended in proprietary or standard ways, in the future, by other + documents. + + RowPointer also clearly indicates the identified conceptual row's + content does not change, hence they can be simultaneously used and + pointed to, by more than one data path linkage table entries. The + identification of RowPointer allows higher level policy mechanisms to + take advantage of this characteristic. + +4.3. Conceptual row creation and deletion + + A number of conceptual tables defined in this MIB use as an index an + arbitrary integer value, unique across the scope of the agent. In + order to help with multi-manager row-creation problems, a mechanism + must be provided to allow a manager to obtain unique values for such + an index and to ensure that, when used, the manager knows whether it + got what it wanted or not. + + Typically, such a table has an associated NextFree variable e.g. + diffServClfrNextFree which provides a suitable value for the index of + the next row to be created e.g. diffServClfrId. The value zero is + used to indicate that the agent can configure no more entries. The + table also has a columnar Status attribute with RowStatus syntax [RFC + 2579]. + + Generally, if a manager attempts to create a row, the agent will + create the row and return success. If the agent has insufficient + resources or such a row already exists, then it returns an error. A + manager must be prepared to try again in such circumstances, probably + by re-reading the NextFree to obtain a new index value in case a + second manager had got in between the first manager's read of the + NextFree value and the first manager's row-creation attempt. + + + +Baker, et. al. Standards Track [Page 34] + +RFC 3289 Differentiated Services MIB May 2002 + + + To simplify management creation and deletion of rows in this MIB, the + agent is expected to assist in maintaining its consistency. It may + accomplish this by maintaining internal usage counters for any row + that might be pointed to by a RowPointer, or by any equivalent means. + When a RowPointer is created or written, and the row it points to + does not exist, the SET returns an inconsistentValue error. When a + RowStatus variable is set to 'destroy' but the usage counter is non- + zero, the SET returns no error but the indicated row is left intact. + The agent should later remove the row in the event that the usage + counter becomes zero. + + The use of RowStatus is covered in more detail in [RFC 2579]. + +5. Extending this MIB + + With the structures of this MIB divided into data path linkage tables + and parameterization tables, and with the use of RowPointer, new data + path linkage and parameterization tables can be defined in other MIB + modules, and used with tables defined in this MIB. This MIB does not + limit the type of entries its RowPointer attributes can point to, + hence new functional data path elements can be defined in other MIBs + and integrated with functional data path elements of this MIB. For + example, new Action functional data path element can be defined for + Traffic Engineering and be integrated with Differentiated Services + functional data path elements, possibly used within the same data + path sharing the same classifiers and meters. + + It is more likely that new parameterization tables will be created in + other MIBs as new methods or proprietary methods get deployed for + existing Differentiated Services Functional Data Path Elements. For + example, different kinds of filters can be defined by using new + filter parameterization tables. New scheduling methods can be + deployed by defining new scheduling method OIDs and new scheduling + parameter tables. + + Notice both new data path linkage tables and parameterization tables + can be added without needing to change this MIB document or affect + existing tables and their usage. + +6. MIB Definition + +DIFFSERV-DSCP-TC DEFINITIONS ::= BEGIN + + IMPORTS + Integer32, MODULE-IDENTITY, mib-2 + FROM SNMPv2-SMI + TEXTUAL-CONVENTION + FROM SNMPv2-TC; + + + +Baker, et. al. Standards Track [Page 35] + +RFC 3289 Differentiated Services MIB May 2002 + + +diffServDSCPTC MODULE-IDENTITY + LAST-UPDATED "200205090000Z" + ORGANIZATION "IETF Differentiated Services WG" + CONTACT-INFO + " Fred Baker + Cisco Systems + 1121 Via Del Rey + Santa Barbara, CA 93117, USA + E-mail: fred@cisco.com + + Kwok Ho Chan + Nortel Networks + 600 Technology Park Drive + Billerica, MA 01821, USA + E-mail: khchan@nortelnetworks.com + + Andrew Smith + Harbour Networks + Jiuling Building + 21 North Xisanhuan Ave. + Beijing, 100089, PRC + E-mail: ah_smith@acm.org + + Differentiated Services Working Group: + diffserv@ietf.org" + DESCRIPTION + "The Textual Conventions defined in this module should be used + whenever a Differentiated Services Code Point is used in a MIB." + REVISION "200205090000Z" + DESCRIPTION + "Initial version, published as RFC 3289." + ::= { mib-2 96 } + +Dscp ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "A Differentiated Services Code-Point that may be used for + marking a traffic stream." + REFERENCE + "RFC 2474, RFC 2780" + SYNTAX Integer32 (0..63) + +DscpOrAny ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "The IP header Differentiated Services Code-Point that may be + + + +Baker, et. al. Standards Track [Page 36] + +RFC 3289 Differentiated Services MIB May 2002 + + + used for discriminating among traffic streams. The value -1 is + used to indicate a wild card i.e. any value." + REFERENCE + "RFC 2474, RFC 2780" + SYNTAX Integer32 (-1 | 0..63) + +END + +DIFFSERV-MIB DEFINITIONS ::= BEGIN + + IMPORTS + Unsigned32, Counter64, MODULE-IDENTITY, OBJECT-TYPE, + OBJECT-IDENTITY, zeroDotZero, mib-2 + FROM SNMPv2-SMI + TEXTUAL-CONVENTION, RowStatus, RowPointer, + StorageType, AutonomousType + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + ifIndex, InterfaceIndexOrZero + FROM IF-MIB + InetAddressType, InetAddress, InetAddressPrefixLength, + InetPortNumber + FROM INET-ADDRESS-MIB + BurstSize + FROM INTEGRATED-SERVICES-MIB + Dscp, DscpOrAny + FROM DIFFSERV-DSCP-TC; + +diffServMib MODULE-IDENTITY + LAST-UPDATED "200202070000Z" + ORGANIZATION "IETF Differentiated Services WG" + CONTACT-INFO + " Fred Baker + Cisco Systems + 1121 Via Del Rey + Santa Barbara, CA 93117, USA + E-mail: fred@cisco.com + + Kwok Ho Chan + Nortel Networks + 600 Technology Park Drive + Billerica, MA 01821, USA + E-mail: khchan@nortelnetworks.com + + Andrew Smith + Harbour Networks + Jiuling Building + + + +Baker, et. al. Standards Track [Page 37] + +RFC 3289 Differentiated Services MIB May 2002 + + + 21 North Xisanhuan Ave. + Beijing, 100089, PRC + E-mail: ah_smith@acm.org + + Differentiated Services Working Group: + diffserv@ietf.org" + DESCRIPTION + "This MIB defines the objects necessary to manage a device that + uses the Differentiated Services Architecture described in RFC + 2475. The Conceptual Model of a Differentiated Services Router + provides supporting information on how such a router is modeled." + REVISION "200202070000Z" + DESCRIPTION + "Initial version, published as RFC 3289." + ::= { mib-2 97 } + +diffServMIBObjects OBJECT IDENTIFIER ::= { diffServMib 1 } +diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 } +diffServMIBAdmin OBJECT IDENTIFIER ::= { diffServMib 3 } + +IndexInteger ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An integer which may be used as a table index." + SYNTAX Unsigned32 (1..4294967295) + +IndexIntegerNextFree ::= TEXTUAL-CONVENTION + DISPLAY-HINT "d" + STATUS current + DESCRIPTION + "An integer which may be used as a new Index in a table. + + The special value of 0 indicates that no more new entries can be + created in the relevant table. + + When a MIB is used for configuration, an object with this SYNTAX + always contains a legal value (if non-zero) for an index that is + not currently used in the relevant table. The Command Generator + (Network Management Application) reads this variable and uses the + (non-zero) value read when creating a new row with an SNMP SET. + When the SET is performed, the Command Responder (agent) must + determine whether the value is indeed still unused; Two Network + Management Applications may attempt to create a row + (configuration entry) simultaneously and use the same value. If + it is currently unused, the SET succeeds and the Command + Responder (agent) changes the value of this object, according to + an implementation-specific algorithm. If the value is in use, + + + +Baker, et. al. Standards Track [Page 38] + +RFC 3289 Differentiated Services MIB May 2002 + + + however, the SET fails. The Network Management Application must + then re-read this variable to obtain a new usable value. + + An OBJECT-TYPE definition using this SYNTAX MUST specify the + relevant table for which the object is providing this + functionality." + SYNTAX Unsigned32 (0..4294967295) + +IfDirection ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "IfDirection specifies a direction of data travel on an + interface. 'inbound' traffic is operated on during reception from + the interface, while 'outbound' traffic is operated on prior to + transmission on the interface." + SYNTAX INTEGER { + inbound(1), -- ingress interface + outbound(2) -- egress interface +} + +-- +-- Data Path +-- + +diffServDataPath OBJECT IDENTIFIER ::= { diffServMIBObjects 1 } + +-- +-- Data Path Table +-- +-- The Data Path Table enumerates the Differentiated Services +-- Functional Data Paths within this device. Each entry in this table +-- is indexed by ifIndex and ifDirection. Each entry provides the +-- first Differentiated Services Functional Data Path Element to +-- process data flowing along specific data path. This table should +-- have at most two entries for each interface capable of +-- Differentiated Services processing on this device: ingress and +-- egress. + +-- Note that Differentiated Services Functional Data Path Elements +-- linked together using their individual next pointers and anchored by +-- an entry of the diffServDataPathTable constitute a functional data +-- path. +-- + +diffServDataPathTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServDataPathEntry + MAX-ACCESS not-accessible + STATUS current + + + +Baker, et. al. Standards Track [Page 39] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "The data path table contains RowPointers indicating the start of + the functional data path for each interface and traffic direction + in this device. These may merge, or be separated into parallel + data paths." + ::= { diffServDataPath 1 } + +diffServDataPathEntry OBJECT-TYPE + SYNTAX DiffServDataPathEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the data path table indicates the start of a single + Differentiated Services Functional Data Path in this device. + + These are associated with individual interfaces, logical or + physical, and therefore are instantiated by ifIndex. Therefore, + the interface index must have been assigned, according to the + procedures applicable to that, before it can be meaningfully + used. Generally, this means that the interface must exist. + + When diffServDataPathStorage is of type nonVolatile, however, + this may reflect the configuration for an interface whose ifIndex + has been assigned but for which the supporting implementation is + not currently present." + INDEX { ifIndex, diffServDataPathIfDirection } + ::= { diffServDataPathTable 1 } + +DiffServDataPathEntry ::= SEQUENCE { + diffServDataPathIfDirection IfDirection, + diffServDataPathStart RowPointer, + diffServDataPathStorage StorageType, + diffServDataPathStatus RowStatus +} + +diffServDataPathIfDirection OBJECT-TYPE + SYNTAX IfDirection + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "IfDirection specifies whether the reception or transmission path + for this interface is in view." + ::= { diffServDataPathEntry 1 } + +diffServDataPathStart OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + + + +Baker, et. al. Standards Track [Page 40] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "This selects the first Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates that no + Differentiated Services treatment is performed on traffic of this + data path. A pointer with the value zeroDotZero normally + terminates a functional data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServDataPathEntry 2 } + +diffServDataPathStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServDataPathEntry 3 } + +diffServDataPathStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time." + ::= { diffServDataPathEntry 4 } + +-- +-- Classifiers +-- + +diffServClassifier OBJECT IDENTIFIER ::= { diffServMIBObjects 2 } + +-- + + + +Baker, et. al. Standards Track [Page 41] + +RFC 3289 Differentiated Services MIB May 2002 + + +-- Classifier Table +-- +-- The Classifier Table allows multiple classifier elements, of same or +-- different types, to be used together. A classifier must completely +-- classify all packets presented to it. This means that all traffic +-- presented to a classifier must match at least one classifier element +-- within the classifier, with the classifier element parameters +-- specified by a filter. + +-- If there is ambiguity between classifier elements of different +-- classifier, classifier linkage order indicates their precedence; the +-- first classifier in the link is applied to the traffic first. + +-- Entries in the classifier element table serves as the anchor for +-- each classification pattern, defined in filter table entries. Each +-- classifier element table entry also specifies the subsequent +-- downstream Differentiated Services Functional Data Path Element when +-- the classification pattern is satisfied. Each entry in the +-- classifier element table describes one branch of the fan-out +-- characteristic of a classifier indicated in the Informal +-- Differentiated Services Model section 4.1. A classifier is composed +-- of one or more classifier elements. + +diffServClfrNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServClfrId, or a + zero to indicate that none exist." + ::= { diffServClassifier 1 } + +diffServClfrTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates all the diffserv classifier functional + data path elements of this device. The actual classification + definitions are defined in diffServClfrElementTable entries + belonging to each classifier. + + An entry in this table, pointed to by a RowPointer specifying an + instance of diffServClfrStatus, is frequently used as the name + for a set of classifier elements, which all use the index + diffServClfrId. Per the semantics of the classifier element + table, these entries constitute one or more unordered sets of + tests which may be simultaneously applied to a message to + + + +Baker, et. al. Standards Track [Page 42] + +RFC 3289 Differentiated Services MIB May 2002 + + + classify it. + + The primary function of this table is to ensure that the value of + diffServClfrId is unique before attempting to use it in creating + a diffServClfrElementEntry. Therefore, the diffServClfrEntry must + be created on the same SET as the diffServClfrElementEntry, or + before the diffServClfrElementEntry is created." + ::= { diffServClassifier 2 } + +diffServClfrEntry OBJECT-TYPE + SYNTAX DiffServClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the classifier table describes a single classifier. + All classifier elements belonging to the same classifier use the + classifier's diffServClfrId as part of their index." + INDEX { diffServClfrId } + ::= { diffServClfrTable 1 } + +DiffServClfrEntry ::= SEQUENCE { + diffServClfrId IndexInteger, + diffServClfrStorage StorageType, + diffServClfrStatus RowStatus +} + +diffServClfrId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the classifier entries. Managers + should obtain new values for row creation in this table by + reading diffServClfrNextFree." + ::= { diffServClfrEntry 1 } + +diffServClfrStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServClfrEntry 2 } + +diffServClfrStatus OBJECT-TYPE + + + +Baker, et. al. Standards Track [Page 43] + +RFC 3289 Differentiated Services MIB May 2002 + + + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServClfrEntry 3 } + +-- +-- Classifier Element Table +-- +diffServClfrElementNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServClfrElementId, + or a zero to indicate that none exist." + ::= { diffServClassifier 3 } + +diffServClfrElementTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServClfrElementEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The classifier element table enumerates the relationship between + classification patterns and subsequent downstream Differentiated + Services Functional Data Path elements. + diffServClfrElementSpecific points to a filter that specifies the + classification parameters. A classifier may use filter tables of + different types together. + + One example of a filter table defined in this MIB is + diffServMultiFieldClfrTable, for IP Multi-Field Classifiers + (MFCs). Such an entry might identify anything from a single + micro-flow (an identifiable sub-session packet stream directed + from one sending transport to the receiving transport or + transports), or aggregates of those such as the traffic from a + host, traffic for an application, or traffic between two hosts + using an application and a given DSCP. The standard Behavior + Aggregate used in the Differentiated Services Architecture is + encoded as a degenerate case of such an aggregate - the traffic + using a particular DSCP value. + + Filter tables for other filter types may be defined elsewhere." + + + +Baker, et. al. Standards Track [Page 44] + +RFC 3289 Differentiated Services MIB May 2002 + + + ::= { diffServClassifier 4 } + +diffServClfrElementEntry OBJECT-TYPE + SYNTAX DiffServClfrElementEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the classifier element table describes a single + element of the classifier." + INDEX { diffServClfrId, diffServClfrElementId } + ::= { diffServClfrElementTable 1 } + +DiffServClfrElementEntry ::= SEQUENCE { + diffServClfrElementId IndexInteger, + diffServClfrElementPrecedence Unsigned32, + diffServClfrElementNext RowPointer, + diffServClfrElementSpecific RowPointer, + diffServClfrElementStorage StorageType, + diffServClfrElementStatus RowStatus +} + +diffServClfrElementId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Classifier Element entries. + Managers obtain new values for row creation in this table by + reading diffServClfrElementNextFree." + ::= { diffServClfrElementEntry 1 } + +diffServClfrElementPrecedence OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The relative order in which classifier elements are applied: + higher numbers represent classifier element with higher + precedence. Classifier elements with the same order must be + unambiguous i.e. they must define non-overlapping patterns, and + are considered to be applied simultaneously to the traffic + stream. Classifier elements with different order may overlap in + their filters: the classifier element with the highest order + that matches is taken. + + On a given interface, there must be a complete classifier in + place at all times in the ingress direction. This means one or + more filters must match any possible pattern. There is no such + + + +Baker, et. al. Standards Track [Page 45] + +RFC 3289 Differentiated Services MIB May 2002 + + + requirement in the egress direction." + ::= { diffServClfrElementEntry 2 } + +diffServClfrElementNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This attribute provides one branch of the fan-out functionality + of a classifier described in the Informal Differentiated Services + Model section 4.1. + + This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + + ::= { diffServClfrElementEntry 3 } + +diffServClfrElementSpecific OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A pointer to a valid entry in another table, filter table, that + describes the applicable classification parameters, e.g. an entry + in diffServMultiFieldClfrTable. + + The value zeroDotZero is interpreted to match anything not + matched by another classifier element - only one such entry may + exist for each classifier. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + + + +Baker, et. al. Standards Track [Page 46] + +RFC 3289 Differentiated Services MIB May 2002 + + + becomes inactive by other means, the element is ignored." + ::= { diffServClfrElementEntry 4 } + +diffServClfrElementStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServClfrElementEntry 5 } + +diffServClfrElementStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServClfrElementEntry 6 } + +-- +-- IP Multi-field Classification Table +-- +-- Classification based on six different fields in the IP header. +-- Functional Data Paths may share definitions by using the same entry. +-- + +diffServMultiFieldClfrNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for + diffServMultiFieldClfrId, or a zero to indicate that none exist." + ::= { diffServClassifier 5 } + +diffServMultiFieldClfrTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMultiFieldClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table of IP Multi-field Classifier filter entries that a + + + +Baker, et. al. Standards Track [Page 47] + +RFC 3289 Differentiated Services MIB May 2002 + + + system may use to identify IP traffic." + ::= { diffServClassifier 6 } + +diffServMultiFieldClfrEntry OBJECT-TYPE + SYNTAX DiffServMultiFieldClfrEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An IP Multi-field Classifier entry describes a single filter." + INDEX { diffServMultiFieldClfrId } + ::= { diffServMultiFieldClfrTable 1 } + +DiffServMultiFieldClfrEntry ::= SEQUENCE { + diffServMultiFieldClfrId IndexInteger, + diffServMultiFieldClfrAddrType InetAddressType, + diffServMultiFieldClfrDstAddr InetAddress, + diffServMultiFieldClfrDstPrefixLength InetAddressPrefixLength, + diffServMultiFieldClfrSrcAddr InetAddress, + diffServMultiFieldClfrSrcPrefixLength InetAddressPrefixLength, + diffServMultiFieldClfrDscp DscpOrAny, + diffServMultiFieldClfrFlowId Unsigned32, + diffServMultiFieldClfrProtocol Unsigned32, + diffServMultiFieldClfrDstL4PortMin InetPortNumber, + diffServMultiFieldClfrDstL4PortMax InetPortNumber, + diffServMultiFieldClfrSrcL4PortMin InetPortNumber, + diffServMultiFieldClfrSrcL4PortMax InetPortNumber, + diffServMultiFieldClfrStorage StorageType, + diffServMultiFieldClfrStatus RowStatus +} + +diffServMultiFieldClfrId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the MultiField Classifier filter + entries. Managers obtain new values for row creation in this + table by reading diffServMultiFieldClfrNextFree." + + ::= { diffServMultiFieldClfrEntry 1 } + +diffServMultiFieldClfrAddrType OBJECT-TYPE + SYNTAX InetAddressType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of IP address used by this classifier entry. While + other types of addresses are defined in the InetAddressType + + + +Baker, et. al. Standards Track [Page 48] + +RFC 3289 Differentiated Services MIB May 2002 + + + textual convention, and DNS names, a classifier can only look at + packets on the wire. Therefore, this object is limited to IPv4 + and IPv6 addresses." + ::= { diffServMultiFieldClfrEntry 2 } + +diffServMultiFieldClfrDstAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP address to match against the packet's destination IP + address. This may not be a DNS name, but may be an IPv4 or IPv6 + prefix. diffServMultiFieldClfrDstPrefixLength indicates the + number of bits that are relevant." + ::= { diffServMultiFieldClfrEntry 3 } + +diffServMultiFieldClfrDstPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + UNITS "bits" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The length of the CIDR Prefix carried in + diffServMultiFieldClfrDstAddr. In IPv4 addresses, a length of 0 + indicates a match of any address; a length of 32 indicates a + match of a single host address, and a length between 0 and 32 + indicates the use of a CIDR Prefix. IPv6 is similar, except that + prefix lengths range from 0..128." + DEFVAL { 0 } + ::= { diffServMultiFieldClfrEntry 4 } + +diffServMultiFieldClfrSrcAddr OBJECT-TYPE + SYNTAX InetAddress + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP address to match against the packet's source IP address. + This may not be a DNS name, but may be an IPv4 or IPv6 prefix. + diffServMultiFieldClfrSrcPrefixLength indicates the number of + bits that are relevant." + ::= { diffServMultiFieldClfrEntry 5 } + +diffServMultiFieldClfrSrcPrefixLength OBJECT-TYPE + SYNTAX InetAddressPrefixLength + UNITS "bits" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + + + +Baker, et. al. Standards Track [Page 49] + +RFC 3289 Differentiated Services MIB May 2002 + + + "The length of the CIDR Prefix carried in + diffServMultiFieldClfrSrcAddr. In IPv4 addresses, a length of 0 + indicates a match of any address; a length of 32 indicates a + match of a single host address, and a length between 0 and 32 + indicates the use of a CIDR Prefix. IPv6 is similar, except that + prefix lengths range from 0..128." + DEFVAL { 0 } + ::= { diffServMultiFieldClfrEntry 6 } + +diffServMultiFieldClfrDscp OBJECT-TYPE + SYNTAX DscpOrAny + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The value that the DSCP in the packet must have to match this + entry. A value of -1 indicates that a specific DSCP value has not + been defined and thus all DSCP values are considered a match." + DEFVAL { -1 } + ::= { diffServMultiFieldClfrEntry 7 } + +diffServMultiFieldClfrFlowId OBJECT-TYPE + SYNTAX Unsigned32 (0..1048575) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The flow identifier in an IPv6 header." + ::= { diffServMultiFieldClfrEntry 8 } + +diffServMultiFieldClfrProtocol OBJECT-TYPE + SYNTAX Unsigned32 (0..255) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The IP protocol to match against the IPv4 protocol number or the + IPv6 Next- Header number in the packet. A value of 255 means + match all. Note the protocol number of 255 is reserved by IANA, + and Next-Header number of 0 is used in IPv6." + DEFVAL { 255 } + ::= { diffServMultiFieldClfrEntry 9 } + +diffServMultiFieldClfrDstL4PortMin OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry." + DEFVAL { 0 } + + + +Baker, et. al. Standards Track [Page 50] + +RFC 3289 Differentiated Services MIB May 2002 + + + ::= { diffServMultiFieldClfrEntry 10 } + +diffServMultiFieldClfrDstL4PortMax OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum value that the layer-4 destination port number in + the packet must have in order to match this classifier entry. + This value must be equal to or greater than the value specified + for this entry in diffServMultiFieldClfrDstL4PortMin." + DEFVAL { 65535 } + ::= { diffServMultiFieldClfrEntry 11 } + +diffServMultiFieldClfrSrcL4PortMin OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum value that the layer-4 source port number in the + packet must have in order to match this classifier entry." + DEFVAL { 0 } + ::= { diffServMultiFieldClfrEntry 12 } + +diffServMultiFieldClfrSrcL4PortMax OBJECT-TYPE + SYNTAX InetPortNumber + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum value that the layer-4 source port number in the + packet must have in order to match this classifier entry. This + value must be equal to or greater than the value specified for + this entry in diffServMultiFieldClfrSrcL4PortMin." + DEFVAL { 65535 } + ::= { diffServMultiFieldClfrEntry 13 } + +diffServMultiFieldClfrStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMultiFieldClfrEntry 14 } + +diffServMultiFieldClfrStatus OBJECT-TYPE + + + +Baker, et. al. Standards Track [Page 51] + +RFC 3289 Differentiated Services MIB May 2002 + + + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMultiFieldClfrEntry 15 } + +-- +-- Meters +-- + +diffServMeter OBJECT IDENTIFIER ::= { diffServMIBObjects 3 } + +-- +-- This MIB supports a variety of Meters. It includes a specific +-- definition for Token Bucket Meter, which are but one type of +-- specification. Other metering parameter sets can be defined in other +-- MIBs. + +-- Multiple meter elements may be logically cascaded using their +-- diffServMeterSucceedNext and diffServMeterFailNext pointers if +-- required. One example of this might be for an AF PHB implementation +-- that uses multiple level conformance meters. + +-- Cascading of individual meter elements in the MIB is intended to be +-- functionally equivalent to multiple level conformance determination +-- of a packet. The sequential nature of the representation is merely +-- a notational convenience for this MIB. + +-- srTCM meters (RFC 2697) can be specified using two sets of +-- diffServMeterEntry and diffServTBParamEntry. The first set specifies +-- the Committed Information Rate and Committed Burst Size +-- token-bucket. The second set specifies the Excess Burst Size +-- token-bucket. + +-- trTCM meters (RFC 2698) can be specified using two sets of +-- diffServMeterEntry and diffServTBParamEntry. The first set specifies +-- the Committed Information Rate and Committed Burst Size +-- token-bucket. The second set specifies the Peak Information Rate +-- and Peak Burst Size token-bucket. + +-- tswTCM meters (RFC 2859) can be specified using two sets of +-- diffServMeterEntry and diffServTBParamEntry. The first set specifies +-- the Committed Target Rate token-bucket. The second set specifies + + + +Baker, et. al. Standards Track [Page 52] + +RFC 3289 Differentiated Services MIB May 2002 + + +-- the Peak Target Rate token-bucket. diffServTBParamInterval in each +-- token bucket reflects the Average Interval. +-- + +diffServMeterNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServMeterId, or a + zero to indicate that none exist." + ::= { diffServMeter 1 } + +diffServMeterTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMeterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates specific meters that a system may use to + police a stream of traffic. The traffic stream to be metered is + determined by the Differentiated Services Functional Data Path + Element(s) upstream of the meter i.e. by the object(s) that point + to each entry in this table. This may include all traffic on an + interface. + + Specific meter details are to be found in table entry referenced + by diffServMeterSpecific." + ::= { diffServMeter 2 } + +diffServMeterEntry OBJECT-TYPE + SYNTAX DiffServMeterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the meter table describes a single conformance level + of a meter." + INDEX { diffServMeterId } + ::= { diffServMeterTable 1 } + +DiffServMeterEntry ::= SEQUENCE { + diffServMeterId IndexInteger, + diffServMeterSucceedNext RowPointer, + diffServMeterFailNext RowPointer, + diffServMeterSpecific RowPointer, + diffServMeterStorage StorageType, + diffServMeterStatus RowStatus +} + + + + +Baker, et. al. Standards Track [Page 53] + +RFC 3289 Differentiated Services MIB May 2002 + + +diffServMeterId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Meter entries. Managers obtain new + values for row creation in this table by reading + diffServMeterNextFree." + ::= { diffServMeterEntry 1 } + +diffServMeterSucceedNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the traffic does conform, this selects the next + Differentiated Services Functional Data Path element to handle + traffic for this data path. This RowPointer should point to an + instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates that no + further Differentiated Services treatment is performed on traffic + of this data path. The use of zeroDotZero is the normal usage for + the last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServMeterEntry 2 } + +diffServMeterFailNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "If the traffic does not conform, this selects the next + Differentiated Services Functional Data Path element to handle + traffic for this data path. This RowPointer should point to an + instance of one of: + diffServClfrEntry + diffServMeterEntry + + + +Baker, et. al. Standards Track [Page 54] + +RFC 3289 Differentiated Services MIB May 2002 + + + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServMeterEntry 3 } + +diffServMeterSpecific OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This indicates the behavior of the meter by pointing to an entry + containing detailed parameters. Note that entries in that + specific table must be managed explicitly. + + For example, diffServMeterSpecific may point to an entry in + diffServTBParamTable, which contains an instance of a single set + of Token Bucket parameters. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the meter always succeeds." + ::= { diffServMeterEntry 4 } + +diffServMeterStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMeterEntry 5 } + +diffServMeterStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + + + +Baker, et. al. Standards Track [Page 55] + +RFC 3289 Differentiated Services MIB May 2002 + + + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMeterEntry 6 } + +-- +-- Token Bucket Parameter Table +-- + +diffServTBParam OBJECT IDENTIFIER ::= { diffServMIBObjects 4 } + +-- Each entry in the Token Bucket Parameter Table parameterize a single +-- token bucket. Multiple token buckets can be used together to +-- parameterize multiple levels of conformance. + +-- Note that an entry in the Token Bucket Parameter Table can be shared +-- by multiple diffServMeterTable entries. +-- + +diffServTBParamNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServTBParamId, or a + zero to indicate that none exist." + ::= { diffServTBParam 1 } + +diffServTBParamTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServTBParamEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates a single set of token bucket meter + parameters that a system may use to police a stream of traffic. + Such meters are modeled here as having a single rate and a single + burst size. Multiple entries are used when multiple rates/burst + sizes are needed." + ::= { diffServTBParam 2 } + +diffServTBParamEntry OBJECT-TYPE + SYNTAX DiffServTBParamEntry + MAX-ACCESS not-accessible + STATUS current + + + +Baker, et. al. Standards Track [Page 56] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "An entry that describes a single set of token bucket + parameters." + INDEX { diffServTBParamId } + ::= { diffServTBParamTable 1 } + +DiffServTBParamEntry ::= SEQUENCE { + diffServTBParamId IndexInteger, + diffServTBParamType AutonomousType, + diffServTBParamRate Unsigned32, + diffServTBParamBurstSize BurstSize, + diffServTBParamInterval Unsigned32, + diffServTBParamStorage StorageType, + diffServTBParamStatus RowStatus +} + +diffServTBParamId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Token Bucket Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServTBParamNextFree." + ::= { diffServTBParamEntry 1 } + +diffServTBParamType OBJECT-TYPE + SYNTAX AutonomousType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The Metering algorithm associated with the Token Bucket + parameters. zeroDotZero indicates this is unknown. + + Standard values for generic algorithms: + diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate, + diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware, + diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and + diffServTBParamTswTCM are specified in this MIB as OBJECT- + IDENTITYs; additional values may be further specified in other + MIBs." + ::= { diffServTBParamEntry 2 } + +diffServTBParamRate OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + + + +Baker, et. al. Standards Track [Page 57] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "The token-bucket rate, in kilobits per second (kbps). This + attribute is used for: + 1. CIR in RFC 2697 for srTCM + 2. CIR and PIR in RFC 2698 for trTCM + 3. CTR and PTR in RFC 2859 for TSWTCM + 4. AverageRate in RFC 3290." + ::= { diffServTBParamEntry 3 } + +diffServTBParamBurstSize OBJECT-TYPE + SYNTAX BurstSize + UNITS "Bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum number of bytes in a single transmission burst. This + attribute is used for: + 1. CBS and EBS in RFC 2697 for srTCM + 2. CBS and PBS in RFC 2698 for trTCM + 3. Burst Size in RFC 3290." + ::= { diffServTBParamEntry 4 } + +diffServTBParamInterval OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "microseconds" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The time interval used with the token bucket. For: + 1. Average Rate Meter, the Informal Differentiated Services Model + section 5.2.1, - Delta. + 2. Simple Token Bucket Meter, the Informal Differentiated + Services Model section 5.1, - time interval t. + 3. RFC 2859 TSWTCM, - AVG_INTERVAL. + 4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time + interval." + ::= { diffServTBParamEntry 5 } + +diffServTBParamStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServTBParamEntry 6 } + + + +Baker, et. al. Standards Track [Page 58] + +RFC 3289 Differentiated Services MIB May 2002 + + +diffServTBParamStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServTBParamEntry 7 } + +-- +-- OIDs for diffServTBParamType definitions. +-- + +diffServTBMeters OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 } + +diffServTBParamSimpleTokenBucket OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Two Parameter Token Bucket Meter as described in the Informal + Differentiated Services Model section 5.2.3." + ::= { diffServTBMeters 1 } + +diffServTBParamAvgRate OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Average Rate Meter as described in the Informal Differentiated + Services Model section 5.2.1." + ::= { diffServTBMeters 2 } + +diffServTBParamSrTCMBlind OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Blind' mode as described by the RFC." + REFERENCE + "RFC 2697" + ::= { diffServTBMeters 3 } + +diffServTBParamSrTCMAware OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Single Rate Three Color Marker Metering as defined by RFC 2697, + in the `Color Aware' mode as described by the RFC." + REFERENCE + "RFC 2697" + + + +Baker, et. al. Standards Track [Page 59] + +RFC 3289 Differentiated Services MIB May 2002 + + + ::= { diffServTBMeters 4 } + +diffServTBParamTrTCMBlind OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Blind' mode as described by the RFC." + REFERENCE + "RFC 2698" + ::= { diffServTBMeters 5 } + +diffServTBParamTrTCMAware OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Two Rate Three Color Marker Metering as defined by RFC 2698, in + the `Color Aware' mode as described by the RFC." + REFERENCE + "RFC 2698" + ::= { diffServTBMeters 6 } + +diffServTBParamTswTCM OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Time Sliding Window Three Color Marker Metering as defined by + RFC 2859." + REFERENCE + "RFC 2859" + ::= { diffServTBMeters 7 } + +-- +-- Actions +-- + +diffServAction OBJECT IDENTIFIER ::= { diffServMIBObjects 5 } + +-- +-- The Action Table allows enumeration of the different types of +-- actions to be applied to a traffic flow. +-- + +diffServActionNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServActionId, or a + zero to indicate that none exist." + ::= { diffServAction 1 } + + + +Baker, et. al. Standards Track [Page 60] + +RFC 3289 Differentiated Services MIB May 2002 + + +diffServActionTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServActionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Action Table enumerates actions that can be performed to a + stream of traffic. Multiple actions can be concatenated. For + example, traffic exiting from a meter may be counted, marked, and + potentially dropped before entering a queue. + + Specific actions are indicated by diffServActionSpecific which + points to an entry of a specific action type parameterizing the + action in detail." + ::= { diffServAction 2 } + +diffServActionEntry OBJECT-TYPE + SYNTAX DiffServActionEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Each entry in the action table allows description of one + specific action to be applied to traffic." + INDEX { diffServActionId } + ::= { diffServActionTable 1 } + +DiffServActionEntry ::= SEQUENCE { + diffServActionId IndexInteger, + diffServActionInterface InterfaceIndexOrZero, + diffServActionNext RowPointer, + diffServActionSpecific RowPointer, + diffServActionStorage StorageType, + diffServActionStatus RowStatus +} + +diffServActionId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Action entries. Managers obtain + new values for row creation in this table by reading + diffServActionNextFree." + ::= { diffServActionEntry 1 } + +diffServActionInterface OBJECT-TYPE + SYNTAX InterfaceIndexOrZero + MAX-ACCESS read-create + STATUS current + + + +Baker, et. al. Standards Track [Page 61] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "The interface index (value of ifIndex) that this action occurs + on. This may be derived from the diffServDataPathStartEntry's + index by extension through the various RowPointers. However, as + this may be difficult for a network management station, it is + placed here as well. If this is indeterminate, the value is + zero. + + This is of especial relevance when reporting the counters which + may apply to traffic crossing an interface: + diffServCountActOctets, + diffServCountActPkts, + diffServAlgDropOctets, + diffServAlgDropPkts, + diffServAlgRandomDropOctets, and + diffServAlgRandomDropPkts. + + It is also especially relevant to the queue and scheduler which + may be subsequently applied." + ::= { diffServActionEntry 2 } + +diffServActionNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServAlgDropEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServActionEntry 3 } + +diffServActionSpecific OBJECT-TYPE + + + +Baker, et. al. Standards Track [Page 62] + +RFC 3289 Differentiated Services MIB May 2002 + + + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A pointer to an object instance providing additional information + for the type of action indicated by this action table entry. + + For the standard actions defined by this MIB module, this should + point to either a diffServDscpMarkActEntry or a + diffServCountActEntry. For other actions, it may point to an + object instance defined in some other MIB. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the Meter should be treated as + if it were not present. This may lead to incorrect policy + behavior." + ::= { diffServActionEntry 4 } + +diffServActionStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServActionEntry 5 } + +diffServActionStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServActionEntry 6 } + +-- DSCP Mark Action Table +-- +-- Rows of this table are pointed to by diffServActionSpecific to +-- provide detailed parameters specific to the DSCP Mark action. +-- +-- A single entry in this table can be shared by multiple + + + +Baker, et. al. Standards Track [Page 63] + +RFC 3289 Differentiated Services MIB May 2002 + + +-- diffServActionTable entries. +-- + +diffServDscpMarkActTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServDscpMarkActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table enumerates specific DSCPs used for marking or + remarking the DSCP field of IP packets. The entries of this table + may be referenced by a diffServActionSpecific attribute." + ::= { diffServAction 3 } + +diffServDscpMarkActEntry OBJECT-TYPE + SYNTAX DiffServDscpMarkActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the DSCP mark action table that describes a single + DSCP used for marking." + INDEX { diffServDscpMarkActDscp } + ::= { diffServDscpMarkActTable 1 } + +DiffServDscpMarkActEntry ::= SEQUENCE { + diffServDscpMarkActDscp Dscp +} + +diffServDscpMarkActDscp OBJECT-TYPE + SYNTAX Dscp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The DSCP that this Action will store into the DSCP field of the + subject. It is quite possible that the only packets subject to + this Action are already marked with this DSCP. Note also that + Differentiated Services processing may result in packet being + marked on both ingress to a network and on egress from it, and + that ingress and egress can occur in the same router." + ::= { diffServDscpMarkActEntry 1 } + +-- +-- Count Action Table +-- +-- Because the MIB structure allows multiple cascading +-- diffServActionEntry be used to describe multiple actions for a data +-- path, the counter became an optional action type. In normal +-- implementation, either a data path has counters or it does not, as +-- opposed to being configurable. The management entity may choose to + + + +Baker, et. al. Standards Track [Page 64] + +RFC 3289 Differentiated Services MIB May 2002 + + +-- read the counter or not. Hence it is recommended for implementation +-- that have counters to always configure the count action as the first +-- of multiple actions. +-- + +diffServCountActNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for + diffServCountActId, or a zero to indicate that none exist." + ::= { diffServAction 4 } + +diffServCountActTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServCountActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table contains counters for all the traffic passing through + an action element." + ::= { diffServAction 5 } + +diffServCountActEntry OBJECT-TYPE + SYNTAX DiffServCountActEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the count action table describes a single set of + traffic counters." + INDEX { diffServCountActId } + ::= { diffServCountActTable 1 } + +DiffServCountActEntry ::= SEQUENCE { + diffServCountActId IndexInteger, + diffServCountActOctets Counter64, + diffServCountActPkts Counter64, + diffServCountActStorage StorageType, + diffServCountActStatus RowStatus +} + +diffServCountActId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Count Action entries. Managers + obtain new values for row creation in this table by reading + + + +Baker, et. al. Standards Track [Page 65] + +RFC 3289 Differentiated Services MIB May 2002 + + + diffServCountActNextFree." + ::= { diffServCountActEntry 1 } + +diffServCountActOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets at the Action data path element. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServCountActEntry 2 } + +diffServCountActPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets at the Action data path element. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServCountActEntry 3 } + +diffServCountActStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServCountActEntry 4 } + +diffServCountActStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + + + +Baker, et. al. Standards Track [Page 66] + +RFC 3289 Differentiated Services MIB May 2002 + + + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServCountActEntry 5 } + +-- +-- Algorithmic Drop Table +-- + +diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 6 } + +diffServAlgDropNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServAlgDropId, or a + zero to indicate that none exist." + ::= { diffServAlgDrop 1 } + +diffServAlgDropTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServAlgDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The algorithmic drop table contains entries describing an + element that drops packets according to some algorithm." + ::= { diffServAlgDrop 2 } + +diffServAlgDropEntry OBJECT-TYPE + SYNTAX DiffServAlgDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry describes a process that drops packets according to + some algorithm. Further details of the algorithm type are to be + found in diffServAlgDropType and with more detail parameter entry + pointed to by diffServAlgDropSpecific when necessary." + INDEX { diffServAlgDropId } + ::= { diffServAlgDropTable 1 } + +DiffServAlgDropEntry ::= SEQUENCE { + diffServAlgDropId IndexInteger, + diffServAlgDropType INTEGER, + diffServAlgDropNext RowPointer, + diffServAlgDropQMeasure RowPointer, + diffServAlgDropQThreshold Unsigned32, + diffServAlgDropSpecific RowPointer, + diffServAlgDropOctets Counter64, + + + +Baker, et. al. Standards Track [Page 67] + +RFC 3289 Differentiated Services MIB May 2002 + + + diffServAlgDropPkts Counter64, + diffServAlgRandomDropOctets Counter64, + diffServAlgRandomDropPkts Counter64, + diffServAlgDropStorage StorageType, + diffServAlgDropStatus RowStatus +} + +diffServAlgDropId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Algorithmic Dropper entries. + Managers obtain new values for row creation in this table by + reading diffServAlgDropNextFree." + ::= { diffServAlgDropEntry 1 } + +diffServAlgDropType OBJECT-TYPE + SYNTAX INTEGER { + other(1), + tailDrop(2), + headDrop(3), + randomDrop(4), + alwaysDrop(5) +} + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The type of algorithm used by this dropper. The value other(1) + requires further specification in some other MIB module. + + In the tailDrop(2) algorithm, diffServAlgDropQThreshold + represents the maximum depth of the queue, pointed to by + diffServAlgDropQMeasure, beyond which all newly arriving packets + will be dropped. + + In the headDrop(3) algorithm, if a packet arrives when the + current depth of the queue, pointed to by + diffServAlgDropQMeasure, is at diffServAlgDropQThreshold, packets + currently at the head of the queue are dropped to make room for + the new packet to be enqueued at the tail of the queue. + + In the randomDrop(4) algorithm, on packet arrival, an Active + Queue Management algorithm is executed which may randomly drop a + packet. This algorithm may be proprietary, and it may drop either + the arriving packet or another packet in the queue. + diffServAlgDropSpecific points to a diffServRandomDropEntry that + describes the algorithm. For this algorithm, + + + +Baker, et. al. Standards Track [Page 68] + +RFC 3289 Differentiated Services MIB May 2002 + + + diffServAlgDropQThreshold is understood to be the absolute + maximum size of the queue and additional parameters are described + in diffServRandomDropTable. + + The alwaysDrop(5) algorithm is as its name specifies; always + drop. In this case, the other configuration values in this Entry + are not meaningful; There is no useful 'next' processing step, + there is no queue, and parameters describing the queue are not + useful. Therefore, diffServAlgDropNext, diffServAlgDropMeasure, + and diffServAlgDropSpecific are all zeroDotZero." + ::= { diffServAlgDropEntry 2 } + +diffServAlgDropNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This + RowPointer should point to an instance of one of: + diffServClfrEntry + diffServMeterEntry + diffServActionEntry + diffServQEntry + + A value of zeroDotZero in this attribute indicates no further + Differentiated Services treatment is performed on traffic of this + data path. The use of zeroDotZero is the normal usage for the + last functional data path element of the current data path. + + When diffServAlgDropType is alwaysDrop(5), this object is + ignored. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServAlgDropEntry 3 } + +diffServAlgDropQMeasure OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Points to an entry in the diffServQTable to indicate the queue + that a drop algorithm is to monitor when deciding whether to drop + a packet. If the row pointed to does not exist, the algorithmic + dropper element is considered inactive. + + + +Baker, et. al. Standards Track [Page 69] + +RFC 3289 Differentiated Services MIB May 2002 + + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServAlgDropEntry 4 } + +diffServAlgDropQThreshold OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "Bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "A threshold on the depth in bytes of the queue being measured at + which a trigger is generated to the dropping algorithm, unless + diffServAlgDropType is alwaysDrop(5) where this object is + ignored. + + For the tailDrop(2) or headDrop(3) algorithms, this represents + the depth of the queue, pointed to by diffServAlgDropQMeasure, at + which the drop action will take place. Other algorithms will need + to define their own semantics for this threshold." + ::= { diffServAlgDropEntry 5 } + +diffServAlgDropSpecific OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "Points to a table entry that provides further detail regarding a + drop algorithm. + + Entries with diffServAlgDropType equal to other(1) may have this + point to a table defined in another MIB module. + + Entries with diffServAlgDropType equal to randomDrop(4) must have + this point to an entry in diffServRandomDropTable. + + For all other algorithms specified in this MIB, this should take + the value zeroDotZero. + + The diffServAlgDropType is authoritative for the type of the drop + algorithm and the specific parameters for the drop algorithm + needs to be evaluated based on the diffServAlgDropType. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + + + +Baker, et. al. Standards Track [Page 70] + +RFC 3289 Differentiated Services MIB May 2002 + + + ::= { diffServAlgDropEntry 6 } + +diffServAlgDropOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets that have been deterministically dropped by + this drop process. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 7 } + +diffServAlgDropPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of packets that have been deterministically dropped + by this drop process. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 8 } + +diffServAlgRandomDropOctets OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The number of octets that have been randomly dropped by this + drop process. This counter applies, therefore, only to random + droppers. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 9 } + +diffServAlgRandomDropPkts OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + + + +Baker, et. al. Standards Track [Page 71] + +RFC 3289 Differentiated Services MIB May 2002 + + + STATUS current + DESCRIPTION + "The number of packets that have been randomly dropped by this + drop process. This counter applies, therefore, only to random + droppers. + + Discontinuities in the value of this counter can occur at re- + initialization of the management system and at other times as + indicated by the value of ifCounterDiscontinuityTime on the + relevant interface." + ::= { diffServAlgDropEntry 10 } + +diffServAlgDropStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServAlgDropEntry 11 } + +diffServAlgDropStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServAlgDropEntry 12 } + +-- +-- Random Drop Table +-- + +diffServRandomDropNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServRandomDropId, + or a zero to indicate that none exist." + ::= { diffServAlgDrop 3 } + + + + +Baker, et. al. Standards Track [Page 72] + +RFC 3289 Differentiated Services MIB May 2002 + + +diffServRandomDropTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServRandomDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The random drop table contains entries describing a process that + drops packets randomly. Entries in this table are pointed to by + diffServAlgDropSpecific." + ::= { diffServAlgDrop 4 } + +diffServRandomDropEntry OBJECT-TYPE + SYNTAX DiffServRandomDropEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry describes a process that drops packets according to a + random algorithm." + INDEX { diffServRandomDropId } + ::= { diffServRandomDropTable 1 } + +DiffServRandomDropEntry ::= SEQUENCE { + diffServRandomDropId IndexInteger, + diffServRandomDropMinThreshBytes Unsigned32, + diffServRandomDropMinThreshPkts Unsigned32, + diffServRandomDropMaxThreshBytes Unsigned32, + diffServRandomDropMaxThreshPkts Unsigned32, + diffServRandomDropProbMax Unsigned32, + diffServRandomDropWeight Unsigned32, + diffServRandomDropSamplingRate Unsigned32, + diffServRandomDropStorage StorageType, + diffServRandomDropStatus RowStatus +} + +diffServRandomDropId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Random Drop entries. Managers + obtain new values for row creation in this table by reading + diffServRandomDropNextFree." + ::= { diffServRandomDropEntry 1 } + +diffServRandomDropMinThreshBytes OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + + + +Baker, et. al. Standards Track [Page 73] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "The average queue depth in bytes, beyond which traffic has a + non-zero probability of being dropped. Changes in this variable + may or may not be reflected in the reported value of + diffServRandomDropMinThreshPkts." + ::= { diffServRandomDropEntry 2 } + +diffServRandomDropMinThreshPkts OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "packets" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The average queue depth in packets, beyond which traffic has a + non-zero probability of being dropped. Changes in this variable + may or may not be reflected in the reported value of + diffServRandomDropMinThreshBytes." + ::= { diffServRandomDropEntry 3 } + +diffServRandomDropMaxThreshBytes OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The average queue depth beyond which traffic has a probability + indicated by diffServRandomDropProbMax of being dropped or + marked. Note that this differs from the physical queue limit, + which is stored in diffServAlgDropQThreshold. Changes in this + variable may or may not be reflected in the reported value of + diffServRandomDropMaxThreshPkts." + ::= { diffServRandomDropEntry 4 } + +diffServRandomDropMaxThreshPkts OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "packets" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The average queue depth beyond which traffic has a probability + indicated by diffServRandomDropProbMax of being dropped or + marked. Note that this differs from the physical queue limit, + which is stored in diffServAlgDropQThreshold. Changes in this + variable may or may not be reflected in the reported value of + diffServRandomDropMaxThreshBytes." + ::= { diffServRandomDropEntry 5 } + +diffServRandomDropProbMax OBJECT-TYPE + + + +Baker, et. al. Standards Track [Page 74] + +RFC 3289 Differentiated Services MIB May 2002 + + + SYNTAX Unsigned32 (0..1000) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The worst case random drop probability, expressed in drops per + thousand packets. + + For example, if in the worst case every arriving packet may be + dropped (100%) for a period, this has the value 1000. + Alternatively, if in the worst case only one percent (1%) of + traffic may be dropped, it has the value 10." + ::= { diffServRandomDropEntry 6 } + +diffServRandomDropWeight OBJECT-TYPE + SYNTAX Unsigned32 (0..65536) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The weighting of past history in affecting the Exponentially + Weighted Moving Average function that calculates the current + average queue depth. The equation uses + diffServRandomDropWeight/65536 as the coefficient for the new + sample in the equation, and (65536 - + diffServRandomDropWeight)/65536 as the coefficient of the old + value. + + Implementations may limit the values of diffServRandomDropWeight + to a subset of the possible range of values, such as powers of + two. Doing this would facilitate implementation of the + Exponentially Weighted Moving Average using shift instructions or + registers." + ::= { diffServRandomDropEntry 7 } + +diffServRandomDropSamplingRate OBJECT-TYPE + SYNTAX Unsigned32 (0..1000000) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of times per second the queue is sampled for queue + average calculation. A value of zero is used to mean that the + queue is sampled approximately each time a packet is enqueued (or + dequeued)." + ::= { diffServRandomDropEntry 8 } + +diffServRandomDropStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + + + +Baker, et. al. Standards Track [Page 75] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServRandomDropEntry 9 } + +diffServRandomDropStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServRandomDropEntry 10 } + +-- +-- Queue Table +-- + +diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 7 } + +-- +-- An entry of diffServQTable represents a FIFO queue Differentiated +-- Services Functional Data Path element as described in the Informal +-- Differentiated Services Model section 7.1.1. Note that the +-- specification of scheduling parameters for a queue as part of the +-- input to a scheduler functional data path element as described in +-- the Informal Differentiated Services Model section 7.1.2. This +-- allows building of hierarchical queuing/scheduling. A queue +-- therefore has these attributes: +-- +-- 1. Which scheduler will service this queue, diffServQNext. +-- 2. How the scheduler will service this queue, with respect +-- to all the other queues the same scheduler needs to service, +-- diffServQMinRate. +-- +-- Note that upstream Differentiated Services Functional Data Path +-- elements may point to a shared diffServQTable entry as described +-- in the Informal Differentiated Services Model section 7.1.1. +-- + +diffServQNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + + + +Baker, et. al. Standards Track [Page 76] + +RFC 3289 Differentiated Services MIB May 2002 + + + STATUS current + DESCRIPTION + "This object contains an unused value for diffServQId, or a zero + to indicate that none exist." + ::= { diffServQueue 1 } + +diffServQTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServQEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Queue Table enumerates the individual queues. Note that the + MIB models queuing systems as composed of individual queues, one + per class of traffic, even though they may in fact be structured + as classes of traffic scheduled using a common calendar queue, or + in other ways." + ::= { diffServQueue 2 } + +diffServQEntry OBJECT-TYPE + SYNTAX DiffServQEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Queue Table describes a single queue or class of + traffic." + INDEX { diffServQId } + ::= { diffServQTable 1 } + +DiffServQEntry ::= SEQUENCE { + diffServQId IndexInteger, + diffServQNext RowPointer, + diffServQMinRate RowPointer, + diffServQMaxRate RowPointer, + diffServQStorage StorageType, + diffServQStatus RowStatus +} + +diffServQId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Queue entries. Managers obtain new + values for row creation in this table by reading + diffServQNextFree." + ::= { diffServQEntry 1 } + +diffServQNext OBJECT-TYPE + + + +Baker, et. al. Standards Track [Page 77] + +RFC 3289 Differentiated Services MIB May 2002 + + + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Scheduler. The + RowPointer must point to a diffServSchedulerEntry. + + A value of zeroDotZero in this attribute indicates an incomplete + diffServQEntry instance. In such a case, the entry has no + operational effect, since it has no parameters to give it + meaning. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServQEntry 2 } + +diffServQMinRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the diffServMinRateEntry that the + scheduler, pointed to by diffServQNext, should use to service + this queue. + + If the row pointed to is zeroDotZero, the minimum rate and + priority is unspecified. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServQEntry 3 } + +diffServQMaxRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the diffServMaxRateEntry that the + scheduler, pointed to by diffServQNext, should use to service + this queue. + + If the row pointed to is zeroDotZero, the maximum rate is the + line speed of the interface. + + + + +Baker, et. al. Standards Track [Page 78] + +RFC 3289 Differentiated Services MIB May 2002 + + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + ::= { diffServQEntry 4 } + +diffServQStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServQEntry 5 } + +diffServQStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServQEntry 6 } + +-- +-- Scheduler Table +-- + +diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 } + +-- +-- A Scheduler Entry represents a packet scheduler, such as a priority +-- scheduler or a WFQ scheduler. It provides flexibility for multiple +-- scheduling algorithms, each servicing multiple queues, to be used on +-- the same logical/physical interface. +-- +-- Note that upstream queues or schedulers specify several of the +-- scheduler's parameters. These must be properly specified if the +-- scheduler is to behave as expected. +-- +-- The diffServSchedulerMaxRate attribute specifies the parameters when +-- a scheduler's output is sent to another scheduler. This is used in +-- building hierarchical queues or schedulers. + + + +Baker, et. al. Standards Track [Page 79] + +RFC 3289 Differentiated Services MIB May 2002 + + +-- +-- More discussion of the scheduler functional data path element is in +-- the Informal Differentiated Services Model section 7.1.2. +-- + +diffServSchedulerNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServSchedulerId, or + a zero to indicate that none exist." + ::= { diffServScheduler 1 } + +diffServSchedulerTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServSchedulerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Scheduler Table enumerates packet schedulers. Multiple + scheduling algorithms can be used on a given data path, with each + algorithm described by one diffServSchedulerEntry." + ::= { diffServScheduler 2 } + +diffServSchedulerEntry OBJECT-TYPE + SYNTAX DiffServSchedulerEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Scheduler Table describing a single instance of + a scheduling algorithm." + INDEX { diffServSchedulerId } + ::= { diffServSchedulerTable 1 } + +DiffServSchedulerEntry ::= SEQUENCE { + diffServSchedulerId IndexInteger, + diffServSchedulerNext RowPointer, + diffServSchedulerMethod AutonomousType, + diffServSchedulerMinRate RowPointer, + diffServSchedulerMaxRate RowPointer, + diffServSchedulerStorage StorageType, + diffServSchedulerStatus RowStatus +} + +diffServSchedulerId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + + + +Baker, et. al. Standards Track [Page 80] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "An index that enumerates the Scheduler entries. Managers obtain + new values for row creation in this table by reading + diffServSchedulerNextFree." + ::= { diffServSchedulerEntry 1 } + +diffServSchedulerNext OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This selects the next Differentiated Services Functional Data + Path Element to handle traffic for this data path. This normally + is null (zeroDotZero), or points to a diffServSchedulerEntry or a + diffServQEntry. + + However, this RowPointer may also point to an instance of: + diffServClfrEntry, + diffServMeterEntry, + diffServActionEntry, + diffServAlgDropEntry. + + It would point another diffServSchedulerEntry when implementing + multiple scheduler methods for the same data path, such as having + one set of queues scheduled by WRR and that group participating + in a priority scheduling system in which other queues compete + with it in that way. It might also point to a second scheduler + in a hierarchical scheduling system. + + If the row pointed to is zeroDotZero, no further Differentiated + Services treatment is performed on traffic of this data path. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServSchedulerEntry 2 } + +diffServSchedulerMethod OBJECT-TYPE + SYNTAX AutonomousType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The scheduling algorithm used by this Scheduler. zeroDotZero + indicates that this is unknown. Standard values for generic + algorithms: diffServSchedulerPriority, diffServSchedulerWRR, and + diffServSchedulerWFQ are specified in this MIB; additional values + + + +Baker, et. al. Standards Track [Page 81] + +RFC 3289 Differentiated Services MIB May 2002 + + + may be further specified in other MIBs." + ::= { diffServSchedulerEntry 3 } + +diffServSchedulerMinRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the entry in diffServMinRateTable + which indicates the priority or minimum output rate from this + scheduler. This attribute is used only when there is more than + one level of scheduler. + + When it has the value zeroDotZero, it indicates that no minimum + rate or priority is imposed. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServSchedulerEntry 4 } + +diffServSchedulerMaxRate OBJECT-TYPE + SYNTAX RowPointer + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "This RowPointer indicates the entry in diffServMaxRateTable + which indicates the maximum output rate from this scheduler. + When more than one maximum rate applies (eg, when a multi-rate + shaper is in view), it points to the first of those rate entries. + This attribute is used only when there is more than one level of + scheduler. + + When it has the value zeroDotZero, it indicates that no maximum + rate is imposed. + + Setting this to point to a target that does not exist results in + an inconsistentValue error. If the row pointed to is removed or + becomes inactive by other means, the treatment is as if this + attribute contains a value of zeroDotZero." + DEFVAL { zeroDotZero } + ::= { diffServSchedulerEntry 5 } + +diffServSchedulerStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + + + +Baker, et. al. Standards Track [Page 82] + +RFC 3289 Differentiated Services MIB May 2002 + + + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServSchedulerEntry 6 } + +diffServSchedulerStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServSchedulerEntry 7 } + +-- +-- OIDs for diffServTBParamType definitions. +-- + +diffServSchedulers OBJECT IDENTIFIER ::= { diffServMIBAdmin 2 } + +diffServSchedulerPriority OBJECT-IDENTITY + STATUS current + DESCRIPTION + "For use with diffServSchedulerMethod to indicate the Priority + scheduling method. This is defined as an algorithm in which the + presence of data in a queue or set of queues absolutely precludes + dequeue from another queue or set of queues of lower priority. + Note that attributes from diffServMinRateEntry of the + queues/schedulers feeding this scheduler are used when + determining the next packet to schedule." + ::= { diffServSchedulers 1 } + +diffServSchedulerWRR OBJECT-IDENTITY + STATUS current + DESCRIPTION + "For use with diffServSchedulerMethod to indicate the Weighted + Round Robin scheduling method, defined as any algorithm in which + a set of queues are visited in a fixed order, and varying amounts + of traffic are removed from each queue in turn to implement an + average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule." + + + +Baker, et. al. Standards Track [Page 83] + +RFC 3289 Differentiated Services MIB May 2002 + + + ::= { diffServSchedulers 2 } + +diffServSchedulerWFQ OBJECT-IDENTITY + STATUS current + DESCRIPTION + "For use with diffServSchedulerMethod to indicate the Weighted + Fair Queuing scheduling method, defined as any algorithm in which + a set of queues are conceptually visited in some order, to + implement an average output rate by class. Notice attributes from + diffServMinRateEntry of the queues/schedulers feeding this + scheduler are used when determining the next packet to schedule." + ::= { diffServSchedulers 3 } + +-- +-- Minimum Rate Parameters Table +-- +-- The parameters used by a scheduler for its inputs or outputs are +-- maintained separately from the Queue or Scheduler table entries for +-- reusability reasons and so that they may be used by both queues and +-- schedulers. This follows the approach for separation of data path +-- elements from parameterization that is used throughout this MIB. +-- Use of these Minimum Rate Parameter Table entries by Queues and +-- Schedulers allows the modeling of hierarchical scheduling systems. +-- +-- Specifically, a Scheduler has one or more inputs and one output. +-- Any queue feeding a scheduler, or any scheduler which feeds a second +-- scheduler, might specify a minimum transfer rate by pointing to an +-- Minimum Rate Parameter Table entry. +-- +-- The diffServMinRatePriority/Abs/Rel attributes are used as +-- parameters to the work-conserving portion of a scheduler: +-- "work-conserving" implies that the scheduler can continue to emit +-- data as long as there is data available at its input(s). This has +-- the effect of guaranteeing a certain priority relative to other +-- scheduler inputs and/or a certain minimum proportion of the +-- available output bandwidth. Properly configured, this means a +-- certain minimum rate, which may be exceeded should traffic be +-- available should there be spare bandwidth after all other classes +-- have had opportunities to consume their own minimum rates. +-- + +diffServMinRateNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServMinRateId, or a + zero to indicate that none exist." + + + +Baker, et. al. Standards Track [Page 84] + +RFC 3289 Differentiated Services MIB May 2002 + + + ::= { diffServScheduler 3 } + +diffServMinRateTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMinRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Minimum Rate Parameters Table enumerates individual sets of + scheduling parameter that can be used/reused by Queues and + Schedulers." + ::= { diffServScheduler 4 } + +diffServMinRateEntry OBJECT-TYPE + SYNTAX DiffServMinRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Minimum Rate Parameters Table describes a single + set of scheduling parameters for use by one or more queues or + schedulers." + INDEX { diffServMinRateId } + ::= { diffServMinRateTable 1 } + +DiffServMinRateEntry ::= SEQUENCE { + diffServMinRateId IndexInteger, + diffServMinRatePriority Unsigned32, + diffServMinRateAbsolute Unsigned32, + diffServMinRateRelative Unsigned32, + diffServMinRateStorage StorageType, + diffServMinRateStatus RowStatus +} + +diffServMinRateId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Scheduler Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServMinRateNextFree." + ::= { diffServMinRateEntry 1 } + +diffServMinRatePriority OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The priority of this input to the associated scheduler, relative + + + +Baker, et. al. Standards Track [Page 85] + +RFC 3289 Differentiated Services MIB May 2002 + + + to the scheduler's other inputs. A queue or scheduler with a + larger numeric value will be served before another with a smaller + numeric value." + ::= { diffServMinRateEntry 2 } + +diffServMinRateAbsolute OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum absolute rate, in kilobits/sec, that a downstream + scheduler element should allocate to this queue. If the value is + zero, then there is effectively no minimum rate guarantee. If the + value is non-zero, the scheduler will assure the servicing of + this queue to at least this rate. + + Note that this attribute value and that of + diffServMinRateRelative are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + diffServMinRateRelative = + (diffServMinRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMinRateEntry 3 } + +diffServMinRateRelative OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The minimum rate that a downstream scheduler element should + allocate to this queue, relative to the maximum rate of the + interface as reported by ifSpeed or ifHighSpeed, in units of + 1/1000 of 1. If the value is zero, then there is effectively no + minimum rate guarantee. If the value is non-zero, the scheduler + will assure the servicing of this queue to at least this rate. + + Note that this attribute value and that of + diffServMinRateAbsolute are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + + +Baker, et. al. Standards Track [Page 86] + +RFC 3289 Differentiated Services MIB May 2002 + + + diffServMinRateRelative = + (diffServMinRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMinRateEntry 4 } + +diffServMinRateStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMinRateEntry 5 } + +diffServMinRateStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMinRateEntry 6 } + +-- +-- Maximum Rate Parameter Table +-- +-- The parameters used by a scheduler for its inputs or outputs are +-- maintained separately from the Queue or Scheduler table entries for +-- reusability reasons and so that they may be used by both queues and +-- schedulers. This follows the approach for separation of data path +-- elements from parameterization that is used throughout this MIB. +-- Use of these Maximum Rate Parameter Table entries by Queues and +-- Schedulers allows the modeling of hierarchical scheduling systems. +-- +-- Specifically, a Scheduler has one or more inputs and one output. +-- Any queue feeding a scheduler, or any scheduler which feeds a second +-- scheduler, might specify a maximum transfer rate by pointing to a +-- Maximum Rate Parameter Table entry. Multi-rate shapers, such as a + + + +Baker, et. al. Standards Track [Page 87] + +RFC 3289 Differentiated Services MIB May 2002 + + +-- Dual Leaky Bucket algorithm, specify their rates using multiple +-- Maximum Rate Parameter Entries with the same diffServMaxRateId but +-- different diffServMaxRateLevels. +-- +-- The diffServMaxRateLevel/Abs/Rel attributes are used as +-- parameters to the non-work-conserving portion of a scheduler: +-- non-work-conserving implies that the scheduler may sometimes not +-- emit a packet, even if there is data available at its input(s). +-- This has the effect of limiting the servicing of the queue/scheduler +-- input or output, in effect performing shaping of the packet stream +-- passing through the queue/scheduler, as described in the Informal +-- Differentiated Services Model section 7.2. +-- + +diffServMaxRateNextFree OBJECT-TYPE + SYNTAX IndexIntegerNextFree + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This object contains an unused value for diffServMaxRateId, or a + zero to indicate that none exist." + ::= { diffServScheduler 5 } + +diffServMaxRateTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffServMaxRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "The Maximum Rate Parameter Table enumerates individual sets of + scheduling parameter that can be used/reused by Queues and + Schedulers." + ::= { diffServScheduler 6 } + +diffServMaxRateEntry OBJECT-TYPE + SYNTAX DiffServMaxRateEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry in the Maximum Rate Parameter Table describes a single + set of scheduling parameters for use by one or more queues or + schedulers." + INDEX { diffServMaxRateId, diffServMaxRateLevel } + ::= { diffServMaxRateTable 1 } + +DiffServMaxRateEntry ::= SEQUENCE { + diffServMaxRateId IndexInteger, + diffServMaxRateLevel Unsigned32, + diffServMaxRateAbsolute Unsigned32, + + + +Baker, et. al. Standards Track [Page 88] + +RFC 3289 Differentiated Services MIB May 2002 + + + diffServMaxRateRelative Unsigned32, + diffServMaxRateThreshold BurstSize, + diffServMaxRateStorage StorageType, + diffServMaxRateStatus RowStatus +} + +diffServMaxRateId OBJECT-TYPE + SYNTAX IndexInteger + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that enumerates the Maximum Rate Parameter entries. + Managers obtain new values for row creation in this table by + reading diffServMaxRateNextFree." + ::= { diffServMaxRateEntry 1 } + +diffServMaxRateLevel OBJECT-TYPE + SYNTAX Unsigned32 (1..32) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An index that indicates which level of a multi-rate shaper is + being given its parameters. A multi-rate shaper has some number + of rate levels. Frame Relay's dual rate specification refers to a + 'committed' and an 'excess' rate; ATM's dual rate specification + refers to a 'mean' and a 'peak' rate. This table is generalized + to support an arbitrary number of rates. The committed or mean + rate is level 1, the peak rate (if any) is the highest level rate + configured, and if there are other rates they are distributed in + monotonically increasing order between them." + ::= { diffServMaxRateEntry 2 } + +diffServMaxRateAbsolute OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + UNITS "kilobits per second" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum rate in kilobits/sec that a downstream scheduler + element should allocate to this queue. If the value is zero, then + there is effectively no maximum rate limit and that the scheduler + should attempt to be work conserving for this queue. If the value + is non-zero, the scheduler will limit the servicing of this queue + to, at most, this rate in a non-work-conserving manner. + + Note that this attribute value and that of + diffServMaxRateRelative are coupled: changes to one will affect + the value of the other. They are linked by the following + + + +Baker, et. al. Standards Track [Page 89] + +RFC 3289 Differentiated Services MIB May 2002 + + + equation, in that setting one will change the other: + + diffServMaxRateRelative = + (diffServMaxRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMaxRateEntry 3 } + +diffServMaxRateRelative OBJECT-TYPE + SYNTAX Unsigned32 (1..4294967295) + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The maximum rate that a downstream scheduler element should + allocate to this queue, relative to the maximum rate of the + interface as reported by ifSpeed or ifHighSpeed, in units of + 1/1000 of 1. If the value is zero, then there is effectively no + maximum rate limit and the scheduler should attempt to be work + conserving for this queue. If the value is non-zero, the + scheduler will limit the servicing of this queue to, at most, + this rate in a non-work-conserving manner. + + Note that this attribute value and that of + diffServMaxRateAbsolute are coupled: changes to one will affect + the value of the other. They are linked by the following + equation, in that setting one will change the other: + + diffServMaxRateRelative = + (diffServMaxRateAbsolute*1000000)/ifSpeed + + or, if appropriate: + + diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed" + REFERENCE + "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" + ::= { diffServMaxRateEntry 4 } + +diffServMaxRateThreshold OBJECT-TYPE + SYNTAX BurstSize + UNITS "Bytes" + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The number of bytes of queue depth at which the rate of a + + + +Baker, et. al. Standards Track [Page 90] + +RFC 3289 Differentiated Services MIB May 2002 + + + multi-rate scheduler will increase to the next output rate. In + the last conceptual row for such a shaper, this threshold is + ignored and by convention is zero." + REFERENCE + "Adaptive rate Shaper, RFC 2963" + ::= { diffServMaxRateEntry 5 } + +diffServMaxRateStorage OBJECT-TYPE + SYNTAX StorageType + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The storage type for this conceptual row. Conceptual rows + having the value 'permanent' need not allow write-access to any + columnar objects in the row." + DEFVAL { nonVolatile } + ::= { diffServMaxRateEntry 6 } + +diffServMaxRateStatus OBJECT-TYPE + SYNTAX RowStatus + MAX-ACCESS read-create + STATUS current + DESCRIPTION + "The status of this conceptual row. All writable objects in this + row may be modified at any time. Setting this variable to + 'destroy' when the MIB contains one or more RowPointers pointing + to it results in destruction being delayed until the row is no + longer used." + ::= { diffServMaxRateEntry 7 } + +-- +-- MIB Compliance statements. +-- + +diffServMIBCompliances OBJECT IDENTIFIER ::= + { diffServMIBConformance 1 } +diffServMIBGroups OBJECT IDENTIFIER ::= + { diffServMIBConformance 2 } + +diffServMIBFullCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "When this MIB is implemented with support for read-create, then + such an implementation can claim full compliance. Such devices + can then be both monitored and configured with this MIB." + + MODULE IF-MIB -- The interfaces MIB, RFC2863 + MANDATORY-GROUPS { + + + +Baker, et. al. Standards Track [Page 91] + +RFC 3289 Differentiated Services MIB May 2002 + + + ifCounterDiscontinuityGroup + } + + MODULE -- This Module + MANDATORY-GROUPS { + diffServMIBDataPathGroup, diffServMIBClfrGroup, + diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, + diffServMIBActionGroup, diffServMIBAlgDropGroup, + diffServMIBQGroup, diffServMIBSchedulerGroup, + diffServMIBMaxRateGroup, diffServMIBMinRateGroup, + diffServMIBCounterGroup + } + + GROUP diffServMIBMeterGroup + DESCRIPTION + "This group is mandatory for devices that implement metering + functions." + + GROUP diffServMIBTBParamGroup + DESCRIPTION + "This group is mandatory for devices that implement token-bucket + metering functions." + + GROUP diffServMIBDscpMarkActGroup + DESCRIPTION + "This group is mandatory for devices that implement DSCP-Marking + functions." + + GROUP diffServMIBRandomDropGroup + DESCRIPTION + "This group is mandatory for devices that implement Random Drop + functions." + + OBJECT diffServDataPathStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServClfrStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServClfrElementStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + + + +Baker, et. al. Standards Track [Page 92] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServMultiFieldClfrAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + DESCRIPTION + "An implementation is only required to support IPv4 and IPv6 + addresses." + + OBJECT diffServMultiFieldClfrDstAddr + SYNTAX InetAddress (SIZE(0|4|16)) + DESCRIPTION + "An implementation is only required to support IPv4 and globally + unique IPv6 addresses." + + OBJECT diffServAlgDropStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServRandomDropStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServQStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServSchedulerStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServMinRateStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + DESCRIPTION + "Support for createAndWait and notInService is not required." + + OBJECT diffServMaxRateStatus + SYNTAX RowStatus { active(1) } + WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) } + + + +Baker, et. al. Standards Track [Page 93] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "Support for createAndWait and notInService is not required." + + ::= { diffServMIBCompliances 1 } + +-- +-- Read-Only Compliance +-- + +diffServMIBReadOnlyCompliance MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "When this MIB is implemented without support for read-create + (i.e. in read-only mode), then such an implementation can claim + read-only compliance. Such a device can then be monitored but can + not be configured with this MIB." + + MODULE IF-MIB -- The interfaces MIB, RFC2863 + MANDATORY-GROUPS { + ifCounterDiscontinuityGroup + } + + MODULE -- This Module + MANDATORY-GROUPS { + diffServMIBDataPathGroup, diffServMIBClfrGroup, + diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, + diffServMIBActionGroup, diffServMIBAlgDropGroup, + diffServMIBQGroup, diffServMIBSchedulerGroup, + diffServMIBMaxRateGroup, diffServMIBMinRateGroup, + diffServMIBCounterGroup + } + + GROUP diffServMIBMeterGroup + DESCRIPTION + "This group is mandatory for devices that implement metering + functions." + + GROUP diffServMIBTBParamGroup + DESCRIPTION + "This group is mandatory for devices that implement token-bucket + metering functions." + + GROUP diffServMIBDscpMarkActGroup + DESCRIPTION + "This group is mandatory for devices that implement DSCP-Marking + functions." + + GROUP diffServMIBRandomDropGroup + + + +Baker, et. al. Standards Track [Page 94] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "This group is mandatory for devices that implement Random Drop + functions." + + OBJECT diffServDataPathStart + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServDataPathStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServDataPathStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServClfrNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object not needed when diffServClfrTable is implemented read- + only" + + OBJECT diffServClfrStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServClfrElementNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object not needed when diffServClfrelementTable is implemented + read-only" + + OBJECT diffServClfrElementPrecedence + MIN-ACCESS read-only + DESCRIPTION + + + +Baker, et. al. Standards Track [Page 95] + +RFC 3289 Differentiated Services MIB May 2002 + + + "Write access is not required." + + OBJECT diffServClfrElementNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrElementSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrElementStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServClfrElementStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServMultiFieldClfrNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMultiFieldClfrTable is + implemented in read-only mode." + + OBJECT diffServMultiFieldClfrAddrType + SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only required + to support IPv4 and IPv6 addresses." + + OBJECT diffServMultiFieldClfrDstAddr + SYNTAX InetAddress (SIZE(0|4|16)) + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only required + to support IPv4 and globally unique IPv6 addresses." + + OBJECT diffServMultiFieldClfrDstPrefixLength + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + +Baker, et. al. Standards Track [Page 96] + +RFC 3289 Differentiated Services MIB May 2002 + + + OBJECT diffServMultiFieldClfrSrcAddr + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required. An implementation is only required + to support IPv4 and globally unique IPv6 addresses." + + OBJECT diffServMultiFieldClfrSrcPrefixLength + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrDscp + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrFlowId + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrProtocol + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrDstL4PortMin + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrDstL4PortMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrSrcL4PortMin + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrSrcL4PortMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrStorage + MIN-ACCESS read-only + + + +Baker, et. al. Standards Track [Page 97] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServMultiFieldClfrStatus + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, createAndWait and notInService + support is not required." + + OBJECT diffServMeterNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMultiFieldClfrTable is + implemented in read-only mode." + + OBJECT diffServMeterSucceedNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterFailNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMeterStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServTBParamNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServTBParamTable is implemented in + read-only mode." + + + + +Baker, et. al. Standards Track [Page 98] + +RFC 3289 Differentiated Services MIB May 2002 + + + OBJECT diffServTBParamType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamBurstSize + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamInterval + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServTBParamStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServActionNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServActionTable is implemented in + read-only mode." + + OBJECT diffServActionInterface + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServActionNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + + + +Baker, et. al. Standards Track [Page 99] + +RFC 3289 Differentiated Services MIB May 2002 + + + OBJECT diffServActionSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServActionStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServActionStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServCountActNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServCountActTable is implemented + in read-only mode." + + OBJECT diffServCountActStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServCountActStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServAlgDropNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServAlgDropTable is implemented in + read-only mode." + + OBJECT diffServAlgDropType + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropNext + MIN-ACCESS read-only + + + +Baker, et. al. Standards Track [Page 100] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropQMeasure + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropQThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropSpecific + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServAlgDropStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServRandomDropNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServRandomDropTable is implemented + in read-only mode." + + OBJECT diffServRandomDropMinThreshBytes + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropMinThreshPkts + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropMaxThreshBytes + MIN-ACCESS read-only + + + +Baker, et. al. Standards Track [Page 101] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropMaxThreshPkts + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropProbMax + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropWeight + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropSamplingRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServRandomDropStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServQNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServQTable is implemented in + read-only mode." + + OBJECT diffServQNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServQMinRate + MIN-ACCESS read-only + + + +Baker, et. al. Standards Track [Page 102] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServQMaxRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServQStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServQStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServSchedulerNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServSchedulerTable is implemented + in read-only mode." + + OBJECT diffServSchedulerNext + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerMethod + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerMinRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerMaxRate + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerStorage + MIN-ACCESS read-only + + + +Baker, et. al. Standards Track [Page 103] + +RFC 3289 Differentiated Services MIB May 2002 + + + DESCRIPTION + "Write access is not required." + + OBJECT diffServSchedulerStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServMinRateNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMinRateTable is implemented in + read-only mode." + + OBJECT diffServMinRatePriority + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateAbsolute + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateRelative + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMinRateStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + OBJECT diffServMaxRateNextFree + MIN-ACCESS not-accessible + DESCRIPTION + "Object is not needed when diffServMaxrateTable is implemented in + read-only mode." + + + +Baker, et. al. Standards Track [Page 104] + +RFC 3289 Differentiated Services MIB May 2002 + + + OBJECT diffServMaxRateAbsolute + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateRelative + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateThreshold + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateStorage + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required." + + OBJECT diffServMaxRateStatus + SYNTAX RowStatus { active(1) } + MIN-ACCESS read-only + DESCRIPTION + "Write access is not required, and active is the only status that + needs to be supported." + + ::= { diffServMIBCompliances 2 } + +diffServMIBDataPathGroup OBJECT-GROUP + OBJECTS { + diffServDataPathStart, diffServDataPathStorage, + diffServDataPathStatus + } + STATUS current + DESCRIPTION + "The Data Path Group defines the MIB Objects that describe a + functional data path." + ::= { diffServMIBGroups 1 } + +diffServMIBClfrGroup OBJECT-GROUP + OBJECTS { + diffServClfrNextFree, diffServClfrStorage, + diffServClfrStatus + } + STATUS current + DESCRIPTION + "The Classifier Group defines the MIB Objects that describe the + + + +Baker, et. al. Standards Track [Page 105] + +RFC 3289 Differentiated Services MIB May 2002 + + + list the starts of individual classifiers." + ::= { diffServMIBGroups 2 } + +diffServMIBClfrElementGroup OBJECT-GROUP + OBJECTS { + diffServClfrElementNextFree, + diffServClfrElementPrecedence, diffServClfrElementNext, + diffServClfrElementSpecific, diffServClfrElementStorage, + diffServClfrElementStatus + } + STATUS current + DESCRIPTION + "The Classifier Element Group defines the MIB Objects that + describe the classifier elements that make up a generic + classifier." + ::= { diffServMIBGroups 3 } + +diffServMIBMultiFieldClfrGroup OBJECT-GROUP + OBJECTS { + diffServMultiFieldClfrNextFree, + diffServMultiFieldClfrAddrType, + diffServMultiFieldClfrDstAddr, + diffServMultiFieldClfrDstPrefixLength, + diffServMultiFieldClfrFlowId, + diffServMultiFieldClfrSrcAddr, + diffServMultiFieldClfrSrcPrefixLength, + diffServMultiFieldClfrDscp, + diffServMultiFieldClfrProtocol, + diffServMultiFieldClfrDstL4PortMin, + diffServMultiFieldClfrDstL4PortMax, + diffServMultiFieldClfrSrcL4PortMin, + diffServMultiFieldClfrSrcL4PortMax, + diffServMultiFieldClfrStorage, + diffServMultiFieldClfrStatus + } + STATUS current + DESCRIPTION + "The Multi-field Classifier Group defines the MIB Objects that + describe a classifier element for matching on various fields of + an IP and upper-layer protocol header." + ::= { diffServMIBGroups 4 } + +diffServMIBMeterGroup OBJECT-GROUP + OBJECTS { + diffServMeterNextFree, diffServMeterSucceedNext, + diffServMeterFailNext, diffServMeterSpecific, + diffServMeterStorage, diffServMeterStatus + } + + + +Baker, et. al. Standards Track [Page 106] + +RFC 3289 Differentiated Services MIB May 2002 + + + STATUS current + DESCRIPTION + "The Meter Group defines the objects used in describing a generic + meter element." + ::= { diffServMIBGroups 5 } + +diffServMIBTBParamGroup OBJECT-GROUP + OBJECTS { + diffServTBParamNextFree, diffServTBParamType, + diffServTBParamRate, diffServTBParamBurstSize, + diffServTBParamInterval, diffServTBParamStorage, + diffServTBParamStatus + } + STATUS current + DESCRIPTION + "The Token-Bucket Meter Group defines the objects used in + describing a token bucket meter element." + ::= { diffServMIBGroups 6 } + +diffServMIBActionGroup OBJECT-GROUP + OBJECTS { + diffServActionNextFree, diffServActionNext, + diffServActionSpecific, diffServActionStorage, + diffServActionInterface, diffServActionStatus + } + STATUS current + DESCRIPTION + "The Action Group defines the objects used in describing a + generic action element." + ::= { diffServMIBGroups 7 } + +diffServMIBDscpMarkActGroup OBJECT-GROUP + OBJECTS { + diffServDscpMarkActDscp + } + STATUS current + DESCRIPTION + "The DSCP Mark Action Group defines the objects used in + describing a DSCP Marking Action element." + ::= { diffServMIBGroups 8 } + +diffServMIBCounterGroup OBJECT-GROUP + OBJECTS { + diffServCountActOctets, diffServCountActPkts, + diffServAlgDropOctets, diffServAlgDropPkts, + diffServAlgRandomDropOctets, diffServAlgRandomDropPkts, + diffServCountActStorage, diffServCountActStatus, + diffServCountActNextFree + + + +Baker, et. al. Standards Track [Page 107] + +RFC 3289 Differentiated Services MIB May 2002 + + + } + STATUS current + DESCRIPTION + "A collection of objects providing information specific to + packet-oriented network interfaces." + ::= { diffServMIBGroups 9 } + +diffServMIBAlgDropGroup OBJECT-GROUP + OBJECTS { + diffServAlgDropNextFree, diffServAlgDropType, + diffServAlgDropNext, diffServAlgDropQMeasure, + diffServAlgDropQThreshold, diffServAlgDropSpecific, + diffServAlgDropStorage, diffServAlgDropStatus + } + STATUS current + DESCRIPTION + "The Algorithmic Drop Group contains the objects that describe + algorithmic dropper operation and configuration." + ::= { diffServMIBGroups 10 } + +diffServMIBRandomDropGroup OBJECT-GROUP + OBJECTS { + diffServRandomDropNextFree, + diffServRandomDropMinThreshBytes, + diffServRandomDropMinThreshPkts, + diffServRandomDropMaxThreshBytes, + diffServRandomDropMaxThreshPkts, + diffServRandomDropProbMax, + diffServRandomDropWeight, + diffServRandomDropSamplingRate, + diffServRandomDropStorage, + diffServRandomDropStatus + } + STATUS current + DESCRIPTION + "The Random Drop Group augments the Algorithmic Drop Group for + random dropper operation and configuration." + ::= { diffServMIBGroups 11 } + +diffServMIBQGroup OBJECT-GROUP + + OBJECTS { + diffServQNextFree, diffServQNext, diffServQMinRate, + diffServQMaxRate, diffServQStorage, diffServQStatus + } + STATUS current + DESCRIPTION + "The Queue Group contains the objects that describe an + + + +Baker, et. al. Standards Track [Page 108] + +RFC 3289 Differentiated Services MIB May 2002 + + + interface's queues." + ::= { diffServMIBGroups 12 } + +diffServMIBSchedulerGroup OBJECT-GROUP + OBJECTS { + diffServSchedulerNextFree, diffServSchedulerNext, + diffServSchedulerMethod, diffServSchedulerMinRate, + diffServSchedulerMaxRate, diffServSchedulerStorage, + diffServSchedulerStatus + } + STATUS current + DESCRIPTION + "The Scheduler Group contains the objects that describe packet + schedulers on interfaces." + ::= { diffServMIBGroups 13 } + +diffServMIBMinRateGroup OBJECT-GROUP + OBJECTS { + diffServMinRateNextFree, diffServMinRatePriority, + diffServMinRateAbsolute, diffServMinRateRelative, + diffServMinRateStorage, diffServMinRateStatus + } + STATUS current + DESCRIPTION + "The Minimum Rate Parameter Group contains the objects that + describe packet schedulers' minimum rate or priority guarantees." + ::= { diffServMIBGroups 14 } + +diffServMIBMaxRateGroup OBJECT-GROUP + OBJECTS { + diffServMaxRateNextFree, diffServMaxRateAbsolute, + diffServMaxRateRelative, diffServMaxRateThreshold, + diffServMaxRateStorage, diffServMaxRateStatus + } + STATUS current + DESCRIPTION + "The Maximum Rate Parameter Group contains the objects that + describe packet schedulers' maximum rate guarantees." + ::= { diffServMIBGroups 15 } + +END + + + + + + + + + + +Baker, et. al. Standards Track [Page 109] + +RFC 3289 Differentiated Services MIB May 2002 + + +7. Acknowledgments + + This MIB builds on all the work that has gone into the Informal + Management Model for Differentiated Services Routers, Differentiated + Services PIB, and Differentiated Services Policy MIB (SNMPCONF WG). + + It has been developed with the active involvement of many people, but + most notably Yoram Bernet, Steve Blake, Brian Carpenter, Dave Durham, + Michael Fine, Victor Firoiu, Jeremy Greene, Dan Grossman, Roch + Guerin, Scott Hahn, Joel Halpern, Van Jacobsen, Keith McCloghrie, Bob + Moore, Kathleen Nichols, Ping Pan, Nabil Seddigh, John Seligson, and + Walter Weiss. + + Juergen Schoenwaelder, Dave Perkins, Frank Strauss, Harrie + Hazewinkel, and Bert Wijnen are especially to be noted for review + comments on the structure and usage of the MIB for network management + purposes, and its compliance with SMIv2. + +8. Security Considerations + + It is clear that this MIB is potentially useful for configuration. + Anything that can be configured can be misconfigured, with + potentially disastrous effects. + + At this writing, no security holes have been identified beyond those + that SNMP Security is itself intended to address. These relate + primarily to 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. + + There are many read-write and read-create management objects defined + in this MIB. Such objects are often sensitive or vulnerable in some + network environments. The support for SET operations in a non-secure + environment without proper protection can have a negative effect on + network operations. The use of SNMP Version 3 is recommended over + prior versions for configuration control as its security model is + improved. + + There are a number of managed objects in this MIB that may contain + information that may be sensitive from a business perspective, in + that they may represent a customer's service contract or the filters + that the service provider chooses to apply to a customer's ingress or + egress traffic. There are no objects which are sensitive in their + own right, such as passwords or monetary amounts. + + + + + + + +Baker, et. al. Standards Track [Page 110] + +RFC 3289 Differentiated Services MIB May 2002 + + + It may be important to even control GET access to these objects and + possibly to even encrypt the values of these objects when sending + them over the network via SNMP. Not all versions of SNMP provide + features for such a secure environment. + + SNMPv1 by itself is not a secure environment. Even if the network + itself is secure (for example by using IPSec), even then, there is no + control as to who on the secure network is allowed to access and + GET/SET (read/change/create/delete) the objects in this MIB. + + It is recommended that the implementors consider the security + features as provided by the SNMPv3 framework. Specifically, the use + of the User-based Security Model [RFC 2574] and the View-based Access + Control Model [RFC 2575] is recommended. + + It is then a customer/user responsibility to ensure that the SNMP + entity giving access to an instance of this MIB, is properly + configured to give access to the objects only to those principals + (users) that have legitimate rights to indeed GET or SET + (change/create/delete) them. + +9. Intellectual Property Rights + + The IETF takes no position regarding the validity or scope of any + intellectual property or other rights that might be claimed to + pertain to the implementation or use of the technology described in + this document or the extent to which any license under such rights + might or might not be available; neither does it represent that it + has made any effort to identify any such rights. Information on the + IETF's procedures with respect to rights in standards-track and + standards-related documentation can be found in BCP-11. Copies of + claims of rights made available for publication and any assurances of + licenses to be made available, or the result of an attempt made to + obtain a general license or permission for the use of such + proprietary rights by implementors or users of this specification can + be obtained from the IETF Secretariat. + + The IETF invites any interested party to bring to its attention any + copyrights, patents or patent applications, or other proprietary + rights which may cover technology that may be required to practice + this standard. Please address the information to the IETF Executive + Director. + + + + + + + + + +Baker, et. al. Standards Track [Page 111] + +RFC 3289 Differentiated Services MIB May 2002 + + +10. References + + [RFC 2571] Harrington, D., Presuhn, R. and B. Wijnen, "An + Architecture for Describing SNMP Management + Frameworks", RFC 2571, April 1999. + + [RFC 1155] Rose, M. and K. McCloghrie, "Structure and + Identification of Management Information for TCP/IP- + based Internets", STD 16, RFC 1155, May 1990. + + [RFC 1212] Rose, M. and K. McCloghrie, "Concise MIB Definitions", + STD 16, RFC 1212, March 1991. + + [RFC 1215] Rose, M., "A Convention for Defining Traps for use with + the SNMP", RFC 1215, March 1991. + + [RFC 2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, + J., Rose, M. and S. Waldbusser, "Structure of + Management Information Version 2 (SMIv2)", STD 58, RFC + 2578, April 1999. + + [RFC 2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, + J., Rose, M. and S. Waldbusser, "Textual Conventions + for SMIv2", STD 58, RFC 2579, April 1999. + + [RFC 2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, + J., Rose, M. and S. Waldbusser, "Conformance Statements + for SMIv2", STD 58, RFC 2580, April 1999. + + [RFC 1157] Case, J., Fedor, M., Schoffstall, M. and J. Davin, + "Simple Network Management Protocol", STD 15, RFC 1157, + May 1990. + + [RFC 1901] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, + "Introduction to Community-based SNMPv2", RFC 1901, + January 1996. + + [RFC 1906] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, + "Transport Mappings for Version 2 of the Simple Network + Management Protocol (SNMPv2)", RFC 1906, January 1996. + + [RFC 2572] Case, J., Harrington D., Presuhn R. and B. Wijnen, + "Message Processing and Dispatching for the Simple + Network Management Protocol (SNMP)", RFC 2572, April + 1999. + + + + + + +Baker, et. al. Standards Track [Page 112] + +RFC 3289 Differentiated Services MIB May 2002 + + + [RFC 2574] Blumenthal, U. and B. Wijnen, "User-based Security + Model (USM) for version 3 of the Simple Network + Management Protocol (SNMPv3)", RFC 2574, April 1999. + + [RFC 1905] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, + "Protocol Operations for Version 2 of the Simple + Network Management Protocol (SNMPv2)", RFC 1905, + January 1996. + + [RFC 2573] Levi, D., Meyer, P. and B. Stewart, "SNMP + Applications", RFC 2573, April 1999. + + [RFC 2575] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based + Access Control Model (VACM) for the Simple Network + Management Protocol (SNMP)", RFC 2575, April 1999. + + [RFC 2570] Case, J., Mundy, R., Partain, D. and B. Stewart, + "Introduction to Version 3 of the Internet-standard + Network Management Framework", RFC 2570, April 1999. + + [RFC 2119] Bradner, S., "Key words to use in the RFCs", BCP 14, + RFC 2119, March 1997. + + [ACTQMGMT] V. Firoiu, M. Borden, "A Study of Active Queue + Management for Congestion Control", March 2000, In IEEE + Infocom 2000, http://www.ieee- + infocom.org/2000/papers/405.pdf + + [AQMROUTER] V. Misra, W. Gong, D. Towsley, "Fluid-based analysis of + a network of AQM routers supporting TCP flows with an + application to RED", In SIGCOMM + 2000,http://www.acm.org/sigcomm/sigcomm2000/conf/ + paper/sigcomm2000-4-3.ps.gz + + [AF-PHB] Heinanen, J., Baker, F., Weiss, W. and J. Wroclawski, + "Assured Forwarding PHB Group", RFC 2597, June 1999. + + [DSARCH] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z. + and W. Weiss, "An Architecture for Differentiated + Service", RFC 2475, December 1998. + + [DSFIELD] Nichols, K., Blake, S., Baker, F. and D. Black, + "Definition of the Differentiated Services Field (DS + Field) in the IPv4 and IPv6 Headers", RFC 2474, + December 1998. + + + + + + +Baker, et. al. Standards Track [Page 113] + +RFC 3289 Differentiated Services MIB May 2002 + + + [DSPIB] Fine, M., McCloghrie, K., Seligson, J., Chan, K., Hahn, + S. and A. Smith, "Differentiated Services Quality of + Service Policy Information Base", Work in Progress. + + [DSTERMS] Grossman, D., "New Terminology for Differentiated + Services", RFC 3260, April 2002. + + [EF-PHB] Jacobson, V., Nichols, K. and K. Poduri, "An Expedited + Forwarding PHB", RFC 3246, March 2002. + + [IF-MIB] McCloghrie, K. and F. Kastenholz, "The Interfaces Group + MIB using SMIv2", RFC 2863, June 2000. + + [INETADDRESS] Daniele, M., Haberman, B., Routhier, S. and J. + Schoenwaelder, "Textual Conventions for Internet + Network Addresses.", RFC 3291, May 2002. + + [INTSERVMIB] Baker, F., Krawczyk, J. and A. Sastry, "Integrated + Services Management Information Base using SMIv2", RFC + 2213, September 1997. + + [MODEL] Bernet, Y., Blake, S., Smith, A. and D. Grossman, "An + Informal Management Model for Differentiated Services + Routers", Work in Progress. + + [RED93] "Random Early Detection", 1993. + + [srTCM] Heinanen, J. and R. Guerin, "A Single Rate Three Color + Marker", RFC 2697, September 1999. + + [trTCM] Heinanen, J. and R. Guerin, "A Two Rate Three Color + Marker", RFC 2698, September 1999. + + [TSWTCM] Fang, W., Seddigh, N. and B. Nandy, "A Time Sliding + Window Three Color Marker (TSWTCM)", RFC 2859, June + 2000. + + [SHAPER] Bonaventure, O. and S. De Cnodder, "A Rate Adaptive + Shaper for Differentiated Services", RFC 2963, October + 2000. + + + + + + + + + + + +Baker, et. al. Standards Track [Page 114] + +RFC 3289 Differentiated Services MIB May 2002 + + +11. Authors' Addresses + + Fred Baker + Cisco Systems + 1121 Via Del Rey + Santa Barbara, California 93117 + + EMail: fred@cisco.com + + + Kwok Ho Chan + Nortel Networks + 600 Technology Park Drive + Billerica, MA 01821 + + EMail: khchan@nortelnetworks.com + + + Andrew Smith + Harbour Networks + Jiuling Building + 21 North Xisanhuan Ave. + Beijing, 100089, PRC + + EMail: ah_smith@acm.org + + + + + + + + + + + + + + + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 115] + +RFC 3289 Differentiated Services MIB May 2002 + + +12. Full Copyright Statement + + Copyright (C) The Internet Society (2002). All Rights Reserved. + + This document and translations of it may be copied and furnished to + others, and derivative works that comment on or otherwise explain it + or assist in its implementation may be prepared, copied, published + and distributed, in whole or in part, without restriction of any + kind, provided that the above copyright notice and this paragraph are + included on all such copies and derivative works. However, this + document itself may not be modified in any way, such as by removing + the copyright notice or references to the Internet Society or other + Internet organizations, except as needed for the purpose of + developing Internet standards in which case the procedures for + copyrights defined in the Internet Standards process must be + followed, or as required to translate it into languages other than + English. + + The limited permissions granted above are perpetual and will not be + revoked by the Internet Society or its successors or assigns. + + This document and the information contained herein is provided on an + "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING + TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION + HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF + MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +Acknowledgement + + Funding for the RFC Editor function is currently provided by the + Internet Society. + + + + + + + + + + + + + + + + + + + +Baker, et. al. Standards Track [Page 116] + -- cgit v1.2.3