draft-ietf-diffserv-mib-01.txt   draft-ietf-diffserv-mib-02.txt 
Draft Differentiated Services MIB October 1999
Fred Baker Internet Engineering Task Force F. Baker
Kwok Ho Chan Diffserv Working Group Cisco Systems
Nortel Networks INTERNET-DRAFT K. Chan
Andrew Smith Expires:September 2000 Nortel Networks
A. Smith
Extreme Networks Extreme Networks
Management Information Base for the Management Information Base for the
Differentiated Services Architecture Differentiated Services Architecture
draft-ietf-diffserv-mib-01.txt draft-ietf-diffserv-mib-02.txt
Abstract Abstract
This memo describes a proposed MIB for the Differentiated This memo describes a proposed MIB for the Differentiated
Services Architecture. Services Architecture [Architecture] and described by the
Differentiated Services Router Conceptual Model [Model].
Currently total agreement on content of this MIB has not been
reached, especially in the dropping and queueing mechanism
attributes. Further discussion on these topics are required
for finalizing this memo.
1. Status of this Memo 1. Status of this Memo
This document is an Internet-Draft and is in full conformance This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC 2026. Internet-Drafts with all provisions of Section 10 of RFC 2026. Internet-Drafts
are working documents of the Internet Engineering Task Force are working documents of the Internet Engineering Task Force
(IETF), its areas, and its working groups. Note that other (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet- groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 2, line 4 skipping to change at page 2, line 17
2. The SNMP Management Framework 2. The SNMP Management Framework
The SNMP Management Framework presently consists of five major The SNMP Management Framework presently consists of five major
components: components:
o An overall architecture, described in RFC 2571 [1]. o An overall architecture, described in RFC 2571 [1].
o Mechanisms for describing and naming objects and o Mechanisms for describing and naming objects and
events for the purpose of management. The first events for the purpose of management. The first
version of this Structure of Management Information version of this Structure of Management Information
Draft Differentiated Services MIB October 1999
(SMI) is called SMIv1 and described in RFC 1155 [2], (SMI) is called SMIv1 and described in RFC 1155 [2],
RFC 1212 [3] and RFC 1215 [4]. The second version, RFC 1212 [3] and RFC 1215 [4]. The second version,
called SMIv2, is described in RFC 2578 [5], RFC 2579 called SMIv2, is described in RFC 2578 [5], RFC 2579
[6] and RFC 2580 [7]. [6] and RFC 2580 [7].
o Message protocols for transferring management o Message protocols for transferring management
information. The first version of the SNMP message information. The first version of the SNMP message
protocol is called SNMPv1 and described in RFC 1157 protocol is called SNMPv1 and described in RFC 1157
[8]. A second version of the SNMP message protocol, [8]. A second version of the SNMP message protocol,
which is not an Internet standards track protocol, is which is not an Internet standards track protocol, is
skipping to change at page 3, line 5 skipping to change at page 4, line 5
SMIv2. A MIB conforming to the SMIv1 can be produced through SMIv2. A MIB conforming to the SMIv1 can be produced through
the appropriate translations. The resulting translated MIB the appropriate translations. The resulting translated MIB
must be semantically equivalent, except where objects or must be semantically equivalent, except where objects or
events are omitted because no translation is possible (use of events are omitted because no translation is possible (use of
Counter64). Some machine-readable information in SMIv2 will be Counter64). Some machine-readable information in SMIv2 will be
converted into textual descriptions in SMIv1 during the converted into textual descriptions in SMIv1 during the
translation process. However, this loss of machine readable translation process. However, this loss of machine readable
information is not considered to change the semantics of the information is not considered to change the semantics of the
MIB. MIB.
Draft Differentiated Services MIB October 1999
3. Structure of this MIB 3. Structure of this MIB
This MIB is designed according to the Differentiated Services This MIB is designed according to the Differentiated Services
implementation conceptual model documented in [Model]. implementation conceptual model documented in [Model].
3.1. Overview 3.1. Overview
In principle, if one were to construct a network entirely out In principle, if one were to construct a network entirely out
of two-port routers (in appropriate places connected by LANs of two-port routers (in appropriate places connected by LANs
or similar media), then it would be necessary for each router or similar media), then it would be necessary for each router
skipping to change at page 3, line 51 skipping to change at page 4, line 49
will be "interior" to the Differentiated Services domain. The will be "interior" to the Differentiated Services domain. The
one point of difference between an ingress and an egress one point of difference between an ingress and an egress
interface is that all traffic on an egress interface is interface is that all traffic on an egress interface is
queued, while traffic on an ingress interface will typically queued, while traffic on an ingress interface will typically
be queued only for shaping purposes. be queued only for shaping purposes.
Hence, in this MIB, we model them identically, making the Hence, in this MIB, we model them identically, making the
distinction between ingress and egress interfaces an index distinction between ingress and egress interfaces an index
variable. variable.
The MIB therefore contains six elements: The MIB therefore contains the following elements:
- Behavior Aggregate Classification Table - IP Six Tuple Multi-Field Classification Table
- Multi-Field Classification Table
Draft Differentiated Services MIB October 1999
- Classifier Table - Classifier Table
- Meter Table - Meter Table
- Action Table - Action and Action Type Tables
- Queue Table - Queue Set, Queue, and Queue Measurement Tables
3.2. Classifier Table 3.2. Classifier Table
The classifier table indicates how traffic is sorted out. It The classifier table indicates how traffic is sorted out. It
identifies separable classes of traffic, by reference to an identifies separable classes of traffic, by reference to an
appropriate classifier, which may be anything from an appropriate classifier, which may be anything from an
individual micro-flow to aggregates identified by DSCP. It individual micro-flow to aggregates identified by DSCP. It
then sends these classified streams to an appropriate meter or then sends these classified streams to an appropriate meter or
action. In a multi-stage meter, sub-classes of traffic may be action. In a multi-stage meter, sub-classes of traffic may be
sent to different stages. For example, in AF1, AF11 traffic sent to different stages. For example, in AF1, AF11 traffic
might be sent to the first meter, AF12 traffic might be sent might be sent to the first meter, AF12 traffic might be sent
to the second, and AF13 traffic sent to the second meter to the second, and AF13 traffic sent to the second meter
stage's failure action. stage's failure action.
The structure of the classifier table is a sequence of The structure of the classifier table is a sequence of
unambiguous tests. Within each step in the sequence, it should unambiguous tests. Within each step in the sequence, it should
not be important in order - if order is present at all - the not be important in which order - if order is present at all -
tests are made. This is to facilitate optimized the tests are made. This is to facilitate optimized
implementations such as index trees. Sequence is present in implementations such as index trees. Sequence is present in
order to resolve ambiguity. order to resolve ambiguity.
For example, one might want first to disallow certain For example, one might want first to disallow certain
applications from using the network at all, or to classify applications from using the network at all, or to classify
some individual traffic streams that are not diff-serv marked. some individual traffic streams that are not diff-serv marked.
Traffic that fails those tests might then be inspected for a Traffic that fails those tests might then be inspected for a
DSCP. "Then" implies sequence, and the sequence must be DSCP. "Then" implies sequence, and the sequence must be
somehow specified. somehow specified.
An important form of classifier is "everything else". The An important form of classifier is "everything else". The
final stage of the classifier should be configured to be final stage of the classifier should be configured to be
complete, as the result of an incomplete classifier is not complete, as the result of an incomplete classifier is not
necessarily deterministic. necessarily deterministic.
Two forms of classifiers are Behavior Aggregate (BA) and The actual classifier definition is referenced via a
Multi-Field (MF) Classifiers. These classifiers are specified RowPointer, this enable the use of any sort of classification
here at the per interface level, they can be derived from table that one might wish to design, public or proprietary.
some higher level policies. For example, QoS Policies That classifier table need not be found in this MIB. When
provisioned via QoS PIB (Policy Information Base), Routing ambiguity is present, we disambiguate by explicitly ordering
Policies with QoS information via BGP Policy setting the application of classification rules.
mechanism, and Routing Policies with QoS information from
traffic engineered routes. The source of classifier is
indicated by the diffServClassifierConfigType attribute of the
diffServClassifierEntry object. The attribute
Draft Differentiated Services MIB October 1999
diffServClassifierConfigTypeInfo can be used to further
associate the classifier with specific grouping based on the
ConfigType. For example, with PIB ConfigType, the
ConfigTypeInfo attribute can hold the RoleCombination from
which the classifier is derived. With BGP ConfigType, the
ConfigTypeInfo can hold the BGP Community String that
identifies the BGP Routing Policy from which the classifier is
derived. With the use of higher level policies, the
classifier table is used primarily for monitoring purpose, but
this does not exclude its use for configuration purpose.
3.2.1. Behavior Aggregate Classification Table
The Behavior Aggregate Classification Table is present for The classifiers specified here are at the per interface level,
several reasons. First, the DSCP must be identified somewhere they may be derived from some higher level policies, but such
for identifying tagged streams of traffic. This could be done discussion is out- side the scope of this document.
in-line, and is not.
The reason the BA Classifier is pulled out into a separate 3.2.1. IP Six Tuple Classifier Table
table is that we envisage the use of other tables for other
kinds of classifiers, public or proprietary. For example, the
typical "five-tuple" used in per-flow classification (as in
RSVP) might be represented by a table whose objects include
the necessary IP Addresses, the IP protocol, the necessary
TCP/UDP port numbers, and a RowStatus variable. By pulling the
classifier itself into a table that can be referenced via a
RowPointer, we enable the use of any sort of classification
table that one might wish to design. That classifier table
need not be found in this MIB. When ambiguity is present, we
disambiguate by explicitly ordering the application of
classification rules.
3.2.2. Multi-Field Classification Table This MIB currently specifies the IP Six Tuple Classifier, used
for IP traffic classification. Entry of this Classifier Table
is referenced from the entries of the diffServClassifierTable
via a RowPointer, namely diffServClassifierPattern attribute
of diffServClassifierEntry object.
In the same spirit as the BA Classification Table, the Multi- The Behavior Aggregate (BA) Classifier is a simple form of the
Field Classification Table is in a separate table that can be IP Six Tuple Classifier. It is represented by having the
referenced via a RowPointer, namely diffServSixTupleClfrDscp attribute set to the desired DSCP,
diffServClassifierMatchObject attribute of and all other classification attributes set to match-all, the
diffServClassifierEntry object. Each entry in the MF default setting.
Classification Table defines a MF Classifier. With the use of
InetEndpoint for both IPv4 and IPv6 addressing. The use of MF
Classifiers is discussed in [DSARCH] and abstract examples of
how they might be configured are provided in [DSMODEL].
Draft Differentiated Services MIB October 1999 Each entry in the IP Six Tuple Classifier Table defines a
single Classifier, with the use of InetAddress [INETADDR] for
both IPv4 and IPv6 addressing. The use of IP Six Tuple
Classifiers is discussed in [Architecture] and abstract
examples of how they might be configured are provided in
[Model].
3.3. Meter Table 3.3. Meter Table
A meter, according to the conceptual model, measures the rate A meter, according to the conceptual model, measures the rate
at which a stream of traffic passes it, compares it to some at which a stream of traffic passes it, compares it to some
set of thresholds, and produces some number (two or more) set of thresholds, and produces some number (two or more)
potential results. A given message is said to "conform" to the potential results. A given message is said to "conform" to the
meter if at the time that the message is being looked at the meter if at the time that the message is being looked at the
stream appears to be within the meter's limit rate. In the stream appears to be within the meter's limit rate. In the
MIB, the structure of SNMP makes it easiest to implement this MIB, the structure of SNMP makes it easiest to implement this
as a set of one or more simple pass/fail tests, which are as a set of one or more simple pass/fail tests, which are
cascaded. It is to be understood that the meter in a Traffic cascaded. It is to be understood that the meter in a Traffic
Control Block is therefore implemented as a set of if-then- Control Block is therefore implemented as a set of if-then-
else constructs. else constructs.
The result of metering traffic is always some action.
The concept of conformance to a meter bears a comment. The The concept of conformance to a meter bears a comment. The
concept applied in several rate-control architectures, concept applied in several rate-control architectures,
including ATM, Frame Relay, Integrated Services, and including ATM, Frame Relay, Integrated Services, and
Differentiated Services, is variously described as a "leaky Differentiated Services, is variously described as a "leaky
bucket" or a "token bucket". bucket" or a "token bucket".
A leaky bucket algorithm is primarily used for traffic A leaky bucket algorithm is primarily used for traffic
shaping: traffic theoretically departs from the switch at a shaping: traffic theoretically departs from the switch at a
flat rate of one bit every so many time units, and in fact flat rate of one bit every so many time units, and in fact
departs in packets at a rate approximating that. It is also departs in packets at a rate approximating that. It is also
skipping to change at page 7, line 5 skipping to change at page 7, line 23
for some defined burst size, in bits, rate, in bits per for some defined burst size, in bits, rate, in bits per
second, and time interval. Multi-rate token buckets (token second, and time interval. Multi-rate token buckets (token
buckets with both a peak and a mean rate, and sometimes more buckets with both a peak and a mean rate, and sometimes more
rates) are commonly used. In this case, the burst size for the rates) are commonly used. In this case, the burst size for the
baseline traffic is conventionally referred to as the baseline traffic is conventionally referred to as the
"committed burst", and the time interval is as specified by "committed burst", and the time interval is as specified by
interval = committed burst/mean rate interval = committed burst/mean rate
Draft Differentiated Services MIB October 1999
but additional burst sizes (each an increment over its but additional burst sizes (each an increment over its
predecessor) are defined, which are conventionally referred to predecessor) are defined, which are conventionally referred to
as "excess" burst sizes. The peak rate therefore equals the as "excess" burst sizes. The peak rate therefore equals the
sum of the burst sizes per interval. sum of the burst sizes per interval.
A data stream is said to "conform" to a simple token bucket if A data stream is said to "conform" to a simple token bucket if
the switch receives at most the burst size in a given time the switch receives at most the burst size in a given time
interval. In the multi-rate case, the traffic is said to interval. In the multi-rate case, the traffic is said to
conform to the token bucket at a given level if its rate does conform to the token bucket at a given level if its rate does
not exceed the sum of the relevant burst sizes in a given not exceed the sum of the relevant burst sizes in a given
interval. Received traffic pre-classified at one of the interval. Received traffic pre-classified at one of the
"excess" rates (e.g., AF12 or AF13 traffic) is only compared "excess" rates (e.g., AF12 or AF13 traffic) is only compared
to the relevant excess buckets. to the relevant excess buckets.
The fact that data is organized into variable length packets The fact that data is organized into variable length packets
introduces some uncertainty in this. For this reason, the introduces some uncertainty in this. For this reason, the
token bucket accepts a packet if any of its bits would have token bucket accepts a packet if any of its bits would have
been accepted, and "borrows" any excess capacity required from been accepted, and "borrows" any excess capacity required from
that allotted to equivalently classified traffic in a that allotted to equivalently classified traffic in a previous
subsequent interval. More information about this is available or subsequent interval. More information about this is
in [Model]. available in [Model].
Multiple classes of traffic, as identified by the classifier Multiple classes of traffic, as identified by the classifier
table, may be presented to the same meter. Imagine, for table, may be presented to the same meter. Imagine, for
example, that we desire to drop all traffic that uses any DSCP example, that we desire to drop all traffic that uses any DSCP
that has not been publicly defined. A classifier entry might that has not been publicly defined. A classifier entry might
exist for each such DSCP, shunting it to an "accepts exist for each such DSCP, shunting it to an "accepts
everything" meter, and dropping all traffic that conforms to everything" meter, and dropping all traffic that conforms to
only that meter. only that meter.
Clearly, it is necessary to identify what is to be done with Clearly, it is necessary to identify what is to be done with
skipping to change at page 7, line 52 skipping to change at page 8, line 21
design is to have each meter indicate what action is to be design is to have each meter indicate what action is to be
taken for conforming traffic, and what meter is to be used for taken for conforming traffic, and what meter is to be used for
traffic which fails to conform. With the definition of a traffic which fails to conform. With the definition of a
special type of meter to which all traffic conforms, we now special type of meter to which all traffic conforms, we now
have the necessary flexibility. have the necessary flexibility.
3.4. Action Table 3.4. Action Table
Considerable discussion has taken place regarding the possible Considerable discussion has taken place regarding the possible
actions. Suggested actions include "no action", "mark the actions. Suggested actions include "no action", "mark the
traffic", "drop the traffic, randomly or all of it", and traffic", "drop the traffic, based on some algorithm", "shape
"shape the traffic." In this MIB, three actions are the traffic", "count it". This MIB attempts to make the
specification of the action flexible by using the Action Table
to organize one Action's relationship with the Meter element
before it, with the Queueing element following it, and with
other Action elements to allow multiple Actions be applied to
a single traffic stream. The parameters needed will depend on
the type of Action to be taken. Hence there are Action Tables
for the different Action Types. This MIB currently defines
parameters for: 1. Mark Action, 2. Count Action, 3. Drop
Action,
Draft Differentiated Services MIB October 1999 This flexibility allows additional Actions be specified in
future revisions of this MIB, or in other MIBs. And possible
usage of propietary Action without impact to the Actions
provided here.
contemplated: marking the traffic, counting the traffic that The Mark Action is relatively straight forward.
passes that route, applying a drop policy. The author notes
that marking the traffic with the same DSCP as it already has
no effect, and all traffic must expect to come up against some
drop policy.
Two sizes of objects are defined for some counters. These are For Count Action, when it is specified, it will always be
defined in accordance with the method found in [IFMIB]; both applied first, before any other type of Actions. For example,
32 and 64 bit counters are defined, with the expectation that when both Count and a Drop Action is specified, the Count
the 32 bit counter is simply the least significant bits of the Action will always count the total counts of this traffic
64 bit counter. For interfaces that operate at 20,000,000 (20 stream, before any traffic gets dropped, even if the Action
million) bits per second or less, 32-bit byte and packet entries are chained with the Drop Action first, before the
counters MUST be used. For interfaces that operate faster Count Action. There are counters in the Drop Actions to
than 20,000,000 bits/second, and slower than 650,000,000 indicate the ammount of traffic dropped, within the drop
bits/second, 32-bit packet counters MUST be used and 64-bit context.
octet counters MUST be used. For interfaces that operate at
650,000,000 bits/second or faster, 64-bit packet counters AND
64-bit octet counters MUST be used.
Traffic conforming to a meter and not dropped is presented to The Drop Actions require close relationship with queueing,
a queue for further processing. with detail as follows:
3.5. Queue Table The Tail Drop Action requires the specification of a maximum
queue depth, at which point any traffic exceeding the maximum
queue depth gets discarded.
In this version of the MIB, a relatively simple FIFO queue is *Editor's Note Start*
envisaged within the Traffic Control Block (TCB). Each queue There is still debates on what
is capable of acting as a work-conserving queue (one which attributes are needed and how they may be related to queueing.
transmits as rapidly as its weight allows, but guarantees to The following is viewed as the complex description of how it
its class of traffic, as a side effect of its weight, a may be done. The following set of attributes and its
minimum rate), or as a non-work-conserving or "shaping" queue. description may be simplified before this memo is finalized.
Queue structure can be built from these FIFO queues, including There is a more detail discussion of why these attributes are
chain of queues using the NextTCB attribute. The scheduling required in [ActQMgmt].
discipline of a queue amongst the queue set of an inter- face *Editor's Note End*
is specified. When all the queues in a queue set uses
priority queue discipline, the queue set will use strict
priority queue scheduling using each queue's priority
attribute. When all the queues in a queue set uses weighted
fair queue discipline, the queue set will use weighted fair
queue scheduling, with the weight specified by the minimum
rate attribute. A mixed scheduling discipline can be built
for a queue set. For example, with the following queue set:
Q Number Q Discipline Q MinRate Q Priority
-------- ------------ --------- ----------
11 PQ 0 10
12 PQ 0 9
13 WFQ 800 KBPS 8
14 WFQ 600 KBPS 8
Draft Differentiated Services MIB October 1999 The Random Drop Action requires the specification of its drop
characteristic with the following parameters (drop
characteristic described using a plot with drop probability,
P, as Y axis, and average queue length, Q, as X axis):
1. Pmin and Qmin defines the start of the characteristic plot.
Normally Pmin=0, meaning with average queue length below
Qmin, there will be no drops.
2. Pmax and Qmax defines a "knee" on the plot, after which
point the drop probability become more progressive (greater
slope).
Qclip defines the average queue length at which all packets
will be dropped, probability = 1. Notice this is different
from Tail Drop because this uses average queue length.
It is possible for Qclip = Qmax, meaning when the average
queue length exceeds Qmax, all packets will be dropped.
3. The sampling interval and average weight parameters are used
for calculation of average queue. These parameters are
important because they can affect the behavior and outcome
of the drop process. They can also be very sensitive and
may have a wide range of possible values due to wide range
of link speeds, hence the use of real number format for
average weight.
15 WFQ 300 KBPS 8 Deterministic Drop Action can be viewed as a special case of
Random Drop with drop probability restricted to zero and one.
Hence Deterministic Drop Action can be described as follows:
1. Pmin = 0 and Pmax = 1. 2. Qmin = Qmax = Qclip indicating
the average queue length that drop occurs.
For the drop actions, each drop process specification is
associated with a queue. This allows multiple drop processes
(of same or different types) be associated with the same
queue, as different PHB implementation may require. This
setup allows the flexibility for Action specification,
including multiple sequential drop processes if necessary.
When counters are specified, two sizes of objects are defined.
These are defined in accordance with the method found in
[IFMIB]; both 32 and 64 bit counters are defined, with the
expectation that the 32 bit counter is simply the least
significant bits of the 64 bit counter. For interfaces that
operate at 20,000,000 (20 million) bits per second or less,
32-bit byte and packet counters MUST be used. For interfaces
that operate faster than 20,000,000 bits/second, and slower
than 650,000,000 bits/second, 32-bit packet counters MUST be
used and 64-bit octet counters MUST be used. For interfaces
that operate at 650,000,000 bits/second or faster, 64-bit
packet counters AND 64-bit octet counters MUST be used.
Multiple Actions can be chained using the ActionNext
attribute. The last Action's ActionNext attribute points to
the next TCB, normally a Queue Entry for the Queue element.
3.5. Queueing Element
The Queueing element consists of Queue Table and Queue Set
Table. With Queue Table containing relatively simple FIFO
queues. Using the Queue Set Table to allow flexibility in
constructing both simple and complex queueing hierarchies.
The queue entries in the Queue Table have simple attributes,
it includes a reference to which queue set the queue belongs
to, and a weight parameter. For Priority Queueing, the weight
parameter indicates the priority of this queue with respect to
all the other queues within the same queue set. A higher
weight value queue will be service first over a lower weight
value queue in the same queue set. For weighed queueing
algorithms, the weight parameter is a percentage number. With
the value of 1,000 meaning 1 percent, allowing fine control of
bandwidth allocation when needed. A higher weight value queue
will have higher probability of being service when compared to
a lower weight value queue in the same queue set. The weight
values for all the queues within a queue set must add up to
less than or equal to 100,000 (100%). Each queue is capable
of acting as a work-conserving queue, one which transmits as
rapidly as its weight allows, but guarantees to its class of
traffic, as a side effect of its weight, a minimum rate. Or
acting as a non-work-conserving "shaping" queue.
The entries in the Queue Set Table describes the attributes
common to all queues within the queue set. This includes the
dequeueing Method, or algorithm used amongst the queues in the
queue set. Currently, priority queueing, Weighed Fair
Queueing, Weighed Round Robin are listed as the possible
chooses, other methods/algorithms, e.g. Class Base Queueing,
can be added.
The rates, both minimum and maximum, are specified for the
queue set instead of per queue. This allows
A hierarchical tree of queue sets can be constructed using the
parent/child queue set concept. The attributes QSetParentId
and QSetWeight is used for this purpose, with QSetParentId
indicating the parent's QSetId, and QSetWeight used as the
child queue set's total weight amongst the queues in the
parent queue set. There can be multiple children queue set
under one parent queue set, with each child queue set looks
like a queue from the parent queue set's perspective. Hence
queue sets can be recursively defined, inter mixing with
queues at any level.
A mixed dequeue scheduling discipline can be built for an
interface. For example, with the following queues and queue
sets:
Q Parameters Q Set Parameters
QId QSetId QWeight Method MinRate ParentId QSetWeight
--- ------ ------- ------ ------- -------- ----------
11 61 100 PQ 0 0 0
12 61 99 PQ 0 0 0
21 71 50,000 WFQ 10000 61 98
22 71 30,000 WFQ 10000 61 98
23 71 20,000 WFQ 10000 61 98
31 81 70,000 WRR 500 61 97
32 81 30,000 WRR 500 61 97
Notice in this example there are three queue sets: Queue Set
61 uses Priority Queueing, it have 2 child Queue Sets. Queue
Set 71 uses Weighed Fair Queueing with KBPS as RateUnit.
Queue Set 81 uses Weighed Round Robin with Packets/Sec as
RateUnit.
Queues 11, 12, queue sets 71 and 81 belongs to Queue Set 61.
Queues 21, 22, 23 belongs to Queue Set 71. Queues 31, 32
belongs to Queue Set 81.
All traffic in queue 11 will be serviced first, then all All traffic in queue 11 will be serviced first, then all
traffic in queue 12 will be serviced second. After traffic in traffic in queue 12 will be serviced second. After traffic in
queues 11 and 12 are serviced, queues 13, 14, 15 are serviced queues 11 and 12 are serviced, queues 21, 22, 23 are serviced
among themselves in a round robin fashion, with their among themselves in a fair queueing fashion, based on their
respective weights indicated by their minimum rate attribute. respective weight. After traffic in queues 21, 22, 23 are
serviced, queues 31, 32 are serviced among themselves in a
round robin fashion, based on their respective weight. Notice
Queue Set 71 uses KBPS RateUnit, resulting in bit/byte fair
queueing. Queue Set 81 uses Packet RateUnit, resulting in
packet fair queueing.
The queue can also operate as a traffic shaper by using the The rates for each queue can be derived: Queue 21 have
maximum rate attribute. minimum rate of 50% of 10000 KBPS, 5000 KBPS. Queue 31 have
minimum rate of 70% of 500 Pkt/Sec, 350 Pkt/Sec.
In addition some dropping algorithms rely on an averaged queue Other types of scheduling algorithms can be used in the parent
depth to measure sustained, as opposed to instantaneous, or child queue sets, creating different queueing behaviors.
congestion. There are several methods for averaging the queue
depth. All of these methods share a mechanism specifying the The queue set can also operate as a traffic shaper by using
influence of the actual queue depth on the averaged queue the maximum rate attribute.
depth. Hence the attribute diffServQueueOccupancyWeight is
used. Chains of Queues/Queue Sets can be built using the NextTCB
attribute in Queue Set entry.
Multiple meters may direct their traffic to the same queue. Multiple meters may direct their traffic to the same queue.
For example, the Assured Forwarding PHB suggests that all For example, the Assured Forwarding PHB suggests that all
traffic marked AF11, AF12, or AF13 be placed in the same queue traffic marked AF11, AF12, or AF13 be placed in the same queue
without reordering. without reordering.
Some discussion has elapsed concerning the structure of the
queue in question, and its functions. It is expected that the
description of the queuing system will grow during working
group discussion. This is an area where vendors differ
markedly in their architectures.
3.6. The use of RowPointer 3.6. The use of RowPointer
RowPointer is a textual convention used to identify a RowPointer is a textual convention used to identify a
conceptual row in an SNMP Table by pointing to one of its conceptual row in an SNMP Table by pointing to one of its
objects. In this MIB, it is used in two ways: to indicate objects. In this MIB, it is used in two ways: to indicate
indirection, and to indicate succession. indirection, and to indicate succession.
When used for indirection, as in the Classifier table, the When used for indirection, as in the Classifier table, the
idea is to allow other MIBs, including proprietary ones, to idea is to allow other MIBs, including proprietary ones, to
identify new and arcane classifiers - MAC headers, IP4 and IP6 identify new and arcane classifiers - MAC headers, IP4 and IP6
headers, BGP Communities, and all sorts of things. headers, BGP Communities, and all sorts of things.
When used for succession, it answers the question "what When used for succession, it answers the question "what
happens next?". Rather than presume that the next table must happens next?". Rather than presume that the next table must
be as specified in the conceptual model and providing its be as specified in the conceptual model and providing its
index, the RowPointer takes you to the MIB row representing index, the RowPointer takes you to the MIB row representing
that thing. In the Meter Table, for example, the "FailNext" that thing. In the Meter Table, for example, the "FailNext"
Draft Differentiated Services MIB October 1999
RowPointer might take you to another meter, while the RowPointer might take you to another meter, while the
"SucceedNext" RowPointer would take you to an action. "SucceedNext" RowPointer would take you to an action.
Draft Differentiated Services MIB October 1999
4. MIB Definition 4. MIB Definition
DIFF-SERV-MIB DEFINITIONS ::= BEGIN DIFF-SERV-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
Unsigned32, Counter32, Counter64, OBJECT-TYPE, Unsigned32, Counter32, Counter64, OBJECT-TYPE,
MODULE-IDENTITY, zeroDotZero, mib-2 FROM SNMPv2-SMI MODULE-IDENTITY, zeroDotZero, mib-2 FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, RowPointer, TestAndIncr TEXTUAL-CONVENTION, RowStatus, RowPointer, TestAndIncr
FROM SNMPv2-TC FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
ifIndex FROM IF-MIB; ifIndex FROM IF-MIB
InetEndpointType, InetEndpoint FROM INET-ENDPOINT-MIB; DisplayString FROM RFC1213-MIB
InetAddressType, InetAddress FROM INET-ADDRESS-MIB;
diffServMib MODULE-IDENTITY diffServMib MODULE-IDENTITY
LAST-UPDATED "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999 LAST-UPDATED "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999
ORGANIZATION "Cisco Systems" ORGANIZATION "Cisco Systems"
CONTACT-INFO CONTACT-INFO
" Fred Baker " Fred Baker
Postal: 519 Lado Drive Postal: 519 Lado Drive
Santa Barbara, California 93111 Santa Barbara, California 93111
Tel: +1 (408)526-4257 Tel: +1 (408)526-4257
FAX: +1 (805)681-0115 FAX: +1 (805)681-0115
E-mail: fred@cisco.com" E-mail: fred@cisco.com
" Kwok Ho Chan
Kwok Ho Chan
Postal: 600 Technology Park Drive Postal: 600 Technology Park Drive
Billerica, Massachusetts 01821, USA Billerica, Massachusetts 01821, USA
Tel: +1 (978)288-8175 Tel: +1 (978)288-8175
E-mail: khchan@nortelnetworks.com" FAX: +1 (978) 288-4690
" Andrew Smith E-mail: khchan@nortelnetworks.com
Andrew Smith
Postal: 3585 Monroe St. Postal: 3585 Monroe St.
Santa Clara, California 95051 Santa Clara, California 95051
Tel: +1 (408) 579 2821 Tel: +1 (408) 579 2821
FAX: +1 (408) 579 3000 FAX: +1 (408) 579 3000
E-mail: andrew@extremenetworks.com" E-mail: andrew@extremenetworks.com"
DESCRIPTION DESCRIPTION
"This MIB defines the objects necessary to manage a "This MIB defines the objects necessary to manage a
device that uses the Differentiated Services device that uses the Differentiated Services
Architecture described in RFC 2475." Architecture described in RFC 2475 and the Conceptual
Model for DiffServ Routers in draft-ietf-diffserv-
model-01.txt."
REVISION "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999 REVISION "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999
DESCRIPTION DESCRIPTION
"Initial version, published as RFC xxxx." "Initial version, published as RFC xxxx."
::= { mib-2 12345 } -- anybody who uses this ::= { mib-2 12345 } -- anybody who uses this unassigned
-- unassigned number -- number deserves the wrath of IANA
-- deserves the wrath of IANA
diffServObjects OBJECT IDENTIFIER ::= { diffServMib 1 } diffServObjects OBJECT IDENTIFIER ::= { diffServMib 1 }
diffServTables OBJECT IDENTIFIER ::= { diffServMib 2 } diffServTables OBJECT IDENTIFIER ::= { diffServMib 2 }
diffServAugments OBJECT IDENTIFIER ::= { diffServMib 3 }
diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 4 }
Draft Differentiated Services MIB October 1999 --
-- These textual conventions has no effect on either the syntax
diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 3 } -- nor the semantics of any managed object. Objects defined
-- using this convention are always encoded by means of the
Draft Differentiated Services MIB October 1999 -- rules that define their primitive type.
-- The tools necessary to perform basic Behavior
-- Aggregate Classification
-- --
Dscp ::= TEXTUAL-CONVENTION Dscp ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d" DISPLAY-HINT "d"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The code point used for discriminating a traffic "The code point used for discriminating a traffic
stream." stream."
SYNTAX INTEGER (0..63) SYNTAX INTEGER (-1 | 0..63)
diffServAggregateTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServAggregateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The 'Aggregate' Table enumerates Behavior Aggregate
classifiers (DSCPs) that a system may identify traffic
using."
::= { diffServTables 1 }
diffServAggregateEntry OBJECT-TYPE
SYNTAX DiffServAggregateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An 'aggregate' entry describes a single BA
classifier."
INDEX { diffServAggregateDSCP }
::= { diffServAggregateTable 1 }
DiffServAggregateEntry ::= SEQUENCE {
diffServAggregateDSCP Dscp
}
diffServAggregateDSCP OBJECT-TYPE
SYNTAX Dscp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the Differentiated Services Code Point (DSCP)
for the classifier. This object is only meant to be
pointed to by a RowPointer from other tables, such as
the diffServClassifierMatchObject, and is not actually
configured or changed."
::= { diffServAggregateEntry 1 }
Draft Differentiated Services MIB October 1999
-- The tools for MultiField Classification. SixTupleClfrL4Port ::= TEXTUAL-CONVENTION
--
-- This textual convention has no effect on either the syntax
-- nor the semantics of any managed object. Objects defined
-- using this convention are always encoded by means of the
-- rules that define their primitive type.
--
MFClassifierL4Port ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d" DISPLAY-HINT "d"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A value indicating a Layer-4 protocol port number." "A value indicating a Layer-4 protocol port number."
SYNTAX INTEGER (0..65535) SYNTAX INTEGER (0..65535)
--
-- Classifiers
--
-- The tools for IP Six Tuple Classification.
-- This object allows a configuring system to obtain a -- This object allows a configuring system to obtain a
-- unique value for diffServClassifierNumber for purposes of -- unique value for diffServSixTupleClfrId for purposes
-- configuration. -- of configuration.
diffServMFClassifierUnique OBJECT-TYPE diffServSixTupleClfrUnique OBJECT-TYPE
SYNTAX TestAndIncr SYNTAX TestAndIncr
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The diffServMFClassifierUnique object yields a "The diffServSixTupleClfrUnique object yields a unique new
unique new value for diffServMFClassifierIndex when read and value for diffServSixTupleClfrId when read and subsequently
subsequently set. This value must be tested for set. This value must be tested for uniqueness."
uniqueness."
::= { diffServObjects 1 } ::= { diffServObjects 1 }
diffServMFClassifierTable OBJECT-TYPE diffServSixTupleClfrTable OBJECT-TYPE
SYNTAX SEQUENCE OF diffServMFClassifierEntry SYNTAX SEQUENCE OF DiffServSixTupleClfrEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A table of MF (IP 6-tuple multi-field) classifier "A table of IP Six Tuple Classifier entries that a
entries that a system may use to identify traffic." system may use to identify traffic."
::= { diffServTables 2 } ::= { diffServTables 1 }
diffServMFClassifierEntry OBJECT-TYPE diffServSixTupleClfrEntry OBJECT-TYPE
SYNTAX DiffServMFClassifierEntry SYNTAX DiffServSixTupleClfrEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A multi-field classifier entry describes a single MF "An IP Six Tuple Classifier entry describes a single
classifier." classifier."
INDEX { diffServMFClassifierIndex } INDEX { diffServSixTupleClfrId }
::= { diffServMFClassifierTable 1 } ::= { diffServSixTupleClfrTable 1 }
Draft Differentiated Services MIB October 1999
DiffServMFClassifierEntry ::= SEQUENCE { DiffServSixTupleClfrEntry ::= SEQUENCE {
diffServMFClassifierIndex INTEGER, diffServSixTupleClfrId Unsigned32,
diffServMFClassifierAddrType InetEndpointType, diffServSixTupleClfrAddrType InetAddressType,
diffServMFClassifierDstAddr InetEndpoint, diffServSixTupleClfrDstAddr InetAddress,
diffServMFClassifierDstAddrMask InetEndpoint, diffServSixTupleClfrDstAddrMask InetAddress,
diffServMFClassifierSrcAddr InetEndpoint, diffServSixTupleClfrSrcAddr InetAddress,
diffServMFClassifierSrcAddrMask InetEndpoint, diffServSixTupleClfrSrcAddrMask InetAddress,
diffServMFClassifierDscp INTEGER, diffServSixTupleClfrDscp Dscp,
diffServMFClassifierProtocol INTEGER, diffServSixTupleClfrProtocol INTEGER,
diffServMFClassifierDstL4PortMin MFClassifierL4Port, diffServSixTupleClfrDstL4PortMin SixTupleClfrL4Port,
diffServMFClassifierDstL4PortMax MFClassifierL4Port, diffServSixTupleClfrDstL4PortMax SixTupleClfrL4Port,
diffServMFClassifierSrcL4PortMin MFClassifierL4Port, diffServSixTupleClfrSrcL4PortMin SixTupleClfrL4Port,
diffServMFClassifierSrcL4PortMax MFClassifierL4Port, diffServSixTupleClfrSrcL4PortMax SixTupleClfrL4Port,
diffServMFClassifierStatus RowStatus diffServSixTupleClfrStatus RowStatus
} }
diffServMFClassifierIndex OBJECT-TYPE diffServSixTupleClfrId OBJECT-TYPE
SYNTAX INTEGER (1..2147483647) SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This is a unique index for the classifier. This object "A unique id for the classifier. This object is meant
is meant to be pointed to by a RowPointer from other to be pointed to by a RowPointer from other tables,
tables, such as the diffServClassifierMatchObject." such as the diffServClassifierPattern."
::= { diffServMFClassifierEntry 1 } ::= { diffServSixTupleClfrEntry 1 }
diffServMFClassifierAddrType OBJECT-TYPE diffServSixTupleClfrAddrType OBJECT-TYPE
SYNTAX InetEndpointType SYNTAX InetAddressType
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of IP address used by this classifier entry." "The type of IP address used by this classifier entry."
::= { diffServMFClassifierEntry 2 } ::= { diffServSixTupleClfrEntry 2 }
diffServMFClassifierDstAddr OBJECT-TYPE diffServSixTupleClfrDstAddr OBJECT-TYPE
SYNTAX InetEndpoint SYNTAX InetAddress
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address to match against the packet's "The IP address to match against the packet's
destination IP address." destination IP address."
::= { diffServMFClassifierEntry 3 } ::= { diffServSixTupleClfrEntry 3 }
diffServMFClassifierDstAddrMask OBJECT-TYPE diffServSixTupleClfrDstAddrMask OBJECT-TYPE
SYNTAX InetEndpoint SYNTAX InetAddress
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
Draft Differentiated Services MIB October 1999
DESCRIPTION DESCRIPTION
"A mask for the matching of the destination IP address. "A mask for the matching of the destination IP address.
A zero bit in the mask means that the corresponding bit A zero bit in the mask means that the corresponding bit
in the address always matches." in the address always matches."
::= { diffServMFClassifierEntry 4 } DEFVAL {0}
::= { diffServSixTupleClfrEntry 4 }
diffServMFClassifierSrcAddr OBJECT-TYPE diffServSixTupleClfrSrcAddr OBJECT-TYPE
SYNTAX InetEndpoint SYNTAX InetAddress
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address to match against the source IP address "The IP address to match against the source IP address
of each packet." of each packet."
::= { diffServMFClassifierEntry 5 } ::= { diffServSixTupleClfrEntry 5 }
diffServMFClassifierSrcAddrMask OBJECT-TYPE diffServSixTupleClfrSrcAddrMask OBJECT-TYPE
SYNTAX InetEndpoint SYNTAX InetAddress
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A mask for the matching of the source IP address." "A mask for the matching of the source IP address. A
::= { diffServMFClassifierEntry 6 } zero bit in the mask means that the corresponding bit
in the address always matches."
DEFVAL {0}
::= { diffServSixTupleClfrEntry 6 }
diffServMFClassifierDscp OBJECT-TYPE diffServSixTupleClfrDscp OBJECT-TYPE
SYNTAX INTEGER (-1 | 0..63) SYNTAX Dscp
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The value that the DSCP in the packet must have to "The value that the DSCP in the packet must have to
match this entry. A value of -1 indicates that a match this entry. A value of -1 indicates that a
specific DSCP value has not been defined and thus all specific DSCP value has not been defined and thus all
DSCP values are considered a match." DSCP values are considered a match."
::= { diffServMFClassifierEntry 7 } DEFVAL {-1}
::= { diffServSixTupleClfrEntry 7 }
diffServMFClassifierProtocol OBJECT-TYPE diffServSixTupleClfrProtocol OBJECT-TYPE
SYNTAX INTEGER (0..255) SYNTAX INTEGER (0..255)
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP protocol to match against the IPv4 protocol "The IP protocol to match against the IPv4 protocol
number in the packet. A value of zero means match all." number in the packet. A value of zero means match all."
::= { diffServMFClassifierEntry 8 } DEFVAL {0}
::= { diffServSixTupleClfrEntry 8 }
diffServMFClassifierDstL4PortMin OBJECT-TYPE diffServSixTupleClfrDstL4PortMin OBJECT-TYPE
SYNTAX MFClassifierL4Port SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
Draft Differentiated Services MIB October 1999
DESCRIPTION DESCRIPTION
"The minimum value that the layer-4 destination port "The minimum value that the layer-4 destination port
number in the packet must have in order to match this number in the packet must have in order to match this
classifier entry." classifier entry."
::= { diffServMFClassifierEntry 9 } DEFVAL {0}
::= { diffServSixTupleClfrEntry 9 }
diffServMFClassifierDstL4PortMax OBJECT-TYPE diffServSixTupleClfrDstL4PortMax OBJECT-TYPE
SYNTAX MFClassifierL4Port SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum value that the layer-4 destination port "The maximum value that the layer-4 destination port
number in the packet must have in order to match this number in the packet must have in order to match this
classifier entry. This value must be equal to or classifier entry. This value must be equal to or
greater that the value specified for this entry in greater that the value specified for this entry in
diffServMFClassifierDstL4PortMin." diffServSixTupleClfrDstL4PortMin."
::= { diffServMFClassifierEntry 10 } DEFVAL {65535}
::= { diffServSixTupleClfrEntry 10 }
diffServMFClassifierSrcL4PortMin OBJECT-TYPE diffServSixTupleClfrSrcL4PortMin OBJECT-TYPE
SYNTAX MFClassifierL4Port SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The minimum value that the layer-4 source port number "The minimum value that the layer-4 source port number
in the packet must have in order to match this in the packet must have in order to match this
classifier entry." classifier entry."
::= { diffServMFClassifierEntry 11 } DEFVAL {0}
::= { diffServSixTupleClfrEntry 11 }
diffServMFClassifierSrcL4PortMax OBJECT-TYPE diffServSixTupleClfrSrcL4PortMax OBJECT-TYPE
SYNTAX MFClassifierL4Port SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-create MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum value that the layer-4 source port number "The maximum value that the layer-4 source port number
in the packet must have in oder to match this in the packet must have in oder to match this
classifier entry. This value must be equal to or classifier entry. This value must be equal to or
greater that the value specified for this entry in greater that the value specified for this entry in
dsSixTupleIpSrcL4PortMin." dsSixTupleIpSrcL4PortMin."
::= { diffServMFClassifierEntry 12 } DEFVAL {65535}
::= { diffServSixTupleClfrEntry 12 }
diffServMFClassifierStatus OBJECT-TYPE diffServSixTupleClfrStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This indicates the status of this classifier entry." "The RowStatus variable controls the activation,
::= { diffServMFClassifierEntry 13 } deactivation, or deletion of a classifier. Any writable
variable may be modified whether the row is active or
Draft Differentiated Services MIB October 1999 notInService."
::= { diffServSixTupleClfrEntry 13 }
-- Classifier Table
-- This object allows a configuring system to obtain a -- This object allows a configuring system to obtain a
-- unique value for diffServClassifierNumber for purposes of -- unique value for diffServClassifierNumber for purposes of
-- configuration -- configuration
diffServClassifierUnique OBJECT-TYPE diffServClassifierUnique OBJECT-TYPE
SYNTAX TestAndIncr SYNTAX TestAndIncr
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The diffServClassifierUnique object yields a unique "The diffServClassifierUnique object yields a unique
new value for diffServClassifierNumber when read and new value for diffServClassifierId when read and
subsequently set. This value must be tested for subsequently set. This value must be tested for
uniqueness." uniqueness."
::= { diffServObjects 2 } ::= { diffServObjects 2 }
-- The Classifier Table allows us to enumerate the -- The Classifier Table allows us to enumerate the relationship
-- relationship between arbitrary classifiers and -- between arbitrary classifiers and the meters which apply
-- the meters which apply to classified streams. -- to classified streams.
diffServClassifierTable OBJECT-TYPE diffServClassifierTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServClassifierEntry SYNTAX SEQUENCE OF DiffServClassifierEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The classifier table enumerates specific classifiers "The classifier table defines the classifiers that a
that a system may apply, including Differentiated system applies to incoming traffic. Specific
Services Code Points (DSCPs) and Multi-field classifiers are defined by RowPointers in this table
discriminators such as {Source IP Address, Destination which identify entries in classifier tables of specific
IP Address, IP Protocol, Source TCP/UDP Port, type, e.g. Multi-field classifiers for IP are defined
Destination TCP/UDP Port)." in diffServSixTupleClfrTable. Other classifier types
::= { diffServTables 3 } may be defined elsewhere."
::= { diffServTables 2 }
diffServClassifierEntry OBJECT-TYPE diffServClassifierEntry OBJECT-TYPE
SYNTAX DiffServClassifierEntry SYNTAX DiffServClassifierEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in the classifier table describes a single "An entry in the classifier table describes a single
classifier." classifier."
INDEX { ifIndex, diffServInterfaceDirection, INDEX { ifIndex, diffServInterfaceDirection,
diffServClassifierNumber } diffServClassifierId }
::= { diffServClassifierTable 1 } ::= { diffServClassifierTable 1 }
DiffServClassifierEntry ::= SEQUENCE { DiffServClassifierEntry ::= SEQUENCE {
diffServInterfaceDirection INTEGER, diffServInterfaceDirection INTEGER,
diffServClassifierNumber INTEGER, diffServClassifierId Unsigned32,
diffServClassifierMatchObject RowPointer, diffServClassifierPattern RowPointer,
Draft Differentiated Services MIB October 1999
diffServClassifierNext RowPointer, diffServClassifierNext RowPointer,
diffServClassifierSequence Unsigned32, diffServClassifierPrecedence Unsigned32,
diffServClassifierConfigType INTEGER,
diffServClassifierConfigTypeInfo OCTET STRING,
diffServClassifierStatus RowStatus diffServClassifierStatus RowStatus
} }
diffServInterfaceDirection OBJECT-TYPE diffServInterfaceDirection OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
inbound(1), -- ingress interface inbound(1), -- ingress interface
outbound(2) -- egress interface outbound(2) -- egress interface
} }
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the direction for this entry on the "Specifies the direction for this entry on the
interface. 'inbound' traffic is operated on during interface. 'inbound' traffic is operated on during
receipt, while 'outbound' traffic is operated on prior receipt, while 'outbound' traffic is operated on prior
to transmission." to transmission."
::= { diffServClassifierEntry 1 } ::= { diffServClassifierEntry 1 }
diffServClassifierNumber OBJECT-TYPE diffServClassifierId OBJECT-TYPE
SYNTAX INTEGER (1..2147483647) SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"diffServClassifierNumber enumerates the classifier "Classifier Id enumerates the classifier entry."
entry."
::= { diffServClassifierEntry 2 } ::= { diffServClassifierEntry 2 }
diffServClassifierMatchObject OBJECT-TYPE diffServClassifierPattern OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A pointer to the row that describes the applicable "A pointer to a valid entry in another table that
classifier. An obvious choice would be the describes the applicable classification pattern, e.g.
diffServAggregateEntry for a given DSCP, but other an entry in diffServSixTupleClfrTable. If the row
choices include tables describing any classifier that pointed to does not exist, the classifier is ignored.
may be of interest. If the row pointed to does not
exist, the classifier is ignored.
The NULL OID zeroDotZero is interpreted to match The value zeroDotZero is interpreted to match anything
anything not matched by another classifier." not matched by another classifier - only one such entry
may exist in this table."
DEFVAL { zeroDotZero } DEFVAL { zeroDotZero }
::= { diffServClassifierEntry 3 } ::= { diffServClassifierEntry 3 }
Draft Differentiated Services MIB October 1999
diffServClassifierNext OBJECT-TYPE diffServClassifierNext OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The 'next' variable selects the appropriate meter or "The 'next' variable selects the next datapath element
action to apply to this class of traffic." to handle the classified flow. For example, this can
points to an entry in the meter or action table."
::= { diffServClassifierEntry 4 } ::= { diffServClassifierEntry 4 }
diffServClassifierSequence OBJECT-TYPE diffServClassifierPrecedence OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The sequence in which classifiers are applied, in "The relative precedence in which classifiers are
ascending order. Classifiers with the same sequence applied, higer numbers represent classifiers with
number must be unambiguous. Classifiers with different higher precedence. Classifiers with the same
sequence numbers may overlap in their ranges, with the precedence must be unambiguous, i.e. they must define
understanding that the first applied classifier to non-overlapping patterns. Classifiers with different
match a packet is taken." precedence may overlap in their patterns: the
classifier with the highest precedence that matches is
taken."
DEFVAL { 0 } DEFVAL { 0 }
::= { diffServClassifierEntry 5 } ::= { diffServClassifierEntry 5 }
diffServClassifierConfigType OBJECT-TYPE
SYNTAX INTEGER {
OTHER (0),
MIB (1), -- Configured via MIB
PIB (2), -- Configured via PIB
BGP (3) -- Configured via BGP
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Used to indicate how the classifer is configured."
::= { diffServClassifierEntry 6 }
diffServClassifierConfigTypeInfo OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Additional information associated with how the
classifier is configured."
::= { diffServClassifierEntry 7 }
diffServClassifierStatus OBJECT-TYPE diffServClassifierStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
Draft Differentiated Services MIB October 1999
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, "The RowStatus variable controls the activation,
deactivation, or deletion of a classifier. Any writable deactivation, or deletion of a classifier. Any writable
variable may be modified whether the row is active or variable may be modified whether the row is active or
notInService." notInService."
::= { diffServClassifierEntry 8 } ::= { diffServClassifierEntry 6 }
--
-- Meters
--
Draft Differentiated Services MIB October 1999 -- This MIB includes definitions for Token-Bucket
-- Meters as one example of possible meters.
-- This object allows a configuring system to obtain a -- This object allows a configuring system to obtain a
-- unique value for diffServClassifierNumber for purposes of -- unique value for diffServTBMeterId for purposes of
-- configuration -- configuration
diffServTBMeterUnique OBJECT-TYPE diffServTBMeterUnique OBJECT-TYPE
SYNTAX TestAndIncr SYNTAX TestAndIncr
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The diffServTBMeterUnique object yieldiffServ a unique "The diffServTBMeterUnique object yields a unique new
new value for diffServTBMeterNumber when read and value for diffServTBMeterId when read and subsequently
subsequently set. This value must be tested for set. This value must be tested for uniqueness."
uniqueness."
::= { diffServObjects 3 } ::= { diffServObjects 3 }
-- The Meter Table allows us to enumerate the
-- relationship between meters and the actions, other
-- meters, and queues that result from them.
diffServTBMeterTable OBJECT-TYPE diffServTBMeterTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServTBMeterEntry SYNTAX SEQUENCE OF DiffServTBMeterEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Meter Table enumerates specific token bucket "The Meter Table enumerates specific token bucket
meters that a system may use to police a stream of meters that a system may use to police a stream of
classified traffic. Such a stream may include a single classified traffic. The traffic stream is defined by
micro-flow, all traffic from a given source to a given the classifier. It may include all traffic."
destination, all traffic conforming to a single ::= { diffServTables 3 }
classifier, or any other cut of the traffic, including
all of it.
Note that the conceptual model requires all traffic to
pass through one or more meters, and that the last
meter configured in such a sequence must always
conform.
Counters in this table start counting on creation of
the meter that specifies their existence."
::= { diffServTables 4 }
diffServTBMeterEntry OBJECT-TYPE diffServTBMeterEntry OBJECT-TYPE
SYNTAX DiffServTBMeterEntry SYNTAX DiffServTBMeterEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in the meter table describes a single token "An entry in the meter table describes a single token
Draft Differentiated Services MIB October 1999
bucket meter. Note that a meter has exactly one rate, bucket meter. Note that a meter has exactly one rate,
defined as the burst size each time interval. Multiple defined as the burst size each time interval. Multiple
meters may be cascaded should a multi-rate token bucket meters may be cascaded should a multi-rate token bucket
be needed in a given Per-Hop Behavior. An example of be needed in a given Per-Hop Behavior. An example of
such a PHB is AF." such a PHB is AF."
INDEX { ifIndex, diffServInterfaceDirection, INDEX { ifIndex, diffServInterfaceDirection,
diffServTBMeterNumber } diffServTBMeterId }
::= { diffServTBMeterTable 1 } ::= { diffServTBMeterTable 1 }
DiffServTBMeterEntry ::= SEQUENCE { DiffServTBMeterEntry ::= SEQUENCE {
diffServTBMeterNumber INTEGER, diffServTBMeterId Unsigned32,
diffServTBMeterInterval Unsigned32, diffServTBMeterRate Unsigned32,
diffServTBMeterBurstSize Unsigned32, diffServTBMeterBurstSize Unsigned32,
diffServTBMeterFailNext RowPointer, diffServTBMeterFailNext RowPointer,
diffServTBMeterSucceedNext RowPointer, diffServTBMeterSucceedNext RowPointer,
diffServTBMeterStatus RowStatus diffServTBMeterStatus RowStatus
} }
diffServTBMeterNumber OBJECT-TYPE diffServTBMeterId OBJECT-TYPE
SYNTAX INTEGER (1..2147483647) SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of the meter, for reference from the "MeterId enumerates the meter entry."
classifier or in cascade from another meter."
::= { diffServTBMeterEntry 1 } ::= { diffServTBMeterEntry 1 }
diffServTBMeterInterval OBJECT-TYPE diffServTBMeterRate OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
UNITS "microseconds" UNITS "KBPS"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of microseconds in the token bucket "The token bucket rate, in kilo-bits per second (KBPS).
interval for this meter. Note that implementations Note that if multiple meters are cascaded onto one PHB,
frequently do not keep time in microseconds internally, the peak rate of the data stream is the sum of their
so in implementation the effect of this value must be rates."
approximated."
::= { diffServTBMeterEntry 2 } ::= { diffServTBMeterEntry 2 }
diffServTBMeterBurstSize OBJECT-TYPE diffServTBMeterBurstSize OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
UNITS "bytes" UNITS "bytes"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of bytes in a single transmission burst. "The number of bytes in a single transmission burst.
The interval can be derived with (BurstSizex8)/Rate."
Draft Differentiated Services MIB October 1999
The rate at which the metered traffic may run is one
burst per interval. Note that if multiple meters are
cascaded onto one PHB, such as in AF, their intervals
must be equal, and the peak rate of the data stream is
the sum of their intervals per interval."
::= { diffServTBMeterEntry 3 } ::= { diffServTBMeterEntry 3 }
diffServTBMeterFailNext OBJECT-TYPE diffServTBMeterFailNext OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"If the traffic does not conform to the meter, the next "If the traffic does NOT conform to the meter, FailNext
meter or action to enquire of." indicates the next datapath element to handle the
traffic. For example, an Action or Meter datapath
element. The value zeroDotZero in this variable
indicates no further DiffServ treatment is performed on
this flow by the current interface for this interface
direction."
DEFVAL { zeroDotZero }
::= { diffServTBMeterEntry 4 } ::= { diffServTBMeterEntry 4 }
diffServTBMeterSucceedNext OBJECT-TYPE diffServTBMeterSucceedNext OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The 'Succeed Next' pointer selects which action or "If the traffic does conform to the meter, SucceedNext
queue on the interface that to be used with the indicates the next datapath element to handle the
message. Incoming traffic may use the value zeroDotZero traffic. For example, an Action or Meter datapath
in this variable to indicate that no queuing on receipt element. The value zeroDotZero in this variable
occurs. Incoming interfaces generally use queuing indicates no further DiffServ treatment is performed on
either to divert routing traffic for speedier this flow by the current interface for this interface
processing during a flap, or for shaping purposes." direction."
DEFVAL { zeroDotZero } DEFVAL { zeroDotZero }
::= { diffServTBMeterEntry 5 } ::= { diffServTBMeterEntry 5 }
diffServTBMeterStatus OBJECT-TYPE diffServTBMeterStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, "The RowStatus variable controls the activation,
deactivation, or deletion of a meter. Any writable deactivation, or deletion of a meter. Any writable
variable may be modified whether the row is active or variable may be modified whether the row is active or
notInService." notInService."
::= { diffServTBMeterEntry 6 } ::= { diffServTBMeterEntry 6 }
--
-- Actions
--
-- Notice the Drop Action attributes are referenced by the
-- action table rather than by the queue table because
-- Differentiated Services PHBs, such as the Assured Service,
-- permit differently classified traffic to have different
-- drop parameters even though they occupy the same queue."
--
Draft Differentiated Services MIB October 1999 -- Mark Action Table
-- Rows of this table is pointed to by diffServAction to
-- provide detail parameters specific to an Action Type.
-- This object allows a configuring system to obtain a -- This object allows a configuring system to obtain a
-- unique value for diffServActionNumber for purposes of -- unique value for diffServMarkActId for purposes of
-- configuration -- configuration.
diffServActionUnique OBJECT-TYPE diffServMarkActUnique OBJECT-TYPE
SYNTAX TestAndIncr SYNTAX TestAndIncr
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The diffServActionUnique object yields a unique new "The diffServMarkActUnique object yields a unique new
value for diffServActionNumber when read and value for diffServMarkActId when read and subsequently
subsequently set. This value must be tested for set. This value must be tested for uniqueness."
uniqueness."
::= { diffServObjects 4 } ::= { diffServObjects 4 }
-- The Meter Table allows us to enumerate the diffServMarkActTable OBJECT-TYPE
-- relationship between meters and the actions, other meters, SYNTAX SEQUENCE OF DiffServMarkActEntry
-- and queues that result from them.
diffServActionTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServActionEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Action Table enumerates specific apply to a stream "The mark action table enumerates specific DSCPs used
of classified traffic. Such a stream may include a for marking or remarking the DSCP field. The entries
single micro-flow, all traffic from a given source to a of this table is meant to be referenced by the
given destination, all traffic conforming to a single diffServAction attribute of entries in
classifier, or any other cut of the traffic, including diffServActionTable for diffServActionType = mark."
all of it. ::= { diffServTables 4 }
Counters in this table start counting on creation of
the action that specifies their existence."
::= { diffServTables 5 }
diffServActionEntry OBJECT-TYPE diffServMarkActEntry OBJECT-TYPE
SYNTAX DiffServActionEntry SYNTAX DiffServMarkActEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in the action table describes the actions "An entry in the mark action table describes a single
applied to traffic conforming to a given meter." DSCP used for marking."
INDEX { ifIndex, diffServInterfaceDirection, INDEX { diffServMarkActId }
diffServActionNumber } ::= { diffServMarkActTable 1 }
::= { diffServActionTable 1 }
DiffServActionEntry ::= SEQUENCE {
Draft Differentiated Services MIB October 1999
diffServActionNumber INTEGER, DiffServMarkActEntry ::= SEQUENCE {
diffServActionNext RowPointer, diffServMarkActId Unsigned32,
diffServActionDSCP Dscp, diffServMarkActDscp Dscp,
diffServActionMinThreshold Unsigned32, diffServMarkActStatus RowStatus
diffServActionMaxThreshold Unsigned32,
diffServActionDropPolicy INTEGER,
diffServActionHCConformingPackets Counter64,
diffServActionConformingPackets Counter32,
diffServActionHCConformingOctets Counter64,
diffServActionConformingOctets Counter32,
diffServActionTailDrops Counter32,
diffServActionHCTailDrops Counter64,
diffServActionRandomDrops Counter32,
diffServActionHCRandomDrops Counter64,
diffServActionStatus RowStatus
} }
diffServActionNumber OBJECT-TYPE diffServMarkActId OBJECT-TYPE
SYNTAX INTEGER (1..2147483647) SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of the meter, for reference from the "Mark Action Id enumerates the Mark Action entry."
classifier or in cascade from another meter." ::= { diffServMarkActEntry 1 }
::= { diffServActionEntry 1 }
diffServActionNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The 'Next' pointer selects which queue or Traffic
Control Block on the interface. Incoming traffic may
use the value zeroDotZero in this variable to indicate
that no queuing on receipt occurs. Incoming interfaces
generally use queuing either to divert routing traffic
for speedier processing during a flap, or for shaping
purposes."
DEFVAL { zeroDotZero }
::= { diffServActionEntry 2 }
diffServActionDSCP OBJECT-TYPE diffServMarkActDSCP OBJECT-TYPE
SYNTAX Dscp SYNTAX Dscp
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The DSCP that traffic conforming to this classifier "The DSCP this Action TCB uses for marking/remarking
traffic with." Note that if the classifier is working
Draft Differentiated Services MIB October 1999 from the same DSCP value, no effective change in the
DSCP results.
and this meter is remarked with. Note that if the
classifier is working from the same DSCP value, no
effective change in the DSCP results.
Differentiated Services may result in packet remarking Differentiated Services may result in packet remarking
both on ingress to a network and on egress, and it is both on ingress to a network and on egress, and it is
quite possible that ingress and egress would occur in quite possible that ingress and egress would occur in
the same router." the same router."
::= { diffServActionEntry 3 } ::= { diffServMarkActEntry 2 }
diffServActionMinThreshold OBJECT-TYPE diffServMarkActStatus OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX RowStatus
UNITS "packets"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The min-threshold is the queue depth that a random "The RowStatus variable controls the activation,
drop process will seek to manage the queue's depth to. deactivation, or deletion of this entry. Any writable
variable may be modified whether the row is active or
notInService."
::= { diffServMarkActEntry 3 }
This object is in the action table rather than the -- Count Action Table
queue table because Differentiated Services PHBs, such -- Rows of this table is pointed to by diffServAction to
as the Assured Service, permit differently classified -- provide detail parameters specific to Count Action.
traffic to have different drop parameters even though
they occupy the same queue."
::= { diffServActionEntry 4 }
diffServActionMaxThreshold OBJECT-TYPE -- This object allows a configuring system to obtain a
SYNTAX Unsigned32 -- unique value for diffServCountActId for purposes of
UNITS "packets" -- configuration.
MAX-ACCESS read-create
diffServCountActUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The max-threshold is the maximum permissible queue "The diffServCountActUnique object yields a unique new
depth. In tail drop scenarios, the queue will drop if a value for diffServCountActId when read and subsequently
packet is presented to it and it is instantaneously set. This value must be tested for uniqueness."
full by this measure. In random drop scenarios, the ::= { diffServObjects 5 }
queue will drop if a packet is presented to it and the
average queue depth exceeds the max-threshold.
This object is in the action table rather than the
queue table because Differentiated Services PHBs, such
as the Assured Service, permit differently classified
traffic to have different drop parameters even though
they occupy the same queue."
::= { diffServActionEntry 5 }
diffServActionDropPolicy OBJECT-TYPE diffServCountActTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServCountActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The count action table contains flow specific
counters. The entries of this table is meant to be
referenced by the diffServAction attribute of entries
in diffServActionTable for diffServActionType = count."
::= { diffServTables 5 }
Draft Differentiated Services MIB October 1999 diffServCountActEntry OBJECT-TYPE
SYNTAX DiffServCountActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the count action table describes a single
set of flow specific counters. This counter entry is
associated with a traffic flow via the
diffServActionEntry pointing to it."
INDEX { diffServActionId, diffServCountActId }
::= { diffServCountActTable 1 }
SYNTAX INTEGER { DiffServCountActEntry ::= SEQUENCE {
other(1), diffServCountActId Unsigned32,
alwaysDrop (2), -- Disallowed traffic diffServCountActOctetsCnt Counter32,
tailDrop(3), -- Fixed Queue Size diffServCountActPktsCnt Counter32,
randomDrop(4) -- RED w/thresholds diffServCountActStatus RowStatus
-- per class
} }
MAX-ACCESS read-create
diffServCountActId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The drop policy applied to traffic." "Count Action Id enumerates the Count Action entry."
::= { diffServActionEntry 6 } ::= { diffServCountActEntry 1 }
diffServActionHCConformingPackets OBJECT-TYPE diffServCountActOctetsCnt OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter32
UNITS "bytes" UNITS "octets"
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of Packets conforming to this meter. This "The number of Octets at the Action datapath element.
object is used on high speed interfaces. Meaning the octets has been classified and possibly
metered, and prior to any dropping process. This object
may be used on low speed interfaces, and represents the
least significant 32 bits of diffServCountActOctetsHCnt
in the augmented extension.
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime." ifCounterDiscontinuityTime."
::= { diffServActionEntry 7 } ::= { diffServCountActEntry 2 }
diffServActionConformingPackets OBJECT-TYPE diffServCountActPktsCnt OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
UNITS "bytes" UNITS "packets"
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of Packets conforming to this meter. This "The number of Packets at the Action datapath element.
object may be used on low speed interfaces, and Meaning the packets has been classified and possibly
represents the least significant 32 bits of metered, and prior to any dropping process. This object
diffServActionHCConformingPackets. may be used on low speed interfaces, and represents the
least significant 32 bits of diffServCountActPktsHCount
in the augmented extension.
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime." ifCounterDiscontinuityTime."
::= { diffServActionEntry 8 } ::= { diffServCountActEntry 3 }
diffServActionHCConformingOctets OBJECT-TYPE diffServCountActStatus OBJECT-TYPE
SYNTAX Counter64 SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation,
deactivation, or deletion of this entry. Any writable
variable may be modified whether the row is active or
notInService."
::= { diffServCountActEntry 4 }
Draft Differentiated Services MIB October 1999 --
-- High Capacity Counter Extension for Count Action Table
--
UNITS "bytes" diffServCountActXTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServCountActXEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the high capacity counters for the
counters in the Count Action Table. These objects are
all 64-bit versions of the basic counters, having the
same basic semantics as their 32-bit counterparts, with
syntax extended to 64 bits."
AUGMENTS { diffServCountActEntry }
::= { diffServAugments 1 }
diffServCountActXEntry OBJECT-TYPE
SYNTAX DiffServCountActXEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing the 64 bit counters applicable to
a specific drop action entry."
::= { diffServActionXTable 1 }
DiffServCountActXEntry ::= SEQUENCE {
diffServCountActOctetsHCnt Counter64,
diffServCountActPktsHCnt Counter64
}
diffServCountActOctetsHCnt OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of octets conforming to this meter. This "The number of Octets at the Action datapath element.
object is used on high speed interfaces. Meaning the packets has been classified and possibly
metered, and prior to any dropping process. This
object should be used on high speed interfaces.
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime." ifCounterDiscontinuityTime."
::= { diffServActionEntry 9 } ::= { diffServCountActXEntry 1 }
diffServActionConformingOctets OBJECT-TYPE diffServCountActPktsHCnt OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter64
UNITS "bytes"
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of octets conforming to this meter. This "The number of Packets at the Action datapath element.
object may be used on low speed interfaces, and Meaning the packets has been classified and possibly
represents the least significant 32 bits of metered, and prior to any dropping process. This
diffServActionHCConformingOctets. object should be used on high speed interfaces.
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime." ifCounterDiscontinuityTime."
::= { diffServActionEntry 10 } ::= { diffServCountActXEntry 2 }
diffServActionTailDrops OBJECT-TYPE -- Drop Action Table
-- Rows of this table is pointed to by diffServAction to
-- provide detail parameters specific to an Action Type.
-- Notice the use of diffServQueueId as part of this
-- table's index. Hence each entry is queue specific.
-- This object allows a configuring system to obtain a
-- unique value for diffServDropActId for purposes of
-- configuration.
diffServDropActUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServDropActUnique object yields a unique new
value for diffServDropActId when read and subsequently
set. This value must be tested for uniqueness."
::= { diffServObjects 6 }
diffServDropActTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServDropActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The drop action table enumerates sets of attributes
used to represent a drop process. Each set is normally
associated with a queue. The entries of this table is
meant to be referenced by the diffServAction attribute
of entries in diffServActionTable. The entries of this
table is used for: Tail Drop Action when
diffServActionType = tailDrop Random Drop Action when
diffServActionType = randomDrop Deterministic Drop
Action when diffServActionType = deterDrop"
::= { diffServTables 6 }
diffServDropActEntry OBJECT-TYPE
SYNTAX DiffServDropActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the drop action table describes a single
drop process's configuration. For Tail Drop Process:
For Random Drop Process: (QMin,PMin) and (QMax,PMax)
defines the drop probability used for the random drop
process. Normally PMin have a value of zero. QClip
defines the guaranteed average queue depth, after which
the drop probability reaches 100%. For Deterministic
Drop Process: QMeasure points to an entry providing
Queue Measurement needed for the drop process."
INDEX { diffServQueueId, diffServDropActId }
::= { diffServTable 1 }
DiffServDropActEntry ::= SEQUENCE {
diffServDropActId Unsigned32,
diffServDropActQMin Unsigned32,
diffServDropActQMax Unsigned32,
diffServDropActQClip Unsigned32,
diffServDropActPMin Unsigned32,
diffServDropActPMax Unsigned32,
diffServDropActPCur Unsigned32,
diffServDropActQMeasure RowPointer,
diffServDropActOctetsCnt Counter32,
diffServDropActPktsCnt Counter32,
diffServDropActStatus RowStatus
}
diffServDropActId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Drop Action Id enumerates the Drop Action entry."
::= { diffServDropActEntry 1 }
diffServDropActQMin OBJECT-TYPE
SYNTAX Unsigned32
UNITS "Kilo Bits"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"QMin, with PMin, defines the lowerest drop probability
point for this random drop process. With PMin=0, the
queue may drop if a packet is presented to it and the
average queue depth exceeds QMin."
::= { diffServDropActEntry 2 }
diffServDropActQMax OBJECT-TYPE
SYNTAX Unsigned32
UNITS "Kilo Bits"
MAX-ACCESS read-create
STATUS current
"QMax, with PMax, defines the higher point of drop
probability for random drop process. For Tail Drop
Process: This represents the measure by which the
queue will drop if a packet is presented to it."
::= { diffServDropActEntry 3 }
diffServDropActQClip OBJECT-TYPE
SYNTAX Unsigned32
UNITS "Kilo Bits"
MAX-ACCESS read-create
STATUS current
"The average queue length at which point the drop
probability reaches 100%."
::= { diffServDropActEntry 4 }
diffServDropActPMin OBJECT-TYPE
SYNTAX Unsigned32 (0..1000000)
UNITS "per-micro-age"
MAX-ACCESS read-write
STATUS current
"QMin, with PMin, defines the lowerest drop probability
point for this random drop process. With PMin=0, the
queue may drop if a packet is presented to it and the
average queue depth exceeds QMin. This drop
probability is expressed in per-micro-age, the value in
this attribute needs to be divided by 1,000,000 to
obtain the drop probability between 0 and 1."
::= { diffServDropActEntry 5 }
diffServDropActPMax OBJECT-TYPE
SYNTAX Unsigned32 (0..1000000)
UNITS "per-micro-age"
MAX-ACCESS read-write
STATUS current
"QMax and PMax are part of the drop probability
configuration. This drop probability is expressed in
per-micro-age, the value in this attribute needs to be
divided by 1,000,000 to obtain the drop probability
between 0 and 1."
::= { diffServDropActEntry 6 }
diffServDropActPCur OBJECT-TYPE
SYNTAX Unsigned32 (0..1000000)
UNITS "per-micro-age"
MAX-ACCESS read-only
STATUS current
"The current drop probability. This drop probability
is expressed in per-micro-age, the value in this
attribute needs to be divided by 1,000,000 to obtain
the drop probability between 0 and 1."
::= { diffServDropActEntry 7 }
diffServDropActQMeasure OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
"Points to an entry in the diffServQMeasureTable for
queue information required by the drop process."
::= { diffServDropActEntry 8 }
diffServDropActOctetsCnt OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets conforming to this classifier "The number of octets that have been dropped by a drop
and meter that have been dropped because either the process. On high speed devices, this object implements
meter always drops, or the queue's depth exceeds the the least significant 32 bits of
max-threshold value. On high speed devices, this diffServDropActOctetsHCnt.
object implements the least significant 32 bits of
diffServActionHCTailDrops .
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime." ifCounterDiscontinuityTime."
::= { diffServActionEntry 11 } ::= { diffServDropActEntry 9 }
Draft Differentiated Services MIB October 1999
diffServActionHCTailDrops OBJECT-TYPE diffServDropActPktsCnt OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets conforming to this classifier "The number of packets that have been dropped by a drop
and meter that have been dropped because either the process. On high speed devices, this object implements
meter always drops, or the queue's depth exceeds the the least significant 32 bits of
max-threshold value. This object should be used on diffServDropActPktsHCnt.
high speed interfaces.
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime." ifCounterDiscontinuityTime."
::= { diffServActionEntry 12 } ::= { diffServDropActEntry 10 }
diffServActionRandomDrops OBJECT-TYPE diffServDropActStatus OBJECT-TYPE
SYNTAX Counter32 SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation,
deactivation, or deletion of this entry. Any writable
variable may be modified whether the row is active or
notInService."
::= { diffServDropActEntry 11 }
--
-- High Capacity Counter Extension for Drop Action Table
--
diffServDropActXTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServDropActXEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the high capacity counters for the
counters in the Drop Action Table. These objects are
all 64 bit versions of the basic counters, having the
same basic semantics as their 32-bit counterparts, with
syntax extended to 64 bits."
AUGMENTS { diffServDropActEntry }
::= { diffServAugments 2 }
diffServDropActXEntry OBJECT-TYPE
SYNTAX DiffServDropActXEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry containing the 64 bit counters applicable to
a specific drop action entry."
::= { diffServDropActXTable 1 }
DiffServDropActXEntry ::= SEQUENCE {
diffServDropActOctetsHCnt Counter64,
diffServDropActPktsHCnt Counter64
}
diffServDropActOctetsHCnt OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets conforming to this classifier "The number of octets that have been dropped by a drop
and meter that have been dropped by a random drop process. This object should be used on high speed
process because the queue is over-full. On high speed interfaces.
lines, this object reflects the least significant 32
bits of diffServActionHCRandomDrops.
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime." ifCounterDiscontinuityTime."
::= { diffServActionEntry 13 } ::= { diffServDropActXEntry 1 }
diffServActionHCRandomDrops OBJECT-TYPE diffServDropActPktsHCnt OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets conforming to this classifier "The number of packets that have been dropped by a drop
and meter that have been dropped by a random drop process. This object should be used on high speed
process because the queue is over-full. This object is interfaces.
used on high speed lines.
Discontinuities in the value of this counter can occur Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at at re-initialization of the management system, and at
other times as indicated by the value of other times as indicated by the value of
ifCounterDiscontinuityTime."
::= { diffServDropActXEntry 2 }
-- This object allows a configuring system to obtain a
-- unique value for diffServActionId for purposes of
-- configuration
Draft Differentiated Services MIB October 1999 diffServActionUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServActionUnique object yields a unique new
value for diffServActionId when read and subsequently
set. This value must be tested for uniqueness."
::= { diffServObjects 7 }
ifCounterDiscontinuityTime." -- The Action Table allows us to enumerate the different
::= { diffServActionEntry 14 } -- types of actions to be applied to a flow.
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, marking of a stream of
traffic exiting a meter (conforming or non-conforming),
then perform a drop process with dropped traffic counts
maintained. Notice counting is considered as a type of
action. The set of flow specific counters in the Count
Action Table maintains statistics for a flow that
arrives to this Action datapath element. This count is
always taken before any drop processing is performed."
::= { diffServTables 7 }
diffServActionEntry OBJECT-TYPE
SYNTAX DiffServActionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the action table describes the actions
applied to traffic exiting a given meter."
INDEX { ifIndex, diffServInterfaceDirection,
diffServActionId }
::= { diffServActionTable 1 }
DiffServActionEntry ::= SEQUENCE {
diffServActionId Unsigned32,
diffServActionNext RowPointer,
diffServActionType INTEGER,
diffServAction RowPointer,
diffServActionStatus RowStatus
}
diffServActionId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Action Id enumerates the Action entry."
::= { diffServActionEntry 1 }
diffServActionNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The Next pointer indicates the next datapath element
to handle the traffic. For example, a queue datapath
element. The value zeroDotZero in this variable
indicates no further DiffServ treatment is performed on
this flow by the current interface for this interface
direction."
DEFVAL { zeroDotZero }
::= { diffServActionEntry 2 }
diffServActionType OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- types not specified here.
mark(2), -- mark or remark
count(3), -- count
alwaysDrop(4), -- disallow traffic
tailDrop(5), -- fix queue size Drop
randomDrop(6), -- Random Drop
deterDrop(7) -- Deterministic Drop
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Indicates the type of action diffServAction points
to."
::= { diffServActionEntry 3 }
diffServAction OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Points to a row in a Action Type Table that provides
all the parameters for the type of action indicated in
diffServActionType. Can also points to a row in some
other MIB to provide some proprietary action type."
::= { diffServActionEntry 4 }
diffServActionStatus OBJECT-TYPE diffServActionStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, "The RowStatus variable controls the activation,
deactivation, or deletion of a meter. Any writable deactivation, or deletion of a meter. Any writable
variable may be modified whether the row is active or variable may be modified whether the row is active or
notInService." notInService."
::= { diffServActionEntry 15 } ::= { diffServActionEntry 5 }
--
Draft Differentiated Services MIB October 1999 -- Queue Set Table
-- The Queue Set Table is used for organizing queues
-- defined in the Queue Table into Queue Sets, with
-- queue scheduling defined in the queue set entry.
-- Queue Set Table provides flexibility in queue
-- organization and allows more complex hierarchical
-- scheduling algorithms be defined. For example,
-- multiple scheduling algorithms, each with multiple
-- queues, used on the same logical/physical interface.
--
-- This object allows a configuring system to obtain a -- This object allows a configuring system to obtain a
-- unique value for diffServQueueNumber for purposes of -- unique value for diffServQSetId for purposes of
-- configuration -- configuration
diffServQueueUnique OBJECT-TYPE diffServQSetUnique OBJECT-TYPE
SYNTAX TestAndIncr SYNTAX TestAndIncr
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The diffServQueueUnique object yields a unique new "The diffServQSetUnique object yields a unique new
value for diffServQueueNumber when read and value for diffServQSetId when read and subsequently
subsequently set. This value must be tested for set. This value must be tested for uniqueness."
uniqueness." ::= { diffServObjects 8 }
::= { diffServObjects 5 }
-- The Queue Table allows us to describe queues
diffServQueueTable OBJECT-TYPE diffServQSetTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServQueueEntry SYNTAX SEQUENCE OF DiffServQSetEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Queue Table enumerates the queues on an interface. "The Queue Set Table enumerates the queue sets. Queue
Queues are used to store traffic during intervals when Sets are used to organize queues based on their
the arrival rate exceeds the departure rate for a class scheduling algorithms. Multiple sheduling algorithms
of traffic. Because some PHBs indicate that the use of can be used, with each algorithm described by one Queue
a priority queue may be advisable, each queue in this Set Entry. Multiple instances of a single sheduling
system is seen as having a priority. Those queues that algorithm, each with different scheduling parameters
share the same priority operate in what may externally can also be expressed, each described by its own Queue
appear to be a Weighted Round Robin manner, and preempt Set Entry. Relationships between Queue Sets are used
the traffic belonging to any lower priority. For this to build scheduling algorithm hierarchies. For
reason, it is strongly urged that traffic placed into example, a weighed fair queueing queue set can be a
prioritized queues be strongly policed to avoid traffic part of a priority queueing queue set, having the
lockout. weighed fair queueing queue set be a branch of the
priority queueing queue set. More complex hierarchies
Queues in this table also have a minimum and a maximum can also be expressed using this mechanism."
rate. When a maximum rate is specified, the queue acts ::= { diffServTables 8 }
as a shaper if it has sufficient traffic and capacity diffServQSetEntry OBJECT-TYPE
is available. If it is a minimum rate, then the weight SYNTAX DiffServQSetEntry
in the WRR is effectively set to this rate divided by
the sum of the rates of queues on the interface,
guaranteeing it at least that throughput rate. If it is
a maximum rate, the queue operates as a shaper. A
shaper potentially reduces the rate of traffic through
it to the indicated rate, and minimizes variations in
rate."
::= { diffServTables 6 }
Draft Differentiated Services MIB October 1999
diffServQueueEntry OBJECT-TYPE
SYNTAX DiffServQueueEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in the Queue Table describes a single FIFO "An entry in the Queue Set Table describes a single
queue." queue set."
INDEX { ifIndex, diffServInterfaceDirection, INDEX { ifIndex, diffServInterfaceDirection,
diffServQueueNumber } diffServQSetId }
::= { diffServQueueTable 1 } ::= { diffServQSetTable 1 }
DiffServQueueEntry ::= SEQUENCE { DiffServQSetEntry ::= SEQUENCE {
diffServQueueNumber INTEGER, diffServQSetId Unsigned32,
diffServQueueMinimumRate Unsigned32, diffServQSetParentId Unsigned32,
diffServQueueMaximumRate Unsigned32, diffServQSetWeight Unsigned32,
diffServQueuePriority Unsigned32, diffServQSetMethod INTEGER,
diffServQueueNextTCB RowPointer, diffServQSetRateUnit INTEGER,
diffServQueueOccupancyWeight Unsigned32, diffServQSetMinRate Unsigned32,
diffServQueueStatus RowStatus diffServQSetMaxRate Unsigned32,
diffServQSetNext RowPointer,
diffServQSetStatus RowStatus
} }
diffServQueueNumber OBJECT-TYPE diffServQSetId OBJECT-TYPE
SYNTAX INTEGER (1..2147483647) SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of the queue." "The Queue Set Id enumerates the Queue Set entry."
::= { diffServQueueEntry 1 } ::= { diffServQSetEntry 1 }
diffServQueueMinimumRate OBJECT-TYPE diffServQSetParentId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Set Parent Id allows the formation of
hierarchical relationships between scheduling
algorithms."
::= { diffServQSetEntry 2 }
diffServQSetWeight OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
UNITS "KBPS"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The rate of the queue, in kilobits per second (KBPS). "Used with QSetParentId in hierarchical scheduling
This unit is chosen because interfaces exist at the setup. QSetWeight represent the weight of all queues
time of this writing which exceed the number of bits within this queue set, with respect to queues in other
per second which may be represented in a 32 bit number. queue sets in hierarchical scheduling. For example,
this queue set represents the weighed fair queueing
If the value is zero, then there is effectively no scheduling amongst all the queues in this queue set.
minimum rate. If the value is non-zero, the queue set This set of weighted fair queueing queues as a whole
will seek to assure this class of traffic at least this belongs to a priority queueing queue set. QSetWeight
rate." determines this queue set's priority/weight in the
::= { diffServQueueEntry 2 } parent queue set's priority queueing scheduling
algorithm. There can be more than one weighed fair
queueing queue sets belonging to the same priority
queueing parent queue set."
::= { diffServQSetEntry 3 }
diffServQueueMaximumRate OBJECT-TYPE diffServQSetMethod OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- not listed here
pq(2), -- Priority Queueing
wfq(3), -- Weighed Fair Queueing
wrr(4) -- Weighed Round Robin
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The scheduling algorithm used by queues in this queue
set."
::= { diffServQSetEntry 4 }
Draft Differentiated Services MIB October 1999 diffServQSetRateUnit OBJECT-TYPE
SYNTAX INTEGER {
kbps(1), -- kilo bits per second
packets(2) -- packets per second
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The unit of measure for the MinRate and MaxRate
attributes. The packet unit allows packet fair
algorithms in addition to bit fair algorithms."
::= { diffServQSetEntry 5 }
diffServQSetMinRate OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
UNITS "KBPS" UNITS "KBPS"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The rate of the queue, in kilobits per second (KBPS). "The minimum rate for the whole queue set. If the
This unit is chosen because interfaces exist at the value is zero, then there is effectively no minimum
time of this writing which exceed the number of bits rate. If the value is non-zero, the queue set will
per second which may be represented in a 32 bit number. seek to assure this class of traffic at least this
If the value is zero, then there is effectively no
maximum rate. If the value is non-zero, the queue set
will seek to assure this class of traffic at most this
rate." rate."
::= { diffServQueueEntry 3 } ::= { diffServQSetEntry 6 }
diffServQueuePriority OBJECT-TYPE diffServQSetMaxRate OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
UNITS "KBPS"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The priority of the queue. If multiple queues exist on "The maximum rate for the whole queue set. If the
the same interface at the same priority, they are value is zero, then there is effectively no maximum
effectively given Weighted Round Robin service. If rate. If the value is non-zero, the queue set will
multiple priorities are configured on an interface, seek to assure this class of traffic at most this
traffic with a numerically higher priority number is rate."
deemed to have higher priority than other traffic, and ::= { diffServQSetEntry 7 }
is preemptively serviced."
::= { diffServQueueEntry 4 }
diffServQueueNextTCB OBJECT-TYPE diffServQSetNext OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The 'Next' pointer selects the successor TCB on the "Selects the next data path component, which can be
interface. Incoming traffic may use the value another Queue Set. One usage of multiple serial Queue
zeroDotZero in this variable to indicate that the Sets is for Class Base Queueing (CBQ). The value
packet is now to be routed; outbound traffic may use zeroDotZero in this variable indicates no further
the same value to indicate that no subsequent queuing DiffServ treatment is performed on this flow by the
applies. Ingress interfaces generally use queuing current interface for this interface direction. For
either to divert routing traffic for speedier example, for an inbound interface the value zeroDotZero
processing during a flap, or for shaping purposes." indicates that the packet flow has now completed
inbound DiffServ treatment and should be forwarded on
to the appropriate outbound interface."
DEFVAL { zeroDotZero } DEFVAL { zeroDotZero }
::= { diffServQueueEntry 5 } ::= { diffServQSetEntry 8 }
diffServQueueOccupancyWeight OBJECT-TYPE diffServQSetStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation,
deactivation, or deletion of a queue. Any writable
variable may be modified whether the row is active or
notInService."
::= { diffServQSetEntry 9 }
--
-- Queue Table
--
Draft Differentiated Services MIB October 1999 -- This object allows a configuring system to obtain a
-- unique value for diffServQId for purposes of
-- configuration.
diffServQUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServQUnique object yields a unique new value
for diffServQId when read and subsequently set. This
value must be tested for uniqueness."
::= { diffServObjects 9 }
-- The Queue Table allows us to describe individual queues
diffServQTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServQEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Table enumerates the queues on an
interface."
::= { diffServTables 9 }
diffServQEntry OBJECT-TYPE
SYNTAX DiffServQEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the Queue Table describes a single FIFO
queue."
INDEX { diffServQQSetId, diffServQId }
::= { diffServQTable 1 }
DiffServQEntry ::= SEQUENCE {
diffServQId Unsigned32,
diffServQQSetId Unsigned32,
diffServQSchedulerWeight Unsigned32,
diffServQStatus RowStatus
}
diffServQId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Id enumerates the Queue entry."
::= { diffServQEntry 1 }
diffServQQSetId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Indicates the Queue Set this queue is part of."
::= { diffServQEntry 2 }
diffServQSchedulerWeight OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The amount, in the form of a factor, that the current, "The weight or priority of the queue, depending on the
actual queue occupancy should influence the averaged scheduling method used. Notice only the weight of the
queue occupancy. The averaged queue occupancy can be queue is used, instead of the rate. The rate can be
used for comparison to configured drop thresholds in derived based on the rate of the queue set. This is to
RED or RED-like dropper implementations. Larger the facilitate changing link speed and/or changing
weight, the greater the instantaneous queue occupancy scheduling method without reconfiguring the queues."
influences the averaged queue occupancy. Usually, ::= { diffServQEntry 3 }
dramatic changes in the instantaneous queue occupancy
is the result of bursty input streams. Notice this
numeric attribute is divided by 10,000 to get the
effective fractional factor used in the actual
calculations."
::= { diffServQueueEntry 6 }
diffServQueueStatus OBJECT-TYPE diffServQStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, "The RowStatus variable controls the activation,
deactivation, or deletion of a queue. Any writable deactivation, or deletion of a queue. Any writable
variable may be modified whether the row is active or variable may be modified whether the row is active or
notInService." notInService."
::= { diffServQueueEntry 7 } ::= { diffServQEntry 4 }
Draft Differentiated Services MIB October 1999 -- Queue Measurement Table
-- This object allows a configuring system to obtain a
-- unique value for diffServQMeasureId for purposes of
-- configuration.
diffServQMeasureUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServQMeasureUnique object yields a unique new
value for diffServQMeasureId when read and subsequently
set. This value must be tested for uniqueness."
::= { diffServObjects 10 }
diffServQMeasureTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServQMeasureEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Measurement Table contains entries
describing the state of queues, this include states for
implementing traffic treatment algorithms. Notice
multiple queue measurement entries for the same queue
is allowed."
::= { diffServTables 10 }
diffServQMeasureEntry OBJECT-TYPE
SYNTAX DiffServQMeasureEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the Queue Measure Table describes a single
set of measurement for a specific queue."
INDEX { diffServQMeasureQId, diffServQMeasureId }
::= { diffServQMeasureTable 1 }
DiffServQMeasureEntry ::= SEQUENCE {
diffServQMeasureId Unsigned32,
diffServQMeasureQId Unsigned32,
diffServQMeasureAvgSampleInt Unsigned32,
diffServQMeasureAvgWeightExp Unsigned32,
diffServQMeasureAvgWeightMan Unsigned32,
diffServQMeasureQAverage Unsigned32,
diffServQMeasureStatus RowStatus
}
diffServQMeasureId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Measure Id enumerates the Queue Measure
entry."
::= { diffServQMeasureEntry 1 }
diffServQMeasureQId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Indicates the queue this measurement is associated
with."
::= { diffServQMeasureEntry 2 }
diffServQMeasureAvgSampleInt OBJECT-TYPE
SYNTAX Unsigned32
UNIT millisecond
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The sampling interval for queue average calculation,
in milliseconds. For queue sampling based on packet
enqueueing or dequeueing intervals, this attribute
should contain the value of zero."
::= { diffServQMeasureEntry 3 }
diffServQMeasureAvgWeightExp OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
"The exponent part of weight (in real number format)
for queue average calculation. This is a base 10
exponent, with the attribute representing a negative
value. For example, with 8 in this attribute meaning
10 to the power of -8. An 8 bit value here will be
sufficient."
::= { diffServQMeasureEntry 4 }
diffServQMeasureAvgWeightMan OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
"The mantissa part of weight (in real number format)
for queue average calculation. Always a positive
number. Need 16 bits of accuracy."
::= { diffServQMeasureEntry 5 }
diffServQMeasureQAverage OBJECT-TYPE
SYNTAX Unsigned32
UNITS kilo-bits
MAX-ACCESS read-only
STATUS current
"The current queue average in kilo bits."
::= { diffServQMeasureEntry 6 }
diffServQMeasureStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation,
deactivation, or deletion of a queue. Any writable
variable may be modified whether the row is active or
notInService."
::= { diffServQMeasureEntry 7 }
-- MIB Compliance statements. Three variations of -- MIB Compliance statements. Three variations of
-- compliance are described, for optical, LAN, and low speed -- compliance are described, for optical, LAN, and low speed
-- interfaces. The difference is the implementation of -- interfaces. The difference is the implementation of
-- diffServActionHCConformingOctets -- diffServActionOctetsHCnt, diffServActionPktsHCnt
-- and diffServActionHCConformingPackets -- and diffServCountActOctetsHCnt, diffServCountActPktsHCnt.
diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 } diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 }
diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 } diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 }
diffServMIBCompliance MODULE-COMPLIANCE diffServMIBCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This MIB may be implemented as a read-only or as a "This MIB may be implemented as a read-only or as a
read-create MIB. As a result, it may be used for read-create MIB. As a result, it may be used for
monitoring or for configuration. monitoring or for configuration.
skipping to change at page 37, line 4 skipping to change at page 51, line 4
GROUP diffServMIBHCCounterGroup GROUP diffServMIBHCCounterGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for those network interfaces "This group is mandatory for those network interfaces
for which the value of the corresponding instance of for which the value of the corresponding instance of
ifSpeed is greater than 20,000,000 bits/second." ifSpeed is greater than 20,000,000 bits/second."
GROUP diffServMIBVHCCounterGroup GROUP diffServMIBVHCCounterGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for those network interfaces "This group is mandatory for those network interfaces
Draft Differentiated Services MIB October 1999
for which the value of the corresponding instance of for which the value of the corresponding instance of
ifSpeed is greater than 650,000,000 bits/second." ifSpeed is greater than 650,000,000 bits/second."
OBJECT diffServClassifierMatchObject OBJECT diffServClassifierMatchObject
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServClassifierNext OBJECT diffServClassifierNext
MIN-ACCESS read-only MIN-ACCESS read-only
skipping to change at page 38, line 4 skipping to change at page 52, line 4
OBJECT diffServTBMeterSucceedNext OBJECT diffServTBMeterSucceedNext
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServTBMeterStatus OBJECT diffServTBMeterStatus
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
Draft Differentiated Services MIB October 1999
OBJECT diffServActionNext OBJECT diffServActionNext
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServActionDSCP OBJECT diffServActionDSCP
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
skipping to change at page 39, line 4 skipping to change at page 53, line 4
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServQueuePriority OBJECT diffServQueuePriority
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServQueueNextTCB OBJECT diffServQueueNextTCB
MIN-ACCESS read-only MIN-ACCESS read-only
Draft Differentiated Services MIB October 1999
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServQueueStatus OBJECT diffServQueueStatus
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
::= { diffServMIBCompliances 1 } ::= { diffServMIBCompliances 1 }
Draft Differentiated Services MIB October 1999
diffServMIBVHCCompliance MODULE-COMPLIANCE diffServMIBVHCCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This MIB may be implemented as a read-only or as a "This MIB may be implemented as a read-only or as a
read-create MIB. As a result, it may be used for read-create MIB. As a result, it may be used for
monitoring or for configuration. monitoring or for configuration.
Very High Speed compliance implies that the Very High Speed compliance implies that the
implementation complies for interfaces for which an implementation complies for interfaces for which an
interface's packet or octet counters might wrap more interface's packet or octet counters might wrap more
skipping to change at page 41, line 4 skipping to change at page 55, line 4
"Write access is not required." "Write access is not required."
OBJECT diffServClassifierStatus OBJECT diffServClassifierStatus
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServTBMeterInterval OBJECT diffServTBMeterInterval
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
Draft Differentiated Services MIB October 1999
"Write access is not required." "Write access is not required."
OBJECT diffServTBMeterBurstSize OBJECT diffServTBMeterBurstSize
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServTBMeterFailNext OBJECT diffServTBMeterFailNext
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
skipping to change at page 42, line 4 skipping to change at page 56, line 4
OBJECT diffServActionMaxThreshold OBJECT diffServActionMaxThreshold
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServActionDropPolicy OBJECT diffServActionDropPolicy
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
Draft Differentiated Services MIB October 1999
OBJECT diffServActionStatus OBJECT diffServActionStatus
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServQueueMinimumRate OBJECT diffServQueueMinimumRate
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
skipping to change at page 43, line 4 skipping to change at page 57, line 4
OBJECT diffServQueueNextTCB OBJECT diffServQueueNextTCB
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServQueueStatus OBJECT diffServQueueStatus
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
::= { diffServMIBCompliances 2 } ::= { diffServMIBCompliances 2 }
Draft Differentiated Services MIB October 1999
diffServMIBHCCompliance MODULE-COMPLIANCE diffServMIBHCCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This MIB may be implemented as a read-only or as a "This MIB may be implemented as a read-only or as a
read-create MIB. As a result, it may be used for read-create MIB. As a result, it may be used for
monitoring or for configuration. monitoring or for configuration.
High Speed compliance implies that the implementation High Speed compliance implies that the implementation
complies for interfaces for which an interface's octet complies for interfaces for which an interface's octet
counters might wrap more than once an hour, which by counters might wrap more than once an hour, which by
skipping to change at page 44, line 4 skipping to change at page 58, line 4
"Write access is not required." "Write access is not required."
OBJECT diffServClassifierNext OBJECT diffServClassifierNext
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServClassifierSequence OBJECT diffServClassifierSequence
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
Draft Differentiated Services MIB October 1999
"Write access is not required." "Write access is not required."
OBJECT diffServClassifierStatus OBJECT diffServClassifierStatus
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServTBMeterInterval OBJECT diffServTBMeterInterval
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
skipping to change at page 45, line 4 skipping to change at page 59, line 4
OBJECT diffServActionDSCP OBJECT diffServActionDSCP
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServActionMinThreshold OBJECT diffServActionMinThreshold
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
Draft Differentiated Services MIB October 1999
OBJECT diffServActionMaxThreshold OBJECT diffServActionMaxThreshold
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServActionDropPolicy OBJECT diffServActionDropPolicy
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
skipping to change at page 46, line 4 skipping to change at page 60, line 4
OBJECT diffServQueueNextTCB OBJECT diffServQueueNextTCB
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServQueueStatus OBJECT diffServQueueStatus
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
::= { diffServMIBCompliances 3 } ::= { diffServMIBCompliances 3 }
Draft Differentiated Services MIB October 1999
diffServMIBClassifierGroup OBJECT-GROUP diffServMIBClassifierGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServAggregateDSCP, diffServAggregateDSCP,
diffServClassifierMatchObject, diffServClassifierMatchObject,
diffServClassifierNext, diffServClassifierNext,
diffServClassifierSequence, diffServClassifierSequence,
diffServClassifierStatus diffServClassifierStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 47, line 4 skipping to change at page 61, line 4
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Action Group defines the objects used in "The Action Group defines the objects used in
describing an action." describing an action."
::= { diffServMIBGroups 3 } ::= { diffServMIBGroups 3 }
diffServMIBHCCounterGroup OBJECT-GROUP diffServMIBHCCounterGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServActionHCConformingOctets diffServActionHCConformingOctets
Draft Differentiated Services MIB October 1999
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"At 20,000,000 bits per second or greater, the number "At 20,000,000 bits per second or greater, the number
of octets a given class may count can overflow a 32 bit of octets a given class may count can overflow a 32 bit
counter in under an hour. Therefore, by convention counter in under an hour. Therefore, by convention
established in the IFMIB, the 64 bit counter must be established in the IFMIB, the 64 bit counter must be
implemented as well." implemented as well."
::= { diffServMIBGroups 4 } ::= { diffServMIBGroups 4 }
skipping to change at page 48, line 4 skipping to change at page 62, line 4
diffServMIBStaticGroup OBJECT-GROUP diffServMIBStaticGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServClassifierUnique, diffServTBMeterUnique, diffServClassifierUnique, diffServTBMeterUnique,
diffServQueueUnique, diffServActionUnique diffServQueueUnique, diffServActionUnique
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Static Group contains scalar objects used in "The Static Group contains scalar objects used in
creating unique enumerations for classifiers, meters, creating unique enumerations for classifiers, meters,
Draft Differentiated Services MIB October 1999
and queues." and queues."
::= { diffServMIBGroups 7 } ::= { diffServMIBGroups 7 }
END END
Draft Differentiated Services MIB October 1999
5. Acknowledgments 5. Acknowledgments
This MIB has been developed with active involvement from a This MIB has been developed with active involvement from a
number of sources, but most notably Yoram Bernet, Steve Blake, number of sources, but most notably Yoram Bernet, Steve Blake,
Brian Carpenter, Kwok Chan, Dave Durham, Jeremy Greene, Roch Brian Carpenter, Kwok Chan, Dave Durham, Jeremy Greene, Roch
Guerin, Scott Hahn, Keith McCloghrie, Kathleen Nichols, Ping Guerin, Scott Hahn, Keith McCloghrie, Kathleen Nichols, Ping
Pan, Andrew Smith, and Bert Wijnen. Pan, Andrew Smith, and Bert Wijnen.
6. Security Considerations 6. Security Considerations
skipping to change at page 50, line 5 skipping to change at page 64, line 5
apply to a customer's ingress or egress traffic. There are no apply to a customer's ingress or egress traffic. There are no
objects which are sensitive in their own right, such as objects which are sensitive in their own right, such as
passwords or monetary amounts. passwords or monetary amounts.
It may be important to control even GET access to these It may be important to control even GET access to these
objects and possibly to even encrypt the values of these objects and possibly to even encrypt the values of these
object when sending them over the network via SNMP. Not all object when sending them over the network via SNMP. Not all
versions of SNMP provide features for such a secure versions of SNMP provide features for such a secure
environment. environment.
Draft Differentiated Services MIB October 1999
7. References 7. References
[1] Harrington, D., Presuhn, R., and B. Wijnen, "An [1] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing SNMP Management Frameworks", Architecture for Describing SNMP Management Frameworks",
RFC 2571, Cabletron Systems, Inc., BMC Software, Inc., RFC 2571, Cabletron Systems, Inc., BMC Software, Inc.,
IBM T. J. Watson Research, April 1999
[2] Rose, M., and K. McCloghrie, "Structure and [2] Rose, M., and K. McCloghrie, "Structure and
Identification of Management Information for TCP/IP-based Identification of Management Information for TCP/IP-based
Internets", RFC 1155, STD 16, Performance Systems Internets", RFC 1155, STD 16, Performance Systems
[3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions",
RFC 1212, STD 16, Performance Systems International, RFC 1212, STD 16, Performance Systems International,
[4] M. Rose, "A Convention for Defining Traps for use with [4] M. Rose, "A Convention for Defining Traps for use with
the SNMP", RFC 1215, Performance Systems International, the SNMP", RFC 1215, Performance Systems International,
[5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Structure of Management Rose, M., and S. Waldbusser, "Structure of Management
Information Version 2 (SMIv2)", RFC 2578, STD 58, Cisco Information Version 2 (SMIv2)", RFC 2578, STD 58, Cisco
skipping to change at page 51, line 4 skipping to change at page 65, line 4
SMIv2", RFC 2580, STD 58, Cisco Systems, SNMPinfo, TU SMIv2", RFC 2580, STD 58, Cisco Systems, SNMPinfo, TU
Braunschweig, SNMP Research, First Virtual Holdings, Braunschweig, SNMP Research, First Virtual Holdings,
[8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin,
"Simple Network Management Protocol", RFC 1157, STD 15, "Simple Network Management Protocol", RFC 1157, STD 15,
SNMP Research, Performance Systems International, SNMP Research, Performance Systems International,
Performance Systems International, MIT Laboratory for Performance Systems International, MIT Laboratory for
Computer Science, May 1990. Computer Science, May 1990.
[9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Introduction to Community-based SNMPv2", RFC 1901, SNMP "Introduction to Community-based SNMPv2", RFC 1901, SNMP
Draft Differentiated Services MIB October 1999
Research, Inc., Cisco Systems, Inc., Dover Beach Research, Inc., Cisco Systems, Inc., Dover Beach
Consulting, Inc., International Network Services, January Consulting, Inc., International Network Services, January
1996. 1996.
[10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Transport Mappings for Version 2 of the Simple Network "Transport Mappings for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1906, SNMP Research, Management Protocol (SNMPv2)", RFC 1906, SNMP Research,
Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc.,
International Network Services, January 1996. International Network Services, January 1996.
skipping to change at page 52, line 5 skipping to change at page 66, line 5
[16] Case, J., Mundy, R., Partain, D., and B. Stewart, [16] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction to Version 3 of the Internet-standard "Introduction to Version 3 of the Internet-standard
Network Management Framework", RFC 2570, SNMP Research, Network Management Framework", RFC 2570, SNMP Research,
Inc., TIS Labs at Network Associates, Inc., Ericsson, Inc., TIS Labs at Network Associates, Inc., Ericsson,
[DSCP] [DSCP]
K. Nichols, S. Blake, F. Baker, D. Black, "Definition of K. Nichols, S. Blake, F. Baker, D. Black, "Definition of
the Differentiated Services Field (DS Field) in the IPv4 the Differentiated Services Field (DS Field) in the IPv4
and IPv6 Headers." RFC 2474, December 1998. and IPv6 Headers." RFC 2474, December 1998.
Draft Differentiated Services MIB October 1999
[Architecture] [Architecture]
S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W.
Weiss, "An Architecture for Differentiated Service." RFC Weiss, "An Architecture for Differentiated Service." RFC
2475, December 1998. 2475, December 1998.
[AF] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured [AF] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured
Forwarding PHB Group." RFC 2597, June 1999. Forwarding PHB Group." RFC 2597, June 1999.
[EF] V. Jacobson, K. Nichols, K. Poduri. "An Expedited [EF] V. Jacobson, K. Nichols, K. Poduri. "An Expedited
Forwarding PHB." RFC 2598, June 1999. Forwarding PHB." RFC 2598, June 1999.
[Model] [Model]
Bernet et al, "A Conceptual Model for Diffserv Routers", Bernet et al, "A Conceptual Model for Diffserv Routers",
06/25/1999, draft-ietf-diffserv-model-00.txt March 2000, draft-ietf-diffserv-model-02.txt
[IFMIB] [IFMIB]
K. McCloghrie, F. Kastenholz. "The Interfaces Group MIB K. McCloghrie, F. Kastenholz. "The Interfaces Group MIB
using SMIv2", Request for Comments 2233, November 1997. using SMIv2", Request for Comments 2233, November 1997.
[DSPIB]
M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, A.
Smith "Differentiated Services Policy Information Base",
March 2000, draft-ietf-diffserv-pib-00.txt
[INETADDRESS]
Daniele, M., Haberman, B., Routhier, S., Schoenwaelder,
J. "Textual Conventions for Internet Network
Addresses.", February 17, 2000, draft-ops-endpoint-mib-
07.txt
[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
8. Authors' Addresses: 8. Authors' Addresses:
Fred Baker Fred Baker
519 Lado Drive 519 Lado Drive
Santa Barbara, California 93111 Santa Barbara, California 93111
fred@cisco.com fred@cisco.com
Kwok Ho Chan Kwok Ho Chan
Nortel Networks Nortel Networks
600 Technology Park Drive 600 Technology Park Drive
 End of changes. 224 change blocks. 
792 lines changed or deleted 1276 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/