view Side-By-Side changes
Date: Tue, 09 Apr 2002 01:54:18 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Thu, 16 Mar 2000 11:17:00 GMT
ETag: "2ed79c-20f24-38d0c2ac"
Accept-Ranges: bytes
Content-Length: 134948
Connection: close
Content-Type: text/plainInternet Engineering Task Force F. Baker
Diffserv Working Group Cisco Systems
INTERNET-DRAFT K. Chan
Expires:September
Expires November 2000 Nortel Networks
draft-ietf-diffserv-mib-03.txt A. Smith
Extreme Networks
May 2000
Management Information Base for the
Differentiated Services Architecture
draft-ietf-diffserv-mib-02.txt
Abstract
This memo describes a proposed MIB for the Differentiated
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
This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC 2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute working
documents as Internet-
Drafts. Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet Drafts as reference material
or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft
Shadow Directories can be accessed at http://www.ietf.org/shadow.html.
This particular draft document is being developed in a product of the IETF's Differentiated Services Working
Group. Discussion of it therefore belongs on
that list. Comments should be addressed to WG's mailing list at
diffserv@ietf.org. The charter for Differentiated Services may be found
at http://www.ietf.org/html.charters/diffserv-charter.html
Copyright (C) The Internet Society (2000). All Rights Reserved.
Distribution of this memo is unlimited.
Abstract
This memo describes a SMIv2 MIB for a device implementing the
Differentiated Services Architecture [DSARCH], described in detail by
the Differentiated Services Router Conceptual Model [MODEL].
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 1]
Internet Draft Differentiated Services MIB March May 2000
found at http://www.ietf.org/html.charters/diffserv-
charter.html
2.
1. The SNMP Management Framework
The SNMP Management Framework presently consists of five major
components:
o An overall architecture, described in RFC 2571 [1].
o Mechanisms for describing and naming objects and events for the
purpose of management. The first version of this Structure of
Management Information (SMI) is called SMIv1 and described in
RFC 1155 [2], RFC 1212 [3] and RFC 1215 [4]. The second version,
called SMIv2, is described in RFC 2578 [5], RFC 2579 [6] and RFC
2580 [7].
o Message protocols for transferring management information. The
first version of the SNMP message protocol is called SNMPv1 and
described in RFC 1157 [8]. A second version of the SNMP message
protocol, which is not an Internet standards track protocol, is
called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10].
The third version of the message protocol is called SNMPv3 and
described in RFC 1906 [10], RFC 2572 [11] and RFC 2574 [12].
o Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in RFC 1157 [8]. A second set of protocol operations
and associated PDU formats is described in RFC 1905 [13].
o A set of fundamental applications described in RFC 2573 [14] and
the view-based access control mechanism described in RFC 2575
[15].
A more detailed introduction to the current SNMP Management Framework
can be found in RFC 2570 [16].
Managed objects are accessed via a virtual information store, termed the
Management Information Base or MIB. Objects in the MIB are defined using
the mechanisms defined in the SMI.
This memo specifies a MIB module that is compliant to the SMIv2. A MIB
conforming to the SMIv1 can be produced through
Baker, Chan, SmithExpiration: September 2000 [Page 2]
Draft Differentiated Services MIB March 2000 the appropriate
translations. The resulting translated MIB must be semantically
equivalent, except where objects or events are omitted because no
translation is possible (use of Counter64). Some machine-readable
information in SMIv2 will be converted into textual descriptions in
SMIv1 during the translation process. However, this loss of machine
readable information is not considered to change the semantics of the
MIB.
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 3] 2]
Internet Draft Differentiated Services MIB March May 2000
3.
2. Structure of this MIB
This MIB is designed according to the Differentiated Services
implementation conceptual model documented in [Model].
3.1. [MODEL].
2.1. Overview
In principle, if one were to construct a network entirely out
The conceptual model [MODEL] discusses the way we model the ingress and
egress interfaces of two-port routers (in appropriate places connected by LANs
or similar media), an 'n'-port router. In this MIB, we model these
identically, making the distinction between them an index variable.
Each interface then it would be necessary for each router
to perform exactly four QoS control functions on traffic in
each direction:
- performs some or all of the following high-level
functions:
o Classify each message packet according to some set of rules
- In edge devices, determine
o Determine whether the data stream the
message packet is part of is within
or outside its rate
-
o Perform some a set of resulting actions, minimally possibly including applying a counting the
traffic, application of an appropriate drop policy appropriate to the
classification and queue in question, and in edge devices
perhaps additionally marking of
the traffic with a Differentiated Services Code Point (DSCP) as
defined in
[DSCP].
- [DSFIELD].
o Enqueue the traffic for output in the appropriate queue,
which whose
scheduler may shape the traffic or simply forward it with some
minimum rate or maximum latency.
If we build the network out of N-port routers, we expect the
behavior of
The MIB therefore contains the network to be identical. We are forced,
therefore, to provide essentially the same set of functions on
the ingress port of a router as on the egress port of a
router. Some interfaces will be "edge" interfaces following elements:
Classifier and Filter Tables
A general extensible framework and some
will be "interior" to the Differentiated Services domain. The one point of difference between an ingress example (an IP Six-Tuple
Multi-Field Classification Table).
Meter Tables
A general extensible framework and an egress
interface is that all traffic on an egress interface is
queued, while traffic on an ingress interface will typically
be queued only for shaping purposes.
Hence, in this MIB, we model them identically, making the
distinction between ingress one example (an exponential
weighted moving average meter).
Action Tables
Absolute Drop, Mark and egress interfaces an index
variable. Count actions. The MIB therefore contains "multiplexer",
"replicator" and "null" actions described in [MODEL] are
accomplished implicitly by means of the following elements:
- IP Six Tuple Multi-Field Classification Table
- Classifier Table RowPointer structures of
the other elements.
Queue, Scheduler and Algorithmic Dropper Tables
Queue, Scheduler and Algorithmic Dropper Tables.
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 4] 3]
Internet Draft Differentiated Services MIB March May 2000
- Meter Table
- Action and Action Type Tables
- Queue Set, Queue, and Queue Measurement Tables
3.2. Classifier Table
2.2. Classifiers
The classifier table indicates and filter tables determine how traffic is sorted out. It
identifies
They identify separable classes of traffic, by reference to an
appropriate classifier, filter, which may be select anything from an individual micro-flow micro-
flow to aggregates identified by DSCP. It
then sends
The classification is used to send these classified separate streams to an appropriate meter
meters or
action. In action elements. For example, to indicate a multi-stage meter,
sub-classes of traffic may be sent to different stages. For example, meter stages: e.g. in AF1, an
implementation of the Assured Forwarding (AF) PHB [AF-PHB], AF11 traffic
might be sent to the first meter, AF12 traffic might be sent to the second,
second and AF13 traffic sent to the second meter stage's failure out-of-profile
action.
2.2.1. Classifier Table
The structure of the classifier table table, as described in [MODEL], is a
sequence of unambiguous tests. Within each step stage in the sequence, it should
must not be important in which order - if order is present at all - the tests are made. This is to
facilitate optimized implementations such as index trees. Sequence Order is
present in
order only to resolve ambiguity.
For example, one might want first to disallow certain
applications from using the network at all, or to classify
some individual traffic streams that are not diff-serv marked.
Traffic that fails those tests might then be inspected ambiguity: for a
DSCP. "Then" implies sequence, and that reason the stage in the
sequence must be
somehow specified. is referred to here and in [MODEL] as the "precedence" of the
classifier stage: stages with higher values of precedence are compared
first; the order of tests for entries of the same precedence is
unimportant.
An important form of classifier is "everything else". The else": the final stage of
the classifier should be configured to i.e. the one with the lowest precedence, must be
complete, as
"complete" since the result of an incomplete classifier is not
necessarily deterministic. deterministic - see [MODEL] section 4.1.2.
The definition of the actual filter to be used by the classifier definition is
referenced via a
RowPointer, RowPointer: this enable enables the use of any sort of classification filter
table that one might wish to design, public standard or proprietary.
That classifier The filter
table need may be, but does not be found need to be, defined in this MIB. When
ambiguity is present, we disambiguate by explicitly ordering
the application of classification rules. MIB module.
The classifiers specified here are at the per interface level, level i.e. they are
indexed by ifIndex: they may be derived from some higher level policies, more general policies
e.g. something based on interface roles, but such discussion is out- side outside
the scope of this document.
Baker, Chan, SmithExpiration: September 2000 [Page 5]
Draft Differentiated Services MIB March 2000
3.2.1. See e.g. [POLTERM] section 4 for a
discussion of Roles.
2.2.2. IP Six Tuple Six-Tuple Classifier Table
This MIB currently specifies the includes a definition for an IP Six Tuple Six-Tuple Classifier, used for
IP traffic classification. Entry of Entries in this Classifier Table
is filter table are referenced
Baker, Chan, Smith Expires November 2000 [Page 4]
Internet Draft Differentiated Services MIB May 2000
from the entries of the diffServClassifierTable
via a RowPointer, namely RowPointer diffServClassifierPattern attribute attributes of diffServClassifierEntry object.
The classifier
table entries.
A Behavior Aggregate (BA) Classifier Classifier, acting only on DSCPs, is a simple
form of the IP Six Tuple Six-Tuple Classifier. It is represented by having the
diffServSixTupleClfrDscp attribute set to the desired DSCP, DSCP and all other
classification attributes set to match-all, the their default setting. settings. The
alternative approach of providing a specific definition in this MIB for
a BA Classifier was discussed and rejected.
Each entry in the IP Six Tuple Six-Tuple Classifier Table defines a single Classifier, with the use filter.
The textual convention of InetAddress [INETADDR] is used for both IPv4
and IPv6 addressing. The use of IP Six Tuple Six-Tuple Classifiers is discussed
in [Architecture] [DSARCH] and abstract examples of how they might be configured are
provided in
[Model].
3.3. Meter Table [MODEL].
2.3. Meters
A meter, according to the conceptual model, [MODEL] section 5, measures the rate at which
packets making up a stream of traffic passes pass it, compares it this rate to
some set of thresholds, thresholds and produces some number (two or more) of
potential results. A given message packet is said to "conform" to the meter if if,
at the time that the message packet is being looked at at, the stream appears to be
within the meter's limit rate. In the
MIB, the structure of SNMP profile. MIB syntax makes it easiest to implement define this
as a set sequence of one or more simple cascaded pass/fail tests, which are
cascaded. modeled here as
if-then-else constructs.
It is important to be understood understand that the meter in a Traffic
Control Block is therefore implemented as a set of if-then-
else constructs.
The concept this way of conformance modelling does not imply
anything about the implementation being "sequential": multi-rate/multi-
profile meters e.g. those designed to support [SRTCM] or [TRTCM], can
still be modelled this way even if they, of necessity, share information
between the stages: the stages are introduced merely as a meter bears a comment. The
concept applied notational
convenience in several rate-control architectures,
including ATM, Frame Relay, Integrated Services, and
Differentiated Services, order to simplify the MIB structure.
2.3.1. Meter Table
The generic meter table is variously described used as a "leaky
bucket" or a "token bucket".
A leaky bucket algorithm is primarily used base for traffic
shaping: traffic theoretically departs from all more specific forms of
meter. The definition of the switch at specific parameters of the meter to be
used is referenced via a
flat rate RowPointer: this enables the use of any sort of
specific meter table that one bit every so many time units, and in fact
departs might wish to design, standard or
proprietary. The specific meter table may be, but does not need to be,
defined in packets at a rate approximating that. It this MIB module.
2.3.2. Token-Bucket Meter Table
This is also
possible to build multi-rate leaky buckets, included as an example of a common type of meter. Entries in which traffic
this table are referenced from the RowPointer diffServMeterSpecific
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 6] 5]
Internet Draft Differentiated Services MIB March May 2000
departs from the switch at varying rates depending on recent
activity or inactivity.
A token bucket is used to measure the behavior
attributes of a peer's
leaky bucket, for verification purposes. It is, meter table entries. The parameters are represented by definition, a relationship
interval = burst/rate, or
rate = burst/interval
for some defined burst size, in bits, rate, in bits per
second, and time interval. Multi-rate token buckets (token
buckets with both a peak diffServTBMeterRate and a mean rate, and sometimes more
rates) are commonly used. In this case, the burst size for diffServTBMeterBurstSize.
2.4. Actions
Actions include "no action", "mark the
baseline traffic is conventionally referred to as the
"committed burst", and with a DSCP", "drop the time interval is
traffic" or "count it". Other tasks such as specified by
interval = committed burst/mean rate
but additional burst sizes (each an increment over its
predecessor) are defined, which "shape the traffic" or "drop
based on some algorithm" are conventionally referred to handled elsewhere as "excess" burst sizes. queueing mechanisms,
rather than actions, consistent with [MODEL]. The peak rate therefore equals the
sum of the burst sizes per interval.
A data stream is said to "conform" to a simple token bucket if "multiplexer",
"replicator" and "null" actions described in [MODEL] are accomplished
implicitly by means of the switch receives at most RowPointer structures of the burst size in a given time
interval. In other elements.
This MIB uses the multi-rate case, Action Table diffServActionTable to organize one
Action's relationship with the traffic is said element(s) before and after it. It allows
Actions to
conform be cascaded to enable multiple Actions be applied to a single
traffic stream by using each entry's diffServActionNext attribute. The
last entry's diffServActionNext attribute may point to the token bucket at next TCB
element, normally a given level if its rate does
not exceed Queueing element.
The parameters needed for each Action element will depend on the sum type of
Action to be taken. Hence there are specific Action Tables for all the relevant burst sizes
different Action types. This flexibility allows additional Actions be
specified in a given
interval. Received traffic pre-classified at one future revisions of the
"excess" rates (e.g., AF12 this MIB, or AF13 traffic) is only compared
to the relevant excess buckets.
The fact that data is organized into variable length packets
introduces some uncertainty in this. For this reason, other MIBs and also
allows for the
token bucket accepts a packet if any use of its bits would have
been accepted, and "borrows" any excess capacity required from
that allotted proprietary Actions without impact on those
defined here.
2.4.1. DSCP Mark Action Table
This Action is applied to equivalently classified traffic in order to mark it with a previous
or subsequent interval. More information about this is
available Diffserv
Codepoint (DSCP) value, specified in [Model].
Multiple classes of traffic, as identified by the classifier
table, may diffServDscpMarkActTable.
Other marking actions might be presented to specified elsewhere - these are outside
the same meter. Imagine, for
example, that we desire scope of this MIB.
2.4.2. Count Action Table
Count Actions are used to drop all traffic that uses any DSCP
that has not been publicly defined. A classifier entry might
exist for each such DSCP, shunting it count the traffic passing along a particular
path through the model. If specified, they are likely to an "accepts
everything" meter, be placed
first, before other types of Action. For example, when both a Count and dropping all
an Absolute Dropper Action are specified, the Count Action needs to
count the traffic stream before any traffic gets dropped. Note that conforms
there are counters contained directly in Algorithmic Dropper elements to
indicate the amount of traffic dropped by those elements.
Counters are arranged in a single table but with separate conformance
statements for low-speed and high-speed interfaces, consistent with
[IFMIB].
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 7] 6]
Internet Draft Differentiated Services MIB March May 2000
only that meter.
Clearly, it is necessary to identify what is to be done with
messages that conform
2.4.3. Absolute Drop Action
This action just silently discards all traffic presented to the meter, it, without
counting it. This action has no additional parameters and with messages that do
not. It so is also necessary for the meter to be arbitrarily
extensible,
represented only as some PHBs require the successive application of
an arbitrary number a diffServActionType of meters. The approach taken dropAlways without any
specific parameters (diffServActionSpecific value will be null).
2.5. Queueing Elements
These include Algorithmic Droppers, Queues and Schedulers.
2.5.1. Algorithmic Dropper Table
Algorithmic Droppers have a close relationship with queueing: they are
represented in this
design is MIB by entries in an Algorithmic Dropper Table.
Entries contain a "next" attribute which indicates to have each meter indicate what action is which queue they
sink their traffic. They may also contain a pointer to be
taken specific detail
of the drop algorithm. This MIB only defines the detail for conforming traffic, and what meter one drop
algorithm, Tail Drop; other algorithms are outside the scope of this MIB
but the general framework is intended to be used allow for
traffic which fails to conform. With the definition their inclusion in
other modules.
One generally-applicable parameter of a
special type dropper is the specification of meter to
a queue-depth threshold at which all traffic conforms, we now
have the necessary flexibility.
3.4. Action Table
Considerable discussion has taken place regarding the possible
actions. Suggested actions include "no action", "mark the
traffic", "drop the traffic, based on some algorithm", "shape
the traffic", "count it". This MIB attempts drop action is to make the
specification start. This is
represented in this MIB, as a base attribute of the action flexible Algorithmic Dropper
entry, 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 pointing to
a single traffic stream. The parameters needed will depend on the type of Action queue for which depth is to be taken. Hence there are Action Tables
for compared and
the different Action Types. This MIB currently defines
parameters for: 1. Mark Action, 2. Count Action, 3. Drop
Action,
This flexibility allows additional Actions be specified in
future revisions of this MIB, or threshold, in other MIBs. And possible
usage of propietary Action without impact bytes, to the Actions
provided here.
The Mark Action compare against.
<ed: is relatively straight forward.
For Count Action, when it we need to represent a dropper as depending on multiple queues
then this single-queue pointer and threshold is specified, it not adequate: should we
leave them here or not? they will always be
applied first, before any other type useful for many, but not all,
dropper algorithms.>
o A Tail Dropper requires the specification of Actions. For example,
when both Count and a Drop Action is specified, the Count
Action will always count maximum queue depth
threshold: when the total counts of this traffic
stream, before queue pointed at by diffServAlgDropQMeasure
reaches that depth threshold, diffServAlgDropQThresh, any new
traffic gets dropped, even if arriving at the Action
entries are chained with dropper is discarded.
o Random Droppers require more detailed specification of the Drop Action first, before the
Count Action. There
characteristics of their drop functions. Representations of these
functions are counters in the Drop Actions to
indicate outside the ammount scope of traffic dropped, within this MIB although they should
use the drop
context.
The Drop Actions require close relationship with queueing, available diffServAlgDropQMeasure and
diffServAlgDropQThresh parameters where possible.
<ed: should we keep this example (next 3 paragraphs) or not? It is not
supported by the current MIB.>
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 8] 7]
Internet Draft Differentiated Services MIB March May 2000
with detail as follows:
The Tail Drop Action requires the specification of a maximum
queue depth, at which point any traffic exceeding the maximum
queue depth gets discarded.
*Editor's Note Start*
There is still debates on what
attributes are needed and how they may be related to queueing.
The following is viewed as the complex description of how it
may be done. The following set
As an example of attributes and its
description may be simplified before this memo is finalized.
There is a more detail discussion of why these attributes are
required in [ActQMgmt].
*Editor's Note End*
The Random Drop Action requires the specification of its drop
characteristic with random dropper, RED-like droppers often have the following parameters (drop
characteristic
function described using as a plot with of drop probability,
P, as Y axis, and average probability (P) against
averaged queue length, Q, as X axis):
1. Pmin and Qmin length (Q). (Qmin,Pmin) 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 (Qmax,Pmax) defines a
"knee" on the plot, after which point the drop probability become
more progressive (greater slope).
Qclip (Qclip,1) defines the average queue
length at which all packets will be dropped, probability = 1. dropped. Notice this is
different from Tail Drop because this uses average an averaged queue
length. It is possible for Qclip = Qmax, meaning when Qmax.
The calculation of the average averaged queue length exceeds Qmax, all packets will be dropped.
3. The sampling interval and average weight parameters are used
for calculation may also have an
important bearing on the behaviour of average queue. These the dropper: parameters are
important because they can affect may
include the behavior sampling interval and outcome
of the drop process. They can also weight of each sample. The
performance may be very sensitive to the values of these parameters
and
may have a wide range of possible values may be required due to a wide
range of link speeds, hence the use of real number format for
average weight. speeds. There is ongoing research on this topic, see
e.g. [ACTQMGMT].
Deterministic Drop Action Droppers can be viewed as a special case of Random Drop
Droppers with the drop probability restricted to zero 0 and one. 1. Hence
Deterministic Drop Action can Droppers might be described as follows:
1. by a Random Dropper with
Pmin = 0 and 0, Pmax = 1. 2. 1, Qmin = Qmax = Qclip indicating Qclip, the average averaged queue length that drop
at which dropping occurs.
Baker, Chan, SmithExpiration: September 2000 [Page 9]
Draft Differentiated Services MIB March 2000
For the drop actions, each drop process
Each dropper 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 implementations may require. This
setup also
allows the flexibility for Action specification,
including sequences of multiple sequential drop processes droppers 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
2.5.2. Queues 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 Schedulers
The Queueing element consists of Queue Table and Queue Set
Table. With Queue Table containing relatively models simple FIFO
queues. Using the Queue Set queues, as described in [MODEL]
section 7.1.1. The Scheduler Table to allow allows flexibility in constructing
both simple and somewhat more complex queueing hierarchies. hierarchies from those
queues. Of course, since TCBs can be cascaded multiple times on an
interface, even more complex hierarchies can be constructed that way
also.
The queue entries in the Queue Table have simple attributes,
it includes a reference to attributes which queue set the queue belongs
to, and include a weight parameter. For Priority Queueing,
specification of the weight
parameter indicates scheduler which services the priority queue. They are
pointed at by the "next" attributes 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 upstream elements e.g.
diffServMeterSucceedNext. Note that multiple upstream elements may
direct their traffic to the same queue set. Queue Table entry. For weighed queueing
algorithms, the weight parameter is a percentage number. With example, 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
Assured Forwarding PHB suggests that all traffic marked AF11, AF12 or
AF13 be placed in the same queue set. The weight
values for all queue, after metering, without reordering.
This would be represented by having the queues within a queue set must add up to
less than or equal to 100,000 (100%). Each queue is capable diffServMeterSucceedNext of acting as a work-conserving queue, one which transmits as each
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 10] 8]
Internet Draft Differentiated Services MIB March May 2000
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
upstream meter point at the same entry in the Queue Set Table.
The Scheduler Table describes the attributes
common to all queues within the queue set. This includes represented in this MIB module contains entries,
each of which represents the
dequeueing Method, or algorithm used amongst in use for servicing the one or
more queues that feed it. The [MODEL] section 7.1.2 describes a
scheduler with multiple inputs: this is represented in the
queue set. Currently, priority queueing, Weighed Fair
Queueing, Weighed Round Robin are listed as MIB by
including the possible
chooses, other methods/algorithms, e.g. Class Base Queueing, scheduling parameters associated with a scheduler input in
the Queue Table entry that feeds it and having that point at one
particular Scheduler Table entry. In this way, sets of Queues 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
grouped together as inputs to the
child queue set's total weight amongst same Scheduler. This table serves to
represent the queues example scheduler described in the
parent queue set. There can [MODEL]: other more
complex representations might be multiple children queue set
under one parent queue set, with each child queue set looks
like created outside of this MIB.
Each scheduler input, as represented by a queue from the parent queue set's perspective. Hence
queue sets can be recursively defined, inter mixing Queue Table entry, is assigned
a priority with
queues at any level. respect to all the other inputs feeding the same
scheduler. A mixed dequeue scheduling discipline can higher-priority input will be built for an
interface. For example, serviced first over a lower-
priority input, assuming that all guarantees have already been met.
This priority parameter, used on its own with default values for 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
other parameters, serves to allow representation of a Strict Priority Queueing, it have 2 child Queue Sets. Queue
Set 71 uses Weighed Fair
scheduler.
For Weighted Queueing algorithms e.g. WFQ, WRR, the "weight" of a given
scheduler input is represented with KBPS as RateUnit.
Baker, Chan, SmithExpiration: September 2000 [Page 11]
Draft Differentiated Services MIB March 2000
Queue Set 81 uses Weighed Round Robin with Packets/Sec a Minimum Service Rate leaky-bucket
profile which provides guaranteed bandwidth to that input, if required.
This is represented, as
RateUnit.
Queues 11, 12, queue sets 71 were token-bucket meters, by a rate
diffServQueueMinRateAbs and 81 belongs to Queue Set 61.
Queues 21, 22, 23 belongs to Queue Set 71. Queues 31, 32
belongs a burst size diffServQueueMinBurstSize. The
rate may, alternatively, be represented by a relative value, as a
fraction of the interface's current line rate, diffServQueueMinRateRel
to Queue Set 81.
All traffic assist in queue 11 will be serviced first, then all
traffic in queue 12 will be serviced second. After traffic in
queues 11 and 12 are serviced, queues 21, 22, 23 are serviced
among themselves in a fair queueing fashion, based on their
respective weight. After traffic in queues 21, 22, 23 are
serviced, queues 31, 32 cases where line rates are serviced among themselves in variable or where 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 rates for each queue can higher-level
policy might be derived: Queue 21 have
minimum rate expressed in terms of 50% fractions of 10000 KBPS, 5000 KBPS. Queue 31 have
minimum network resources.
The two rate of 70% of 500 Pkt/Sec, 350 Pkt/Sec.
Other types of scheduling algorithms can parameters are inter-related and changes in one may be used
reflected in the parent
or child queue sets, creating different queueing behaviors.
The queue set can other.
An input may also operate be capable of acting as a non-work-conserving [MODEL]
traffic shaper shaper: this is done by using
the maximum rate attribute.
Chains of Queues/Queue Sets can be built using the NextTCB
attribute defining a Maximum Service Rate leaky-
bucket profile in Queue Set entry.
Multiple meters may direct their traffic order to limit the same queue.
For example, the Assured Forwarding PHB suggests scheduler bandwidth available to
that all
traffic marked AF11, AF12, or AF13 be placed in the same queue
without reordering.
3.6. The use of RowPointer
RowPointer input. This is a textual convention used represented, similarly to identify a
conceptual row in an SNMP Table the minimum rate, by pointing to one of its
objects. In this MIB, it is used in two ways: to indicate
indirection, a
rate diffServQueueMaxRateAbs and to indicate succession.
When used for indirection, a burst size diffServQueueMaxBurstSize.
The rate may, alternatively, be represented by a relative value, as in a
fraction of the Classifier table, interface's current line rate, diffServQueueMaxRateRel.
2.5.3. Example of Algorithmic Droppers, Queues and Schedulers
As an example, the
idea hypothetical queue/scheduler configuration shown in
[MODEL] section 8.1 is to allow other MIBs, including proprietary ones, to
identify new and arcane classifiers - MAC headers, IP4 and IP6
Baker, Chan, SmithExpiration: September shown in Table 1.
Baker, Chan, Smith Expires November 2000 [Page 12] 9]
Internet Draft Differentiated Services MIB March May 2000
QId MinRate MaxRate Priority Scheduler
--- ---------------- ---------------- -------- ---------
1 100kbps/20kbyte none/none 20 Scheduler.1
2 none/none 100kbps/100kbyte 40 Scheduler.1
3 200kbps/20kbyte none/none 20 Scheduler.1
4 none/none none/none 10 Scheduler.1
SchedId Type
------- ------------------
1 weightedRoundRobin
Table 1: Example Queue and Scheduler Parameters
Queues 1 and 3 are serviced for long enough to give them their promised
bandwidths and burst sizes, if they need them. Queue 2 is then serviced
up to its maximum limit profile. Only then does Queue 4 get an
opportunity to send its traffic. As an example of the use of the MIB
structures, Figure 1 shows how the example would be represented.
2.5.4. Example of extending this MIB
<ed: is it worth having this example here?>
One way to extend this MIB structure to accomodate a more complex
dropping algorithm might be to define a specific dropper table in
another MIB module, pointed at by diffServAlgDropSpecific, containing
its own parameters, as shown in figure 2. This algorithm might depend
for its operation e.g. on feedback of a queue's depth but pre-processed
by some type of smoothing function with its own parameters. The extended
table could still use some of the fields of the standard Algorithmic
Dropper Table, if relevant, although any divergent uses would have to be
well-documented in the extended MIB.
2.6. The use of RowPointer
RowPointer is a textual convention used to identify a conceptual row in
an SNMP Table by pointing to one of its objects. In this MIB, it is used
in two ways: to indicate indirection and to indicate succession.
When used for indirection, as in the diffServClassifierTable, the idea
is to allow other MIBs, including proprietary ones, to identify new and
arcane classifiers - MAC headers, IP4 and IP6 headers, BGP Communities, Communities
and all sorts of other things.
When used for succession, it answers the question "what happens next?".
Rather than presume that the next table must be as specified in the conceptual model and providing its
index, the RowPointer takes you to the
Baker, Chan, Smith Expires November 2000 [Page 10]
Internet Draft Differentiated Services MIB row representing May 2000
+-----------+
----------------------->| Next -----+
| Min=Profl4| |
| Max=none | |
| Pri=20 | |
| Type=fifo | |
+-----------+ |
Queue.ifIndex.1 |
|
+-----------+ +-----------+ |
--->| Next -----+--->| Next ------+
| Thresh=1k | | | Min=none | |
| Measure -----+ | Max=Profl5| |
| Type=Tail | | Pri=40 | |
| Spec=none | | Type=fifo | | +----------+
+-----------+ +-----------+ +--->| Next -----> 0.0
Dropper.1 Queue.ifIndex.2 | | Algrm=wrr| or next TCB
| +----------+
+-----------+ +-----------+ | Scheduler.ifIndex.1
--->| Next -----+--->| Next -----+
| Thresh=2k | | | Min=Profl3| |
| Measure -----+ | Max=none | |
| Type=Tail | | Pri=20 | |
| Spec=none | | Type=fifo | |
+-----------+ +-----------+ |
Dropper.2 Queue.ifIndex.3 |
|
+-----------+ +-----------+ |
--->| Next ------+--->| Next -----+
| Thresh=4k | | | Min=none |
| Measure -----+ | Max=none |
| Type=Tail | | Pri=10 |
| Spec=none | | Type=fifo |
+-----------+ +-----------+
Dropper.3 Queue.ifIndex.4
Figure 1: Example of the use of Queueing elements
Baker, Chan, Smith Expires November 2000 [Page 11]
Internet Draft Differentiated Services MIB May 2000
+-----------+ +-----------+
--->| Next ------+--->| Next ---------> to Scheduler
| Thresh=X | | | Min=none |
| Measure -----+ | Max=none |
| Type=Ext | | Pri=10 |
| Spec -----+ | Type=fifo |
+-----------+ | +-----------+
Dropper.3 | Queue.ifIndex.4
|
| +-------------+
+--->|Smooth1=10 |
|Smooth2=2000 |
| <etc.> |
+-------------+
DropperExt.3
Figure 2: Example of extending the MIB for more complex droppers
conceptual model [MODEL] and providing its index, the RowPointer takes
you to the MIB row representing that thing. In the Meter Table, diffServMeterTable,
for example, the "FailNext" diffServMeterFailNext RowPointer might take you to
another meter, while the
"SucceedNext" diffServMeterSucceedNext RowPointer would take
you to an action.
The RowPointer construct is used to build the TCBs described in [MODEL]:
this MIB does not model TCBs directly - it operates at a lower level of
abstraction using only individual elements, connected in succession by
RowPointers. Therefore, the concept of TCBs enclosed in other more
functional TCBs is not applicable to this MIB, although such a concept
may be employed by management tools that use this MIB.
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 13] 12]
Internet Draft Differentiated Services MIB March May 2000
4. MIB Definition
DIFF-SERV-MIB DEFINITIONS ::= BEGIN
IMPORTS
Unsigned32, Counter32, Counter64, OBJECT-TYPE,
MODULE-IDENTITY, zeroDotZero, mib-2 FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, RowPointer, TestAndIncr
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
ifIndex FROM IF-MIB
DisplayString FROM RFC1213-MIB
InetAddressType, InetAddress FROM INET-ADDRESS-MIB;
diffServMib MODULE-IDENTITY
LAST-UPDATED "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999
ORGANIZATION "Cisco Systems"
CONTACT-INFO
" Fred Baker
Postal: 519 Lado Drive
Santa Barbara, California 93111
Tel: +1 (408) 526-4257
FAX: +1 (805) 681-0115
E-mail: fred@cisco.com
Kwok Ho Chan
Postal: 600 Technology Park Drive
Billerica, Massachusetts 01821, USA
Tel: +1 (978) 288-8175
FAX: +1 (978) 288-4690
E-mail: khchan@nortelnetworks.com
Andrew Smith
Postal: 3585 Monroe St.
Santa Clara, California 95051
Tel: +1 (408) 579 2821
FAX: +1 (408) 579 3000
E-mail: andrew@extremenetworks.com"
DESCRIPTION
"This MIB defines the objects necessary
3. Editorial information
<this section will be removed before publication>
3.1. Open Issues resolved in this draft
(0) Terminology is more in line with [MODEL], [POLTERM] and [DSTERM].
Discarder -> "Algorithmic Dropper", "Monitor" -> "Counter"
"Classifier element" -> "Filter"
(1) Cascaded token-buckets is not equivalent to manage multi-rate token-
bucket: do we need to fix this by allowing a
device that uses multi-rate TB in the Differentiated Services
Architecture
MIB? Or, by defining cascaded buckets to mean "multi-rate". (assume
the latter - see text in 2.3)
(2) Markers: model only describes DSCP-markers: do we need to be able
to extend this to other sorts (e.g. 802.1p), even if we do not
represent them in this MIB today? (yes). No MIB changes, just
words.
(3) Counters: should specific blocks include their own or is a "counter
action", as described in RFC 2475 the Model, sufficient to count all paths
through a device? (as appropriate). Per-queue counters are
derivable from "action" ones. Per-classifier counters: may feed
through from clasifiers to distinct counter actions.
(4) Queue Sets: are these generally applicable? (no). The example in
section 2.5.1 is hard to follow: we should describe this example in
[MODEL] and then show how it maps to MIB in the Conceptual
Model MIB draft. - DONE
(5) Do we need scheduling units of "packets"? (NO) Should we use "kbps"
or just "bps" for DiffServ Routers rates? DONE - all rates are in draft-ietf-diffserv-
model-01.txt."
REVISION "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999
DESCRIPTION
"Initial version, published kbps.
(6) Are "absolute" rates sufficient or should we include "relative to
line speed" ones as RFC xxxx." well? (yes) - DONE - explained that these are
interrelated.
(7) Scheduler weights vs. rates vs. priorities: this is confusing -
suggest we stick to rates and priorities (see Model draft 7.1.2) -
DONE.
(8) Queue Measure table:
o This allows for RIO - multiple averaging functions for the same
queue: is this needed? OUT OF SCOPE.
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 14] 13]
Internet Draft Differentiated Services MIB March May 2000
::= { mib-2 12345 } -- anybody who uses this unassigned
-- number deserves the wrath of IANA
diffServObjects OBJECT IDENTIFIER ::= { diffServMib 1 }
diffServTables OBJECT IDENTIFIER ::= { diffServMib 2 }
diffServAugments OBJECT IDENTIFIER ::= { diffServMib 3 }
diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 4 }
--
-- These textual conventions 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.
--
Dscp ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The code point used for discriminating a traffic
stream."
SYNTAX INTEGER (-1 | 0..63)
SixTupleClfrL4Port ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A value indicating a Layer-4 protocol port number."
SYNTAX INTEGER (0..65535)
Baker, Chan, SmithExpiration: September 2000 [Page 15]
Draft Differentiated Services MIB March 2000
--
-- Classifiers
--
-- The tools for IP Six Tuple Classification.
-- This object allows a configuring system to obtain a
-- unique value for diffServSixTupleClfrId for purposes
-- of configuration.
diffServSixTupleClfrUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServSixTupleClfrUnique object yields a unique new
value for diffServSixTupleClfrId when read and subsequently
set. This value must be tested for uniqueness."
::= { diffServObjects 1 }
diffServSixTupleClfrTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServSixTupleClfrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of IP Six Tuple Classifier entries that a
system may use to identify traffic."
::= { diffServTables 1 }
diffServSixTupleClfrEntry OBJECT-TYPE
SYNTAX DiffServSixTupleClfrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An IP Six Tuple Classifier entry describes a single
classifier."
INDEX { diffServSixTupleClfrId }
::= { diffServSixTupleClfrTable 1 }
DiffServSixTupleClfrEntry ::= SEQUENCE {
diffServSixTupleClfrId Unsigned32,
diffServSixTupleClfrAddrType InetAddressType,
diffServSixTupleClfrDstAddr InetAddress,
diffServSixTupleClfrDstAddrMask InetAddress,
diffServSixTupleClfrSrcAddr InetAddress,
diffServSixTupleClfrSrcAddrMask InetAddress,
diffServSixTupleClfrDscp Dscp,
diffServSixTupleClfrProtocol INTEGER,
Baker, Chan, SmithExpiration: September 2000 [Page 16]
Draft Differentiated Services MIB March 2000
diffServSixTupleClfrDstL4PortMin SixTupleClfrL4Port,
diffServSixTupleClfrDstL4PortMax SixTupleClfrL4Port,
diffServSixTupleClfrSrcL4PortMin SixTupleClfrL4Port,
diffServSixTupleClfrSrcL4PortMax SixTupleClfrL4Port,
diffServSixTupleClfrStatus RowStatus
}
diffServSixTupleClfrId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique id for the classifier. This object is meant
to be pointed to by a RowPointer from other tables,
such as the diffServClassifierPattern."
::= { diffServSixTupleClfrEntry 1 }
diffServSixTupleClfrAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The type of IP address used by this classifier entry."
::= { diffServSixTupleClfrEntry 2 }
diffServSixTupleClfrDstAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The IP address to match against the packet's
destination IP address."
::= { diffServSixTupleClfrEntry 3 }
diffServSixTupleClfrDstAddrMask OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A mask for the matching of the destination IP address.
A zero bit in the mask means that the corresponding bit
in the address always matches."
DEFVAL {0}
::= { diffServSixTupleClfrEntry 4 }
diffServSixTupleClfrSrcAddr OBJECT-TYPE
SYNTAX InetAddress
Baker, Chan, SmithExpiration: September 2000 [Page 17]
Draft Differentiated Services MIB March 2000
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The IP address to match against the source IP address
of each packet."
::= { diffServSixTupleClfrEntry 5 }
diffServSixTupleClfrSrcAddrMask OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A mask for the matching of the source IP address. A
zero bit in the mask means that the corresponding bit
in the address always matches."
DEFVAL {0}
::= { diffServSixTupleClfrEntry 6 }
diffServSixTupleClfrDscp OBJECT-TYPE
SYNTAX Dscp
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The value that the DSCP in the packet must have to
match this entry. A value of -1 indicates that a
specific DSCP value has not been defined and thus all
DSCP values are considered a match."
DEFVAL {-1}
::= { diffServSixTupleClfrEntry 7 }
diffServSixTupleClfrProtocol OBJECT-TYPE
SYNTAX INTEGER (0..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The IP protocol to match against the IPv4 protocol
number in the packet. A value of zero means match all."
DEFVAL {0}
::= { diffServSixTupleClfrEntry 8 }
diffServSixTupleClfrDstL4PortMin OBJECT-TYPE
SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The minimum value that the layer-4 destination port
number in the packet must have in order to match this
Baker, Chan, SmithExpiration: September 2000 [Page 18]
Draft Differentiated Services MIB March 2000
classifier entry."
DEFVAL {0}
::= { diffServSixTupleClfrEntry 9 }
diffServSixTupleClfrDstL4PortMax OBJECT-TYPE
SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum value that the layer-4 destination port
number in the packet must have in order to match this
classifier entry. This value must be equal to or
greater that the value specified for this entry in
diffServSixTupleClfrDstL4PortMin."
DEFVAL {65535}
::= { diffServSixTupleClfrEntry 10 }
diffServSixTupleClfrSrcL4PortMin OBJECT-TYPE
SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The minimum value that the layer-4 source port number
in the packet must have in order to match this
classifier entry."
DEFVAL {0}
::= { diffServSixTupleClfrEntry 11 }
diffServSixTupleClfrSrcL4PortMax OBJECT-TYPE
SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The maximum value that the layer-4 source port number
in the packet must have in oder to match this
classifier entry. This value must be equal to or
greater that the value specified for this entry in
dsSixTupleIpSrcL4PortMin."
DEFVAL {65535}
::= { diffServSixTupleClfrEntry 12 }
diffServSixTupleClfrStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation,
Baker, Chan, SmithExpiration: September 2000 [Page 19]
Draft Differentiated Services MIB March 2000
deactivation, or deletion of a classifier. Any writable
variable may be modified whether the row is active or
notInService."
::= { diffServSixTupleClfrEntry 13 }
-- Classifier Table
-- This object allows a configuring system to obtain a
-- unique value for diffServClassifierNumber
o mixes config with status objects - split these? N/A.
o do we need floating-point representation for purposes of
-- configuration
diffServClassifierUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServClassifierUnique object yields a unique
new value "weight"? N/A.
o do we need MIB visibility for diffServClassifierId when read and
subsequently set. This value must average queue depth? N/A.
o do we need MIB-configurable averaging functions (sample
weight/interval)? (maybe just "sample weight") - NO: averaging
functions will be tested for
uniqueness."
::= { diffServObjects 2 }
-- The Classifier Table left out although framework allows us to enumerate the relationship
-- between arbitrary classifiers and the meters which apply
-- for their
inclusion separately.
(9) Counter compliance: paste text from IF-MIB re line-speeds. Do you
still have to classified streams.
diffServClassifierTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServClassifierEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The classifier table defines do the classifiers that a
system applies to incoming traffic. Specific
classifiers low-speed counters for fast interfaces? YES.
DONE.
(10) Meters: are defined by RowPointers in this table
which identify entries in classifier tables these mandatory for compliance? NO
(11) Discussion material: move most of specific
type, this to Model draft e.g. Multi-field classifiers for IP are defined
in diffServSixTupleClfrTable. Other classifier types
may be defined elsewhere."
::= { diffServTables 2 }
diffServClassifierEntry OBJECT-TYPE
SYNTAX DiffServClassifierEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the classifier table describes a single
Baker, Chan, SmithExpiration: September 2000 [Page 20]
Draft Differentiated Services MIB March 2000
classifier."
INDEX { ifIndex, diffServInterfaceDirection,
diffServClassifierId }
::= { diffServClassifierTable 1 }
DiffServClassifierEntry ::= SEQUENCE {
diffServInterfaceDirection INTEGER,
diffServClassifierId Unsigned32,
diffServClassifierPattern RowPointer,
diffServClassifierNext RowPointer,
diffServClassifierPrecedence Unsigned32,
diffServClassifierStatus RowStatus
}
diffServInterfaceDirection OBJECT-TYPE
SYNTAX INTEGER {
inbound(1), -- ingress interface
outbound(2) -- egress interface
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Specifies most of
3.1, 3.3, "Dropper/discarder" part of 3.4, nearly all of 3.5. Just
leave the direction for this entry on "how does the
interface. 'inbound' traffic is operated on during
receipt, while 'outbound' traffic is operated on prior
to transmission."
::= { diffServClassifierEntry 1 }
diffServClassifierId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Classifier Id enumerates MIB map from the classifier entry."
::= { diffServClassifierEntry 2 }
diffServClassifierPattern OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A pointer Model" parts in the MIB
draft, no general discussion. DONE.
(12) Counters: merged in 32-bit and 64-bit counters - conformance
statements sort out which ones must be implemented. This is
consistent with [IFMIB]. DONE.
(13) Droppers: we used to have a valid entry in another common "dropper" table that
describes represented
all of: dropAlways, randomDrop, tailDrop with just some parameters
valid for the applicable classification pattern, e.g.
an entry simpler ones. A simpler representation is to define
specific dropper tables for each type (e.g. a single OID to point
at for dropAlways since it is always the last action in diffServSixTupleClfrTable. If a chain)
but this would mean a larger number of (simpler) MIB objects.
CHANGES: dropAlways is still an Action but the row
pointed others are moved to does not exist,
a diffServAlgDropTable. This table can handle tail/head drop. Other
algorithms, specifically RED, are out of scope for now but can be
added using the classifier is ignored.
The value zeroDotZero is interpreted framework defined here.
(14) Should TBMeterTable just AUGMENT the MeterTable, should it use same
indices or are separate structures linked by RowPointers
preferable? SAME INDICES - DONE.
(15) Do we need to match anything model multiple queues feeding back into a single
dropper algorithm? (yes). If so, the current single-queue pointer
and threshold will not be adequate - should we leave them in? They
will be useful for many, but not all, dropper algorithms. (yes)
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 21] 14]
Internet Draft Differentiated Services MIB March May 2000
not matched by another classifier - only one such entry
may exist in this table."
DEFVAL { zeroDotZero }
::= { diffServClassifierEntry 3 }
diffServClassifierNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The 'next' variable selects
(17) We have concepts of "inbound" and "outbound" directions: but if we
have a series of multiple TCBs on a given interface for the next datapath element same
direction (allowed by the model) then we do not have a way to handle
indicate "this is the classified flow. For example, this can
points 1st one". Moreover, it is a somewhat
convoluted process to then find the 2nd, 3rd etc. ones - you would
have to follow the RowPointers to get there: should we explicitly
have an entry in index to enable/help these lookup operations? Note: this is
not the meter or action table."
::= { diffServClassifierEntry 4 }
diffServClassifierPrecedence OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The relative precedence in which same issue as needing a "precedence" for each filter entry
of a classifier (yes) - added another index to classifiers are
applied, higer numbers to
represent classifiers with
higher precedence. Classifiers with the same
precedence must be unambiguous, i.e. what "level" they must define
non-overlapping patterns. Classifiers with different
precedence may overlap in their patterns: operate at for a given
interface/direction.
3.2. Still Open Issues
(16) How should the
classifier with creation of counter actions be under the highest precedence that matches control of
manager or agent: should a diffServActionEntry and
diffServCountActEntry appear by magic (the device surely knows what
counters it can and cannot maintain on a given interface)? (assume
no) If not, should diffServCountActEntry appear magically when a
diffServAction element is
taken."
DEFVAL { 0 }
::= { diffServClassifierEntry 5 }
diffServClassifierStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls created which points at the activation,
deactivation,
diffServCountActTable (then would be no need for
diffServCountActStatus)? (assume no)
(18) Should manager be allowed to create Queue elements or deletion should agent
be in control of a classifier. Any writable
variable may this? (the former)
(19) Should manager be modified whether allowed to create Scheduler elements or should
agent be in control of this? (the former)
(20) Related to (17) above, do we also need a "level" index for elements
other than classifiers? (no)
(21) Do we need diffServAlgDropType of both "headDrop" and "tailDrop" or
should we just represent the tail dropper by placing a dropper
after the queue instead of before the row is active or
notInService."
::= { diffServClassifierEntry 6 } queue, as linked by the
diffServQNext and diffServAlgDropNext RowPointers? (the former).
(22) Do we need to support RED algorithms for algorithm parameter
configuration and monitoring? If so, what variables are needed?
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 22] 15]
Internet Draft Differentiated Services MIB March May 2000
--
-- Meters
--
-- This
4. MIB includes definitions for Token-Bucket
-- Meters as one example of possible meters.
-- This object allows a configuring system to obtain a
-- unique value for diffServTBMeterId for purposes of
-- configuration
diffServTBMeterUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServTBMeterUnique object yields a unique new
value for diffServTBMeterId when read and subsequently
set. This value must be tested for uniqueness." Definition
DIFF-SERV-MIB DEFINITIONS ::= { diffServObjects 3 }
diffServTBMeterTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServTBMeterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Meter Table enumerates specific token bucket
meters that a system may use to police a stream BEGIN
IMPORTS
Unsigned32, Counter32, Counter64, OBJECT-TYPE,
MODULE-IDENTITY, OBJECT-IDENTITY, zeroDotZero, mib-2
FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, RowPointer, TestAndIncr
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
ifIndex
FROM IF-MIB
InetAddressType, InetAddress
FROM INET-ADDRESS-MIB
BurstSize
FROM INTEGRATED-SERVICES-MIB;
diffServMib MODULE-IDENTITY
LAST-UPDATED "200005110000Z"
ORGANIZATION "IETF Diffserv WG"
CONTACT-INFO
" Brian Carpenter (co-chair of
classified traffic. The traffic stream is defined by
the classifier. It may include all traffic."
::= { diffServTables 3 }
diffServTBMeterEntry OBJECT-TYPE
SYNTAX DiffServTBMeterEntry
MAX-ACCESS not-accessible
STATUS current Diffserv WG)
c/o iCAIR
1890 Maple Ave, #150
Evanston, IL 60201, USA
Phone: +1 847 467 7811
E-mail: brian@icair.org
Kathie Nichols (co-chair of Diffserv WG)
Cisco Systems
170 W. Tasman Drive
San Jose, CA 95134-1706, USA
Phone: +1 408 525 4857
E-mail: kmn@cisco.com
Fred Baker (author)
Cisco Systems
519 Lado Drive
Santa Barbara, CA 93111, USA
E-mail: fred@cisco.com
Kwok Ho Chan (author)
Nortel Networks
600 Technology Park Drive
Baker, Chan, Smith Expires November 2000 [Page 16]
Internet Draft Differentiated Services MIB May 2000
Billerica, MA 01821, USA
E-mail: khchan@nortelnetworks.com
Andrew Smith (author)
Extreme Networks
3585 Monroe St.
Santa Clara, CA 95051, USA
E-mail: andrew@extremenetworks.com"
DESCRIPTION
"An entry in
"This MIB defines the meter table describes objects necessary to manage a single token
bucket meter. Note device that a meter has exactly one rate,
defined as
uses the burst size each time interval. Multiple
meters may be cascaded should a multi-rate token bucket
be needed Differentiated Services Architecture described in a given Per-Hop Behavior. An example of
such a PHB is AF."
INDEX RFC
2475 and the Conceptual Model for DiffServ Routers in draft-ietf-
diffserv-model-03.txt."
REVISION "200005110000Z"
DESCRIPTION
"Initial version, published as RFC xxxx."
::= { ifIndex, diffServInterfaceDirection,
diffServTBMeterId mib-2 12345 } -- anybody who uses this unassigned
-- number deserves the wrath of IANA
diffServObjects OBJECT IDENTIFIER ::= { diffServTBMeterTable diffServMib 1 }
Baker, Chan, SmithExpiration: September 2000 [Page 23]
Draft Differentiated Services MIB March 2000
DiffServTBMeterEntry
diffServTables OBJECT IDENTIFIER ::= SEQUENCE {
diffServTBMeterId Unsigned32,
diffServTBMeterRate Unsigned32,
diffServTBMeterBurstSize Unsigned32,
diffServTBMeterFailNext RowPointer,
diffServTBMeterSucceedNext RowPointer,
diffServTBMeterStatus RowStatus diffServMib 2 }
diffServTBMeterId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"MeterId enumerates the meter entry."
diffServMIBConformance OBJECT IDENTIFIER ::= { diffServTBMeterEntry 1 diffServMib 3 }
diffServTBMeterRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "KBPS"
MAX-ACCESS read-create
-- These textual conventions have 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.
Dscp ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The token bucket rate, in kilo-bits per second (KBPS).
Note IP header Diffserv Code-Point that if multiple meters are cascaded onto one PHB,
the peak rate of the data stream may be used for
discriminating or marking a traffic stream. The value -1 is the sum of their
rates."
::= { diffServTBMeterEntry 2 }
diffServTBMeterBurstSize OBJECT-TYPE used
to indicate a wildcard i.e. any value."
SYNTAX Unsigned32
UNITS "bytes"
MAX-ACCESS read-create INTEGER (-1 | 0..63)
SixTupleClfrL4Port ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The number of bytes in
"A value indicating a single transmission burst.
The interval can be derived with (BurstSizex8)/Rate."
::= { diffServTBMeterEntry 3 }
diffServTBMeterFailNext OBJECT-TYPE Layer-4 protocol port number."
SYNTAX RowPointer
MAX-ACCESS read-create INTEGER (0..65535)
IfDirection ::= TEXTUAL-CONVENTION
STATUS current
Baker, Chan, Smith Expires November 2000 [Page 17]
Internet Draft Differentiated Services MIB May 2000
DESCRIPTION
"If the
"Specifies a direction of data travel on an interface. 'inbound'
traffic does NOT conform to the meter, FailNext
indicates is operated on during reception from the next datapath element interface, while
'outbound' traffic is operated on prior to handle transmission on the
traffic. For example, an Action or Meter datapath
interface."
SYNTAX INTEGER {
inbound(1), -- ingress interface
outbound(2) -- egress interface
}
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 24] 18]
Internet Draft Differentiated Services MIB March May 2000
element.
--
-- Classifiers
--
--
-- Classifier Table
--
-- The value zeroDotZero in this variable
indicates no further DiffServ treatment is performed on
this flow by Classifier Table allows us to enumerate the current interface for this interface
direction."
DEFVAL { zeroDotZero }
::= { diffServTBMeterEntry 4 }
diffServTBMeterSucceedNext relationship
-- between arbitrary classifiers and the subsequent downstream
-- Diffserv elements.
diffServClassifierTable OBJECT-TYPE
SYNTAX RowPointer SEQUENCE OF DiffServClassifierEntry
MAX-ACCESS read-create not-accessible
STATUS current
DESCRIPTION
"If the traffic does conform to the meter, SucceedNext
indicates
"The classifier table defines the next datapath element classifiers that a system
applies to handle the incoming traffic. For example, an Action or Meter datapath
element. The value zeroDotZero Specific classifiers are defined by
RowPointers in the entries of this table which identify entries
in filter tables of specific types, e.g. Multi-Field Classifiers
(MFCs) for IP are defined in this variable
indicates no further DiffServ treatment is performed on
this flow by the current interface for this interface
direction."
DEFVAL { zeroDotZero } diffServSixTupleClfrTable. Other
classifier types may be defined elsewhere."
REFERENCE
"[MODEL] section 4.1"
::= { diffServTBMeterEntry 5 diffServTables 1 }
diffServTBMeterStatus
diffServClassifierEntry OBJECT-TYPE
SYNTAX RowStatus DiffServClassifierEntry
MAX-ACCESS read-create not-accessible
STATUS current
DESCRIPTION
"The RowStatus variable controls
"An entry in the activation,
deactivation, or deletion of classifier table describes a meter. Any writable
variable may be modified whether single element of
the row is active or
notInService." classifier."
INDEX { ifIndex, diffServClassifierIfDirection,
diffServClassifierLevel, diffServClassifierId }
::= { diffServTBMeterEntry 6 diffServClassifierTable 1 }
DiffServClassifierEntry ::= SEQUENCE {
diffServClassifierIfDirection IfDirection,
diffServClassifierLevel Unsigned32,
diffServClassifierId INTEGER,
diffServClassifierFilter RowPointer,
diffServClassifierNext RowPointer,
diffServClassifierPrecedence Unsigned32,
diffServClassifierStatus RowStatus
}
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 25] 19]
Internet Draft Differentiated Services MIB March May 2000
--
-- Actions
--
-- Notice the Drop Action attributes are referenced by
diffServClassifierIfDirection OBJECT-TYPE
SYNTAX IfDirection
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Specifies the
-- action table rather than by direction for this classifier entry on the queue table because
-- Differentiated Services PHBs, such as
interface."
::= { diffServClassifierEntry 1 }
diffServClassifierLevel OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Specifies the Assured Service,
-- permit differently classified traffic to have different
-- drop parameters even though they occupy level of the same queue."
--
-- Mark Action Table
-- Rows TCB of which this table classifier element
is pointed to by diffServAction to
-- provide detail parameters specific to an Action Type.
-- This object allows a configuring system part. Lower numbers indicate an element that belongs to obtain a
-- unique value for diffServMarkActId for purposes
classifier that is part of
-- configuration.
diffServMarkActUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServMarkActUnique object yields a unique new
value for diffServMarkActId when read and subsequently
set. This value must be tested for uniqueness." TCB that is applied to traffic
before those with higher numbers."
::= { diffServObjects 4 diffServClassifierEntry 2 }
diffServMarkActTable
diffServClassifierId OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServMarkActEntry INTEGER (0..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The mark action table
"A classifier ID that enumerates specific DSCPs used
for marking or remarking the DSCP field. classifier elements. The entries set
of such identifiers spans the whole agent - managers should
obtain new values for row creation in this table is meant to be referenced by the
diffServAction attribute of entries in
diffServActionTable for diffServActionType = mark." using
diffServClassifierUnique."
::= { diffServTables 4 diffServClassifierEntry 3 }
diffServMarkActEntry
diffServClassifierFilter OBJECT-TYPE
SYNTAX DiffServMarkActEntry RowPointer
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"An
"A pointer to a valid entry in the mark action another table that describes a single
DSCP used for marking." the
applicable classification filter, e.g. an entry in
diffServSixTupleClfrTable. If the row pointed to does not exist,
the classifier is ignored.
The value zeroDotZero is interpreted to match anything not
matched by another classifier - only one such entry may exist in
this table."
DEFVAL { zeroDotZero }
::= { diffServClassifierEntry 4 }
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 26] 20]
Internet Draft Differentiated Services MIB March May 2000
INDEX { diffServMarkActId }
::= { diffServMarkActTable 1 }
DiffServMarkActEntry ::= SEQUENCE {
diffServMarkActId Unsigned32,
diffServMarkActDscp Dscp,
diffServMarkActStatus RowStatus
}
diffServMarkActId
diffServClassifierNext OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) RowPointer
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"Mark Action Id enumerates
"This selects the Mark Action entry." next datapath element to handle packets
matching the filter pattern. For example, this can point to an
entry in a meter or action table."
::= { diffServMarkActEntry 1 diffServClassifierEntry 5 }
diffServMarkActDSCP
diffServClassifierPrecedence OBJECT-TYPE
SYNTAX Dscp Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The DSCP this Action TCB uses for marking/remarking
traffic with." Note that if the classifier is working
from the same DSCP value, no effective change relative precedence in which classifiers are applied: higher
numbers represent classifiers with higher precedence.
Classifiers with the
DSCP results.
Differentiated Services same precedence must be unambiguous i.e.
they must define non-overlapping patterns. Classifiers with
different precedence may result overlap in packet remarking
both on ingress to a network and on egress, and it their filters: the classifier
with the highest precedence that matches is
quite taken.
On a given interface, there must be a complete classifier in
place at all times. This means that there must be always be one
or more filters that match every possible pattern that ingress and egress would occur could be
presented in
the same router." an inclming packet."
DEFVAL { 0 }
::= { diffServMarkActEntry 2 diffServClassifierEntry 6 }
diffServMarkActStatus
diffServClassifierStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or
deletion of this entry. a classifier. Any writable variable may be modified
whether the row is active or notInService."
::= { diffServMarkActEntry 3 diffServClassifierEntry 7 }
-- Count Action Table
-- Rows of this table is pointed to
diffServClassifierUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServClassifierUnique object yields a unique new value
for diffServClassifierId when read and subsequently set. This
value must be tested for uniqueness and can be used by diffServAction to a
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 27] 21]
Internet Draft Differentiated Services MIB March May 2000
-- provide detail parameters specific to Count Action.
-- This object allows a
configuring system to obtain a
-- unique value for diffServCountActId
diffServClassifierId for purposes of row creation in the
diffServClassifierTable."
::= { diffServObjects 1 }
-- configuration.
diffServCountActUnique
-- IP Six-Tuple Classification Table
--
-- Classification based on 6 different fields in the IP
-- header. This is intended to be IP-version-independent.
--
diffServSixTupleClfrTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServSixTupleClfrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of IP Six-Tuple Classifier filter entries that a system
may use to identify IP traffic."
REFERENCE
"[MODEL] section 4.2.2"
::= { diffServTables 2 }
diffServSixTupleClfrEntry OBJECT-TYPE
SYNTAX DiffServSixTupleClfrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An IP Six-Tuple Classifier entry describes a single filter."
INDEX { diffServSixTupleClfrId }
::= { diffServSixTupleClfrTable 1 }
DiffServSixTupleClfrEntry ::= SEQUENCE {
diffServSixTupleClfrId INTEGER,
diffServSixTupleClfrDstAddrType InetAddressType,
diffServSixTupleClfrDstAddr InetAddress,
diffServSixTupleClfrDstAddrMask Unsigned32,
diffServSixTupleClfrSrcAddrType InetAddressType,
diffServSixTupleClfrSrcAddr InetAddress,
diffServSixTupleClfrSrcAddrMask Unsigned32,
diffServSixTupleClfrDscp Dscp,
diffServSixTupleClfrProtocol INTEGER,
diffServSixTupleClfrDstL4PortMin SixTupleClfrL4Port,
diffServSixTupleClfrDstL4PortMax SixTupleClfrL4Port,
diffServSixTupleClfrSrcL4PortMin SixTupleClfrL4Port,
diffServSixTupleClfrSrcL4PortMax SixTupleClfrL4Port,
diffServSixTupleClfrStatus RowStatus
Baker, Chan, Smith Expires November 2000 [Page 22]
Internet Draft Differentiated Services MIB May 2000
}
diffServSixTupleClfrId OBJECT-TYPE
SYNTAX TestAndIncr INTEGER (0..2147483647)
MAX-ACCESS read-write not-accessible
STATUS current
DESCRIPTION
"The diffServCountActUnique object yields a
"A unique new
value id for diffServCountActId when read and subsequently
set. This value must the filter. Filters may be tested for uniqueness." shared by multiple
interfaces in the same system."
::= { diffServObjects 5 diffServSixTupleClfrEntry 1 }
diffServCountActTable
diffServSixTupleClfrDstAddrType OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServCountActEntry InetAddressType
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"The count action table contains flow specific
counters. The entries type of IP destination address used by this table is meant classifier
entry."
::= { diffServSixTupleClfrEntry 2 }
diffServSixTupleClfrDstAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The IP address to be
referenced by match against the diffServAction attribute of entries
in diffServActionTable for diffServActionType = count." packet's destination IP
address."
::= { diffServTables 5 diffServSixTupleClfrEntry 3 }
diffServCountActEntry
diffServSixTupleClfrDstAddrMask OBJECT-TYPE
SYNTAX DiffServCountActEntry Unsigned32
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"An entry
"The length of a mask for the matching of the destination IP
address. Masks are constructed by setting bits in sequence from
the count action table describes a single
set most-significant bit downwards for
diffServSixTupleClfrDstAddrMask bits length. All other bits in
the mask, up to the number needed to fill the length of flow specific counters. This counter entry is
associated with a traffic flow via the
diffServActionEntry pointing
address diffServSixTupleClfrDstAddr are cleared to it."
INDEX { diffServActionId, diffServCountActId }
::= { diffServCountActTable 1 }
DiffServCountActEntry zero. A zero
bit in the mask then means that the corresponding bit in the
address always matches."
DEFVAL {0}
::= SEQUENCE {
diffServCountActId Unsigned32,
diffServCountActOctetsCnt Counter32,
diffServCountActPktsCnt Counter32,
diffServCountActStatus RowStatus diffServSixTupleClfrEntry 4 }
diffServCountActId
diffServSixTupleClfrSrcAddrType OBJECT-TYPE
SYNTAX InetAddressType
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 28] 23]
Internet Draft Differentiated Services MIB March May 2000
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Count Action Id enumerates the Count Action read-create
STATUS current
DESCRIPTION
"The type of IP source address used by this classifier entry."
::= { diffServCountActEntry 1 diffServSixTupleClfrEntry 5 }
diffServCountActOctetsCnt
diffServSixTupleClfrSrcAddr OBJECT-TYPE
SYNTAX Counter32
UNITS "octets" InetAddress
MAX-ACCESS read-only read-create
STATUS current
DESCRIPTION
"The number of Octets at the Action datapath element.
Meaning the octets has been classified and possibly
metered, and prior IP address 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
at re-initialization of the management system, and at
other times as indicated by match against the value source IP address of
ifCounterDiscontinuityTime." each
packet."
::= { diffServCountActEntry 2 diffServSixTupleClfrEntry 6 }
diffServCountActPktsCnt
diffServSixTupleClfrSrcAddrMask OBJECT-TYPE
SYNTAX Counter32
UNITS "packets" Unsigned32
MAX-ACCESS read-only read-create
STATUS current
DESCRIPTION
"The number length of Packets at a mask for the Action datapath element.
Meaning matching of the packets has been classified and possibly
metered, and prior to any dropping process. This object
may be used on low speed interfaces, and represents source IP address.
Masks are constructed by setting bits in sequence from the
least most-
significant 32 bit downwards for diffServSixTupleClfrSrcAddrMask
bits length. All other bits of diffServCountActPktsHCount in the augmented extension.
Discontinuities in mask, up to the value of this counter can occur
at re-initialization number needed
to fill the length of the management system, and at
other times as indicated by address diffServSixTupleClfrSrcAddr are
cleared to zero. A zero bit in the value of
ifCounterDiscontinuityTime." mask then means that the
corresponding bit in the address always matches."
DEFVAL {0}
::= { diffServCountActEntry 3 diffServSixTupleClfrEntry 7 }
diffServCountActStatus
diffServSixTupleClfrDscp OBJECT-TYPE
SYNTAX RowStatus
Baker, Chan, SmithExpiration: September 2000 [Page 29]
Draft Differentiated Services MIB March 2000 Dscp
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls value that the activation,
deactivation, or deletion of this entry. Any writable
variable may be modified whether DSCP in the row is active or
notInService." packet must have to match this
entry. A value of -1 indicates that a specific DSCP value has not
been defined and thus all DSCP values are considered a match."
DEFVAL {-1}
::= { diffServCountActEntry 4 diffServSixTupleClfrEntry 8 }
--
-- High Capacity Counter Extension for Count Action Table
--
diffServCountActXTable
diffServSixTupleClfrProtocol OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServCountActXEntry INTEGER (0..255)
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"This table contains the high capacity counters for
"The IP protocol to match against the
counters IPv4 protocol number in the Count Action Table. These objects are
all 64-bit versions
Baker, Chan, Smith Expires November 2000 [Page 24]
Internet Draft Differentiated Services MIB May 2000
packet. A value of the basic counters, having the
same basic semantics as their 32-bit counterparts, with
syntax extended to 64 bits."
AUGMENTS { diffServCountActEntry } zero means match all."
DEFVAL {0}
::= { diffServAugments 1 diffServSixTupleClfrEntry 9 }
diffServCountActXEntry
diffServSixTupleClfrDstL4PortMin OBJECT-TYPE
SYNTAX DiffServCountActXEntry SixTupleClfrL4Port
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"An entry containing
"The minimum value that the 64 bit counters applicable layer-4 destination port number in
the packet must have in order to
a specific drop action match this classifier entry."
DEFVAL {0}
::= { diffServActionXTable 1 }
DiffServCountActXEntry ::= SEQUENCE {
diffServCountActOctetsHCnt Counter64,
diffServCountActPktsHCnt Counter64 diffServSixTupleClfrEntry 10 }
diffServCountActOctetsHCnt
diffServSixTupleClfrDstL4PortMax OBJECT-TYPE
SYNTAX Counter64 SixTupleClfrL4Port
MAX-ACCESS read-only read-create
STATUS current
DESCRIPTION
"The number of Octets at maximum value that the Action datapath element.
Meaning layer-4 destination port number in
the packets has been classified and possibly
Baker, Chan, SmithExpiration: September 2000 [Page 30]
Draft Differentiated Services MIB March 2000
metered, and prior packet must have in order to any dropping process. match this classifier entry.
This
object should value must be used on high speed interfaces.
Discontinuities in equal to or greater that the value of specified
for this counter can occur
at re-initialization of the management system, and at
other times as indicated by the entry in diffServSixTupleClfrDstL4PortMin."
DEFVAL {65535}
::= { diffServSixTupleClfrEntry 11 }
diffServSixTupleClfrSrcL4PortMin OBJECT-TYPE
SYNTAX SixTupleClfrL4Port
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The minimum value of
ifCounterDiscontinuityTime." that the layer-4 source port number in the
packet must have in order to match this classifier entry."
DEFVAL {0}
::= { diffServCountActXEntry 1 diffServSixTupleClfrEntry 12 }
diffServCountActPktsHCnt
diffServSixTupleClfrSrcL4PortMax OBJECT-TYPE
SYNTAX Counter64 SixTupleClfrL4Port
MAX-ACCESS read-only read-create
STATUS current
DESCRIPTION
"The number of Packets at maximum value that the Action datapath element.
Meaning layer-4 source port number in the packets has been classified and possibly
metered, and prior
packet must have in oder to any dropping process. match this classifier entry. This
object should
value must be used on high speed interfaces.
Discontinuities in equal to or greater that the value of specified for
this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
ifCounterDiscontinuityTime." entry in dsSixTupleIpSrcL4PortMin."
DEFVAL {65535}
::= { diffServCountActXEntry 2 diffServSixTupleClfrEntry 13 }
-- Drop Action Table
-- Rows of this table is pointed to by diffServAction to
-- provide detail parameters specific to an Action Type.
-- Notice
Baker, Chan, Smith Expires November 2000 [Page 25]
Internet Draft Differentiated Services MIB May 2000
diffServSixTupleClfrStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the use of diffServQueueId as part activation, deactivation, or
deletion 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 classifier. Any writable variable may be modified
whether the row is active or notInService."
::= { diffServSixTupleClfrEntry 14 }
diffServSixTupleClfrUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServDropActUnique diffServSixTupleClfrUnique object yields a unique new
value for diffServDropActId diffServSixTupleClfrId when read and subsequently
set. This value must be tested for uniqueness." uniqueness and can
be used by a configuring system to obtain a
unique value for diffServSixTupleClfrId for purposes of
row creation in the diffServSixTupleClfrTable."
::= { diffServObjects 6 2 }
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 31] 26]
Internet Draft Differentiated Services MIB March May 2000
diffServDropActTable
--
-- Meters
--
-- This MIB includes definitions for a generic Meter
-- Table as well as specific definitions for Token-
-- Bucket Meters, as one example of possible meters.
--
diffServMeterTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServDropActEntry DiffServMeterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The drop action
"This table enumerates sets of attributes
used to represent generic meters that a drop process. Each set is normally
associated with system may use to
police a queue. The entries stream of this table is
meant classified traffic. The traffic stream to be referenced
metered is determined by the diffServAction attribute classifier upstream of entries the meter
i.e. by the object(s) that point to each entry 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"
using a RowPointer. This may include all traffic on an interface.
Specific meter details are to be found in diffServMeterSpecific."
REFERENCE
"[MODEL] section 5.1"
::= { diffServTables 6 3 }
diffServDropActEntry
diffServMeterEntry OBJECT-TYPE
SYNTAX DiffServDropActEntry DiffServMeterEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the drop action meter table describes describing a single
drop process's configuration. For Tail Drop Process:
For Random Drop Process: (QMin,PMin) and (QMax,PMax)
defines meter."
INDEX { ifIndex, diffServMeterIfDirection,
diffServMeterId }
::= { diffServMeterTable 1 }
DiffServMeterEntry ::= SEQUENCE {
diffServMeterIfDirection IfDirection,
diffServMeterId INTEGER,
diffServMeterSucceedNext RowPointer,
diffServMeterFailNext RowPointer,
diffServMeterSpecific OBJECT IDENTIFIER,
diffServMeterStatus RowStatus
}
diffServMeterIfDirection OBJECT-TYPE
SYNTAX IfDirection
MAX-ACCESS not-accessible
STATUS current
Baker, Chan, Smith Expires November 2000 [Page 27]
Internet Draft Differentiated Services MIB May 2000
DESCRIPTION
"Specifies the drop probability used direction for this meter entry on the random drop
process. Normally PMin have interface."
::= { diffServMeterEntry 1 }
diffServMeterId OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This identifies a value of zero. QClip
defines meter entry."
::= { diffServMeterEntry 2 }
diffServMeterSucceedNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If the guaranteed average queue depth, after which traffic does conform to the meter, this indicates the
next datapath element to handle the traffic e.g. an Action or
another Meter datapath element. The value zeroDotZero in this
variable indicates no further Diffserv treatment is performed on
this traffic by the drop probability reaches 100%. For Deterministic
Drop Process: QMeasure points to an entry providing
Queue Measurement needed current interface for the drop process."
INDEX { diffServQueueId, diffServDropActId }
::= this interface
direction."
DEFVAL { diffServTable 1 zeroDotZero }
DiffServDropActEntry
::= SEQUENCE {
diffServDropActId Unsigned32,
diffServDropActQMin Unsigned32,
diffServDropActQMax Unsigned32,
diffServDropActQClip Unsigned32,
diffServDropActPMin Unsigned32,
diffServDropActPMax Unsigned32,
diffServDropActPCur Unsigned32,
diffServDropActQMeasure RowPointer,
diffServDropActOctetsCnt Counter32,
diffServDropActPktsCnt Counter32,
diffServDropActStatus RowStatus diffServMeterEntry 3 }
Baker, Chan, SmithExpiration: September 2000 [Page 32]
Draft Differentiated Services MIB March 2000
diffServDropActId
diffServMeterFailNext OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) RowPointer
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"Drop Action Id enumerates
"If the Drop traffic does not conform to the meter, this indicates the
next datapath element to handle the traffic e.g. an Action entry." or
Meter datapath element. The value zeroDotZero in this variable
indicates no further Diffserv treatment is performed on this
traffic by the current interface for this interface direction."
DEFVAL { zeroDotZero }
::= { diffServDropActEntry 1 diffServMeterEntry 4 }
diffServDropActQMin
diffServMeterSpecific OBJECT-TYPE
SYNTAX Unsigned32
UNITS "Kilo Bits" OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"QMin, with PMin, defines
"This indicates the lowerest drop probability
point for this random drop process. With PMin=0, behaviour of the
queue may drop if a packet is presented meter by pointing to it and an
object containing detailed parameters. One example of a valid
object would be diffServTBMeterTable, whose entries are indexed
Baker, Chan, Smith Expires November 2000 [Page 28]
Internet Draft Differentiated Services MIB May 2000
by the
average queue depth exceeds QMin." same variables as this table, for describing an instance
of a token-bucket meter."
::= { diffServDropActEntry 2 diffServMeterEntry 5 }
diffServDropActQMax
diffServMeterStatus OBJECT-TYPE
SYNTAX Unsigned32
UNITS "Kilo Bits" RowStatus
MAX-ACCESS read-create
STATUS current
"QMax, with PMax, defines
DESCRIPTION
"The RowStatus variable controls the higher point activation, deactivation, or
deletion of drop
probability for random drop process. For Tail Drop
Process: This represents the measure by which the
queue will drop if a packet meter. Any writable variable may be modified
whether the row is presented to it." active or notInService."
::= { diffServDropActEntry 3 diffServMeterEntry 6 }
diffServDropActQClip
diffServMeterUnique OBJECT-TYPE
SYNTAX Unsigned32
UNITS "Kilo Bits" TestAndIncr
MAX-ACCESS read-create read-write
STATUS current
DESCRIPTION
"The average queue length at which point diffServMeterUnique object yields a unique new value for
diffServMeterId when read and subsequently set. This value must
be tested for uniqueness and can be used by a configuring system
to obtain a unique value for diffServMeterId for purposes of row
creation in the drop
probability reaches 100%." diffServMeterTable."
::= { diffServDropActEntry 4 diffServObjects 3 }
diffServDropActPMin
--
-- Token-Bucket Meter Table
--
diffServTBMeterTable OBJECT-TYPE
SYNTAX Unsigned32 (0..1000000)
UNITS "per-micro-age" SEQUENCE OF DiffServTBMeterEntry
MAX-ACCESS read-write not-accessible
STATUS current
"QMin, with PMin, defines the lowerest drop probability
point
DESCRIPTION
"This table enumerates specific token-bucket meters that a system
may use to police a stream of traffic. Such meters are modelled
here as having a single rate and a burst size.
Multiple meter elements may be logically cascaded if a multi-rate
token bucket is needed for a given Per-Hop Behavior. One example
of such a PHB might be for an AF implementation. This is not
meant to imply that cascading of such elements is functionally
equivalent to a multi-rate meter, it is merely a convenience for
this random drop process. With PMin=0, MIB representation.
Entries in this table share indexing with those in the base
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 33] 29]
Internet Draft Differentiated Services MIB March May 2000
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
diffServTBMeterTable: they appear in
this attribute needs to be divided by 1,000,000 to
obtain the drop probability between 0 and 1." are deleted from this
table whenever they "
REFERENCE
"[MODEL] section 5.1.3"
::= { diffServDropActEntry 5 diffServTables 4 }
diffServDropActPMax
diffServTBMeterEntry OBJECT-TYPE
SYNTAX Unsigned32 (0..1000000)
UNITS "per-micro-age" DiffServTBMeterEntry
MAX-ACCESS read-write not-accessible
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
DESCRIPTION
"An entry that describes a single token-bucket meter, indexed by 1,000,000 to obtain
the drop probability
between 0 and 1." same variables as a diffServMeterEntry."
INDEX { ifIndex, diffServMeterIfDirection,
diffServMeterId }
::= { diffServDropActEntry 6 diffServTBMeterTable 1 }
DiffServTBMeterEntry ::= SEQUENCE {
diffServTBMeterRate Unsigned32,
diffServTBMeterBurstSize BurstSize,
diffServTBMeterStatus RowStatus
}
diffServDropActPCur
diffServTBMeterRate OBJECT-TYPE
SYNTAX Unsigned32 (0..1000000)
UNITS "per-micro-age" "kilobits per second"
MAX-ACCESS read-only read-create
STATUS current
DESCRIPTION
"The current drop probability. This drop probability
is expressed in per-micro-age, the value token-bucket rate, in this
attribute needs to be divided by 1,000,000 to obtain
the drop probability between 0 and 1." kilobits per second (kbps)."
::= { diffServDropActEntry 7 diffServTBMeterEntry 1 }
diffServDropActQMeasure
diffServTBMeterBurstSize OBJECT-TYPE
SYNTAX RowPointer BurstSize
UNITS "Bytes"
MAX-ACCESS read-create
STATUS current
"Points to an entry
DESCRIPTION
"The maximum number of bytes in a single transmission burst. The
interval over which the diffServQMeasureTable for
queue information required by the drop process." burst is to be measured can be derived as
diffServTBMeterBurstSize*8*1000/diffServTBMeterRate."
::= { diffServDropActEntry 8 diffServTBMeterEntry 2 }
diffServDropActOctetsCnt
diffServTBMeterStatus OBJECT-TYPE
SYNTAX Counter32 RowStatus
MAX-ACCESS read-only read-create
STATUS current
Baker, Chan, Smith Expires November 2000 [Page 30]
Internet Draft Differentiated Services MIB May 2000
DESCRIPTION
"The number RowStatus variable controls the activation, deactivation, or
deletion of octets that have been dropped by a drop
process. On high speed devices, this object implements meter. Any writable variable may be modified
whether the least significant 32 bits of
diffServDropActOctetsHCnt. row is active or notInService."
::= { diffServTBMeterEntry 3 }
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 34] 31]
Internet Draft Differentiated Services MIB March May 2000
Discontinuities in
--
-- Actions
--
--
-- The Action Table allows enumeration of the value different
-- types of this counter actions to be applied to a traffic flow.
--
diffServActionTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServActionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Action Table enumerates actions that can occur
at re-initialization be performed to a
stream of traffic. Multiple actions can be concatenated. For
example, after marking a stream of traffic exiting from a meter,
a device can then perform a count action of the management system, and at
other times as conforming or
non-conforming traffic.
Specific actions are indicated by diffServActionSpecific which
points to another object which describes the value of
ifCounterDiscontinuityTime." action in further
detail."
REFERENCE
"[MODEL] section 6."
::= { diffServDropActEntry 9 diffServTables 5 }
diffServDropActPktsCnt
diffServActionEntry OBJECT-TYPE
SYNTAX Counter32 DiffServActionEntry
MAX-ACCESS read-only not-accessible
STATUS current
DESCRIPTION
"The number of packets that have been dropped by a drop
process. On high speed devices, this object implements
the least significant 32 bits of
diffServDropActPktsHCnt.
Discontinuities
"An entry in the value of this counter can occur
at re-initialization of action table describing the management system, and actions applied to
traffic arriving at
other times as indicated by the value of
ifCounterDiscontinuityTime." its input."
INDEX { ifIndex, diffServActionIfDirection,
diffServActionId }
::= { diffServDropActEntry 10 diffServActionTable 1 }
DiffServActionEntry ::= SEQUENCE {
diffServActionIfDirection IfDirection,
diffServActionId INTEGER,
diffServActionNext RowPointer,
diffServActionSpecific RowPointer,
diffServActionStatus RowStatus
}
diffServDropActStatus
diffServActionIfDirection OBJECT-TYPE
Baker, Chan, Smith Expires November 2000 [Page 32]
Internet Draft Differentiated Services MIB May 2000
SYNTAX RowStatus IfDirection
MAX-ACCESS read-create not-accessible
STATUS current
DESCRIPTION
"The RowStatus variable controls
"Specifies the activation,
deactivation, or deletion of direction for this entry. Any writable
variable may be modified whether action entry on the row is active or
notInService." interface."
::= { diffServDropActEntry 11 diffServActionEntry 1 }
--
-- High Capacity Counter Extension for Drop Action Table
--
diffServDropActXTable
diffServActionId OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServDropActXEntry INTEGER (0..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains the high capacity counters for the
counters in
"Action Id enumerates the Drop Action Table. These objects are
all 64 bit versions of the basic counters, having entry."
::= { diffServActionEntry 2 }
diffServActionNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The Next pointer indicates the
same basic semantics as their 32-bit counterparts, with
syntax extended next datapath element to 64 bits."
Baker, Chan, SmithExpiration: September 2000 [Page 35]
Draft Differentiated Services MIB March 2000
AUGMENTS 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 { diffServDropActEntry zeroDotZero }
::= { diffServAugments 2 diffServActionEntry 3 }
diffServDropActXEntry
diffServActionSpecific OBJECT-TYPE
SYNTAX DiffServDropActXEntry RowPointer
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"An entry containing the 64 bit counters applicable
"Pointer to a specific drop action entry."
::= { diffServDropActXTable 1 }
DiffServDropActXEntry ::= SEQUENCE {
diffServDropActOctetsHCnt Counter64,
diffServDropActPktsHCnt Counter64
}
diffServDropActOctetsHCnt OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number MIB table providing additional information for the
type of octets that have been dropped action indicated by a drop
process. This object should be used on high speed
interfaces.
Discontinuities in this action table entry.
For the value of standard actions defined by this counter can occur
at re-initialization MIB module, this should
point to an entry in one of the management system, and at
other times as indicated by diffServDscpMarkActTable,
diffServCountActTable tables or to the value of
ifCounterDiscontinuityTime." diffServAbsoluteDropAction
OID. For other actions, it may point to a table defined in some
other MIB."
::= { diffServDropActXEntry 1 diffServActionEntry 4 }
diffServDropActPktsHCnt
diffServActionStatus OBJECT-TYPE
SYNTAX Counter64 RowStatus
MAX-ACCESS read-only read-create
STATUS current
DESCRIPTION
"The number of packets that have been dropped by a drop
process. This object should be used on high speed
interfaces.
Discontinuities in the value of this counter can occur
at re-initialization of the management system, and at
other times as indicated by the value of
ifCounterDiscontinuityTime."
::= { diffServDropActXEntry 2 }
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 36] 33]
Internet Draft Differentiated Services MIB March May 2000
-- This object allows a configuring system to obtain a
-- unique value for diffServActionId for purposes
DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or
deletion of
-- configuration a meter. Any writable variable may be modified
whether the row is active or notInService."
::= { diffServActionEntry 5 }
diffServActionUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServActionUnique object yields a unique new new value for
diffServActionId when read and subsequently set. This value must
be tested for uniqueness. This object allows a configuring
system to obtain a unique value for diffServActionId when read and subsequently
set. This value must be tested for uniqueness." purposes
of row creation."
::= { diffServObjects 7 4 }
-- The DSCP Mark Action Table allows us to enumerate the different
-- types
-- Rows of actions this table are pointed to be applied by diffServAction to a flow.
diffServActionTable
-- provide detailed parameters specific to the DSCP
-- Mark action.
diffServDscpMarkActTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServActionEntry DiffServDscpMarkActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Action Table
"This table enumerates actions that can be
performed to a stream of traffic. Multiple Actions can
be concatenated. For example, specific DSCPs used for 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
remarking the DSCP field of
action. IP packets. The set entries of flow specific counters this
table may be referenced by a diffServActionSpecific attribute
that points to diffServDscpMarkActTable."
REFERENCE
"[MODEL] section 6.1"
::= { diffServTables 6 }
diffServDscpMarkActEntry OBJECT-TYPE
SYNTAX DiffServDscpMarkActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the Count DSCP mark action table describes a single DSCP
used for marking."
INDEX { diffServDscpMarkActDscp }
::= { diffServDscpMarkActTable 1 }
Baker, Chan, Smith Expires November 2000 [Page 34]
Internet Draft Differentiated Services MIB May 2000
DiffServDscpMarkActEntry ::= SEQUENCE {
diffServDscpMarkActDscp Dscp
}
diffServDscpMarkActDscp OBJECT-TYPE
SYNTAX Dscp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The DSCP that this Action Table maintains statistics uses for a flow marking/remarking traffic.
Note that
arrives it is quite possible that the only packets subject to
this Action datapath element. This count is
always taken before any drop processing are already marked with this DSCP.
Diffserv may result in packet remarking both on ingress to a
network and on egress and it is performed." quite possible that ingress and
egress would occur in the same router."
::= { diffServDscpMarkActEntry 1 }
--
-- Count Action Table
--
diffServCountActTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServCountActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains counters for all the traffic passing through
an action element."
REFERENCE
"[MODEL] section 6.5"
::= { diffServTables 7 }
diffServActionEntry
diffServCountActEntry OBJECT-TYPE
SYNTAX DiffServActionEntry DiffServCountActEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the count action table describes the actions
applied to a single set of
traffic exiting counters. This entry is indexed in the same way as a given meter."
diffServActionEntry. An entry should exist in this table for
every diffServActionEntry that has a diffServActionSpecific
pointing to this table."
INDEX { ifIndex, diffServInterfaceDirection, diffServActionIfDirection,
diffServActionId }
::= { diffServActionTable diffServCountActTable 1 }
DiffServActionEntry ::= SEQUENCE {
diffServActionId Unsigned32,
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 37] 35]
Internet Draft Differentiated Services MIB March May 2000
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."
DiffServCountActEntry ::= SEQUENCE { diffServActionEntry 1
diffServCountActOctets Counter32,
diffServCountActHCOctets Counter64,
diffServCountActPkts Counter32,
diffServCountActHCPkts Counter64,
diffServCountActStatus RowStatus
}
diffServActionNext
diffServCountActOctets OBJECT-TYPE
SYNTAX RowPointer Counter32
MAX-ACCESS read-create read-only
STATUS current
DESCRIPTION
"The Next pointer indicates the next datapath element
to handle number of octets at the traffic. For example, a queue Action datapath element. The value zeroDotZero in On high
speed devices, this variable
indicates no further DiffServ treatment is performed on object implements the least significant 32
bits of diffServcountActHCOctets.
Discontinuities in the value of this flow counter can occur at re-
initialization of the management system and at other times as
indicated by the current interface for value of ifCounterDiscontinuityTime appropriate
to this interface
direction."
DEFVAL { zeroDotZero } interface."
::= { diffServActionEntry 2 diffServCountActEntry 1 }
diffServActionType
diffServCountActHCOctets 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
} Counter64
MAX-ACCESS read-write read-only
STATUS current
DESCRIPTION
"Indicates
"The number of octets at the Action datapath element. This
object should be used on high speed interfaces.
Discontinuities in the value of this counter can occur at re-
initialization of the type management system and at other times as
indicated by the value of action diffServAction points
to." ifCounterDiscontinuityTime appropriate
to this interface."
::= { diffServActionEntry 3 diffServCountActEntry 2 }
diffServAction
diffServCountActPkts OBJECT-TYPE
SYNTAX RowPointer Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets at the Action datapath element. On high
speed devices, this object implements the least significant 32
bits of diffServcountActHCPkts.
Discontinuities in the value of this counter can occur at re-
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 38] 36]
Internet Draft Differentiated Services MIB March May 2000
initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime appropriate
to this interface."
::= { diffServCountActEntry 3 }
diffServCountActHCPkts OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-create read-only
STATUS current
DESCRIPTION
"Points to a row in a Action Type Table that provides
all
"The number of packets at the parameters for Action datapath element. This
object should be used on high speed interfaces.
Discontinuities in the type value of action indicated in
diffServActionType. Can also points to a row in some this counter can occur at re-
initialization of the management system and at other MIB times as
indicated by the value of ifCounterDiscontinuityTime appropriate
to provide some proprietary action type." this interface."
::= { diffServActionEntry diffServCountActEntry 4 }
diffServActionStatus
diffServCountActStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or
deletion of a meter. this entry. Any writable variable may be modified
whether the row is active or notInService."
::= { diffServActionEntry diffServCountActEntry 5 }
Baker, Chan, SmithExpiration: September 2000 [Page 39]
Draft Differentiated Services MIB March 2000
--
-- 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,
diffServAbsoluteDropAction OBJECT-IDENTITY
STATUS current
DESCRIPTION
"This object identifier may be used on as the same logical/physical interface.
--
-- This object allows value of a configuring system
diffServActionSpecific pointer in order to obtain indicate that all
packets following this path are to be dropped unconditionally at
this point. It is likely, but not required, that this action will
be preceded by a counter action."
::= { diffServObjects 6 }
Baker, Chan, Smith Expires November 2000 [Page 37]
Internet Draft Differentiated Services MIB May 2000
-- unique value for diffServQSetId for purposes of
-- configuration
diffServQSetUnique Algorithmic Drop Table
--
diffServAlgDropTable OBJECT-TYPE
SYNTAX TestAndIncr SEQUENCE OF DiffServAlgDropEntry
MAX-ACCESS read-write not-accessible
STATUS current
DESCRIPTION
"The diffServQSetUnique object yields algorithmic drop table contains entries describing a unique new
value for diffServQSetId when read and subsequently
set. This value must be tested for uniqueness." process
that drops packets according to some algorithm."
REFERENCE
"[MODEL] section 7.1.3"
::= { diffServObjects diffServTables 8 }
diffServQSetTable
diffServAlgDropEntry OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServQSetEntry DiffServAlgDropEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Set Table enumerates the queue sets. Queue
Sets are used
"An entry describes a process that drops packets according to organize queues based on their
scheduling algorithms. Multiple sheduling
some algorithm. Algorithms described here include: tailDrop(2),
headDrop(3) and other(1).
Specifically, Random Drop algorithms are not directly represented
in this MIB but can be used, with each algorithm described indicated by one Queue
Set Entry. Multiple instances of a single sheduling
algorithm, each an entry in this table with different scheduling parameters
can also be expressed, each described by its own Queue
Set Entry. Relationships between Queue Sets are used
to build scheduling algorithm hierarchies. For
example, a weighed fair queueing queue set can be a
part of a priority queueing queue set, having the
weighed fair queueing queue set be a branch
diffServAlgDropType of the
priority queueing queue set. More complex hierarchies
can also be expressed using other(1) and extensions, pointed to by
diffServAlgDropSpecific, in some other MIB module that parallels
entries in this mechanism." table e.g. by using the same index attribute(s)."
INDEX { ifIndex, diffServAlgDropIfDirection,
diffServAlgDropId }
::= { diffServTables 8 diffServAlgDropTable 1 }
DiffServAlgDropEntry ::= SEQUENCE {
diffServAlgDropIfDirection IfDirection,
diffServAlgDropId INTEGER,
diffServAlgDropType INTEGER,
diffServAlgDropNext RowPointer,
diffServAlgDropQMeasure RowPointer,
diffServAlgDropQThreshold Unsigned32,
diffServAlgDropSpecific OBJECT IDENTIFIER,
diffServAlgDropOctets Counter32,
diffServAlgDropHCOctets Counter64,
diffServAlgDropPkts Counter32,
diffServAlgDropHCPkts Counter64,
diffServAlgDropStatus RowStatus
}
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 40] 38]
Internet Draft Differentiated Services MIB March May 2000
diffServQSetEntry
diffServAlgDropIfDirection OBJECT-TYPE
SYNTAX DiffServQSetEntry IfDirection
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An
"Specifies the direction for this algorithmic dropper entry in on
the Queue Set Table describes a single
queue set."
INDEX { ifIndex, diffServInterfaceDirection,
diffServQSetId } interface."
::= { diffServQSetTable diffServAlgDropEntry 1 }
DiffServQSetEntry ::= SEQUENCE {
diffServQSetId Unsigned32,
diffServQSetParentId Unsigned32,
diffServQSetWeight Unsigned32,
diffServQSetMethod INTEGER,
diffServQSetRateUnit INTEGER,
diffServQSetMinRate Unsigned32,
diffServQSetMaxRate Unsigned32,
diffServQSetNext RowPointer,
diffServQSetStatus RowStatus
}
diffServQSetId
diffServAlgDropId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) INTEGER (0..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Set
"Drop Action Id enumerates the Queue Set Drop Action entry."
::= { diffServQSetEntry 1 diffServAlgDropEntry 2 }
diffServQSetParentId
diffServAlgDropType OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) INTEGER { other(1), tailDrop(2), headDrop(3) }
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"The Queue Set Parent Id allows type of algorithm used by this dropper. A value of
tailDrop(2) or headDrop(3) represents an algorithm that is
completely specified by this MIB. A value of other(1) requires
further specification in some other MIB module.
The tailDrop(2) algorithm is described as follows:
diffServAlgDropQThreshold represents the formation depth of
hierarchical relationships between scheduling
algorithms." the queue
diffServAlgDropQMeasure at which all newly arriving packets will
be dropped.
The headDrop(3) algorithm is described as follows: if a packet
arrives when the current depth of the queue
diffServAlgDropQMeasure is at diffServAlgDropQThreshold, the
packet currently at the head of the queue is dropped and the new
packet is enqueued at the tail of the queue."
::= { diffServQSetEntry 2 diffServAlgDropEntry 3 }
diffServQSetWeight
diffServAlgDropNext OBJECT-TYPE
SYNTAX Unsigned32 RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used with QSetParentId
"The Next pointer indicates the next datapath element to handle
the traffic e.g. a queue datapath element. The value zeroDotZero
in hierarchical scheduling this variable indicates no further DiffServ treatment is
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 41] 39]
Internet Draft Differentiated Services MIB March May 2000
setup. QSetWeight represent
performed on this flow by the current interface for this
interface direction."
::= { diffServAlgDropEntry 4 }
diffServAlgDropQMeasure OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Points to an entry in the diffServQueueTable to indicate the
queue that a drop algorithm is to monitor when deciding whether
to drop a packet."
::= { diffServAlgDropEntry 5 }
diffServAlgDropQThreshold OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A threshold on the weight depth of all queues
within this the queue set, with respect being measured at which a
trigger is generated to queues in other
queue sets in hierarchical scheduling. the dropping algorithm.
For example, the tailDrop(2) or headDrop(3) algorithms, this queue set represents
the weighed fair queueing
scheduling amongst all the queues in this queue set.
This set depth of weighted fair queueing queues as a whole
belongs to a priority queueing queue set. QSetWeight
determines this queue set's priority/weight in the
parent queue set's priority queueing scheduling
algorithm. There can be more than one weighed fair
queueing queue sets belonging to diffServAlgDropQMeasure at which the same priority
queueing parent queue set." drop
action will take place. Other algorithms will need to define
their own semantics for this threshold."
::= { diffServQSetEntry 3 diffServAlgDropEntry 6 }
diffServQSetMethod
diffServAlgDropSpecific OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- not listed here
pq(2), -- Priority Queueing
wfq(3), -- Weighed Fair Queueing
wrr(4) -- Weighed Round Robin
} OBJECT IDENTIFIER
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The scheduling
"Points to a table (not an entry in the table) defined elsewhere
that provides further detail regarding a drop algorithm used described
as diffServAlgDropType other(1). entries in such a table are to
be indexed by queues the same variables as this diffServAlgDropEntry.
For algorithms specified fully in this queue
set." MIB module, this should
take the value zeroDotzero."
::= { diffServQSetEntry 4 diffServAlgDropEntry 7 }
diffServQSetRateUnit
diffServAlgDropOctets OBJECT-TYPE
SYNTAX INTEGER {
kbps(1), -- kilo bits per second
packets(2) -- packets per second
} Counter32
MAX-ACCESS read-create read-only
STATUS current
DESCRIPTION
Baker, Chan, Smith Expires November 2000 [Page 40]
Internet Draft Differentiated Services MIB May 2000
"The unit number of measure for octets that have been dropped by this drop
process. On high speed devices, this object implements the MinRate and MaxRate
attributes. The packet unit allows packet fair
algorithms least
significant 32 bits of diffServAlgDropHCOctets.
Discontinuities in addition the value of this counter can occur at re-
initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime appropriate
to bit fair algorithms." this interface."
::= { diffServQSetEntry 5 diffServAlgDropEntry 8 }
diffServQSetMinRate
diffServAlgDropHCOctets OBJECT-TYPE
SYNTAX Unsigned32
UNITS "KBPS" Counter64
MAX-ACCESS read-create read-only
STATUS current
DESCRIPTION
Baker, Chan, SmithExpiration: September 2000 [Page 42]
Draft Differentiated Services MIB March 2000
"The minimum rate for the whole queue set. If the
value is zero, then there is effectively no minimum
rate. If number of octets that have been dropped by this drop
process. This object should be used on high speed interfaces.
Discontinuities in the value is non-zero, the queue set will
seek to assure of this class counter can occur at re-
initialization of traffic the management system and at least other times as
indicated by the value of ifCounterDiscontinuityTime appropriate
to this
rate." interface."
::= { diffServQSetEntry 6 diffServAlgDropEntry 9 }
diffServQSetMaxRate
diffServAlgDropPkts OBJECT-TYPE
SYNTAX Unsigned32
UNITS "KBPS" Counter32
MAX-ACCESS read-create read-only
STATUS current
DESCRIPTION
"The maximum rate for the whole queue set. If number of packets that have been dropped by this drop
process. On high speed devices, this object implements the
value is zero, then there is effectively no maximum
rate. If least
significant 32 bits of diffServAlgDropHCPkts.
Discontinuities in the value is non-zero, the queue set will
seek to assure of this class counter can occur at re-
initialization of traffic the management system and at most other times as
indicated by the value of ifCounterDiscontinuityTime appropriate
to this
rate." interface."
::= { diffServQSetEntry 7 diffServAlgDropEntry 10 }
diffServQSetNext
diffServAlgDropHCPkts OBJECT-TYPE
SYNTAX RowPointer Counter64
MAX-ACCESS read-create read-only
STATUS current
DESCRIPTION
"Selects the next data path component, which can be
another Queue Set. One usage
"The number of multiple serial Queue
Sets is for Class Base Queueing (CBQ). The value
zeroDotZero in this variable indicates no further
DiffServ treatment is performed on this flow packets that have been dropped by the
current interface for this interface direction. For
example, for an inbound interface drop
process. This object should be used on high speed interfaces.
Baker, Chan, Smith Expires November 2000 [Page 41]
Internet Draft Differentiated Services MIB May 2000
Discontinuities in the value zeroDotZero
indicates that of this counter can occur at re-
initialization of the packet flow has now completed
inbound DiffServ treatment management system and should be forwarded on
to at other times as
indicated by the value of ifCounterDiscontinuityTime appropriate outbound
to this interface."
DEFVAL { zeroDotZero }
::= { diffServQSetEntry 8 diffServAlgDropEntry 11 }
diffServQSetStatus
diffServAlgDropStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or
deletion of a queue. this entry. Any writable variable may be modified
whether the row is active or notInService."
Baker, Chan, SmithExpiration: September 2000 [Page 43]
Draft Differentiated Services MIB March 2000
::= { diffServQSetEntry 9 diffServAlgDropEntry 12 }
Baker, Chan, SmithExpiration: September 2000 [Page 44]
Draft Differentiated Services MIB March 2000
--
-- Queue Table
--
-- This object allows a configuring system to obtain a
-- unique value for diffServQId diffServAlgDropId for purposes of
-- configuration.
diffServQUnique
diffServAlgDropUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServQUnique
"This object yields a unique new
value for diffServQId diffServAlgDropId when read and subsequently
set. This value must be tested for uniqueness." uniqueness and can
be used by a configuring system to obtain a
unique value for diffServAlgDropId for purposes of
row creation in the diffServAlgDropTable."
::= { diffServObjects 9 7 }
Baker, Chan, Smith Expires November 2000 [Page 42]
Internet Draft Differentiated Services MIB May 2000
--
-- 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 individual 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." queue in one
direction on an interface."
INDEX { diffServQQSetId, ifIndex, diffServQIfDirection, diffServQId }
::= { diffServQTable 1 }
DiffServQEntry ::= SEQUENCE {
diffServQId Unsigned32,
diffServQQSetId Unsigned32,
diffServQSchedulerWeight Unsigned32,
diffServQStatus RowStatus
}
diffServQId OBJECT-TYPE
Baker, Chan, SmithExpiration: September 2000 [Page 45]
Draft Differentiated Services MIB March 2000
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
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The weight or priority of the queue, depending on the
scheduling method used. Notice only the weight of the
queue is used, instead of the rate. The rate can be
derived based on the rate of the queue set. This is to
facilitate changing link speed and/or changing
scheduling method without reconfiguring the queues."
::= { diffServQEntry 3 }
diffServQIfDirection IfDirection,
diffServQId INTEGER,
diffServQNext RowPointer,
diffServQPriority Unsigned32,
diffServQMinRateAbs Unsigned32,
diffServQMinRateRel Unsigned32,
diffServQMaxRateAbs Unsigned32,
diffServQMaxRateRel Unsigned32,
diffServQStatus RowStatus
}
diffServQIfDirection OBJECT-TYPE
SYNTAX RowStatus IfDirection
MAX-ACCESS read-create not-accessible
STATUS current
DESCRIPTION
"The RowStatus variable controls
"Specifies the activation,
deactivation, or deletion of a queue. Any writable
variable may be modified whether direction for this queue entry on the row is active or
notInService." interface."
::= { diffServQEntry 4 1 }
-- Queue Measurement Table
-- This object allows a configuring system to obtain a
-- unique value for diffServQMeasureId for purposes of
-- configuration.
diffServQMeasureUnique
diffServQId OBJECT-TYPE
SYNTAX TestAndIncr INTEGER (0..2147483647)
MAX-ACCESS not-accessible
STATUS current
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 46] 43]
Internet Draft Differentiated Services MIB March May 2000
DESCRIPTION
"The Queue Id enumerates the Queue entry."
::= { diffServQEntry 2 }
diffServQNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-write read-create
STATUS current
DESCRIPTION
"The diffServQMeasureUnique object yields Next pointer indicates the next datapath element to handle
the traffic e.g. a unique new
value for diffServQMeasureId when read and subsequently
set. This value must be tested for uniqueness." scheduler datapath element."
::= { diffServObjects 10 diffServQEntry 3 }
diffServQMeasureTable
diffServQPriority OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServQMeasureEntry Unsigned32
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"The Queue Measurement Table contains entries
describing the state priority of queues, this include states for
implementing traffic treatment algorithms. Notice
multiple queue measurement entries for queue, to be used as a parameter to the same queue
is allowed."
next scheduler element downstream from this one."
::= { diffServTables 10 diffServQEntry 4 }
diffServQMeasureEntry
diffServQMinRateAbs OBJECT-TYPE
SYNTAX DiffServQMeasureEntry Unsigned32
UNITS "kilobits per second"
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"An entry
"The minimum absolute rate, in the Queue Measure Table describes kilobits/sec, that a single
set downstream
scheduler element should allocate to this queue. If the value is
zero, then there is effectively no minimum rate guarantee. If
the value is non-zero, the scheduler will assure the servicing of measurement for a specific queue."
INDEX { diffServQMeasureQId, diffServQMeasureId }
::= { diffServQMeasureTable 1 }
DiffServQMeasureEntry
this queue to at least this rate.
Note that this attribute's value is coupled to that of
diffServQMinRateRel: changes to one will affect the value of the
other. They are linked by the following equation:
diffServQMinRateRel = diffServQMinRateAbs * 10,000,000/ifSpeed
or, if appropriate:
diffServQMinRateRel = diffServQMinRateAbs * 10 / ifHighSpeed"
REFERENCE
"ifSpeed, ifHighSpeed from [IFMIB]"
::= SEQUENCE {
diffServQMeasureId Unsigned32,
diffServQMeasureQId Unsigned32,
diffServQMeasureAvgSampleInt Unsigned32,
diffServQMeasureAvgWeightExp Unsigned32,
diffServQMeasureAvgWeightMan Unsigned32,
diffServQMeasureQAverage Unsigned32,
diffServQMeasureStatus RowStatus diffServQEntry 5 }
diffServQMeasureId OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Queue Measure Id enumerates the Queue Measure
entry."
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 47] 44]
Internet Draft Differentiated Services MIB March May 2000
::= { diffServQMeasureEntry 1 }
diffServQMeasureQId
diffServQMinRateRel OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647)
MAX-ACCESS not-accessible read-create
STATUS current
DESCRIPTION
"Indicates
"The minimum rate that a downstream scheduler element should
allocate to this queue, relative to the maximum rate of the
interface as reported by ifSpeed or ifHighSpeed, in units of
1/10,000 of 1. If the value is zero, then there is effectively
no minimum rate guarantee. If the value is non-zero, the
scheduler will assure the servicing of this queue to at least
this rate.
Note that this measurement attribute's value is associated
with." coupled to that of
diffServQMinRateAbs: changes to one will affect the value of the
other. They are linked by the following equation:
diffServQMinRateAbs = ifSpeed * diffServQMinRateRel/10,000,000
or, if appropriate:
diffServQMinRateAbs = ifHighSpeed * diffServQMinRateRel / 10"
REFERENCE
"ifSpeed, ifHighSpeed from [IFMIB]"
::= { diffServQMeasureEntry 2 diffServQEntry 6 }
diffServQMeasureAvgSampleInt
diffServQMaxRateAbs OBJECT-TYPE
SYNTAX Unsigned32
UNIT millisecond
UNITS "kilobits per second"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The sampling interval for queue average calculation, maximum rate in milliseconds. For queue sampling based on packet
enqueueing or dequeueing intervals, this attribute kilobits/sec that a downstream scheduler
element should contain allocate to this queue. If 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 zero, then
there is effectively no maximum rate limit and that the attribute representing a negative
value. For example, with 8 in this attribute meaning
10 scheduler
should attempt to be work-conserving for this queue. If the power of -8. An 8 bit
value here is non-zero, the scheduler will be
sufficient."
::= { diffServQMeasureEntry 4 }
diffServQMeasureAvgWeightMan OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-create
STATUS current
"The mantissa part limit the servicing of this
queue to, at most, this rate in a non-work-conserving manner.
Note that this attribute's value is coupled to that of weight (in real number format)
for queue average calculation. Always a positive
number. Need 16 bits
diffServQMaxRateRel: changes to one will affect the value of accuracy."
::= { diffServQMeasureEntry 5 }
diffServQMeasureQAverage OBJECT-TYPE
SYNTAX Unsigned32
UNITS kilo-bits the
other. They are linked by the following equation:
diffServQMaxRateRel = diffServQMaxRateAbs * 10,000,000/ifSpeed
or, if appropriate:
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 48] 45]
Internet Draft Differentiated Services MIB March May 2000
MAX-ACCESS read-only
STATUS current
"The current queue average in kilo bits."
diffServQMaxRateRel = diffServQMaxRateAbs * 10 / ifHighSpeed"
REFERENCE
"ifSpeed, ifHighSpeed from [IFMIB]"
::= { diffServQMeasureEntry 6 diffServQEntry 7 }
diffServQMeasureStatus
diffServQMaxRateRel OBJECT-TYPE
SYNTAX RowStatus Unsigned32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The RowStatus variable controls the activation,
deactivation, or deletion of maximum rate that a queue. Any writable
variable may be modified whether downstream scheduler element should
allocate to this queue, relative to the row is active or
notInService."
::= { diffServQMeasureEntry 7 }
Baker, Chan, SmithExpiration: September 2000 [Page 49]
Draft Differentiated Services MIB March 2000
-- MIB Compliance statements. Three variations maximum rate of
-- compliance are described, for optical, LAN, and low speed
-- interfaces. The difference is the implementation of
-- diffServActionOctetsHCnt, diffServActionPktsHCnt
-- and diffServCountActOctetsHCnt, diffServCountActPktsHCnt.
diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 }
diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 }
diffServMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"This MIB may be implemented as a read-only or
interface as a
read-create MIB. As a result, it may be used for
monitoring or for configuration.
Standard compliance implies that the implementation
complies for interfaces for which an interface's octet
counter might wrap at most once an hour, which reported by ifSpeed or ifHighSpeed, in units of
1/10,000 of 1. If the
IFMIB's convention applies to interfaces under 20 MBPS.
It thus applies to any device which might implement a
low speed serial line, Ethernet, Token Ring."
MODULE -- This Module
MANDATORY-GROUPS {
diffServMIBClassifierGroup, diffServMIBMeterGroup,
diffServMIBQueueGroup, diffServMIBActionGroup
-- note that diffServMIBHCCounterGroup value is
-- mandatory for medium and high speed interfaces
-- note that diffServMIBVHCCounterGroup zero, then there is
-- mandatory for high speed interfaces
-- note that effectively
no maximum rate limit and the scheduler should attempt to be
work-conserving for this queue. If the diffServMIBStaticGroup value is
-- mandatory for implementations that implement non-zero, the
scheduler will limit the servicing of this queue to, at most,
this rate in a
-- read-write or read-create mode.
}
GROUP diffServMIBHCCounterGroup
DESCRIPTION
"This group non-work-conserving manner.
Note that this attribute's value is mandatory for those network interfaces
for which coupled to that of
diffServQMaxRateAbs: changes to one will affect the value of the corresponding instance of
other. They are linked by the following equation:
diffServQMaxRateAbs = ifSpeed is greater than 20,000,000 bits/second."
GROUP diffServMIBVHCCounterGroup * diffServQMaxRateRel/10,000,000
or, if appropriate:
diffServQMaxRateAbs = ifHighSpeed * diffServQMaxRateRel / 10"
REFERENCE
"ifSpeed, ifHighSpeed from [IFMIB]"
::= { diffServQEntry 8 }
diffServQStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This group
"The RowStatus variable controls the activation, deactivation, or
deletion of a queue. Any writable variable may be modified
whether the row is mandatory for those network interfaces active or notInService."
::= { diffServQEntry 9 }
diffServQUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 50] 46]
Internet Draft Differentiated Services MIB March May 2000
"The diffServQUnique object yields a unique new value for which the
diffServQId when read and subsequently set. This value must be
tested for uniqueness and can be used by a configuring system to
obtain a unique value for diffServQId for purposes of row
creation in the corresponding instance of
ifSpeed is greater than 650,000,000 bits/second."
OBJECT diffServClassifierMatchObject
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierSequence
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterInterval
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterBurstSize
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterFailNext
MIN-ACCESS read-only
DESCRIPTION
"Write access diffServQTable."
::= { diffServObjects 8 }
--
-- Scheduler Table
--
-- The Scheduler Table is not required."
OBJECT diffServTBMeterSucceedNext
MIN-ACCESS read-only used for representing packet schedulers:
-- it provides flexibility for multiple scheduling algorithms, each
-- servicing multiple queues, to be used on the same logical/physical
-- interface.
diffServSchedulerTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServSchedulerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterStatus
MIN-ACCESS read-only
"The Scheduler Table enumerates packet schedulers. Multiple
scheduling algorithms can be used on a given interface, with each
algorithm described by one diffServSchedulerEntry."
REFERENCE
"[MODEL] section 7.1.2"
::= { diffServTables 10 }
diffServSchedulerEntry OBJECT-TYPE
SYNTAX DiffServSchedulerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Write access is not required."
"An entry in the Scheduler Table describing a single instance of
a scheduling algorithm."
INDEX { ifIndex, diffServSchedulerIfDirection,
diffServSchedulerId }
::= { diffServSchedulerTable 1 }
DiffServSchedulerEntry ::= SEQUENCE {
diffServSchedulerIfDirection IfDirection,
diffServSchedulerId INTEGER,
diffServSchedulerMethod INTEGER,
diffServSchedulerNext RowPointer,
diffServSchedulerStatus RowStatus
}
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 51] 47]
Internet Draft Differentiated Services MIB March May 2000
OBJECT diffServActionNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionDSCP
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionMinThreshold
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionMaxThreshold
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionDropPolicy
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueMinimumRate
MIN-ACCESS read-only
diffServSchedulerIfDirection OBJECT-TYPE
SYNTAX IfDirection
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueMaximumRate
MIN-ACCESS read-only
"Specifies the direction for this scheduler entry on the
interface."
::= { diffServSchedulerEntry 1 }
diffServSchedulerId OBJECT-TYPE
SYNTAX INTEGER (0..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Write access is
"The Scheduler Id enumerates the Scheduler entry."
::= { diffServSchedulerEntry 2 }
diffServSchedulerMethod OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- not required."
OBJECT diffServQueuePriority
MIN-ACCESS read-only listed here
priorityq(2), -- Priority Queueing
wrr(3) -- Weighed Round Robin
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Write access
"The scheduling algorithm used by this Scheduler.
A value of priorityq(2) is not required."
OBJECT diffServQueueNextTCB
MIN-ACCESS read-only used to indicate strict priority
queueing: only the diffServQPriority attributes of the queues
feeding this scheduler are used when determining the next packet
to schedule.
A value of wrr(3) indicates weighted round-robin scheduling.
Packets are scheduled from each of the queues feeding this
scheduler according to all of the parameters of the diffServQueue
entry."
REFERENCE
"[MODEL] section 7.1.2"
::= { diffServSchedulerEntry 3 }
diffServSchedulerNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Selects the next data path component, which can be another
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 52] 48]
Internet Draft Differentiated Services MIB March May 2000
DESCRIPTION
"Write access
Scheduler or other TC elements. One usage of multiple serial
Schedulers is not required."
OBJECT diffServQueueStatus
MIN-ACCESS read-only for Class Base Queueing (CBQ).
The value zeroDotZero in this variable indicates no further
DiffServ treatment is performed on this flow by the current
interface for this interface direction. For example, for an
inbound interface the value zeroDotZero indicates that the packet
flow has now completed inbound DiffServ treatment and should be
forwarded on to the appropriate outbound interface."
DEFVAL { zeroDotZero }
::= { diffServSchedulerEntry 4 }
diffServSchedulerStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Write access
"The RowStatus variable controls the activation, deactivation, or
deletion of a queue. Any writable variable may be modified
whether the row is not required." active or notInService."
::= { diffServSchedulerEntry 5 }
diffServSchedulerUnique OBJECT-TYPE
SYNTAX TestAndIncr
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The diffServSchedulerUnique object yields a unique new value for
diffServSchedulerId when read and subsequently set. This value
must be tested for uniqueness and can be used by a configuring
system to obtain a unique value for diffServSchedulerId for
purposes of row creation in the diffServSchedulerTable."
::= { diffServMIBCompliances 1 diffServObjects 9 }
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 53] 49]
Internet Draft Differentiated Services MIB March May 2000
diffServMIBVHCCompliance
--
-- MIB Compliance statements.
--
diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 }
diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 }
diffServMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"This MIB may be implemented as a read-only or as a read-create
MIB. As a result, it may be used for monitoring or for configuration.
Very High Speed compliance implies that the
implementation complies for interfaces for which an
interface's packet or octet counters might wrap more
than once an hour, which by the IFMIB's convention
applies to interfaces over 650 MBPS, or OC-12."
configuration."
MODULE -- This Module
MANDATORY-GROUPS {
diffServMIBClassifierGroup, diffServMIBMeterGroup, diffServMIBSixTupleClfrGroup,
diffServMIBActionGroup, diffServMIBAlgDropGroup,
diffServMIBQueueGroup, diffServMIBHCCounterGroup,
diffServMIBVHCCounterGroup, diffServMIBActionGroup diffServMIBSchedulerGroup }
-- The groups:
-- diffServMIBCounterGroup
-- diffServMIBHCCounterGroup
-- diffServMIBVHCCounterGroup
--
-- are mutually exclusive; at most one of these groups is implemented
-- for a particular interface. When any of these groups is implemented
-- for a particular interface, then ifCounterDiscontinuityGroup from
-- [IFMIB] must also be implemented for that interface.
-- note that the diffServMIBStaticGroup is
--
-- mandatory for implementations that implement a
-- read-write or read-create mode.
GROUP diffServMIBCounterGroup
DESCRIPTION
"This group is mandatory for table objects indexed by ifIndex for
which the value of the corresponding instance of ifSpeed is less
than or equal to 20,000,000 bits/second."
GROUP diffServMIBHCCounterGroup
DESCRIPTION
"This group is mandatory for table objects indexed by ifIndex for
which the value of the corresponding instance of ifSpeed is
greater than 20,000,000 bits/second."
GROUP diffServMIBVHCCounterGroup
DESCRIPTION
Baker, Chan, Smith Expires November 2000 [Page 50]
Internet Draft Differentiated Services MIB May 2000
"This group is mandatory for table objects indexed by ifIndex for
which the value of the corresponding instance of ifSpeed is
greater than 650,000,000 bits/second."
GROUP diffServMIBMeterGroup
DESCRIPTION
"This group is mandatory for devices that implement metering
functions."
GROUP diffServMIBTokenBucketMeterGroup
DESCRIPTION
"This group is mandatory for devices that implement token-bucket
metering functions."
GROUP diffServMIBDscpMarkActionGroup
DESCRIPTION
"This group is mandatory for devices that implement DSCP-Marking
functions."
GROUP diffServMIBStaticGroup
DESCRIPTION
"This group is mandatory for implementations devices that implement a
-- read-write or read-create mode.
} allow creation of rows
in any of the writable tables of this MIB."
OBJECT diffServClassifierMatchObject diffServClassifierFilter
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierSequence diffServClassifierPrecedence
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterInterval diffServSixTupleClfrDstAddrType
MIN-ACCESS read-only
DESCRIPTION
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 54] 51]
Internet Draft Differentiated Services MIB March May 2000
"Write access is not required."
OBJECT diffServTBMeterBurstSize diffServSixTupleClfrDstAddr
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterFailNext diffServSixTupleClfrDstAddrMask
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterSucceedNext diffServSixTupleClfrSrcAddrType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterStatus diffServSixTupleClfrSrcAddr
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionNext diffServSixTupleClfrSrcAddrMask
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionDSCP diffServSixTupleClfrDscp
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionMinThreshold diffServSixTupleClfrProtocol
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionMaxThreshold diffServSixTupleClfrSrcL4PortMin
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionDropPolicy diffServSixTupleClfrSrcL4PortMax
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 55] 52]
Internet Draft Differentiated Services MIB March May 2000
OBJECT diffServActionStatus diffServSixTupleClfrDstL4PortMin
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueMinimumRate diffServSixTupleClfrDstL4PortMax
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueMaximumRate diffServSixTupleClfrStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueuePriority diffServMeterSucceedNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueNextTCB diffServMeterFailNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueStatus diffServMeterSpecific
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
::= { diffServMIBCompliances 2 }
Baker, Chan, SmithExpiration: September 2000 [Page 56]
Draft Differentiated Services MIB March 2000
diffServMIBHCCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"This MIB may be implemented as a
OBJECT diffServMeterStatus
MIN-ACCESS read-only or as a
read-create MIB. As a result, it may be used for
monitoring or for configuration.
High Speed compliance implies that the implementation
complies for interfaces for which an interface's octet
counters might wrap more than once an hour, which by
the IFMIB's convention applies to interfaces over 20
MBPS, but under 650 MBPS. It thus applies to devices
which implement a 100 MBPS Ethernet, FDDI, E3, DS3, or
SONET/SDH interface up to OC-12."
MODULE -- This Module
MANDATORY-GROUPS {
diffServMIBClassifierGroup, diffServMIBMeterGroup,
diffServMIBQueueGroup, diffServMIBHCCounterGroup,
diffServMIBActionGroup
-- note that diffServMIBVHCCounterGroup is
-- mandatory for high speed interfaces
-- note that the diffServMIBStaticGroup is
-- mandatory for implementations that implement a
-- read-write or read-create mode.
}
GROUP diffServMIBVHCCounterGroup
DESCRIPTION
"This group is mandatory for those network interfaces
for which the value of the corresponding instance of
ifSpeed
"Write access is greater than 650,000,000 bits/second." not required."
OBJECT diffServClassifierMatchObject diffServTBMeterRate
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierNext diffServTBMeterBurstSize
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierSequence diffServTBMeterStatus
MIN-ACCESS read-only
DESCRIPTION
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 57] 53]
Internet Draft Differentiated Services MIB March May 2000
DESCRIPTION
"Write access is not required."
OBJECT diffServClassifierStatus diffServActionNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterInterval diffServActionSpecific
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterBurstSize diffServActionStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterFailNext diffServCountActStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterSucceedNext diffServAlgDropType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBMeterStatus diffServAlgDropNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionNext diffServAlgDropQMeasure
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionDSCP diffServAlgDropQThreshold
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionMinThreshold diffServAlgDropSpecific
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 58] 54]
Internet Draft Differentiated Services MIB March May 2000
OBJECT diffServActionMaxThreshold diffServAlgDropStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQPriority
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQMinRateAbs
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionDropPolicy diffServQMinRateRel
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionStatus diffServQMaxRateAbs
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueMinimumRate diffServQMaxRateRel
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueMaximumRate diffServQueueStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueuePriority diffServSchedulerMethod
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueNextTCB diffServSchedulerNext
MIN-ACCESS read-only
Baker, Chan, Smith Expires November 2000 [Page 55]
Internet Draft Differentiated Services MIB May 2000
DESCRIPTION
"Write access is not required."
OBJECT diffServQueueStatus diffServSchedulerStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
::= { diffServMIBCompliances 3 1 }
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 59] 56]
Internet Draft Differentiated Services MIB March May 2000
diffServMIBClassifierGroup OBJECT-GROUP
OBJECTS {
diffServAggregateDSCP,
diffServClassifierMatchObject,
diffServClassifierFilter, diffServClassifierNext,
diffServClassifierSequence,
diffServClassifierPrecedence, diffServClassifierStatus
}
STATUS current
DESCRIPTION
"The Classifier Group defines the MIB Objects that describe a classifier."
generic classifier element."
::= { diffServMIBGroups 1 }
diffServMIBSixTupleClfrGroup OBJECT-GROUP
OBJECTS {
diffServSixTupleClfrDstAddrType, diffServSixTupleClfrDstAddr,
diffServSixTupleClfrDstAddrMask, diffServSixTupleClfrDstAddrType,
diffServSixTupleClfrSrcAddrType, diffServSixTupleClfrSrcAddrMask,
diffServSixTupleClfrDscp, diffServSixTupleClfrProtocol,
diffServSixTupleClfrDstL4PortMin,
diffServSixTupleClfrDstL4PortMax,
diffServSixTupleClfrSrcL4PortMin,
diffServSixTupleClfrSrcL4PortMax, diffServSixTupleClfrStatus
}
STATUS current
DESCRIPTION
"The Six-tuple Classifier Group defines the MIB Objects that
describe a classifier element for matching on 6 fields of an IP
and upper-layer protocol header."
::= { diffServMIBGroups 2 }
diffServMIBMeterGroup OBJECT-GROUP
OBJECTS {
diffServTBMeterInterval,
diffServMeterSucceedNext, diffServMeterFailNext,
diffServMeterSpecific, diffServMeterStatus
}
STATUS current
DESCRIPTION
"The Meter Group defines the objects used in describing a generic
meter element."
::= { diffServMIBGroups 3 }
diffServMIBTokenBucketMeterGroup OBJECT-GROUP
OBJECTS {
diffServTBMeterRate, diffServTBMeterBurstSize,
diffServTBMeterSucceedNext, diffServTBMeterFailNext,
diffServTBMeterStatus
}
STATUS current
DESCRIPTION
Baker, Chan, Smith Expires November 2000 [Page 57]
Internet Draft Differentiated Services MIB May 2000
"The Token-Bucket Meter Group defines the objects used in
describing a meter." single-rate token bucket meter element."
::= { diffServMIBGroups 2 4 }
diffServMIBActionGroup OBJECT-GROUP
OBJECTS {
diffServActionDropPolicy,
diffServActionRandomDrops,
diffServActionTailDrops,
diffServActionMinThreshold,
diffServActionMaxThreshold, diffServActionDSCP,
diffServActionNext,
diffServActionConformingPackets,
diffServActionConformingOctets, diffServActionSpecific,
diffServActionStatus
}
STATUS current
DESCRIPTION
"The Action Group defines the objects used in describing an action." a
generic action element."
::= { diffServMIBGroups 3 5 }
diffServMIBDscpMarkActionGroup OBJECT-GROUP
OBJECTS {
diffServDscpMarkActDscp
}
STATUS current
DESCRIPTION
"The DSCP Mark Action Group defines the objects used in
describing a DSCP Marking Action element."
::= { diffServMIBGroups 6 }
diffServMIBCounterGroup OBJECT-GROUP
OBJECTS {
diffServCountActOctets, diffServCountActPkts,
diffServCountActStatus,
diffServAlgDropOctets, diffServAlgDropPkts
}
STATUS current
DESCRIPTION
"A collection of objects providing information specific to non-
high speed (non-high speed interfaces transmit and receive at
speeds less than or equal to 20,000,000 bits/second) packet-
oriented network interfaces."
::= { diffServMIBGroups 7 }
diffServMIBHCCounterGroup OBJECT-GROUP
OBJECTS {
diffServActionHCConformingOctets
diffServCountActOctets, diffServCountActHCOctets,
diffServCountActPkts, diffServCountActStatus,
diffServAlgDropOctets, diffServAlgDropHCOctets,
diffServAlgDropPkts
}
STATUS current
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 60] 58]
Internet Draft Differentiated Services MIB March May 2000
DESCRIPTION
"A collection of objects providing information specific to non-
high speed (non-high speed interfaces transmit and receive at
speeds less than or equal to 20,000,000 bits/second) packet-
oriented network interfaces."
::= { diffServMIBGroups 8 }
diffServMIBVHCCounterGroup OBJECT-GROUP
OBJECTS {
diffServCountActOctets, diffServCountActHCOctets,
diffServCountActPkts, diffServCountActHCPkts,
diffServCountActStatus, diffServAlgDropOctets,
diffServAlgDropHCOctets, diffServAlgDropPkts,
diffServAlgDropHCPkts
}
STATUS current
DESCRIPTION
"At 20,000,000 bits per second or greater, the number
"A collection of octets a given class may count can overflow a 32 bit
counter in under an hour. Therefore, by convention
established in the IFMIB, the 64 bit counter must be
implemented as well." objects providing information specific to non-
high speed (non-high speed interfaces transmit and receive at
speeds less than or equal to 20,000,000 bits/second) packet-
oriented network interfaces."
::= { diffServMIBGroups 4 9 }
diffServMIBVHCCounterGroup
diffServMIBAlgDropGroup OBJECT-GROUP
OBJECTS {
diffServActionHCConformingPackets,
diffServActionHCRandomDrops,
diffServActionHCTailDrops
diffServAlgDropType, diffServAlgDropNext,
diffServAlgDropQMeasure, diffServAlgDropQThreshold,
diffServAlgDropSpecific, diffServAlgDropStatus
}
STATUS current
DESCRIPTION
"At 650,000,000 bits per second or greater, the number
of packets a given class may count can overflow a 32
bit counter in under an hour. Therefore, by convention
established in the IFMIB,
"The Algorithmic Drop Group contains the 64 bit counter must be
implemented as well." objects that describe
algorithmic dropper operation and configuration."
::= { diffServMIBGroups 5 10 }
diffServMIBQueueGroup OBJECT-GROUP
OBJECTS {
diffServQueueMinimumRate,
diffServQueueMaximumRate,
diffServQueuePriority, diffServQueueStatus,
diffServQueueNextTCB
diffServQPriority, diffServQNext, diffServQMinRateAbs,
diffServQMinRateRel, diffServQMaxRateAbs,
diffServQMaxRateRel, diffServQStatus
}
STATUS current
DESCRIPTION
"The Queue Group contains the objects that describe an
interface's queues."
::= { diffServMIBGroups 6 11 }
Baker, Chan, Smith Expires November 2000 [Page 59]
Internet Draft Differentiated Services MIB May 2000
diffServMIBSchedulerGroup OBJECT-GROUP
OBJECTS {
diffServSchedulerMethod, diffServSchedulerNext,
diffServSchedulerStatus
}
STATUS current
DESCRIPTION
"The Scheduler Group contains the objects that describe packet
schedulers on interfaces."
::= { diffServMIBGroups 12 }
diffServMIBStaticGroup OBJECT-GROUP
OBJECTS {
diffServClassifierUnique, diffServTBMeterUnique,
diffServQueueUnique, diffServActionUnique diffServSixTupleClfrUnique,
diffServMeterUnique, diffServActionUnique,
diffServAlgDropUnique, diffServQUnique, diffServSchedulerUnique
}
STATUS current
DESCRIPTION
"The Static Group contains scalar objects used in creating unique
enumerations for classifiers, meters,
Baker, Chan, SmithExpiration: September 2000 [Page 61]
Draft Differentiated Services MIB March 2000 actions and queues." queues. These
are required whenever row creation operations on such tables are
supported."
::= { diffServMIBGroups 7 13 }
END
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 62] 60]
Internet Draft Differentiated Services MIB March May 2000
5. Acknowledgments
This MIB builds on all the work that has gone into the conceptual model
for diffserv routers. It has been developed with the active involvement from a
number
of sources, many people, but most notably Yoram Bernet, Steve Blake, Brian
Carpenter, Kwok Chan, Dave Durham, Jeremy Greene, Roch Guerin, Scott Hahn, Keith
McCloghrie, Kathleen Nichols, Ping
Pan, Andrew Smith, Pan and Bert Wijnen.
6. Security Considerations
It is clear that this MIB is potentially useful for configuration, and
anything that can be configured can be misconfigured, with potentially
disastrous effect.
At this writing, no security holes have been identified beyond those
that SNMP Security is itself intended to address. These relate to primarily
to controlled access to sensitive information and the ability to
configure a device - or which might result from operator error, which is
beyond the scope of any security architecture.
There are a number of management objects defined in this MIB that have a
MAX-ACCESS clause of read-write and/or read-
create. read-create. Such objects may be
considered sensitive or vulnerable in some network environments. The
support for SET operations in a non-secure environment without proper
protection can have a negative effect on network operations. The use of
SNMP Version 3 is recommended over prior versions, versions for configuration control,
control as its security model is improved.
There are a number of managed objects in this MIB that may contain
information that may be sensitive from a business perspective, in that
they may represent a customer's service contract or the filters that the
service provider chooses to apply to a customer's ingress or egress
traffic. There are no objects which are sensitive in their own right,
such as passwords or monetary amounts.
It may be important to control even GET access to these objects and
possibly to even encrypt the values of these object when sending them
over the network via SNMP. Not all versions of SNMP provide features for
such a secure environment.
SNMPv1 by itself is not a secure environment. Even if the network itself
is secure (for example by using IPSec), even then, there is no control
as to who on the secure network is allowed to access and GET/SET
(read/change/create/delete) the objects in this MIB.
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 63] 61]
Internet Draft Differentiated Services MIB March May 2000
It is recommended that the implementers consider the security features
as provided by the SNMPv3 framework. Specifically, the use of the User-
based Security Model [12] and the View-based Access Control Model [15]
is recommended.
It is then a customer/user responsibility to ensure that the SNMP entity
giving access to an instance of this MIB, is properly configured to give
access to the objects only to those principals (users) that have
legitimate rights to indeed GET or SET (change/create/delete) them.
7. References
[1] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for
Describing SNMP Management Frameworks", RFC 2571, Cabletron
Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April
1999
[2] Rose, M., and K. McCloghrie, "Structure and Identification of
Management Information for TCP/IP-based Internets", RFC 1155, STD
16, Performance Systems International, Hughes LAN Systems, May 1990
[3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", RFC 1212,
STD 16, Performance Systems International, Hughes LAN Systems,
March 1991
[4] M. Rose, "A Convention for Defining Traps for use with the SNMP",
RFC 1215, Performance Systems International, March 1991
[5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
and S. Waldbusser, "Structure of Management Information Version 2
(SMIv2)", RFC 2578, STD 58, Cisco Systems, SNMPinfo, TU
Braunschweig, SNMP Research, First Virtual Holdings, International
Network Services, April 1999
[6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
and S. Waldbusser, "Textual Conventions for SMIv2", RFC 2579, STD
58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First
Virtual Holdings, International Network Services, April 1999
[7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M.,
and S. Waldbusser, "Conformance Statements for SMIv2", RFC 2580,
STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research,
First Virtual Holdings, International Network Services, April 1999
[8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network
Management Protocol", RFC 1157, STD 15, SNMP Research, Performance
Baker, Chan, Smith Expires November 2000 [Page 62]
Internet Draft Differentiated Services MIB May 2000
Systems International, Performance Systems International, MIT
Laboratory for Computer Science, May 1990.
[9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Introduction to Community-based SNMPv2", RFC 1901, SNMP
Baker, Chan, SmithExpiration: September 2000 [Page 64]
Draft Differentiated Services MIB March 2000 Research,
Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc.,
International Network Services, January 1996.
[10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport
Mappings for Version 2 of the Simple Network Management Protocol
(SNMPv2)", RFC 1906, SNMP Research, Inc., Cisco Systems, Inc.,
Dover Beach Consulting, Inc., International Network Services,
January 1996.
[11] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
Processing and Dispatching for the Simple Network Management
Protocol (SNMP)", RFC 2572, SNMP Research, Inc., Cabletron Systems,
Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999
[12] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for
version 3 of the Simple Network Management Protocol (SNMPv3)", RFC
2574, IBM T. J. Watson Research, April 1999
[13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
Operations for Version 2 of the Simple Network Management Protocol
(SNMPv2)", RFC 1905, SNMP Research, Inc., Cisco Systems, Inc.,
Dover Beach Consulting, Inc., International Network Services,
January 1996.
[14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC
2573, SNMP Research, Inc., Secure Computing Corporation, Cisco
Systems, April 1999
[15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
Control Model (VACM) for the Simple Network Management Protocol
(SNMP)", RFC 2575, IBM T. J. Watson Research, BMC Software, Inc.,
Cisco Systems, Inc., April 1999
[16] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to
Version 3 of the Internet-standard Network Management Framework",
RFC 2570, SNMP Research, Inc., TIS Labs at Network Associates,
Inc., Ericsson, Cisco Systems, April 1999
[DSCP]
K. Nichols, S. Blake, F. Baker, D. Black, "Definition
[ACTQMGMT]
V. Firoiu, M. Borden "A Study of
the Differentiated Services Field (DS Field) in the IPv4
and IPv6 Headers." RFC 2474, December 1998. Active Queue Management for
Congestion Control", March 2000, In IEEE Infocom 2000,
http://www.ieee-infocom.org/2000/papers/405.pdf
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 65] 63]
Internet Draft Differentiated Services MIB March May 2000
[Architecture]
[AF-PHB]
J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured Forwarding
PHB Group.", RFC 2597, June 1999.
[DSARCH]
S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, "An
Architecture for Differentiated Service." Service", RFC 2475, December 1998.
[AF] J. Heinanen,
[DSFIELD]
K. Nichols, S. Blake, F. Baker, W. Weiss, J. Wroclawski, "Assured
Forwarding PHB Group." D. Black, "Definition of the
Differentiated Services Field (DS Field) in the IPv4 and IPv6
Headers", RFC 2597, June 2474, December 1998.
[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
[DSTERMS]
D. Grossman, "New Terminology for Diffserv", Internet Draft <draft-
ietf-diffserv-new-terms-02.txt>, November 1999.
[EF]
[EF-PHB]
V. Jacobson, K. Nichols, K. Poduri. Poduri, "An Expedited Forwarding PHB."
RFC 2598, June 1999.
[Model]
Bernet et al, "A Conceptual Model for Diffserv Routers",
March 2000, draft-ietf-diffserv-model-02.txt
[IFMIB]
K. McCloghrie, F. Kastenholz. Kastenholz, "The Interfaces Group MIB using
SMIv2", Request for Comments RFC 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. J.,
"Textual Conventions for Internet Network Addresses.", February 17, 2000, draft-ops-endpoint-mib-
07.txt
[ActQMgmt]
V. Firoiu, Internet
Draft <draft-ops-endpoint-mib-08.txt>, April 2000.
[INTSERVMIB]
F. Baker, J. Krawczyk, A. Sastry, "Integrated Services Management
Information Base using SMIv2", RFC 2213, September 1997.
[MODEL]
Y. Bernet, S. Blake, A. Smith, D. Grossman, "A Conceptual Model for
Diffserv Routers", Internet Draft <draft-ietf-diffserv-
model-03.txt>, May 2000.
[POLTERM]
F. Reichmeyer, D. Grossman, J. Strassner, M. Borden Condell, "A Study of Active Queue Management Common
Terminology for Congestion Control", March 2000, In IEEE Infocom
2000, http://www.ieee-infocom.org/2000/papers/405.pdf Policy Management", Internet Draft <draft-
Baker, Chan, Smith Expires November 2000 [Page 64]
Internet Draft Differentiated Services MIB May 2000
reichmeyer-polterm-terminology-00.txt>, March 2000
8. Authors' Addresses: Addresses
Fred Baker
Cisco Systems
519 Lado Drive
Santa Barbara, California 93111
fred@cisco.com
Kwok Ho Chan
Nortel Networks
600 Technology Park Drive
Billerica, MA 01821
khchan@nortelnetworks.com
Baker, Chan, SmithExpiration: September 2000 [Page 66]
Draft Differentiated Services MIB March 2000
Andrew Smith
Extreme Networks
3585 Monroe Street
Santa Clara, CA 95051
USA
andrew@extremenetworks.com
Table of Contents
1 The SNMP Management Framework ................................... 2
2 Structure of this MIB ........................................... 3
2.1 Overview ...................................................... 3
2.2 Classifiers ................................................... 4
2.2.1 Classifier Table ............................................ 4
2.2.2 IP Six-Tuple Classifier Table ............................... 4
2.3 Meters ........................................................ 5
2.3.1 Meter Table ................................................. 5
2.3.2 Token-Bucket Meter Table .................................... 5
2.4 Actions ....................................................... 6
2.4.1 DSCP Mark Action Table ...................................... 6
2.4.2 Count Action Table .......................................... 6
2.4.3 Absolute Drop Action ........................................ 7
2.5 Queueing Elements ............................................. 7
2.5.1 Algorithmic Dropper Table ................................... 7
2.5.2 Queues and Schedulers ....................................... 8
2.5.3 Example of Algorithmic Droppers, Queues and Schedulers ...... 9
2.5.4 Example of extending this MIB ............................... 10
Baker, Chan, SmithExpiration: September Smith Expires November 2000 [Page 65]
Internet Draft Differentiated Services MIB May 2000
2.6 The use of RowPointer ......................................... 10
3 Editorial information ........................................... 13
3.1 Open Issues resolved in this draft ............................ 13
3.2 Still Open Issues ............................................. 15
4 MIB Definition .................................................. 16
5 Acknowledgments ................................................. 61
6 Security Considerations ......................................... 61
7 References ...................................................... 62
8 Authors' Addresses .............................................. 65
Baker, Chan, Smith Expires November 2000 [Page 66]
Internet Draft Differentiated Services MIB May 2000
9. Full Copyright
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implmentation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Baker, Chan, Smith Expires November 2000 [Page 67]
----