draft-ietf-diffserv-pib-01.txt   draft-ietf-diffserv-pib-02.txt 
Network Working Group M. Fine Network Working Group M. Fine
Internet Draft K. McCloghrie Internet Draft K. McCloghrie
Expires December 2000 Cisco Systems Expires May 2001 Cisco Systems
J. Seligson J. Seligson
K. Chan K. Chan
Nortel Networks Nortel Networks
S. Hahn S. Hahn
Intel Intel
A. Smith A. Smith
No Affiliation Allegro Networks
Francis Reichmeyer Francis Reichmeyer
IPHighway IPHighway
July 14, 2000 November 24, 2000
Differentiated Services Quality of Service Policy Information Base Differentiated Services Quality of Service Policy Information Base
draft-ietf-diffserv-pib-01.txt draft-ietf-diffserv-pib-02.txt
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with all This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026. Internet-Drafts are working provisions of Section 10 of RFC2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute working its working groups. Note that other groups may also distribute working
documents as Internet-Drafts. documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference material time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as ``work in progress.'' or to cite them other than as ``work in progress.''
To view the current status of any Internet-Draft, please check the To view the current status of any Internet-Draft, please check the
DiffServ QoS Policy Information Base November 2000
``1id-abstracts.txt'' listing contained in an Internet-Drafts Shadow ``1id-abstracts.txt'' listing contained in an Internet-Drafts Shadow
Directory, see http://www.ietf.org/shadow.html. Directory, see http://www.ietf.org/shadow.html.
DiffServ QoS Policy Information Base November 2000
1. Glossary 1. Glossary
PRC Policy Rule Class. A type of policy data. PRC Provisioning Class. A type of policy data.
PRI Policy Rule Instance. An instance of a PRC. PRI Provisioning Instance. An instance of a PRC.
PIB Policy Information Base. The database of policy information. PIB Policy Information Base. The database of policy information.
PDP Policy Decision Point. See [RAP-FRAMEWORK]. PDP Policy Decision Point. See [RAP-FRAMEWORK].
PEP Policy Enforcement Point. See [RAP-FRAMEWORK]. PEP Policy Enforcement Point. See [RAP-FRAMEWORK].
PRID Policy Rule Instance Identifier. Uniquely identifies an PRID Provisioning Instance Identifier. Uniquely identifies an
instance of a a PRC. instance of a a PRC.
2. Introduction 2. Introduction
[SPPI] describes a structure for specifying policy information that can [SPPI] describes a structure for specifying policy information that can
then be transmitted to a network device for the purpose of configuring then be transmitted to a network device for the purpose of configuring
policy at that device. The model underlying this structure is one of policy at that device. The model underlying this structure is one of
well defined policy rule classes and instances of these classes residing well defined policy rule classes and instances of these classes residing
in a virtual information store called the Policy Information Base (PIB). in a virtual information store called the Policy Information Base (PIB).
This document specifies a set of policy rule classes specifically for This document specifies a set of policy rule classes specifically for
configuring QoS Policy for Differentiated Services [DSARCH]. configuring QoS Policy for Differentiated Services [DSARCH].
One way to provision policy is by means of the COPS protocol [COPS] with One way to provision policy is by means of the COPS protocol [COPS] with
the extensions for provisioning [COPS-PR]. This protocol supports the extensions for provisioning [COPS-PR]. This protocol supports
multiple clients, each of which may provision policy for a specific multiple clients, each of which may provision policy for a specific
policy domain such as QoS. The PRCs defined in this DiffServ QoS PIB policy domain such as QoS. The PRCs defined in this DiffServ QoS PIB
are intended for use by the COPS-PR QoS client type. Furthemore, these are intended for use by the COPS-PR QoS client type. Furthemore, these
PRCs are in addition to any other PIBs that may be defined for the QoS PRCs are in addition to any other PIBs that may be defined for the QoS
client type in the future, as well as the PRCs defined in the Framework client type in the future, as well as the PRCs defined in the Framework
PIB [FR-PIB] PIB [FR-PIB].
3. DiffServ PIB Concepts 3. Relationship to the Diffserv Informal Management Model
3.1. Filters, Filter Groups and Classifiers This PIB is designed according to the Differentiated Services Informal
Management Model documented in [MODEL]. The model describes the way that
ingress and egress interfaces of an 'n'-port router are modelled. It
describes the configuration and management of a Diffserv interface in
terms of a Transmission Control Block (TCB) which contains, by
definition, zero or more classifiers, meters, actions, algorithmic
droppers, queues and schedulers. These elements are arranged according
The basis of differential QoS treatment of packets is a filter. This is DiffServ QoS Policy Information Base November 2000
simply a general specification for matching a pattern to appear in
packets belonging to flows, e.g. microflows or behavior aggregates.
Associated with each filter is a permit/deny flag which effectively
gives a negation operation.
Sets of these filters are used to create classifiers. Classifiers are to the QoS policy being expressed, always in that order. Traffic may be
applied to interfaces with a direction flag to indicate an ingress or classified; classified traffic may be metered; each stream of traffic
egress classifier. Filters are combined, in order, into filter groups; identified by a combination of classifiers and meters may have some set
of actions performed on it; it may have dropping algorithms applied and
it may ultimately be stored into a queue before being scheduled out to
its next destination, either onto a link or to another TCB. When the
treatment for a given packet must have any of those elements repeated in
a way that breaks the permitted sequence {classifier, meter, action,
algorithmic dropper, queue, scheduler}, this must be modelled by
cascading multiple TCBs.
filter groups are then combined, in order, to build a classifier. This The PIB represents this cascade by following the "Next" attributes of
allows a rudimentary classification grammar to be defined. On input, the various elements. They indicate what the next step in Diffserv
each packet is checked against the ingress classifier on the interface. processing will be, whether it be a classifier, meter, action,
Similarly, on output each packet is checked against the egress algorithmic dropper, queue, scheduler or a decision to now forward a
classifier on the interface. The result of the classifier then feeds packet.
into appropriate meters and actions to be applied to packets.
For each classifier, the packet is checked against the set of filter The PIB models the individual elements that make up the TCBs. The
groups in the appropriate order. The detailed operation of the PIB higher level concept of a TCB is not required in the parameterization or
syntax is as follows. If a packet matches a filter in the first filter in the linking together of the individual elements, hence it is not used
group of a classifier and the sense is "permit" then the subsequent in the PIB itself and only mentioned in the text for relating the PIB
meters and actions associated with that classifier are applied to that with the [MODEL]. The actual distinguishing of which TCB a specific
packet and no further filters are compared. If the sense is "deny" then element is a part of is not needed for the instructmentation of a device
the rest of the filters in the current filter group are skipped and to support the functionalities of DiffServ, but it is useful for
operation proceeds with the first filter of the next filter group. If conceptual reasons. By not including the TCB notion in its parameters,
the packet does not match any of the filters in the filter group then this PIB allow any grouping of elements to construct TCBs, using rules
the next filter group is tried. This process is continued until a indicated by the [MODEL]. This will minimize changes to this PIB if
definitive match is obtained. Each classifier must cover all possible rules in [MODEL] changes.
matches i.e., it must be complete.
3.2. Applying QoS Policy Using Targets The notion of a Data Path is used in this PIB to indicate the DiffServ
processing a packet may experience. This Data Path is distinguished
based on the Role Combination and the Direction of the flow the packet
is part of. A Data Path Table Entry indicates the first of possibly
multiple elements that will apply DiffServ treatment to the packet.
The task of applying QoS policy within a network requires the 3.1. PIB Overview
specification of several components. The flows to which QoS policy
should be applied must be identified. The interfaces of the device on
which the policy should be enforced must be known. A certain set of
parameters to support flow metering is also required. The combination of
these components provides the target against which QoS policy is to be
applied. Within the context of the QoS PIB, the association between
these components is defined efficiently using the Target class.
The Target class serves to logically link several other QoS policy This PIB is structured based on the need to configure the sequential
classes. Flow classification rules, specifying behavior aggregate (BA) DiffServ treatments being applied to a packet, and the parameterization
or multi-field (MF) classification parameters, are indirectly identified of these treatments. These two aspects of the configuration are kept
using the PRC for the appropriate classification class coupled with an separate throughout the design of the PIB, and are fulfilled using
identifier for a specific -- classifier. Interface information is separate tables and data definitions.
specified using the role combination tag, defined in the Interface Type
class, to identify the group of interfaces on which classification is to
be performed. The direction of packet flow on the identified interfaces
is provided as well. A link to the metering component is provided using
the PRC for the appropriate metering class instance.
Once a target has been defined, actions based on the classification and DiffServ QoS Policy Information Base November 2000
metering phases must be specified. Action class instances are linked
with the Target entry through the associated Meter class instance. A
precedence component is also provided so that a definitive order of In addition, the PIB includes tables describing the capabilities and
evaluation may be defined for Target class instances being applied to limitations of the device using a general extensible framework. These
the same interface role and flow direction targets. The Target class tables are reported to the PDP and assist the PDP with the configuration
thus functions as the integration point for the range of components used of functional elements that can be realized by the device.
for the application of QoS policy.
3.3. Interface Modeling with Queue Sets In this PIB, the ingress and egress portions of a router are configured
independently but in the same manner. The difference is distinguished by
an attribute in a table describing the start of the data path. Each
interface performs some or all of the following high-level functions:
The traffic processing capabilities of an interface are determined by o Classify each packet according to some set of rules
the queuing resources that are associated with the interface. These
capabilities are represented abstractly using queue sets. A queue set
is comprised of one or more individual queues. The PDP creates the
queue sets, configures the parameters of the individual queues,
configures the scheduling discipline to be used to schedule the queues
and then assigns a queue set to each <interface type, role combination>
tuple. In this way, the PDP sets the scheduling policy for each
interface based on the role combination of the interface and the type of
the interface.
In order for the PDP to configure a queue set that can be properly o Determine whether the data stream the packet is part of is within
realized by an interface, the PEP reports to the PDP the types of or outside its rate
interfaces it has together with various capabilities and configuration
limits (such as the maximum number of queues an interface could support)
of the interface types.
It should be emphasized that the PDP does not configure individual o Perform a set of resulting actions such as application of an
interfaces directly. Rather, it configures them indirectly by appropriate drop policy and marking of the traffic with a
specifying the configuration for each interface type and role Differentiated Services Code Point (DSCP) as defined in [DSFIELD].
combination pair. It is the responsibility of the PEP to apply the
queue set characteristics, and hence the interface scheduling
configuration, to the individual interfaces on the basis of the type and
role combination information.
3.3.1. Queue Scheduling o Enqueue the traffic for output in the appropriate queue, whose
scheduler may shape the traffic or simply forward it with some
minimum rate or maximum latency.
There are two basic scheduling disciplines supported by queue sets: The PIB therefore contains the following elements:
priority queueing and weighted fair queueing. To support these, each
queue is assigned a priority which is then used to determine a strict
processing order between queues. However, several queues may be
assigned the same priority. In this case, these queues form a group,
called a priority group, and are scheduled using WFQ. In other words,
service is given to the priority group with the highest priority that
has any non-empty queue. Within a priority group queues are serviced
using WFQ.
3.3.2. Assigning Packets To Queues and Thresholds Data Path Table
A general extensible framework for describing the starting point of
DiffServ datapaths within a single DiffServ device. This table
descibes interface role combination and interface direction
specific data paths.
In keeping with the DiffServ model of classifying packets into behaviour Classifier Tables
classes and then providing service suitable for that behaviour, packets A general extensible framework for specifying a group of filters.
are assigned to queues on the basis of their final DSCP values.
Furthermore, each queue is configured with a set of thresholds to
support multiple discard priorities for the PHBs in a PHB group.
Packets are assigned to thresholds within a queue on the basis of their
DSCPs. The PDP is responsible for this assignment of DSCP values to
queues and the associated thresholds.
3.3.3. Hierarchies of Queues Meter Tables
A general extensible framework and one example of a
parameterization table - TBMeter table, applicable for Simple Token
Bucket Meter, Average Rate Meter, Single Rate Three Color Meter,
Two Rate Three Color Meter, and Sliding Window Three Color Meter.
Sometimes policy may require hierachies of queues. For example, a Action Tables
department might has some set of traffic classes with a defined A general extensible framework and examples of parameterization
scheduling policy between these classes. Multiple departments might tables for Absolute Drop, Mark and Count actions. The
then share a link with there being a defined scheduling policy between "multiplexer", "replicator" and "null" actions described in [MODEL]
traffic from the various depertments. are accomplished implicitly by means of the RowPointer structures
The PIB does not support hierarchical queueing at this time. However, DiffServ QoS Policy Information Base November 2000
we expect to add this support in the future by allowing the traffic from
one queue set to feed into the queues of another queue set.
4. Summary of the DiffServ PIB of the other elements.
Queue, Scheduler and Algorithmic Dropper Tables
A general extensible framework for parameterizing queuing and
scheduler systems. The queue measurement dependent algorithmic
droppers are also described here.
Capabilities Tables
A general extensible framework for defining the capabilities and
limitations of the elements listed above. The capability tables
allow intelligent configuration of the elements by a PDP.
4. Structure of the PIB
4.1. General Conventions
The PIB consists of classes that represent functional elements in the
data path (e.g. classifiers, meters, actions), and classes that specify
parameters that apply to a certain type of functional element (e.g. a
Token Bucket meter or a Mark action). Parameters are typically
specified in a separate PRC to enable the use of parameter classes by
multiple policies.
Functional element PRC's use the Prid TC (defined in [SPPI]) to indicate
indirection. A Prid is a object identifier that is used to specify an
instance of a PRC in another table. A Prid is used to point to
parameter PRC that applies to a functional element, such as which filter
should be used for a classifier element. A Prid is also used to
specify an instance of a functional element PRC that describes what
treatment should be applied next for a packet in the data path.
Note that the use of Prid's to specify parameter PRC's allows the same
funtional element PRC to be extended with a number of different types of
parameter PRC's. In addition, using Prids to indicate the next
functional datapath element allows the elements to be ordered in any
way.
4.2. DiffServ Data Paths
This part of the PIB provides instrumentation for connecting the
DiffServ Functional Elements within a single DiffServ device. Please
refer to the [MODEL] for discussions on the valid sequencing and
grouping of DiffServ Functional Elements. Given some basic information,
DiffServ QoS Policy Information Base November 2000
e.g. the interface role combination and direction, the first DiffServ
Functional Element is determined. Subsequent DiffServ Functional
Elements are provided by the "Next" pointer attribute of each entry of
data path tables. A description of how this "Next" pointer is used in
each table is provided in their respective sections.
4.2.1. Data Path PRC
The Data Path PRC provides the DiffServ treatment starting points for
all packets of this DiffServ device. Each instance of this PRC specifies
the interface role combination and direction for the packet flow. There
should be at most two entries for each role combination, one for ingress
and one for egress. Each instance provides the first DiffServ
Functional Element each packet at a specific interface (identified by
the roles assigned to the interface) traveling in a specific relative
direction should experience. Notice this table is interface specific,
with the use of RoleCombination. To indicate explicitly that there are
no Diffserv treatments for a particular role combination and direction,
an instance of the Data Path PRC can be created with zeroDotZero in the
qosDataPathStart attribute. This situation can also be indicated
implicitly by not supplying an instance of a Data Path PRC for that
particular role combination and direction. The explicit/implicit
selection is up to the implementation. This means that the PEP should
perform normal IP device processing when zeroDotZero is used in the
qosDataPathStart attribute, or when the entry does not exist. Normal IP
device processing will depend on the device, for example, this can be
forwarding the packet.
4.3. Classifiers
The classifier and classifier element tables determine how traffic is
sorted out. They identify separable classes of traffic, by reference to
appropriate filters, which may select anything from an individual micro-
flow to aggregates identified by DSCP.
The classification is used to send these separate streams to appropriate
Meter, Action, Queue, Scheduler and Algorithmic Dropper elements. For
example, to indicate a multi-stage meter, sub-classes of traffic may be
sent to different meter stages: e.g. in 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 and AF13 traffic sent to
DiffServ QoS Policy Information Base November 2000
the second meter stage's out-of-profile action.
The concept of a classifier is the same as described in [MODEL]. The
structure of the classifier and classifier element tables, is the same
as the classifier described in [MODEL]. Classifier elements have an
associated precedence order solely for the purpose of resolving
ambiguity between overlapping filters. Filter with higher values of
order are compared first; the order of tests for entries of the same
precedence is unimportant.
A datapath may consist of more than one classifier. There may be
overlap of filter specification between filters of different
classifiers. The first classifier functional datapath element
encountered, as determined by the sequencing of diffserv functional
datapath elements, will be used first.
An important form of classifier is "everything else": the final stage of
the classifier i.e. the one with the lowest precedence, must be
"complete" since the result of an incomplete classifier is not
necessarily deterministic - see [MODEL] section 4.1.2.
The definition of the actual filter to be used by the classifier is
referenced via a Prid: this enables the use of any sort of filter table
that one might wish to design, standard or proprietary. No filters are
defined in this PIB. However, standard filters for IP packets are
defined in the Framework PIB [FR-PIB].
4.3.1. Classifier PRC
Classifiers are organized by instances of the Classifier PRC. Each
instance corresponds to a single Classifier. Instances of the
Classifier PRC get linked from the upstream diffserv functional datapath
element, e.g., a qosDataPathentry instance. A data path may consist of
more than one Classifier, and the order in which the classifiers are
applied to the traffic is the same as the order the classifier table
entries are linked in the data path.
4.3.2. Classifier Element PRC
While the Classifier PRC specifies the input side of the Classifier, the
Classifier Element PRC enumerates each branch of the fan-out of a
DiffServ QoS Policy Information Base November 2000
Classifier, associating each fan-out branch with a Filter for
discriminating the traffic for that branch. Each Classifier Element PRI
is part of a Classifier, indicated by qosClfrElementClfrId.
The definition of the actual filter to be used by the classifier is
referenced via a Prid: this enables the use of any sort of filter table
that one might wish to design, standard or proprietary. An example of a
filter that may be pointed to by a Classifier Element PRI is the
frwkIpFilter PRC, defined in [FR-PIB].
4.4. Meters
A meter, according to [MODEL] section 5, measures the rate at which
packets making up a stream of traffic pass it, compares this rate to
some set of thresholds and produces some number (two or more) of
potential results. A given packet is said to "conform" to the meter if,
at the time that the packet is being looked at, the stream appears to be
within the meter's profile. PIB syntax makes it easiest to define this
as a sequence of one or more cascaded pass/fail tests, modeled here as
if-then-else constructs. It is important to understand that this way of
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 notational convenience in order to simplify the
PIB structure.
4.4.1. Meter PRC
The generic meter PRC is used as a base for all more specific forms of
meter. The definition of parameters specific to the type of meter used
is referenced via a pointer to an instance of a PRC containing those
specifics. This enables the use of any sort of specific meter table
that one might wish to design, standard or proprietary. The specific
meter table may be, but does not need to be, defined in this PIB module.
DiffServ QoS Policy Information Base November 2000
4.4.2. Token-Bucket Meter PRC
This is included as an example of a common type of meter. Entries in
this table are referenced from the qosMeterSpecific attributes of meter
PRC instances. The parameters are represented by a rate qosTBMeterRate,
a burst size qosTBMeterBurstSize, and an interval qosTBMeterInterval.
The type of meter being parameterized is indicated by the qosTBMeterType
attribute. This is used to determine how the rate, burst and rate
interval parameters are used. Additional meter parameterization classes
can be defined in this or another PIB when necessary.
4.5. Actions
Actions include "no action", "mark the traffic with a DSCP" or "drop the
traffic". Other tasks such as "shape the traffic" or "drop based on some
algorithm" are handled elsewhere as queueing mechanisms, rather than
actions, consistent with [MODEL]. The "multiplexer", "replicator" and
"null" actions described in [MODEL] are accomplished implicitly through
various combinations of the other elements.
This PIB uses the Action PRC qosActionTable to organize one Action's
relationship with the element(s) before and after it. It allows Actions
to be cascaded to enable multiple Actions be applied to a single traffic
stream by using each entry's qosActionNext attribute. The qosActionNext
attribute of the last action entry in the chain points to the next
element in the TCB, if any, e.g. a Queueing element. It may also point
at a next TCB.
The parameters needed for the Action element will depend on the type of
Action to be taken. Hence the PIB allows for specific Action Tables for
the different Action types. This flexibility allows additional Actions
be specified in future revisions of this PIB, or in other PIBs and also
allows for the use of proprietary Actions without impact on those
defined here.
There is one action - the absolute drop action - that does not require
additional parameters. This action silently discards all traffic
presented to it. To accommodate this action, the qosAction PRC contains
an attribute, qosActionType, that indicates whether the absolute drop
action is to be used or if the action is described by a specific action
table.
DiffServ QoS Policy Information Base November 2000
4.5.1. DSCP Mark Action PRC
This Action is applied to traffic in order to mark it with a Diffserv
Codepoint (DSCP) value, specified in the qosDscpMarkActTable. Other
marking actions might be specified elsewhere - these are outside the
scope of this PIB.
4.5.2. Absolute Drop Action
This action just silently discards all traffic presented to it. This
action has no additional parameters and so is represented only within
diffServActionType without its specific table.
4.6. Queueing Elements
These include Algorithmic Droppers, Queues and Schedulers which are all
inter-related in their use of queueing techniques.
4.6.1. Algorithmic Dropper PRC
Algorithmic Droppers have a close relationship with queueing: they are
represented in this PIB by instances of an Algorithmic Dropper PRC.
Entries contain a qosAlgDropNext attribute which indicates to which
queue they sink their traffic.
An Algorithmic Dropper is assumed to operate indiscriminately on all
packets that are presented at its input. If it is necessary to perform
additional classification on the stream then a separate TCB must be
introduced at this point: Classifier elements here can then distinguish
the different types of traffic on which dropping is to act and the
treatment for each type is described by a separate qosAlgDropEntry.
Algorithmic Droppers may also contain a pointer to specific detail of
the drop algorithm. This PIB defines the detail for three drop
algorithms: Tail Drop, Head Drop and Random Drop; other algorithms are
outside the scope of this PIB modele but the general framework is
intended to allow for their inclusion via other PIB modules.
One generally-applicable parameter of a dropper is the specification of
a queue-depth threshold at which some drop action is to start. This is
DiffServ QoS Policy Information Base November 2000
represented in this PIB, as a base attribute of the Algorithmic Dropper
entry, by pointing to the queue for which depth is to be compared and
the depth threshold to compare against.
o A Tail Dropper requires the specification of a maximum queue depth
threshold: when the queue pointed at by diffServAlgDropQMeasure
reaches that depth threshold, qosAlgDropQThresh, any new
traffic arriving at the dropper is discarded. This algorithm uses
only parameters that are part of the qosAlgDropEntry.
o A Head Dropper requires the specification of a maximum queue depth
threshold: when the queue pointed at by qosAlgDropQMeasure
reaches that depth threshold, qosAlgDropQThresh, traffic
currently at the head of the queue is discarded. This algorithm
uses only parameters that are part of the qosAlgDropEntry.
o Random Droppers are recommended as a way to control congestion, in
[QUEUEMGMT] and called for in the [AF-PHB]. Various implementations
exist, which agree on marking or dropping just enough traffic to
communicate with TCP-like protocols about congestion avoidance, but
differ markedly on their specific parameters. This PIB attempts to
offer a minimal set of controls for any random dropper, but expects
that vendors will augment the PRC with additional controls and
status in accordance with their implementation. This algorithm
requires additional parameters on top of those in
qosAlgDropEntry; these are discussed below.
4.6.2. Random Dropper PRC
One example of a random dropper is a RED-like dropper. An example of
the representation chosen in this PIB for this element is shown in
Figure 1.
Random droppers often have their drop probability function described as
a plot of drop probability (P) against averaged queue length (Q).
(Qmin,Pmin) then defines the start of the characteristic plot. Normally
Pmin=0, meaning with average queue length below Qmin, there will be no
drops. (Qmax,Pmax) defines a "knee" on the plot, after which point the
drop probability become more progressive (greater slope). (Qclip,1)
defines the queue length at which all packets will be dropped. Notice
this is different from Tail Drop because this uses an averaged queue
length. although it is possible for Qclip = Qmax. In the PIB module,
DiffServ QoS Policy Information Base November 2000
qosRandomDropMinThreshBytes and qosRandomDropMinThreshPkts represent
Qmin. qosRandomDropMaxThreshBytes and qosRandomDropMaxThreshPkts
represent Qmax.
+-------------+ +-----------+
--->| Next --------+-->| Next ---------> to Scheduler
| Thresh=100k | | | Min=none |
| Measure -------+ | Max=none |
| Type=random | | Pri=10 |
| Specif -------+ | Type=fifo |
+-------------+ | +-----------+
AlgDrop.3 | Queue.4
|
| +--------------+
+-->| Minthresh=10k|
| Maxthresh=80k|
| Weight=1/16 |
| ProbMax= 0.5 |
+--------------+
RandomDrop.3
Figure 1: Example Use of the RandomDropTable for Random Droppers
qosRandomDropProbMax represents Pmax. This PIB does not represent Pmin
(assumed to be zero unless otherwise represented) or Qclip (assumed to
be Qmax unless otherwise represented).
Each random 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 implementations may
require. This also allows for sequences of multiple droppers if
necessary.
The calculation of a smoothed queue length may also have an important
bearing on the behaviour of the dropper: parameters may include the
sampling interval and the weight of each sample. The performance may be
very sensitive to the values of these parameters and a wide range of
possible values may be required due to a wide range of link speeds. Most
algorithms include a sample weight, represented here by
qosRandomDropInvWeight. Note however that there is ongoing research on
this topic, see e.g. [ACTQMGMT].
Additional parameters may be added in an enterprise PIB module, e.g. by
DiffServ QoS Policy Information Base November 2000
using AUGMENTS or EXTENDS on this table, to handle aspects of random
drop algorithms that are not standardised here.
NOTE: Deterministic Droppers can be viewed as a special case of Random
Droppers with the drop probability restricted to 0 and 1. Hence
Deterministic Droppers might be described by a Random Dropper with Pmin
= 0, Pmax = 1, Qmin = Qmax = Qclip, the averaged queue length at which
dropping occurs.
4.6.3. Queues and Schedulers
The Queue PRC models simple FIFO queues, as described in [MODEL] section
7.1.1. The Scheduler PRC allows flexibility in constructing both simple
and somewhat more complex queueing 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.
Queue PRC instances are pointed at by the "next" attributes of the
upstream elements e.g. qosMeterSucceedNext. Note that multiple upstream
elements may direct their traffic to the same Queue PRI. For example,
the Assured Forwarding PHB suggests that all traffic marked AF11, AF12
or AF13 be placed in the same queue, after metering, without reordering.
This would be represented by having the qosMeterSucceedNext of each
upstream meter point at the same Queue PRI.
Queue Table entries specify the scheduler it wants service from by use
of its Next pointer.
Each Scheduler Table entry represents the algorithm 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 PIB by
having the scheduling parameters be associated with each input. In this
way, sets of Queues can be grouped together as inputs to the same
Scheduler. This table serves to represent the example scheduler
described in the [MODEL]: other more complex representations might be
created outside of this PIB.
Both the Queue PRC and the Scheduler PRC use instances of the Scheduler
Parameterization PRC to specify diffserv treatment parameterization.
Scheduler Parameter PRC instances are used to parameterize each input
that feeds into a scheduler. The inputs can be a mixture of Queue PRI's
and Scheduler PRI's. Scheduler Parameter PRI's can be used/reused by
one or more Queue and/or Scheduler Table entries.
DiffServ QoS Policy Information Base November 2000
For representing a Strict Priority scheduler, each scheduler input is
assigned a priority with respect to all the other inputs feeding the
same scheduler, with default values for the other parameters. A higher-
priority input will be serviced first over a lower-priority input,
assuming that all guarantees have already been met.
For Weighted Queueing algorithms e.g. WFQ, WRR, the "weight" of a given
scheduler input is represented with a Minimum Service Rate leaky-bucket
profile which provides guaranteed bandwidth to that input, if required.
This is represented, as were token-bucket meters, by a rate
qosSchdParamMinRateAbs. The rate may, alternatively, be represented by a
relative value, as a fraction of the interface's current line rate,
qosSchdParamMinRateRel to assist in cases where line rates are variable
or where a higher-level policy might be expressed in terms of fractions
of network resources. The two rate parameters are inter- related and
changes in one may be reflected in the other.
An input may also be capable of acting as a non-work-conserving [MODEL]
traffic shaper: this is done by defining a Maximum Service Rate leaky-
bucket profile in order to limit the scheduler bandwidth available to
that input. This is represented, similarly to the minimum rate, by a
rate qosSchdParamMaxRateAbs. The rate may, alternatively, be represented
by a relative value, as a fraction of the interface's current line rate,
qosSchdParamMaxRateRel.
Notice hierarchical schedulers can be parameterized using these PRC's by
having Scheduler PRI's feed into other Scheduler PRI's.
4.7. Specifying Device Capabilities
The Diffserv PIB uses the Base PRC classes frwkPrcSupportTable and
frwkCompLimitsTable defined in [FR-PIB] to specify what PRC's are
supported by a PEP and to specify any limitations on that support. The
PIB also uses the capability PRC's frwkIfCapSetTable and
frwkIfCapSetRoleComboTable defined in [FR-PIB] to specify the device's
interface types and role combinations. Each instance of the capability
PRC frwkIfCapSetTable contains an OID that points to an instance of a
PRC that describes some capability of that interface type. The Diffserv
PIB defines several of these capability PRC's, which assist the PDP with
the configuration of Diffserv functional elements that can be
implemented by the device.
DiffServ QoS Policy Information Base November 2000
Classification capabilities, such as which directions (ingress or egress
support IP classification and whether the interface is capable of
classifying on layer 4 information, are reported using
qosIfClassificationCapsTable. Metering capabilities, such as which
directions support metering, are specified using qosIfMeteringCapsTable.
Scheduling capabilities, such as the maximum number of queues and
priorities supported, are reported using qosIfSchedulingCapsTable.
Two PRC's are defined to allow specification of the element linkage
capabilities of the PEP. The qosIfElmDepthCaps PRC indicates the
maximum number of functional datapath elements that can be linked
consecutively in a datapath. The qosIfElmLinkCaps PRC indicates what
functional datapath elements are may follow a specific type of element
in a datapath.
5. PIB Usage Example
This section provides some examples on how the different table entries
of this PIB may be used to parameterize a DiffServ Device. For the
figures, all the PRC and attribute names are assumed to have the PRC
(table entry) name as the common initial part of the name.
+---------------------+
|DataPath |
| Roles="A+B" |
| IfDirection=Ingress | +------+
| Start --------------+--->|Clfr |
+---------------------+ | Id=1 |
+------+
+------------+ +--------------+ +-----------+
|ClfrElement | +-->|Meter | +-->|Action |
| Id=101 | | | Id=101 | | | Id=101 |
| ClfrId=1 | | | SucceedNext -+--+ | Next -----+---->...
| Order=NA | | | FailNext ----+->... | Specific -+-+
| Next ------+--+ | Specific -+ | | Type=Spcf | |
| Specific --+-+ +-----------+--+ +-----------+ |
+------------+ | | +-------+
| +-------+ | +--------+ | +------------+
+-->|Filter1| +-->|TBMeter1| +-->|DscpMarkAct1|
+-------+ +--------+ +------------+
DiffServ QoS Policy Information Base November 2000
+------------+ +--------------+ +-----------+
|ClfrElement | +-->|Meter | +-->|Action |
| Id=102 | | | Id=102 | | | Id=102 |
| ClfrId=1 | | | SucceedNext -+--+ | Next -----+---->...
| Order=NA | | | FailNext ----+->... | Specific -+-+
| Next ------+--+ | Specific -+ | | Type=Spcf | |
| Specific --+-+ +-----------+--+ +-----------+ |
+------------+ | | +-------+
| +-------+ | +--------+ | +------------+
+-->|Filter2| +-->|TBMeter2| +-->|DscpMarkAct2|
+-------+ +--------+ +------------+
+------------+ +--------------+ +-----------+
|ClfrElement | +-->|Meter | +-->|Action |
| Id=103 | | | Id=103 | | | Id=103 |
| ClfrId=1 | | | SucceedNext -+--+ | Next -----+---->...
| Order=NA | | | FailNext ----+->... | Specific -+-+
| Next ------+--+ | Specific -+ | | Type=Spcf | |
| Specific --+-+ +-----------+--+ +-----------+ |
+------------+ | | +-------+
| +-------+ | +--------+ | +------------+
+-->|Filter3| +-->|TBMeter3| +-->|DscpMarkAct3|
+-------+ +--------+ +------------+
Figure 3: Data Path Example Part 1
+-------------+ +------------------+ +----------------------+
---->|Q | +->|Scheduler | +->|Scheduler |
| Id=EF | | | Id=DiffServ | | | Id=Shaping |
| Next -------+---+ | Next ------------+--+ | Next=zeroDotZero |
| SchdParam -+| | | Method=priorityq | | Method=priorityq |
+------------++ | | SchdParam -+ | | SchdParam=zeroDotZero|
| | +------------+-----+ +----------------------+
+------------+ | |
| | +------------+
| +-----------+ | |
+->|SchdParamEF| | | +----------------+
+-----------+ | +->|SchdParamShaping|
| +----------------+
|
|
+-----------------------------------------+
|
|
DiffServ QoS Policy Information Base November 2000
+----------------+ +-------------+ |
--->|AlgDrop | +->|Q | |
| Id=AF11 | | | Id=AF1X | +-------------+ |
| Type=randomDrop| | | Next -------+--->|Scheduler | |
| Next ----------+-+--+ | SchdParam -+| | Id=AF | |
| QMeasure ------+-+ | +------------++ | Next -------+--+
| QThreshold | | | | Method=wfq |
| Specific -+ | | +------------+ | SchdParam -+|
+-----------+----+ | | +------------++
| | | +-------------+ |
+-----------+ | +->|SchdParamAF1X| +------------+
| +--------------+ | +-------------+ |
+->|RandomDropAF11| | | +-----------+
+--------------+ | +->|SchdParamAF|
| +-----------+
+----------------+ |
--->|AlgDrop | |
| Id=AF12 | |
| Type=randomDrop| |
| Next ----------+-+--+
| QMeasure ------+-+
| QThreshold |
| Specific -+ |
+-----------+----+
|
+-----------+
| +--------------+
+->|RandomDropAF12|
+--------------+
Figure 4: Data Path Example Part 2
5.1. Data Path and Classifier Example Discussion
The example in Figure 4 shows a single DataPathEntry PRI feeding into a
single Classifier PRI, with three ClfrElement and Filter PRI pairs
belonging to this Classifier 1. Notice the three Filters used here must
completely classify all the traffic presented to this data path.
Another level of classification can be defined that follows the Action
function datapath elements in Figure 3. This second level of
classifiers and their subsequent function datapath elements would be
considered as in another TCB.
DiffServ QoS Policy Information Base November 2000
This multi-level classification allow the construction of traffic
separations like:
if (dept1)
{
if (appl1) then take dept1-appl1-action.
if (appl2) then take dept1-appl2-action.
if (appl3) then take dept1-appl3-action.
}
if (dept2)
{
if (appl1) then take dept2-appl1-action.
if (appl2) then take dept2-appl2-action.
if (appl3) then take dept2-appl3-action.
}
if (dept3)
{
if (appl1) then take dept3-appl1-action.
if (appl2) then take dept3-appl2-action.
if (appl3) then take dept3-appl3-action.
}
The filters for appl1, appl2, appl3 may be reused for the above setup.
5.2. Meter and Action Example Discussion
A simple Meter that can be parameterized by a single TBMeter entry is
shown here. For Metering types that require mutliple TBMeter entries
for parameterization, a second level Meter and TBMeter table entries may
be used. For example, for trTCM, with the first level TBMeter entry
used for Peak Information Token Bucket, the first level SucceedNext
points to the second level Meter entry, with second level TBMeter entry
used for Committed Information Token Bucket.
5.3. Queue and Scheduler Example Discussion
Example in Figure 4 shows three classified input traffic streams, EF,
AF11, and AF12, feeding into their respective queue and algorithmic
droppers. After their respective dropping process, the AF traffic
streams feed into the same queue, QAF1X.
A Scheduler, AF, is shown in Figure 4, as the sink for AF1X queue
DiffServ QoS Policy Information Base November 2000
traffic, servicing AF1X queue with scheduling parameters indicated by
SchdParamAF1X. This scheduler is used to service traffic from AF1X,
AF2X, AF3X queues using weighted fair queueing method. The AF2X and
AF3X queues are not shown in Figure 4, they can be very much like AF1X
queue setup.
Another traffic stream, EF, is handled by the EF queue. Scheduler
DiffServ services output of EF queue using SchdParamEF, and output of AF
scheduler using SchdParamAF, with Weighted Fair Queueing method.
Notice all the diffserv traffic may go out on a link with traffic
shaping. The traffic shaping can be parameterize using the Shaping
Scheduler in Figure 4. For shaping, the qosSchdParamMaxRate attributes
should be used. The output of the Shaping Scheduler is indicated using
its Next pointer with value of zeroDotZero, the output port.
6. Summary of the DiffServ PIB
The DiffServ PIB consists of one module containing the base PRCs for The DiffServ PIB consists of one module containing the base PRCs for
setting DiffServ policy, queues, classifiers, meters, etc., and also setting DiffServ policy, queues, classifiers, meters, etc., and also
contains filters for matching IP packets. This module comprises several contains capability PRC's that allow a PEP to specify its device
groups which are summarized in this section. characteristics to the PDP. This module contains two groups, which are
summarized in this section.
QoS Interface Group QoS Capabilities Group
This group consists of PRCs to indicate to the PDP the types of This group consists of PRCs to indicate to the PDP the types of
interface supported on the PEP in terms of their QoS capabilities interface supported on the PEP in terms of their QoS capabilities
and PRCs that the PDP can install in order to configure these and PRCs that the PDP can install in order to configure these
interfaces (queues, scheduling parameters, buffer sizes, etc.) to interfaces (queues, scheduling parameters, buffer sizes, etc.) to
affect the desired policy. This group describes capabilities in affect the desired policy. This group describes capabilities in
terms of the types of interfaces and takes configuration in terms terms of the types of interfaces and takes configuration in terms
of interface types and role combinations [FR-PIB]; it does not deal of interface types and role combinations [FR-PIB]; it does not deal
with individual interfaces on the device. with individual interfaces on the device.
QoS Metering Group QoS Policy Group
This group contains configuration of meters. These meters can then This group contains configuration of the functonal elements that
be used to by target classes to specify metering policy. comprise the QoS policy that applies to an interface and the
specific parameters that describe those elements. This group
contains classifiers, meters, actions, droppers, queues and
schedulers. This group also contains the PRC that associates the
datapath elements with role combinations.
QoS Action Group DiffServ QoS Policy Information Base November 2000
This group contains the policies that define the action to be taken
after the result of the classification and metering. This group
also contains the policies that associate the classifiers, meters
and actions.
5. PIB Operational Overview 7. PIB Operational Overview
This section provides an operation overview of configuring DiffServ QoS This section provides an operation overview of configuring DiffServ QoS
policy. policy.
After initial PEP to PDP communication setup, using [COPS-PR] for After initial PEP to PDP communication setup, using [COPS-PR] for
example, the PEP will provide to the PDP the PIB Policy Rule Classes example, the PEP will provide to the PDP the PIB Provisioning Classes
(PRCs), interface types, and interface type capabilities it supports. (PRCs), interface types, and interface type capabilities it supports.
The PRCs supported by the PEP are reported to the PDP in the PRC Support The PRCs supported by the PEP are reported to the PDP in the PRC Support
Table, frwkPrcSupportTable defined in the framework PIB [FR-PIB]. Each Table, frwkPrcSupportTable defined in the framework PIB [FR-PIB]. Each
instance of the frwkPrcSupportTable indicates a PRC that the PEP instance of the frwkPrcSupportTable indicates a PRC that the PEP
understands and for which the PDP can send class instances as part of understands and for which the PDP can send class instances as part of
the policy information. the policy information.
The interface types the PEP supports are described by rows in the The interface types the PEP supports are described by rows in the
interface type table, frwkIfCapsSetTable. Each row, or instance of this interface type table, frwkIfCapsSetTable. Each row, or instance of this
class describes the characteristics of an interface type. The PEP class contains a pointer to a instance of a PRC that describes the
informs the PDP of these interface types and then the PDP configures the capabilities of the interface type. The capability objects may reside
interfaces, per role combination, by means of installing queue sets. in the qosIfClassifierCapsTable, the qosIfMeterCapsTable, the
qosIfSchedulerCapsTable, the qosIfElmDepthCapsTable, the
qosIfElmOutputCapsTable, or in a table defined in another PIB.
The PDP, with knowledge of the PEP's capabilities, then provides the PEP The PDP, with knowledge of the PEP's capabilities, then provides the PEP
with administration domain and interface-specific policy information. with administration domain and interface-specific policy information.
Instances of the qosTargetTable define how the Traffic Conditioning Instances of the qosDataPathTable are used to specify the first element
Elements are combined into Traffic Conditioning Blocks, as described in in the set of functional elements applied to an interface. Each
[MODEL]. Each instance of the qosTargetTable applies to an interface instance of the qosDataPathTable applies to an interface type defined by
type defined by its roles and direction (ingress or egress). This is its roles and direction (ingress or egress).
pictured in the following diagram where the InterfaceRoles X, and Y
would be used by the network device to associate the traffic
conditioning block with the interfaces needing each of thess policies.
+----------------------------+
+----------------------------+ | qosTargetEntry |
| | | |
| PolicyFilterEntry | <------- Ptr to Policy Filter |
| | | InterfaceRoles = X |
+----------------------------+ | Meter -----+ |
+-------------------|--------+
|
v
+----------------+
| qosMeterEntry |
+----------------+
|
v
+----------------+
| qosActionEntry |
+----------------+
Figure 7.1 DiffServ PIB Table Relationships
Notice that the qosTargetTable allows the use of heterogeneous
classifiers with same instance of qosMeterTable. For example, if
classifiers operating on layer 2 addresses were to be defined, those
classifiers could be used together with the IP ones.
After receiving the PIB, the PEP will associate the Classifier, Meter DiffServ QoS Policy Information Base November 2000
and Action with the corresponding interfaces supporting the specific
interface type and roles.
6. PIB Definitions 8. PIB Definitions
6.1. The DiffServ Base PIB 8.1. The DiffServ Base PIB
DIFFSERV-PIB PIB-DEFINITIONS ::= BEGIN DIFFSERV-PIB PIB-DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
Unsigned32, Integer32, Unsigned32, Integer32,
MODULE-IDENTITY, OBJECT-TYPE MODULE-IDENTITY, OBJECT-TYPE
FROM COPS-PR-SPPI FROM COPS-PR-SPPI
zeroDotZero
FROM SNMPv2-SMI
TruthValue, TEXTUAL-CONVENTION TruthValue, TEXTUAL-CONVENTION
FROM SNMPv2-TC FROM SNMPv2-TC
PolicyInstanceId, PolicyReferenceId, PolicyTagId, PolicyTagReference InstanceId, ReferenceId, TagId, TagReference
FROM COPS-PR-SPPI; FROM COPS-PR-SPPI
RoleCombination RoleCombination
FROM FRAMEWORK-PIB; FROM FRAMEWORK-PIB
Dscp, IfDirection
FROM DIFF-SERV-MIB;
qosPolicyIpPib MODULE-IDENTITY qosPolicyPib MODULE-IDENTITY
CLIENT-TYPE { tbd -- QoS Client Type CLIENT-TYPE { tbd -- QoS Client Type
} }
LAST-UPDATED "200007141800Z" LAST-UPDATED "200011241800Z"
ORGANIZATION "IETF DIFFSERV WG" ORGANIZATION "IETF DIFFSERV WG"
CONTACT-INFO " CONTACT-INFO "
Michael Fine Michael Fine
Cisco Systems, Inc. Cisco Systems, Inc.
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134-1706 USA San Jose, CA 95134-1706 USA
Phone: +1 408 527 8218 Phone: +1 408 527 8218
Email: mfine@cisco.com Email: mfine@cisco.com
Keith McCloghrie Keith McCloghrie
Cisco Systems, Inc. Cisco Systems, Inc.
170 West Tasman Drive, 170 West Tasman Drive,
San Jose, CA 95134-1706 USA San Jose, CA 95134-1706 USA
Phone: +1 408 526 5260 Phone: +1 408 526 5260
DiffServ QoS Policy Information Base November 2000
Email: kzm@cisco.com Email: kzm@cisco.com
John Seligson John Seligson
Nortel Networks, Inc. Nortel Networks, Inc.
4401 Great America Parkway 4401 Great America Parkway
Santa Clara, CA 95054 USA Santa Clara, CA 95054 USA
Phone: +1 408 495 2992 Phone: +1 408 495 2992
Email: jseligso@nortelnetworks.com" Email: jseligso@nortelnetworks.com"
DESCRIPTION DESCRIPTION
"The PIB module containing a set of policy rule classes "The PIB module containing a set of policy rule classes
that describe quality of service (QoS) policies for that describe quality of service (QoS) policies for
DiffServ. It includes general classes that may be extended DiffServ. It includes general classes that may be extended
by other PIB specifications as well as a set of PIB by other PIB specifications as well as a set of PIB
classes related to IP processing." classes related to IP processing."
::= { tbd } ::= { tbd }
qosPolicyGenPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 1 } qosCapabilityClasses OBJECT IDENTIFIER ::= { qosPolicyPib 1 }
qosPolicyIpPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 2 } qosPolicyClasses OBJECT IDENTIFIER ::= { qosPolicyPib 2 }
Dscp ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An integer that is in the range of the DiffServ codepoint
values."
SYNTAX INTEGER (0..63)
QosInterfaceQueueCount ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An integer that describes the number of queues an interface
supports. It is limited to the number of DSCP values."
SYNTAX INTEGER (1..64)
-- --
-- Interface Capabilities Group
-- --
-- --
qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 }
-- Interface Type Capability Tables -- Interface Type Capability Tables
-- --
-- The Interface type capability tables define capabilities that may -- The Interface type capability tables define capabilities that may
-- be associated with an interface of a specific type. This PIB -- be associated with an interface of a specific type. This PIB
-- defines three such tables: a classification capabilities table, a -- defines three such tables: a classification capabilities table, a
-- metering capabilities table and a scheduling capabilities table. -- metering capabilities table and a scheduling capabilities table.
-- Other PIBs may define other capability tables to augment the -- Other PIBs may define other capability tables to augment the
-- capability definitions of these tables or to introduce completely -- capability definitions of these tables or to introduce completely
-- new capabilities. -- new capabilities.
-- --
-- Classification Capabilities -- Classification Capabilities
-- --
DiffServ QoS Policy Information Base November 2000
qosIfClassificationCapsTable OBJECT-TYPE qosIfClassificationCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfClassificationCapsEntry SYNTAX SEQUENCE OF QosIfClassificationCapsEntry
PIB-ACCESS notify, 3 PIB-ACCESS notify, 3
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table specifies the classification capabilities of an "This table specifies the classification capabilities of an
interface type" interface type"
::= { qosCapabilityClasses 1 }
::= { qosIfParameters 1 }
qosIfClassificationCapsEntry OBJECT-TYPE qosIfClassificationCapsEntry OBJECT-TYPE
SYNTAX QosIfClassificationEntry SYNTAX QosIfClassificationEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An instance of this class describes the classification "An instance of this class describes the classification
capabilities of an interface." capabilities of an interface."
INDEX { qosIfClassificationCapsPrid } PIB-INDEX { qosIfClassificationCapsPrid }
UNIQUENESS { qosIfClassificationCaps } UNIQUENESS { qosIfClassificationCapsSpec }
::= { qosIfClassificationCapsTable 1 } ::= { qosIfClassificationCapsTable 1 }
QosIfClassificationCapsEntry ::= SEQUENCE { QosIfClassificationCapsEntry ::= SEQUENCE {
qosIfClassificationCapsPrid PolicyInstanceId, qosIfClassificationCapsPrid InstanceId,
qosIfClassificationCaps BITS qosIfClassificationCapsSpec BITS
} }
qosIfClassificationCapsPrid OBJECT-TYPE qosIfClassificationCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies a "An arbitrary integer index that uniquely identifies an
instance of the class." instance of the class."
::= { qosIfClassificationCapsEntry 1 } ::= { qosIfClassificationCapsEntry 1 }
qosIfClassificationCaps OBJECT-TYPE qosIfClassificationCapsSpec OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
inputIpClassification(1), inputIpClassification(1),
outputIpClassification(2), outputIpClassification(2),
-- Indicates the ability to classify IP -- Indicates the ability to classify IP
-- packets on ingress and on egress, -- packets on ingress and on egress,
-- respectively. -- respectively.
ipAddrClassification(3), DiffServ QoS Policy Information Base November 2000
ipSrcAddrClassification(3),
-- indicates the ability to classify based on -- indicates the ability to classify based on
-- IP addresses -- IP source addresses
ipProtoClassification(4), ipDstAddrClassification(4),
-- indicates the ability to classify based on
-- IP destination addresses
ipProtoClassification(5),
-- indicates the ability to classify based on -- indicates the ability to classify based on
-- IP protocol numbers -- IP protocol numbers
ipDscpClassification(5) ipDscpClassification(6)
-- indicates the ability to classify based on -- indicates the ability to classify based on
-- IP DSCP -- IP DSCP
ipL4Classification(6) ipL4Classification(7)
-- indicates the ability to classify based on -- indicates the ability to classify based on
-- IP layer 4 port numbers for UDP and TCP -- IP layer 4 port numbers for UDP and TCP
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Bit set of supported classification capabilities. In "Bit set of supported classification capabilities. In
addition to these capabilities, other PIBs may define other addition to these capabilities, other PIBs may define other
capabilities that can then be specified in addition to the capabilities that can then be specified in addition to the
ones specified here (or instead of the ones specified here if ones specified here (or instead of the ones specified here if
none of these are specified)." none of these are specified)."
skipping to change at page 12, line 17 skipping to change at page 25, line 43
-- Metering Capabilities -- Metering Capabilities
-- --
qosIfMeteringCapsTable OBJECT-TYPE qosIfMeteringCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfMeteringCapsEntry SYNTAX SEQUENCE OF QosIfMeteringCapsEntry
PIB-ACCESS notify, 3 PIB-ACCESS notify, 3
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table specifies the metering capabilities of an "This table specifies the metering capabilities of an
interface type" interface type"
::= { qosCapabilityClasses 2 }
::= { qosIfParameters 2 }
qosIfMeteringCapsEntry OBJECT-TYPE qosIfMeteringCapsEntry OBJECT-TYPE
SYNTAX QosIfMeteringCapsEntry SYNTAX QosIfMeteringCapsEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
DiffServ QoS Policy Information Base November 2000
"An instance of this class describes the classification "An instance of this class describes the classification
capabilities of an interface." capabilities of an interface."
INDEX { qosIfMeteringCapsPrid } PIB-INDEX { qosIfMeteringCapsPrid }
UNIQUENESS { qosIfMeteringCaps } UNIQUENESS { qosIfMeteringCapsSpec }
::= { qosIfMeteringCapsTable 1 } ::= { qosIfMeteringCapsTable 1 }
QosIfMeteringCapsEntry ::= SEQUENCE { QosIfMeteringCapsEntry ::= SEQUENCE {
qosIfMeteringCapsPrid PolicyInstanceId, qosIfMeteringCapsPrid InstanceId,
qosIfMeteringCaps BITS qosIfMeteringCapsSpec BITS
} }
qosIfMeteringCapsPrid OBJECT-TYPE qosIfMeteringCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies a "An arbitrary integer index that uniquely identifies an
instance of the class." instance of the class."
::= { qosIfMeteringCapsEntry 1 } ::= { qosIfMeteringCapsEntry 1 }
qosIfMeteringCaps OBJECT-TYPE qosIfMeteringCapsSpec OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
meterByRemarking (1), meterByRemarking (1),
meterByDropping (2), meterByDropping (2),
-- These capabilities indicate if the interface -- These capabilities indicate if the interface
-- can remark out of profile packets or drop them, -- can remark out of profile packets or drop them,
-- respectively -- respectively
inputShaping (3), inputShaping (3),
outputShaping (4) outputShaping (4)
-- indicate if the interface can shape on ingress -- indicate if the interface can shape on ingress
-- or on egress, respectively. -- or on egress, respectively.
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Bit set of supported classification capabilities. As with "Bit set of supported metering capabilities. As with
classification capabilities, these metering capabilities may classification capabilities, these metering capabilities may
be augmented by capabilities specified in other PRCs (in other be augmented by capabilities specified in other PRCs (in other
PIBs)."
DiffServ QoS Policy Information Base November 2000
PIBs)."
::= { qosIfMeteringCapsEntry 2 } ::= { qosIfMeteringCapsEntry 2 }
-- --
-- Scheduling Capabilities -- Scheduling Capabilities
-- --
qosIfSchedulingCapsTable OBJECT-TYPE qosIfSchedulingCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfSchedulingCapsEntry SYNTAX SEQUENCE OF QosIfSchedulingCapsEntry
PIB-ACCESS notify, 10 PIB-ACCESS notify, 10
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table specifies the scheduling capabilities of an "This table specifies the scheduling capabilities of an
interface type" interface type"
::= { qosCapabilityClasses 3 }
::= { qosIfParameters 3 }
qosIfSchedulingCapsEntry OBJECT-TYPE qosIfSchedulingCapsEntry OBJECT-TYPE
SYNTAX QosIfSchedulingCapsEntry SYNTAX QosIfSchedulingCapsEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An instance of this class describes the classification "An instance of this class describes the classification
capabilities of an interface." capabilities of an interface."
INDEX { qosIfSchedulingCapsPrid } PIB-INDEX { qosIfSchedulingCapsPrid }
UNIQUENESS { qosIfSchedulingCapsMaxQueues, UNIQUENESS { qosIfSchedulingCapsMaxQueues,
qosIfSchedulingCapsMaxThresholds, qosIfSchedulingCapsMaxThresholds,
qosIfSchedulingCapsMaxPriorities, qosIfSchedulingCapsMaxPriorities,
qosIfSchedulingCapsServiceDisc, qosIfSchedulingCapsServiceDisc,
qosIfSchedulingCapsMinQueueSize, qosIfSchedulingCapsMinQueueSize,
qosIfSchedulingCapsMaxQueueSize, qosIfSchedulingCapsMaxQueueSize,
qosIfSchedulingCapsTotalQueueSize, qosIfSchedulingCapsTotalQueueSize,
qosIfSchedulingCapsWredCapable } qosIfSchedulingCapsWredCapable }
::= { qosIfSchedulingCapsTable 1 } ::= { qosIfSchedulingCapsTable 1 }
QosIfSchedulingCapsEntry ::= SEQUENCE { QosIfSchedulingCapsEntry ::= SEQUENCE {
qosIfSchedulingCapsPrid PolicyInstanceId, qosIfSchedulingCapsPrid InstanceId,
qosIfSchedulingCapsMaxQueues INTEGER qosIfSchedulingCapsMaxQueues INTEGER,
qosIfSchedulingCapsMaxThresholds INTEGER qosIfSchedulingCapsMaxThresholds INTEGER,
qosIfSchedulingCapsMaxPriorities INTEGER qosIfSchedulingCapsMaxPriorities INTEGER,
qosIfSchedulingCapsServiceDisc BITS
qosIfSchedulingCapsMinQueueSize INTEGER DiffServ QoS Policy Information Base November 2000
qosIfSchedulingCapsMaxQueueSize INTEGER
qosIfSchedulingCapsTotalQueueSize INTEGER qosIfSchedulingCapsServiceDisc BITS,
qosIfSchedulingCapsWredCapable TruthValue qosIfSchedulingCapsMinQueueSize INTEGER,
qosIfSchedulingCapsMaxQueueSize INTEGER,
qosIfSchedulingCapsTotalQueueSize INTEGER,
qosIfSchedulingCapsAlgDropSupported BITS
} }
qosIfSchedulingCapsPrid OBJECT-TYPE qosIfSchedulingCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies a "An arbitrary integer index that uniquely identifies an
instance of the class." instance of the class."
::= { qosIfSchedulingCapsEntry 1 } ::= { qosIfSchedulingCapsEntry 1 }
qosIfSchedulingCapsMaxQueues OBJECT-TYPE qosIfSchedulingCapsMaxQueues OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum number of queues that this interface type can "The maximum number of queues that this interface type can
support. The queues set assigned to this interface type may support. A value of zero means that there is no maximum."
not have more queues than this maximum. A value of zero means
that there is no maximum."
::= { qosIfSchedulingCapsEntry 2 } ::= { qosIfSchedulingCapsEntry 2 }
qosIfSchedulingCapsMaxThresholds OBJECT-TYPE qosIfSchedulingCapsMaxThresholds OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum number of drop thresholds that each queue "The maximum number of drop thresholds that each queue
supports. If the interface has a different number of supports. If the interface has a different number of
thresholds for each of its queues, it must report the maximum thresholds for each of its queues, it must report the maximum
number of thresholds any of the queues supports. The value of number of thresholds any of the queues supports. The value of
skipping to change at page 15, line 10 skipping to change at page 28, line 39
qosIfSchedulingCapsMaxThresholds OBJECT-TYPE qosIfSchedulingCapsMaxThresholds OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum number of drop thresholds that each queue "The maximum number of drop thresholds that each queue
supports. If the interface has a different number of supports. If the interface has a different number of
thresholds for each of its queues, it must report the maximum thresholds for each of its queues, it must report the maximum
number of thresholds any of the queues supports. The value of number of thresholds any of the queues supports. The value of
this attribute must be one or more." this attribute must be one or more."
::= { qosIfSchedulingCapsEntry 3 } ::= { qosIfSchedulingCapsEntry 3 }
qosIfSchedulingCapsMaxPriorities OBJECT-TYPE qosIfSchedulingCapsMaxPriorities OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum number of priority groups that the the queues of "The maximum number of priority levels that the the queues of
the interface may be grouped into. A value of zero means the interface may be grouped into. A value of zero means
there is no maximum." there is no maximum."
DiffServ QoS Policy Information Base November 2000
::= { qosIfSchedulingCapsEntry 4 } ::= { qosIfSchedulingCapsEntry 4 }
qosIfSchedulingCapsServiceDisc OBJECT-TYPE qosIfSchedulingCapsServiceDisc OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
fq(1), -- fair queueing (a.k.a. round robin) other(1), -- Unspecified or specified in
wfq(2) -- weighted fq (a.k.a. wrr) -- another capability
priorityq(2), -- Priority Queueing
rr(3), -- Strict Round Robin
wrr(3), -- Weighted Round Robin
fq(4), -- Strict Fair Queuing
wfq(4), -- Weighted Fair Queuing
wirr(5), -- Weighted Interleaved Round Robin
bsp(6) -- Bounded Strict Priority
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The scheduling disciplines supported for servicing queues in "The scheduling disciplines supported for servicing queues in
the same priority group that the interface supports. Several the same priority group that the interface supports. Several
general purpose and well-known queuing disciplines are general purpose and well-known queuing disciplines are
supported by this attribute. Other queueing disciplines may be supported by this attribute. Other queueing disciplines may be
specified instead of, or in addition to, these disciplines by specified instead of, or in addition to, these disciplines by
setting and providing another capabilities PRC specifying the setting and providing another capabilities PRC specifying the
other scheduling discipline. other scheduling discipline.
A value of fq indicates that the interface supports fair
queuing, i.e., each queue is treated equally and is serviced
in a round-robin fashion.
A value of wfq indicates that the queue is serviced
using a weighted fair queuing discipline. Queues are serviced
in a round robin fashion but each queue is given bandwidth in
proportion to its weight.
If none is specified then the service discipline is either If none is specified then the service discipline is either
unspecified or specified by another capabilities PRC." unspecified or specified by another capabilities PRC."
::= { qosIfSchedulingCapsEntry 5 } ::= { qosIfSchedulingCapsEntry 5 }
qosIfSchedulingCapsMinQueueSize OBJECT-TYPE qosIfSchedulingCapsMinQueueSize OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Some interfaces may allow the size of a queue to be "Some interfaces may allow the size of a queue to be
configured. This attribute specifies the minimum size the configured. This attribute specifies the minimum size the
skipping to change at page 16, line 18 skipping to change at page 29, line 46
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Some interfaces may allow the size of a queue to be "Some interfaces may allow the size of a queue to be
configured. This attribute specifies the minimum size the configured. This attribute specifies the minimum size the
queue can be configured to specified in bytes. queue can be configured to specified in bytes.
Some interfaces set queue size in terms of packets. These Some interfaces set queue size in terms of packets. These
devices must report the minimum queue size in bytes by devices must report the minimum queue size in bytes by
assuming an average packet size suitable for the particular assuming an average packet size suitable for the particular
interface." interface."
::= { qosIfSchedulingCapsEntry 6 } ::= { qosIfSchedulingCapsEntry 6 }
DiffServ QoS Policy Information Base November 2000
qosIfSchedulingCapsMaxQueueSize OBJECT-TYPE qosIfSchedulingCapsMaxQueueSize OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Some interfaces may allow the size of a queue to be "Some interfaces may allow the size of a queue to be
configured. This attribute specifies the maximum size the configured. This attribute specifies the maximum size the
queue can be configured to specified in bytes. As with queue can be configured to specified in bytes. As with
qosIfSchedulingCapsMinQueueSize, devices that set qosIfSchedulingCapsMinQueueSize, devices that set
queue size in terms of packets must report the maximum queue queue size in terms of packets must report the maximum queue
size in bytes by assuming an average packet size suitable for size in bytes by assuming an average packet size suitable for
skipping to change at page 16, line 46 skipping to change at page 30, line 31
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Some interfaces may have a limited buffer space to be share "Some interfaces may have a limited buffer space to be share
amoung all queues of that interface while also allowing the amoung all queues of that interface while also allowing the
size of each queue to be configurable. To prevent the size of each queue to be configurable. To prevent the
situation where the PDP configures the sizes of the queues in situation where the PDP configures the sizes of the queues in
excess of the total buffer available to the interface, the PEP excess of the total buffer available to the interface, the PEP
can report the total buffer space available with this can report the total buffer space available with this
capability. The value is the total number of bytes." capability. The value is the total number of bytes."
::= { qosIfSchedulingCapsEntry 8 } ::= { qosIfSchedulingCapsEntry 8 }
qosIfSchedulingCapsWredCapable OBJECT-TYPE qosIfSchedulingCapsAlgDropSupported OBJECT-TYPE
SYNTAX TruthValue SYNTAX BITS {
tailDrop(2),
headDrop(3),
randomDrop(4)
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"If true, then this interface supports WRED on (at least one "The type of algorithm that droppers associated with this queue
of) its queues. Otherwise it supports only taildrop." may use.
The tailDrop(2) algorithm means that packets are dropped from
the tail of the queue when the associated threshold is
exceeded. The headDrop(3) algorithm means that packets are
dropped from the head of the queue when the associated
threshold is exceeded. The randomDrop(4) algorithm means that,
on packet arrival, an algorithm is executed which may randomly
drop the packet, or drop other packet(s) from the queue
DiffServ QoS Policy Information Base November 2000
in its place. The specifics of the algorithm may be
proprietary. However, parameters would be specified in the
qosRandomDropTable."
::= { qosIfSchedulingCapsEntry 9 } ::= { qosIfSchedulingCapsEntry 9 }
-- --
-- Datapath Element Linkage Capabilities
-- --
qosIfQueueSetAssignTable OBJECT-TYPE --
SYNTAX SEQUENCE OF QosIfQueueSetAssignEntry -- Datapath Element Cascade Depth
PIB-ACCESS install, 6 --
qosIfElmDepthCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfElmDepthCapsEntry
PIB-ACCESS notify, 4
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains the assignment of queue sets to interface types per "This table specifies the number of elements of the same
role combination. type that can be cascaded together in a data path."
::= { qosCapabilityClasses 4 }
Contains the assignment of DSCPs to queues and thresholds for qosIfElmDepthCapsEntry OBJECT-TYPE
each interface type. So, after classification and metering, SYNTAX QosIfElmDepthCapsEntry
when the packet has a final DSCP mark, the packet is enqueued STATUS current
on the apprpriate queue at the appropriated threshold based on DESCRIPTION
the mapping of the DSCP to threshollds in queues." "An instance of this class describes the cascade depth
for a particular datapath functional element PRC. A
functional datapath element not represented in this
table can be assumed to have no specific maximum
depth."
::= { qosIfParameters 4 } PIB-INDEX { qosIfElmDepthCapsPrid }
UNIQUENESS { qosIfElmDepthCapsPrc }
::= { qosIfElmDepthCapsTable 1 }
qosIfQueueSetAssignEntry OBJECT-TYPE QosIfElmDepthCapsEntry ::= SEQUENCE {
SYNTAX QosIfQueueSetAssignEntry qosIfElmDepthCapsPrid InstanceId,
qosIfElmDepthCapsPrc OBJECT IDENTIFIER,
qosIfElmDepthCapsCascadeMax Unsigned32
DiffServ QoS Policy Information Base November 2000
}
qosIfElmDepthCapsPrid OBJECT-TYPE
SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A conceptual row in the qosIfQueueSetAssignTable. "An arbitrary integer index that uniquely identifies an
instance of the class."
::= { qosIfElmDepthCapsEntry 1 }
INDEX { qosIfQueueSetAssignPrid } qosIfElmDepthCapsPrc OBJECT-TYPE
UNIQUENESS { qosIfQueueSetAssignIfName, SYNTAX OBJECT IDENTIFIER
qosIfQueueSetAssignRoles } STATUS current
DESCRIPTION
"The object identifier of a PRC that represents a datapath
functional element. This may be one of: qosClfrElementEntry,
qosMeterEntry, qosActionEntry, qosAlgDropEntry, qosQEntry, or
qosSchedulerEntry. The value is the OID of the table entry.
There may not be more than one instance of this class with
the same value of qosIfElmDepthCapsPrc."
::= { qosIfElmDepthCapsEntry 2 }
::= { qosIfQueueSetAssignTable 1 } qosIfElmDepthCapsCascadeMax OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"The maximum number of elements of type qosIfElmDepthCapsPrc
that can be linked consecutively in a data path." A value of
zero indicates there is no specific maximum."
::= { qosIfElmDepthCapsEntry 3 }
QosIfQueueSetAssignEntry ::= SEQUENCE { --
qosIfQueueSetAssignPrid PolicyInstanceId, -- Datapath Element Linkage Types
qosIfQueueSetAssignName SnmpAdminString, --
qosIfQueueSetAssignRoles RoleCombination,
qosIfQueueSetAssignQueueSetId PolicyTagReference,
qosIfQueueSetAssignDscpMap PolicyTagReference
}
qosIfQueueSetAssignPrid OBJECT-TYPE qosIfElmLinkCapsTable OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX SEQUENCE OF QosIfElmLinkCapsEntry
PIB-ACCESS notify, 5
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The index that uniquely identifies this row in the table,
i.e., this PRI."
::= { qosIfQueueSetAssignEntry 1 } DiffServ QoS Policy Information Base November 2000
qosIfQueueSetAssignName OBJECT-TYPE "This table specifies what types of datapath functional
SYNTAX SnmpAdminString elements may be used as the next downstream element for
a specific type of functional element."
::= { qosCapabilityClasses 5 }
qosIfElmLinkCapsEntry OBJECT-TYPE
SYNTAX QosIfElmLinkCapsEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The name of an interface type. This name must exist in "An instance of this class specifies a PRC that may
frwkIfCapSetTable." be used as the next functional element after a specific
type of element in a data path."
::= { qosIfQueueSetAssignEntry 2 } PIB-INDEX { qosIfElmLinkCapsPrid }
UNIQUENESS { qosIfElmLinkCapsPrc,
qosIfElmLinkCapsAttr,
qosIfElmLinkCapsNextPrc }
::= { qosIfElmLinkCapsTable 1 }
qosIfQueueSetAssignRoles OBJECT-TYPE QosIfElmLinkCapsEntry ::= SEQUENCE {
SYNTAX RoleCombination qosIfElmLinkCapsPrid InstanceId,
qosIfElmLinkCapsPrc OBJECT IDENTIFIER,
qosIfElmLinkCapsAttr Unsigned32,
qosIfElmLinkCapsNextPrc OBJECT IDENTIFIER
}
qosIfElmLinkCapsPrid OBJECT-TYPE
SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The role combination associated with the interface type. "An arbitrary integer index that uniquely identifies an
instance of the class."
::= { qosIfElmLinkCapsEntry 1 }
::= { qosIfQueueSetAssignEntry 3 } qosIfElmLinkCapsPrc OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
STATUS current
DESCRIPTION
"The value is the OID of a PRC that represents a
functional datapath element."
qosIfQueueSetAssignQueueSet OBJECT-TYPE DiffServ QoS Policy Information Base November 2000
SYNTAX PolicyTagReference
PIB-TAG qosIfQueueSetId ::= { qosIfElmLinkCapsEntry 2 }
qosIfElmLinkCapsAttr OBJECT-TYPE
SYNTAX Unsigned32
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The integer ID of the queue set to be assigned to all interfaces "The value represents the attribute in the the PRC
of type specified by qosIfQueueSetAssignName and with role indicated by qosIfElmLinkCapsPrc that is used to
combination specified by qosIfQueueSetAssignRoles. specify the next functional element in the datapath.
This queue set must exist in qosIfQueueTable."
::= { qosIfQueueSetAssignEntry 4 } The attribute value corresponds to the order in which
the attribute appears in the definition of the PRC.
A value of 1 indicates the first attribute of the PRC,
a value of 2 indicates the second attribute of the
PRC, and so forth."
::= { qosIfElmLinkCapsEntry 3 }
qosIfQueueSetAssignDscpMap OBJECT-TYPE qosIfElmLinkCapsNextPrc OBJECT-TYPE
SYNTAX PolicyTagReference SYNTAX OBJECT IDENTIFIER
PIB-TAG qosIfDscpMapMapId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The DSCP map to apply to interfaces of type "The value is the OID of a PRC table entry from which
qosIfQueueSetAssignName and role combo instances can be referenced by the attribute indicated
qosIfQueueSetAssignRoles." by qosIfElmLinkCapsPrc and qosIfElmLinkAttr.
::= { qosIfQueueSetAssignEntry 5 } For example, suppose a meter's success output can be an
action or another meter, and the fail output can only be
an action. This can be expressed as follows:
Prid Prc Attr NextPrc
1 qosMeterEntry qosMeterSucceedNext qosActionEntry
2 qosMeterEntry qosMeterSucceedNext qosMeterEntry
3 qosMeterEntry qosMeterFailNext qosActionEntry."
::= { qosIfElmLinkCapsEntry 4 }
-- --
-- Data Path
-- --
-- --
-- Data Path Table
qosIfQueueTable OBJECT-TYPE DiffServ QoS Policy Information Base November 2000
SYNTAX SEQUENCE OF QosIfQueueEntry
PIB-ACCESS install, 10 --
-- The Data Path Table enumerates the Differentiated Services
-- Data Paths within this device. Each entry specifies
-- the first functional datapath element to process data flow
-- for each specific datapath. Each datapath is defined by the
-- interface role combination and direction. This table can
-- therefore have up to two entries for each role combination,
-- ingress and egress.
qosDataPathTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosDataPathEntry
PIB-ACCESS install, 5
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains configuration information for the individual queues "The data path table defines the data paths in this
of the queue sets." device. Each data path is defined by the interface,
role combination and traffic direction. The first
::= { qosIfParameters 5 } functional datapath element to handle traffic for
this data path is defined by a Prid in the entries
of this table."
::= { qosPolicyClasses 1 }
qosIfQueueEntry OBJECT-TYPE qosDataPathEntry OBJECT-TYPE
SYNTAX QosIfQueueEntry SYNTAX QosDataPathEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A conceptual row in the qosIfQueueTable. "An entry in the data path table describes a single
data path in this device."
PIB-INDEX { qosDataPathPrid }
UNIQUENESS { qosDataPathRoles,
qosDataPathIfDirection }
::= { qosDataPathTable 1 }
Each row identifies a specific queue within a given queue QosDataPathEntry ::= SEQUENCE {
set and contains detailed information about the queue. Queues qosDataPathPrid InstanceId,
are associated with a given set through this table and qosDataPathRoles RoleCombination,
a queue set is associated with an interface set through qosDataPathIfDirection IfDirection,
the qosIfQsetAssignTable." qosDataPathStart Prid
}
INDEX { qosIfQueuePrid } qosDataPathPrid OBJECT-TYPE
UNIQUENESS {}
::= { qosIfQueueTable 1 }
QosIfQueueEntry ::= SEQUENCE { DiffServ QoS Policy Information Base November 2000
qosIfQueuePrid PolicyInstanceId,
qosIfQueueSetId PolicyTagId,
qosIfQueueQueueSize Unsigned32,
qosIfQueueSetThreshSet PolicyTagReference,
qosIfQueuePriorityGroup INTEGER,
qosIfQueueServiceDisc INTEGER,
qosIfQueueDrainSize Unsigned32,
qosIfQueueMinAbsBandwidth Unsigned64,
qosIfQueueBandwidthAllocation INTEGER
}
qosIfQueuePrid OBJECT-TYPE SYNTAX InstanceId
SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The index that uniquely identifies this row in the table, "An arbitrary integer index that uniquely identifies an
i.e., this PRI." instance of the class."
::= { qosDataPathEntry 1 }
::= { qosIfQueueEntry 1 }
qosIfQueueSetId OBJECT-TYPE qosDataPathRoles OBJECT-TYPE
SYNTAX PolicyTagId SYNTAX RoleCombination
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that uniquely identifies a specific queue set. The "The interfaces to which this data path entry applies,
queue set identified by this value is associated specified in terms of roles. The role combination
with an interface set through the specified by this attribute must exist in the
qosIfQueueSetAssignQueueSetId object in the frwkIfCapSetRoleComboTable [FR-PIB] prior to association
qosIfQueueSetAssignTable. The individual queues that are with an instance of this class."
members of this set all have the same value for this attribute ::= { qosDataPathEntry 2 }
(i.e., they have the same set ID)."
::= { qosIfQueueEntry 2 } qosDataPathIfDirection OBJECT-TYPE
SYNTAX IfDirection
STATUS current
DESCRIPTION
"Specifies the direction for which this data path
entry applies on this interface."
::= { qosDataPathEntry 3 }
qosIfQueueQueueSize OBJECT-TYPE qosDataPathStart OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Prid
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The size of the queue in bytes. Some devices set queue size "This selects the first functional datapath element
in terms of packets. These devices must calculate the queue to handle traffic for this data path. This
size in packets by assuming an average packet size suitable Prid should point to an instance of one of:
for the particular interface. qosClfrEntry
qosMeterEntry
qosActionEntry
qosAlgDropEntry
qosQEntry
Some devices have a fixed size buffer to be shared among all The PRI to must exist prior to the installation of
queues. These devices must allocate a fraction of the this datapath start element."
total buffer space to this queue calculated as the the ratio ::= { qosDataPathEntry 4 }
of the queue size to the sum of the queue sizes for the
interface."
::= { qosIfQueueEntry 3 } DiffServ QoS Policy Information Base November 2000
qosIfQueueThreshSet OBJECT-TYPE --
SYNTAX PolicyTagReference -- Classifiers
PIB-TAG qosIfThresholdSetId --
--
-- Classifier Table
--
-- Classifier allows multiple classifier elements, of same or different
-- types, to be used together.
-- A classifier must completely classify all packets presented to it.
-- This means all traffic handled by a classifier must match
-- at least one classifier element within the classifier,
-- with the classifier element parameters specified by a filter.
qosClfrTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosClfrEntry
PIB-ACCESS install, 3
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The threshold set in the threshold set table that is to be ""
used to configure the thresholds of this queue. The threshold REFERENCE
set specifies how to configure the taildrop or RED thresholds "[MODEL] section 4.1"
for this queue. ::= { qosPolicyClasses 2 }
"The threshold set may contain less thresholds than the queue qosClfrEntry OBJECT-TYPE
actually supports. In this case the queue is free to SYNTAX QosClfrEntry
configure the extra thresholds any way it likes since no STATUS current
packets will ever be assigned to those thresholds. DESCRIPTION
"An entry in the classifier table describes a
single classifier, all classifier elements belong-
ing to the same classifier must have its
qosClfrElementClfrId attribute have the same
value, one of qosClfrId."
PIB-INDEX { qosClfrPrid }
UNIQUENESS { qosClfrId }
::= { qosClfrTable 1 }
A value of zero indicates no threshold set is associated with QosClfrEntry ::= SEQUENCE {
the queue. In this case the queue is configured with a single qosClfrPrid InstanceId,
threshold at 100% qosIfThresholdDropMethod of tailDrop." qosClfrId TagReference
}
::= { qosIfQueueEntry 4 } DiffServ QoS Policy Information Base November 2000
qosIfQueuePriorityGroup OBJECT-TYPE qosClfrPrid OBJECT-TYPE
SYNTAX INTEGER SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute specifies the priority group that the queue "An arbitrary integer index that uniquely identifies an
belongs to. Queues with a larger priority group number are instance of the class."
given a higher priority than those with a smaller group ::= { qosClfrEntry 1 }
number. For example, a queue in priority group 2 will be
serviced (i.e., drained) before some other queue with a group
number of 1.
Queues with the same priority group number have the same qosClfrId OBJECT-TYPE
priority. For these another scheduling discipline (other than SYNTAX TagReference
priority scheduling) must be specified. This is done with the PIB-TAG qosClfrElementClfrId
qosIfQueueServiceDisc attribute." STATUS current
::= { qosIfQueueEntry 5 } DESCRIPTION
"Identifies a Classifier. A Classifier must be
complete, this means all traffic handled by a
Classifier must match at least one Classifier
Element within the Classifier, with the Classifier
parameters specified by a Filter.
qosIfQueueServiceDisc OBJECT-TYPE If there is ambiguity between Classifiers Elements of
SYNTAX INTEGER { different Classifiers, the precedence is indicated
na(1), -- only one queue in group by the order the Classifiers are linked, the
other(2), -- specified by augmented attributes first Classifier in the link is applied to the
fq(3), -- Fair Queuing traffic first.
wfq(4) -- Weighted Fair Queuing ::= { qosClfrEntry 2 }
}
--
-- Classifier Element Table
--
-- Entries in the classifier element table serves as
-- the anchor for each classification pattern, defined
-- in filter table entries. Each classifier element
-- table entry also specifies the subsequent downstream
-- diffserv functional datapath element when the
-- classification pattern is satisfied.
-- Each entry in the classifier element table describes
-- one branch of the fan-out characteristic of a classifier
-- indicated in [MODEL] section 4.1. A classifier is madeup
-- of one or more classifier elements.
--
qosClfrElementTable OBJECT-TYPE
DiffServ QoS Policy Information Base November 2000
SYNTAX SEQUENCE OF QosClfrElementEntry
PIB-ACCESS install, 6
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the service discipline used to "The classifier element table enumerates the rela-
service the queues in the same priority group. It must have tionship between classification patterns and subse-
the same value for all queues in the priority group. Several quent downstream diffserv functional datapath ele-
general purpose and well-known queuing disciplines are ments. Classification parameters are defined by
supported by this attribute. Queuing disciplines that differ entries of filter tables pointed to by
from those that are supported by this attribute are specified qosClfrElementSpecific. There can be filter
by setting this attribute to other(1) and augmenting this PRC tables of different types, and they can be inter-
with additional attributes to specify the desired service mixed and used within a classifier. An example of a
discipline. filter table is the frwkIpFilterTable, defined in
[FR-PIB], for IP Multi-Field Classifiers (MFCs).
Filter tables for other filter types may be defined
elsewhere."
REFERENCE
"[MODEL] section 4.1"
::= { qosPolicyClasses 3 }
As an example, an interface that is associated with a queue qosClfrElementEntry OBJECT-TYPE
set supporting two priority queues and three queues that are SYNTAX QosClfrElementEntry
serviced using WFQ would be modeled as follows: STATUS current
DESCRIPTION
"An entry in the classifier element table describes a
single element of the classifier."
PIB-INDEX { qosClfrElementPrid }
UNIQUENESS { qosClfrElementClfrId,
qosClfrElementOrder,
qosClfrElementSpecific }
::= { qosClfrElementTable 1 }
Id Q Discipline Q Drain Size Priority Group QosClfrElementEntry ::= SEQUENCE {
22 na(1) - 3 qosClfrElementPrid InstanceId,
23 na(1) - 2 qosClfrElementClfrId TagId,
24 wfq(3) 500 1 qosClfrElementOrder Unsigned32,
25 wfq(3) 350 1 qosClfrElementNext Prid,
26 wfq(3) 150 1 qosClfrElementSpecific Prid
}
The queue set presented in this example would service qosClfrPrid OBJECT-TYPE
all queued traffic in queue 22 first, followed by all of SYNTAX InstanceId
the queued traffic in queue 23. Next the queued traffic
in queues 24 through 26 would be serviced in a round
robin fashion with queue 24 receiving 50% of the available
bandwidth, queue 25 receiving 35% of the available
bandwidth and queue 26 receiving 15% of the available
bandwidth. This example is presented for expository
purposes and has been simplified accordingly.
Note that, in this example, queues 24, 25 and 26 form a DiffServ QoS Policy Information Base November 2000
priority group. The qosIfQueueDrainSize attribute is used
to determine the additional processing characteristics of the
individual queues in a this priority group."
::= { qosIfQueueEntry 6 } STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies an
instance of the class."
::= { qosClfrElementEntry 1 }
qosIfQueueDrainSize OBJECT-TYPE qosClfrElementClfrId OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX TagId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum number of bytes that may be drained from the "A classifier Id identifies which classifier this
queue in one cycle. The percentage of the interface classifier element is a part of. This needs to be
bandwidth allocated to this queue can be calculated from the value of qosClfrId attribute for an existing
this attribute and the sum of the drain sizes of all the instance of qosClfrEntry."
queues in a specific priority group in a queue set. ::= { qosClfrElementEntry 2 }
This attribute when compared with the drain size of other qosClfrElementOrder OBJECT-TYPE
queues, represents the minimum bandwidth available to this SYNTAX Unsigned32
queue. The minimum bandwidth specified in absolute terms is STATUS current
specified by the attribute qosIfQueueMinAbsBandwidth. Which of DESCRIPTION
these two applies is specified by the attribute "The relative order in which classifier elements are
qosIfQueueBandwidthAllocation." applied: higher numbers represent classifier elements
with higher precedence. Classifier elements with the same
order must be unambiguous i.e. they must define
non-overlapping patterns, and are considered to be
applied simultaneously to the traffic stream. Clas-
sifier elements with different order may overlap in
their filters: the classifier element with the highest
order that matches is taken.
::= { qosIfQueueEntry 7 } On a given interface, there must be a complete clas-
sifier in place at all times in the
ingress direction. This means that there will always
be one or more filters that match every possible pat-
tern that could be presented in an incoming packet.
There is no such requirement in the egress direction."
DEFVAL { 0 }
::= { qosClfrElementEntry 3 }
qosIfQueueMinAbsBandwidth OBJECT-TYPE qosClfrElementNext OBJECT-TYPE
SYNTAX Unsigned64 SYNTAX Prid
STATUS current STATUS current
DiffServ QoS Policy Information Base November 2000
DESCRIPTION DESCRIPTION
"The maximum interface bandwidth that is available for "This attribute provides one branch of the fan-out
consumption when servicing this queue. This bandwidth is functionality of a classifier described in [MODEL]
specified in terms of bits per second. section 4.1.
This attribute represents the absolute bandwidth that is This selects the next diffserv functional datapath
available to a given queue. The relative bandwidth that is element to handle traffic for this data path.
available to a given queue, with respect to other queues with
which it is associated, is specified by the attribute
qosIfQueueDrainSize. Which of these two applies is specified
by the attribute qosIfQueueBandwidthAllocation.
::= { qosIfQueueEntry 8 } A value of zeroDotZero marks the end of DiffServ processing
for this data path. Any other value must point to a
valid (pre-existing) instance of one of:"
qosClfrEntry
qosMeterEntry
qosActionEntry
qosAlgDropEntry
qosQEntry."
DEFVAL { zeroDotZero }
::= { qosClfrElementEntry 4 }
qosIfQueueBandwidthAllocation OBJECT-TYPE qosClfrElementSpecific OBJECT-TYPE
SYNTAX INTEGER { SYNTAX Prid
absolute(1), --use qosIfQueueMinAbsBandwidth
relative(2) --use qosIfQueueDrainSize
}
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute specifies whether to configure the queue for "A pointer to a valid entry in another table that
an absolute bandwidth limit or one that is relative to other describes the applicable classification filter, e.g.
queues of the priority group. i.e., whether to configure the an entry in frwkIpFilterTable [FR-PIB].
queue using qosIfQueueMinAbsBandwidth or
qosIfQueueDrainSize."
If some queues have their bandwidth requirement specified in The PRI pointed to must exist prior to the installation of
absolute terms and others in relative terms then the this classifier element.
requirements of the absolute specification is met first. That
is, the drain sizes of the absolute queues must be calculated
based on the interface speed so as to ensure the absolute
bandwidth requirement.
::= { qosIfQueueEntry 9 } The value zeroDotZero is interpreted to match any-
thing not matched by another classifier element - only one
such entry may exist for each classifier."
DEFVAL { zeroDotZero }
::= { qosClfrElementEntry 5 }
-- --
-- Meters
-- --
-- This PIB supports a variety of Meters. It includes a
-- specific definition for Meters whose parameter set can
-- be modelled using Token Bucket parameters.
-- Other metering parameter sets can be defined and used
DiffServ QoS Policy Information Base November 2000
-- when necessary.
--
-- Multiple meter elements may be logically cascaded
-- using their qosMeterSucceedNext pointers if
-- a multi-rate Meter is required.
-- One example of this might be for an AF PHB implementation
-- that uses two-rate meters.
--
-- Cascading of individual meter elements in the PIB is intended
-- to be functionally equivalent to determining the conformance
-- level of a packet using a multi-rate meter. The sequential
-- nature of the representation is merely a notational
-- convenience for this PIB.
--
-- For example:
-- Conforming to RFC 2697, srTCM can be parameterized using
-- two sets of qosMeterEntry and qosTBMeterEntry.
-- With the first set parameterizing the Committed Burst Size
-- token-bucket, second set parameterizing the Excess Burst Size
-- token-bucket. With both set's qosTBMeterRate parameters
-- being used to reflect the Committed Information Rate value.
--
-- Conforming to RFC 2698, trTCM can be parameterized using
-- two sets of qosMeterEntry and qosTBMeterEntry.
-- With the first set parameterizing the Peak Information Rate
-- and Peak Burst Size token-bucket, second set parameterizing
-- the Committed Information Rate and Committed Burst Size
-- token-bucket.
--
-- Conforming to RFC 2859, tswTCM can be parameterized using
-- two sets of qosMeterEntry and qosTBMeterEntry.
-- With the first set parameterizing the Committed Target Rate,
-- second set parametering the Peak Target Rate.
-- With both set's qosTBMeterInterval being used to
-- reflect the Average Interval as specified by RFC 2859.
-- --
qosIfThresholdTable OBJECT-TYPE qosMeterTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfThresholdEntry SYNTAX SEQUENCE OF QosMeterEntry
PIB-ACCESS install, 6 PIB-ACCESS install, 5
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains configuration information for the individual thresholds "This table enumerates specific meters that a system
of the threshold sets." may use to police a stream of traffic. The traffic
::= { qosIfParameters 6 } DiffServ QoS Policy Information Base November 2000
qosIfThresholdEntry OBJECT-TYPE stream to be metered is determined by the element(s)
SYNTAX QosIfThresholdEntry upstream of the meter i.e. by the object(s) that
point to each entry in this table. This may include
all traffic on an interface.
Specific meter details are to be found in
qosMeterSpecific."
REFERENCE
"[MODEL] section 5.1"
::= { qosPolicyClasses 4 }
qosMeterEntry OBJECT-TYPE
SYNTAX QosMeterEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A conceptual row in the qosIfThresholdTable. "An entry in the meter table describing a single
meter."
PIB-INDEX { qosMeterPrid }
UNIQUENESS { }
::= { qosMeterTable 1 }
Each row identifies a specific threshold within a given QosMeterEntry ::= SEQUENCE {
set and contains detailed information about the qosMeterPrid InstanceId,
threshold. Threshold sets are associated with a queue set through qosMeterSucceedNext Prid,
the qosIfQueueThreshSet attribute of the qosIfQueueTable." qosMeterFailNext Prid,
qosMeterSpecific Prid
}
INDEX { qosIfThresholdPrid } qosMeterPrid OBJECT-TYPE
UNIQUENESS { qosIfThresholdSetId, SYNTAX InstanceId
qosIfThresholdDropMethod, STATUS current
qosIfThresholdMinThresh, DESCRIPTION
qosIfThresholdMaxThresh } "An arbitrary integer index that uniquely identifies an
instance of the class."
::= { qosMeterEntry 1 }
::= { qosIfThresholdSetTable 1 } qosMeterSucceedNext OBJECT-TYPE
SYNTAX Prid
STATUS current
DESCRIPTION
"If the traffic does conform, this selects the next
QosIfThresholdSetEntry ::= SEQUENCE { DiffServ QoS Policy Information Base November 2000
qosIfThresholdPrid PolicyInstanceId,
qosIfThresholdSetId PolicyTagId,
qosIfThresholdDropMethod INTEGER,
qosIfThresholdMinThresh INTEGER,
qosIfThresholdMaxThresh INTEGER
}
qosIfThresholdPrid OBJECT-TYPE diffserv functional datapath element to handle
SYNTAX PolicyInstanceId traffic for this data path.
The value zeroDotZero in this variable indicates no
further Diffserv treatment is performed on traffic of
this datapath. Any other value must point to a valid
(pre-existing) instance of one of:"
qosClfrEntry
qosMeterEntry
qosActionEntry
qosAlgDropEntry
qosQEntry."
DEFVAL { zeroDotZero }
::= { qosMeterEntry 2 }
qosMeterFailNext OBJECT-TYPE
SYNTAX Prid
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The index that uniquely identifies this row in the table, "If the traffic does not conform, this selects the
i.e., this PRI." next diffserv functional datapath element to handle
traffic for this data path.
::= { qosIfThresholdEntry 1 } The value zeroDotZero in this variable indicates no
further Diffserv treatment is performed on traffic of
this datapath. Any other value must point to a valid
(pre-existing) instance of one of:"
qosClfrEntry
qosMeterEntry
qosActionEntry
qosAlgDropEntry
qosQEntry."
DEFVAL { zeroDotZero }
::= { qosMeterEntry 3 }
qosIfThresholdSetId OBJECT-TYPE qosMeterSpecific OBJECT-TYPE
SYNTAX PolicyTagId SYNTAX Prid
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that uniquely identifies a specific threshold set. "This indicates the behaviour of the meter by point-
The individual thresholds that are members of this set all ing to an entry containing detailed parameters. Note
have the same value for this attribute (i.e., they have the that entries in that specific table must be managed
same set ID)." explicitly.
::= { qosIfThresholdEntry 2 } DiffServ QoS Policy Information Base November 2000
qosIfThresholdDropMethod OBJECT-TYPE For example, qosMeterSpecific may point to an
entry in qosTBMeterTable, which contains an
instance of a single set of Token Bucket parameters.
The PRI pointed to must exist prior to installing this
Meter datapath element."
::= { qosMeterEntry 5 }
--
-- Token-Bucket Meter Table
--
-- Each entry in the Token Bucket Meter Table parameterize
-- a single token bucket. Multiple token buckets can be
-- used together to parameterize multiple levels of
-- conformance.
--
qosTBMeterTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosTBMeterEntry
PIB-ACCESS install, 6
STATUS current
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 single burst size."
REFERENCE
"[MODEL] section 5.1"
::= { qosPolicyClasses 5 }
qosTBMeterEntry OBJECT-TYPE
SYNTAX QosTBMeterEntry
STATUS current
DESCRIPTION
"An entry that describes a single token-bucket meter,
indexed by the same variables as a qosMeterEn-
try."
PIB-INDEX { qosTBMeterPrid }
UNIQUENESS { qosTBMeterType,
qosTBMeterRate,
qosTBMeterBurstSize,
qosTBMeterInterval }
DiffServ QoS Policy Information Base November 2000
::= { qosTBMeterTable 1 }
QosTBMeterEntry ::= SEQUENCE {
qosTBMeterPrid InstanceId,
qosTBMeterType INTEGER,
qosTBMeterRate Unsigned32,
qosTBMeterBurstSize BurstSize,
qosTBMeterInterval Unsigned32
}
qosTBMeterPrid OBJECT-TYPE
SYNTAX InstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies an
instance of the class."
::= { qosTBMeterEntry 1 }
qosTBMeterType OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
other(1), tokenBucket(2), -- Simple Token Bucket
tailDrop(2), avgRate(3), -- Average Rate
randomDrop(3) srTCMBlind(4), -- srTCM, Color-blind
srTCMAware(5), -- srTCM, Color-aware
trTCMBlind(6), -- trTCM, Color-blind
trTCMAware(7), -- trTCM, Color-aware
tswTCM(8) -- tswTCM
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The drop method to apply to packets exceeding the threshold. "The type of meter using parameters specified by this
If the mechanism is other then another policy may be specified TBMeter entry.
by an additional attribute augmenting this table."
::= { qosIfThresholdEntry 3 } Value of tokenBucket(2) indicates the use of Two
Parameter Token Bucket Meter as described in [MODEL]
section 5.2.3.
qosIfThresholdMinThresh OBJECT-TYPE Value of avgRate(3) indicates the use of Average Rate
SYNTAX INTEGER Meter as described in [MODEL] section 5.2.1.
Value of srTCMBlind(4) and srTCMAware(5) indicates
the use of Single Rate Three Color Marker Metering as
DiffServ QoS Policy Information Base November 2000
defined by RFC 2697, with `Color Blind' and `Color
Aware' mode as described by the RFC.
Value of trTCMBlind(6) and trTCMAware(7) indicates
the use of Two Rate Three Color Marker Metering as
defined by RFC 2698, with `Color Blind' and `Color
Aware' mode as described by the RFC.
Value of tswTCM(8) indicates the use of Time Sliding
Window Three Color Marker Metering as defined by RFC
2859."
REFERENCE
"[MODEL] section 5"
::= { qosTBMeterEntry 2 }
qosTBMeterRate OBJECT-TYPE
SYNTAX Unsigned32
UNITS "kilobits per second"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The queue depth, in bytes, below which no packets are "The token-bucket rate, in kilobits per second
dropped. If the queue depth is above this value and below the (kbps). This attribute is used for: 1. CIR in RFC
value of qosIfThresholdMaxThresh then packets assigned to this 2697 for srTCM 2. PIR and CIR in FRC 2698 for trTCM
threshold are dropped randomly by the random drop process if 3. CTR and PTR in RFC 2859 for TSWTCM 4. AverageRate
random drop is in effect. If tail drop is in effect, this used in [MODEL] section 5."
attribute has no relevance." ::= { qosTBMeterEntry 3 }
::= { qosIfThresholdEntry 4 }
qosIfThresholdMaxThresh OBJECT-TYPE qosTBMeterBurstSize OBJECT-TYPE
SYNTAX INTEGER SYNTAX BurstSize
UNITS "Bytes"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The queue depth, in bytes, above which all packets assigned "The maximum number of bytes in a single transmission
to this threshold are dropped." burst. This attribute is used for: 1. CBS and EBS in
RFC 2697 for srTCM 2. CBS and PBS in FRC 2698 for
trTCM 3. Burst Size used in [MODEL] section 5."
::= { qosTBMeterEntry 4 }
::= { qosIfThresholdEntry 5 } qosTBMeterInterval OBJECT-TYPE
SYNTAX Unsigned32
UNITS "microseconds"
STATUS current
DiffServ QoS Policy Information Base November 2000
DESCRIPTION
"The time interval used with the token bucket. For:
1. Average Rate Meter, [MODEL] section 5.2.1, -
Delta. 2. Simple Token Bucket Meter, [MODEL] section
5.1, - time interval t. 3. RFC 2859 TSWTCM, -
AVG_INTERVAL. 4. RFC 2697 srTCM, RFC 2698 trTCM, -
token bucket update time interval."
::= { qosTBMeterEntry 5 }
-- --
-- Actions
-- --
--
-- The Action Table allows enumeration of the different
-- types of actions to be applied to a traffic flow.
-- --
qosIfDscpMapTable OBJECT-TYPE qosActionTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfDscpMapEntry SYNTAX SEQUENCE OF QosActionEntry
PIB-ACCESS install, 6 PIB-ACCESS install, 5
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Assigns DSCP values to queues and thresholds for an arbitrary "The Action Table enumerates actions that can be per-
DSCP map. This map can then be assigned to various interface formed to a stream of traffic. Multiple actions can
and role combination pairs." be concatenated. For example, after marking a stream
of traffic exiting from a meter, a device can then
perform a mark action of the conforming or non-
conforming traffic.
::= { qosIfParameters 7 } Specific actions are indicated by qosAction-
Specific which points to an entry of a specific
action type parameterizing the action in detail."
REFERENCE
"[MODEL] section 6."
::= { qosPolicyClasses 6 }
qosIfDscpMapEntry OBJECT-TYPE qosActionEntry OBJECT-TYPE
SYNTAX QosIfDscpMapEntry SYNTAX QosActionEntry
STATUS current
DESCRIPTION
"An instance of the qosIfDscpMap class."
INDEX { qosIfDscpMapPrid } DiffServ QoS Policy Information Base November 2000
UNIQUENESS { qosIfDscpMapMapId,
qosIfDscpMapDscp }
::= { qosIfDscpMapTable 1 } STATUS current
DESCRIPTION
"Each entry in the action table allows description of
one specific action to be applied to traffic."
PIB-INDEX { qosActionPrid }
UNIQUENESS { }
::= { qosActionTable 1 }
QosIfDscpMapEntry ::= SEQUENCE { QosActionEntry ::= SEQUENCE {
qosIfDscpMapPrid PolicyInstanceId, qosActionPrid InstanceId,
qosIfDscpMapMapId PolicyTagId, qosActionNext Prid,
qosIfDscpMapDscp Dscp, qosActionSpecific Prid,
qosIfDscpMapQueue PolicyReferenceId, qosActionType INTEGER
qosIfDscpMapThresh PolicyReferenceId
} }
qosIfDscpMapPrid OBJECT-TYPE qosActionPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that is used to uniquely identify the "An arbitrary integer index that uniquely identifies an
instance of the qosIfDscpMap class." instance of the class."
::= { qosActionEntry 1 }
::= { qosIfDscpMapEntry 1 } qosActionNext OBJECT-TYPE
SYNTAX Prid
STATUS current
DESCRIPTION
"This selects the next diffserv functional datapath
element to handle traffic for this data path.
qosIfDscpMapMapId OBJECT-TYPE The value zeroDotZero in this variable indicates no
SYNTAX PolicyTagId further Diffserv treatment is performed on traffic of
this datapath. Any other value must point to a valid
(pre-existing) instance of one of:"
qosClfrEntry
qosMeterEntry
qosActionEntry
qosAlgDropEntry
qosQEntry."
DEFVAL { zeroDotZero }
::= { qosActionEntry 2 }
DiffServ QoS Policy Information Base November 2000
qosActionSpecific OBJECT-TYPE
SYNTAX Prid
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An integer that identifies the DSCP map to which this PRI "A pointer to an object instance providing additional
belongs." information for the type of action indicated by this
action table entry.
::= { qosIfDscpMapEntry 2 } This attribute is meaningful only if qosActionType is
specific(3). For other action types, this attribute
should be NULL.
qosIfDscpMapDscp OBJECT-TYPE For the standard actions defined by this PIB module,
SYNTAX Dscp this should point to an instance of
qosDscpMarkActEntry. For other actions, it may point
to an instance of a PRC defined in some other PIB.
The PRI pointed to must exist prior to installing this
action datapath entry."
::= { qosActionEntry 3 }
qosActionType OBJECT-TYPE
SYNTAX INGEGER {
specific(2),
absoluteDrop(3)
}
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The DSCP that is being assigned to a queue and threshold by "This attribute indicates how the parameters of the
this PRI." action are to be specified.
::= { qosIfDscpMapEntry 3 } A value of specific(2) indicates that the action
paramters are described in the instance of the PRC
pointed to by qosActionSpecific.
qosIfDscpMapQueue OBJECT-TYPE A value of absoluteDrop(3) indicates that the absolute
SYNTAX PolicyReferenceId drop action to be taken, and that no additional
PIB-REFERENCE qosIfQueueTable parameters apply to this action. For this action
type, the value of qosActionSpecific should be
zeroDotZero."
::= { qosActionEntry 4 }
-- DSCP Mark Action Table
--
DiffServ QoS Policy Information Base November 2000
-- Rows of this table are pointed to by qosActionSpecific
-- to provide detailed parameters specific to the DSCP
-- Mark action.
--
qosDscpMarkActTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosDscpMarkActEntry
PIB-ACCESS install, 3
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute maps the DSCP specified by qosIfDscpMapDscp to "This table enumerates specific DSCPs used for mark-
the queue identified by qosIfQueuePrid in qosIfQueueTable. ing or remarking the DSCP field of IP packets. The
For a given DSCP map, all the queues must belong to a single entries of this table may be referenced by a
queue set." qosActionSpecific attribute."
REFERENCE
"[MODEL] section 6.1"
::= { qosPolicyClasses 7 }
::= { qosIfDscpMapEntry 4 } qosDscpMarkActEntry OBJECT-TYPE
SYNTAX QosDscpMarkActEntry
STATUS current
DESCRIPTION
"An entry in the DSCP mark action table that
describes a single DSCP used for marking."
PIB-INDEX { qosDscpMarkActPrid }
INDEX { qosDscpMarkActDscp }
UNIQUENESS { qosDscpMarkActDscp }
::= { qosDscpMarkActTable 1 }
qosIfDscpMapThresh OBJECT-TYPE QosDscpMarkActEntry ::= SEQUENCE {
SYNTAX PolicyReferenceId qosDscpMarkActPrid InstanceId,
PIB-REFERENCE qosIfThresholdTable qosDscpMarkActDscp Dscp
}
qosDscpMarkActPrid OBJECT-TYPE
SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute maps the DSCP specified by qosIfDscpMapDscp to "An arbitrary integer index that uniquely identifies an
the threshold identified by qosIfThresholdId in instance of the class."
qosIfThresholdTable." The threshold set to which this ::= { qosDscpMarkActEntry 1 }
threshold belongs must be assigned to the queue specified by
qosIfDscpMapQueue."
::= { qosIfDscpMapEntry 5 } DiffServ QoS Policy Information Base November 2000
qosDscpMarkActDscp OBJECT-TYPE
SYNTAX Dscp
STATUS current
DESCRIPTION
"The DSCP that this Action uses for marking/remarking
traffic. Note that a DSCP value of -1 is not permit-
ted in this table. It is quite possible that the
only packets subject to this Action are already
marked with this DSCP. Note also that Diffserv may
result in packet remarking both on ingress to a net-
work and on egress from it and it is quite possible
that ingress and egress would occur in the same
router."
::= { qosDscpMarkActEntry 2 }
-- --
-- Algorithmic Drop Table
-- --
qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 } qosAlgDropTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosAlgDropEntry
qosMeterTable OBJECT-TYPE PIB-ACCESS install, 7
SYNTAX SEQUENCE OF QosMeterEntry
PIB-ACCESS install, 10
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains the current set of configured meters. The "The algorithmic drop table contains entries describ-
meters are associated with a classifier during ing an element that drops packets according to some
operation through the QoS Target Table." algorithm."
REFERENCE
INSTALL-ERRORS { "[MODEL] section 7.1.3"
invalidCommittedData(1), ::= { qosPolicyClasses 9 }
invalidPeakData(2)
}
::= { qosMeter 1 }
qosMeterEntry OBJECT-TYPE qosAlgDropEntry OBJECT-TYPE
SYNTAX QosMeterEntry SYNTAX QosAlgDropEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"General metering definitions. Each entry specifies "An entry describes a process that drops packets
an instance of the qosMeter class which specifies according to some algorithm. Further details of the
metering information in terms of traffic stream algorithm type are to be found in qosAlgDropType
bandwidth parameters. An entry can thus be used to and with more detail parameter entry pointed to by
support traffic metering based on the specified qosAlgDropSpecific when necessary."
service level specification." PIB-INDEX { qosAlgDropPrid }
INDEX { qosMeterPrid } DiffServ QoS Policy Information Base November 2000
UNIQUENESS { qosMeterDataSpecification,
qosMeterCommittedRate,
qosMeterCommittedBurst,
qosMeterPeakRate,
qosMeterPeakBurst,
qosMeterHighConfAction,
qosMeterMedConfAction,
qosMeterLowConfAction }
::= { qosMeterTable 1 } UNIQUENESS { }
::= { qosAlgDropTable 1 }
QosMeterEntry ::= SEQUENCE { QosAlgDropEntry ::= SEQUENCE {
qosMeterPrid PolicyInstanceId, qosAlgDropPrid InstanceId,
qosMeterDataSpecification INTEGER, qosAlgDropType INTEGER,
qosMeterCommittedRate Unsigned32, qosAlgDropNext Prid,
qosMeterCommittedBurst Unsigned32, qosAlgDropQMeasure Prid,
qosMeterPeakRate Unsigned32, qosAlgDropQThreshold Unsigned32,
qosMeterPeakBurst Unsigned32, qosAlgDropSpecific Prid
qosMeterHighConfAction PolicyReferenceId,
qosMeterMedConfAction PolicyReferenceId,
qosMeterLowConfAction PolicyReferenceId
} }
qosMeterPrid OBJECT-TYPE qosAlgDropPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies "An arbitrary integer index that uniquely identifies an
the instance of the qosMeter class. Meters are instance of the class."
associated with specific flows using this attribute ::= { qosAlgDropEntry 1 }
through the qosTargetMeter attribute in the QoS
Target class."
::= { qosMeterEntry 1 }
qosMeterDataSpecification OBJECT-TYPE qosAlgDropType OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
noMeterData(1), -- no metering reqd other(1),
committedData(2), -- committed rate only tailDrop(2),
peakData(3) -- committed and peak headDrop(3),
randomDrop(4)
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the metering data, and thus the actions, that "The type of algorithm used by this dropper. A value
are defined in a given entry. of tailDrop(2) or headDrop(3) represents an algorithm
that is completely specified by this PIB.
A value of noMeterData(1) indicates that no flow metering A value of other(1) indicates that the specifics of
is necessary. All flows associated with this meter entry the drop algorithm are specified in some other PIB
are considered to be at a high level of conformance. module, and that the qosAlgDropSpecific attribute
points to an instance of a PRC in that PIB that
specifies the information necessary to implement the
algorithm.
A value of committedData(2) indicates that committed rate The tailDrop(2) algorithm is described as follows:
and committed burst information has been specified and will qosAlgDropQThreshold represents the depth of the
be applied to associated flows. No peak rate and burst
information has been specified meaning that two levels
of conformance (high, medium) are supported.
A value of peakData(3) indicates that peak rate and peak DiffServ QoS Policy Information Base November 2000
burst information has been provided in addition to the
committed rate and committed burst information. All provided
information will be applied to associated flows meaning that
three levels of conformance (high, medium, low) are
supported."
::= { qosMeterEntry 2 }
qosMeterCommittedRate OBJECT-TYPE queue, pointed to by qosAlgDropQMeasure, at
SYNTAX Unsigned32 (0..'ffffffff'h) 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,
pointed to by qosAlgDropQMeasure, is at
qosAlgDropQThreshold, packets currently at the head of
the queue are dropped to make room for the new packet
to be enqueued at the tail of the queue.
The randomDrop(4) algorithm is described as follows:
on packet arrival, an algorithm is executed which may
randomly drop the packet, or drop other packet(s)
from the queue in its place. The specifics of the
algorithm may be proprietary. For this algorithm,
qosAlgDropSpecific points to a qosRandomDropEntry
that describes the algorithm. For this
algorithm, qosAlgQThreshold is understood to be
the absolute maximum size of the queue and additional
parameters are described in qosRandomDropTable."
::= { qosAlgDropEntry 2 }
qosAlgDropNext OBJECT-TYPE
SYNTAX Prid
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object represents the committed information rate "This selects the next diffserv functional datapath
(CIR) against which associated traffic streams will be element to handle traffic for this data path.
metered. The CIR specifies the rate at which incoming
traffic can arrive to be considered to be at a high
level of conformance. Typically, this value specifies
the rate at which tokens are added to a token bucket
used to meter received flows.
This object specifies a rate in bytes per second units The value zeroDotZero in this variable indicates no
such that, for example, a value of 100 equates to a further Diffserv treatment is performed on traffic of
committed information rate of 100 bytes per second. this datapath. Any other value must point to a valid
(pre-existing) instance of one of:"
qosClfrEntry
qosMeterEntry
qosActionEntry
qosAlgDropEntry
qosQEntry."
DEFVAL { zeroDotZero }
::= { qosAlgDropEntry 3 }
Committed rate (and burst) information must be present qosAlgDropQMeasure OBJECT-TYPE
if the qosMeterDataSpecification object has the value SYNTAX Prid
committedData(2) or peakRate(3). This, in turn, requires
that at least both high and medium conformance actions
be specified."
::= { qosMeterEntry 3 } DiffServ QoS Policy Information Base November 2000
qosMeterCommittedBurst OBJECT-TYPE
SYNTAX Unsigned32 (0..'ffffffff'h)
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object represents the committed burst size "Points to an entry in the qosQTable to indicate
(CBS) against which associated traffic streams will the queue that a drop algorithm is to monitor when
be metered. The CBS specifies the maximum burst size deciding whether to drop a packet.
that is supported for flows to be considered to be at
a high level of conformance. Typically, this value
represents the maximum number of tokens in a token
bucket.
This object specifies flow data in bytes per second The PRI pointed to must exist prior to installing
units such that, for example, a value of 100 equates this dropper element."
to a committed information rate of 100 bytes per ::= { qosAlgDropEntry 4 }
second.
Committed burst (and rate) information must be present qosAlgDropQThreshold OBJECT-TYPE
if the qosMeterDataSpecification object has the value SYNTAX Unsigned32
committedData(2) or peakRate(3). This, in turn, requires UNITS "Bytes"
that at least both high and medium conformance actions STATUS current
be specified." DESCRIPTION
"A threshold on the depth in bytes of the queue being
measured at which a trigger is generated to the drop-
ping algorithm.
::= { qosMeterEntry 4 } For the tailDrop(2) or headDrop(3) algorithms, this
represents the depth of the queue, pointed to by
qosAlgDropQMeasure, at which the drop action
will take place. Other algorithms will need to define
their own semantics for this threshold."
::= { qosAlgDropEntry 5 }
qosMeterPeakRate OBJECT-TYPE qosAlgDropSpecific OBJECT-TYPE
SYNTAX Unsigned32 (0..'ffffffff'h) SYNTAX Prid
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object represents the peak information rate (PIR) "Points to a table entry that provides further detail
against which associated traffic streams will be regarding a drop algorithm. The PRI pointed to
metered. The PIR specifies the rate at which incoming must exist prior to installing this dropper element.
traffic can arrive to be considered to be at a medium
level of conformance. Typically, this value specifies
the rate at which tokens are added to a token bucket
used to meter received flows.
This object specifies a rate in bytes per second units Entries with qosAlgDropType equal to other(1)
such that, for example, a value of 100 equates to a must have this point to an instance of a PRC
committed information rate of 100 bytes per second. defined in another PIB module.
Peak rate (and burst) information must be present Entries with qosAlgDropType equal to random-
if the qosMeterDataSpecification object has the value Drop(4) must have this point to an entry in
peakData(3). This, in turn, requires that high, medium qosRandomDropTable.
and low conformance actions be specified."
::= { qosMeterEntry 5 } For all other algorithms, this should take the value
qosMeterPeakBurst OBJECT-TYPE DiffServ QoS Policy Information Base November 2000
SYNTAX Unsigned32 (0..'ffffffff'h)
zeroDotzero."
::= { qosAlgDropEntry 6 }
--
-- Random Drop Table
--
qosRandomDropTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosRandomDropEntry
PIB-ACCESS install, 9
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This object represents the peak burst size (PBS) "The random drop table contains entries describing a
against which associated traffic streams will process that drops packets randomly. Entries in this
be metered. The CBS specifies the maximum burst size table is intended to be pointed to by
that is supported for flows to be considered to be at qosAlgDropSpecific."
a medium level of conformance. Typically, this value REFERENCE
represents the maximum number of tokens in a token "[MODEL] section 7.1.3"
bucket. ::= { qosPolicyClasses 10 }
This object specifies flow data in bytes per second qosRandomDropEntry OBJECT-TYPE
units such that, for example, a value of 100 equates SYNTAX QosRandomDropEntry
to a committed information rate of 100 bytes per STATUS current
second. DESCRIPTION
"An entry describes a process that drops packets
according to a random algorithm."
PIB-INDEX { qosRandomDropPrid }
UNIQUENESS { qosRandomDropMinThreshBytes,
qosRandomDropMinThreshPkts,
qosRandomDropMaxThreshBytes,
qosRandomDropMaxThreshPkts,
qosRandomDropInvProbMax,
qosRandomDropInvWeight,
qosRandomDropSamplingRate
::= { qosRandomDropTable 1 }
Peak burst (and rate) information must be present QosRandomDropEntry ::= SEQUENCE {
if the qosMeterDataSpecification object has the value qosRandomDropPrid InstanceId,
peakData(3). This, in turn, requires that high, medium qosRandomDropMinThreshBytes Unsigned32,
and low conformance actions be specified." qosRandomDropMinThreshPkts Unsigned32,
qosRandomDropMaxThreshBytes Unsigned32,
qosRandomDropMaxThreshPkts Unsigned32,
::= { qosMeterEntry 6 } DiffServ QoS Policy Information Base November 2000
qosMeterHighConfAction OBJECT-TYPE qosRandomDropInvProbMax Unsigned32,
SYNTAX PolicyReferenceId qosRandomDropInvWeight Unsigned32,
PIB-REFERENCE qosActionTable qosRandomDropSamplingRate Unsigned32
}
qosRandomDropPrid OBJECT-TYPE
SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the action that is to be "An arbitrary integer index that uniquely identifies an
initiated for flows that are determined to have a high instance of the class."
level of conformance with regard to metering criteria ::= { qosRandomDropEntry 1 }
being applied to the flow.
Actions must be defined in the qosActionTable prior to qosRandomDropMinThreshBytes OBJECT-TYPE
being referenced by this attribute. A valid value for SYNTAX Unsigned32
this attribute must always be provided." UNITS "bytes"
STATUS current
DESCRIPTION
"The average queue depth in bytes, beyond which
traffic has a non-zero probability of being dropped.
Changes in this variable may or may not be reflected
in the reported value of qosRandomDropMinThreshPkts."
::= { qosRandomDropEntry 2 }
::= { qosMeterEntry 7 } qosRandomDropMinThreshPkts OBJECT-TYPE
SYNTAX Unsigned32
UNITS "packets"
STATUS current
DESCRIPTION
"The average queue depth in packets, beyond which
traffic has a non-zero probability of being dropped.
Changes in this variable may or may not be reflected
in the reported value of qosRandomDropMinThreshBytes."
::= { qosRandomDropEntry 3 }
qosMeterMedConfAction OBJECT-TYPE qosRandomDropMaxThreshBytes OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX Unsigned32
PIB-REFERENCE qosActionTable UNITS "bytes"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the action that is to be "The average queue depth beyond which traffic has a
initiated for flows that are determined to have a medium
level of conformance with regard to metering criteria
being applied to the flow.
Actions must be defined in the qosActionTable prior to DiffServ QoS Policy Information Base November 2000
being referenced by this attribute. A valid value for
this attribute must be provided if the value of the
associated qosMeterDataSpecification object is
committedRate(2) or peakRate(3)."
::= { qosMeterEntry 8 } probability indicated by qosRandomDropInvProbMax
of being dropped or marked. Note that this differs
from the physical queue limit, which is stored in
qosAlgDropQThreshold. Changes in this variable
may or may not be reflected in the reported value of
qosRandomDropMaxThreshPkts."
::= { qosRandomDropEntry 4 }
qosMeterLowConfAction OBJECT-TYPE qosRandomDropMaxThreshPkts OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX Unsigned32
PIB-REFERENCE qosActionTable UNITS "packets"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the action that is to be "The average queue depth beyond which traffic has a
initiated for flows that are determined to have a low probability indicated by qosRandomDropInvProbMax
level of conformance with regard to metering criteria of being dropped or marked. Note that this differs
being applied to the flow. from the physical queue limit, which is stored in
qosAlgDropQThreshold. Changes in this variable
may or may not be reflected in the reported value of
qosRandomDropMaxThreshBytes."
::= { qosRandomDropEntry 5 }
Actions must be defined in the qosActionTable prior to qosRandomDropInvProbMax OBJECT-TYPE
being referenced by this attribute. A valid value for SYNTAX Unsigned32
this attribute must be provided if the value of the STATUS current
associated qosMeterDataSpecification object is DESCRIPTION
peakRate(3)." "The worst case random drop probability, expressed as
the inverse of the drop probability. With special
case of the value zero meaning zero probability of
drop.
::= { qosMeterEntry 9 } For example, if every packet may be dropped in the
worst case (100%), this has the value of
4,294,967,295."
::= { qosRandomDropEntry 6 }
qosRandomDropInvWeight OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"The weighting of past history in affecting the cal-
culation of the current queue average. The moving
DiffServ QoS Policy Information Base November 2000
average of the queue depth uses the inverse of this
value as the factor for the new queue depth, and one
minus that inverse as the factor for the historical
average.
Implementations may choose to limit the acceptable
set of values to a specified set, such as powers of
2."
::= { qosRandomDropEntry 7 }
qosRandomDropSamplingRate OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"The number of times per second the queue is sampled
for queue average calculation. A value of zero means
the queue is sampled approximately each time a packet
is enqueued (or dequeued)."
::= { qosRandomDropEntry 8 }
-- --
-- Queue Table
-- --
qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 }
-- --
-- An entry in qosQTable represents a FIFO queue diffserv
-- functional datapath element as described in [MODEL] section
-- 7.1.1.
-- Notice the specification of scheduling parameters for a queue
-- as part of the input to a scheduler functional datapath
-- element as described in [MODEL] section 7.1.2. This allows
-- building of hierarchical queueing/scheduling.
-- A queue therefore is parameterized by:
-- 1. Which scheduler will service this queue, qosQNext.
-- 2. How the scheduler will service this queue, with respect
-- to all the other queues the same scheduler needs to service,
-- qosQSchdParam.
-- --
qosActionTable OBJECT-TYPE qosQTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosActionEntry SYNTAX SEQUENCE OF QosQEntry
PIB-ACCESS install, 4 PIB-ACCESS install, 4
DiffServ QoS Policy Information Base November 2000
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains the current set of configured actions. The actions "The Queue Table enumerates the individual queues on
are associated with meters and interfaces during operation." an interface."
::= { qosPolicyClasses 11 }
::= { qosAction 1 } qosQEntry OBJECT-TYPE
SYNTAX QosQEntry
STATUS current
DESCRIPTION
"An entry in the Queue Table describes a single queue
in one direction on an interface."
PIB-INDEX { qosQPrid }
UNIQUENESS { }
::= { qosQTable 1 }
qosActionEntry OBJECT-TYPE QosQEntry ::= SEQUENCE {
SYNTAX QosActionEntry qosQPrid InstanceId,
qosQNext Prid,
qosQSchdParam Prid
}
qosQPrid OBJECT-TYPE
SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"General action definitions. Each entry specifies an instance "An arbitrary integer index that uniquely identifies an
of the qosAction class which describes (potentially) instance of the class."
several distinct action attributes. ::= { qosQEntry 1 }
An instance of this class can not be deleted while it is being qosQNext OBJECT-TYPE
referenced in a target instance in another class. This SYNTAX Prid
class may be extended with actions that apply to specific QoS STATUS current
policies using augmentation." DESCRIPTION
"This selects the next diffserv functional datapath
element to handle traffic for this data path. This
value must point to a valid (pre-existing) instance
of one of:
qosSchedulerEntry"
::= { qosQEntry 2 }
INDEX { qosActionPrid } DiffServ QoS Policy Information Base November 2000
UNIQUENESS { qosActionDrop,
qosActionUpdateDSCP }
::= { qosActionTable 1 } qosQSchdParam OBJECT-TYPE
SYNTAX Prid
STATUS current
DESCRIPTION
"This Prid indicates the entry in
qosSchdParamTable the scheduler, pointed to by
qosQNext, should use to service this queue. The PRI
pointed to must exist prior to installing this queue
element."
::= { qosQEntry 3 }
QosActionEntry ::= SEQUENCE { --
qosActionPrid PolicyInstanceId, -- Scheduler Table
qosActionAction INTEGER, --
qosActionUpdateDSCP Dscp, -- The Scheduler Table is 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.
-- Notice the servicing parameters the scheduler uses is
-- specified by each of its upstream functional datapath elements,
-- most likely queues or schedulers.
-- The coordination and coherency between the servicing parameters
-- of the scheduler's upstream functional datapath elements must
-- be maintained for the scheduler to function correctly.
--
-- The qosSchedulerSchdParam attribute is used for specifying
-- the servicing parameters for output of a scheduler when its
-- downstream functional datapath element is another scheduler.
-- This is used for building hierarchical queue/scheduler.
--
qosSchedulerTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosSchedulerEntry
PIB-ACCESS install, 5
STATUS current
DESCRIPTION
"The Scheduler Table enumerates packet schedulers.
Multiple scheduling algorithms can be used on a given
interface, with each algorithm described by one
qosSchedulerEntry."
REFERENCE
"[MODEL] section 7.1.2"
DiffServ QoS Policy Information Base November 2000
::= { qosPolicyClasses 12 }
qosSchedulerEntry OBJECT-TYPE
SYNTAX QosSchedulerEntry
STATUS current
DESCRIPTION
"An entry in the Scheduler Table describing a single
instance of a scheduling algorithm."
PIB-INDEX { qosSchedulerPrid }
UNIQUENESS { }
::= { qosSchedulerTable 1 }
QosSchedulerEntry ::= SEQUENCE {
qosSchedulerPrid InstanceId,
qosSchedulerNext Prid,
qosSchedulerMethod INTEGER,
qosSchedulerSchdParam Prid
} }
qosActionPrid OBJECT-TYPE qosSchedulerPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies "An arbitrary integer index that uniquely identifies an
the instance of the QoS Action class. Class instances instance of the class."
may not be contiguous. Actions are associated with ::= { qosSchedulerEntry 1 }
Target instances in other classes (e.g., the QoS
Meter class) using this attribute."
::= { qosActionEntry 1 } qosSchedulerNext OBJECT-TYPE
SYNTAX Prid
STATUS current
DESCRIPTION
"This selects the next diffserv functional datapath
element to handle traffic for this data path.
qosActionAction OBJECT-TYPE A value of zeroDotZero in this attribute indicates no
further Diffserv treatment is performed on traffic of
this datapath. The use of zeroDotZero is the normal
usage for the last functional datapath element. Any
value other than zeroDotZero must point to a valid
(pre-existing) instance of one of:
qosSchedulerEntry
DiffServ QoS Policy Information Base November 2000
qosQEntry (as indicated by [MODEL] section
7.1.4).
This can point to another qosSchedulerEntry
for implementation of multiple scheduler methods for
the same datapath, and for implementation of
hierarchical schedulers."
DEFVAL { zeroDotZero }
::= { qosSchedulerEntry 2 }
qosSchedulerMethod OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
drop(1), priorityq(2), -- Priority Queueing
mark(2), wrr(3), -- Weighted Round Robin
unchange(3) -- don't alter the DSCP wfq(4), -- Weighted Fair Queuing
wirr(5), -- Weighted Interleaved Round Robin
bsp(6) -- Bounded Strict Priority
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This action attribute specifies the action to be taken on the "The scheduling algorithm used by this Scheduler.
packet.
Prior to discarding a packet, other actions that have A value of priorityq(2) is used to indicate strict
been specified should be performed if they make protocol priority queueing: only the qosSchdParamPriority
sense. For example, requests for traffic mirroring (if attributes of the queues feeding this scheduler are
such an action is supported by a device) should be used when determining the next packet to schedule.
honored. However, updating protocol header values will
typically not be necessary."
::= { qosActionEntry 2 } 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 qosSchdParam entry.
qosActionUpdateDSCP OBJECT-TYPE A value of wfq(4) indicates weighted fair queueing
SYNTAX Dscp scheduling. Packets are scheduled from each of the
queues feeding this scheduler according to all the
parameters of the QosSchdParamEntry directed
from qosQueue entry.
A value of wirr(5) indicates weighted interleaved
roundrobin queueing scheduling. Packets are
scheduled from each of the queues feeding this
scheduler according to all the parameters of the
QosSchdParamEntry directed from qosQueue
entry.
DiffServ QoS Policy Information Base November 2000
A value of bsp(6) indicates bounded strict priority
scheduling. Packets are scheduled from each of the
queues feeding this scheduler according to all the
parameters of the QosSchdParamEntry directed
from qosQueue entry."
REFERENCE
"[MODEL] section 7.1.2"
::= { qosSchedulerEntry 3 }
qosSchedulerSchdParam OBJECT-TYPE
SYNTAX Prid
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute specifies the value to write into the DSCP "This Prid indicates the entry in
field of the packet if the action to be taken is to mark the qosSchdParamTable the higher level scheduler,
packet. pointed to by qosSchedulerNext, should use to
service the output of this scheduler. This attribute
::= { qosActionEntry 3 } is only used when there is more than one level of
scheduler. A value of 0.0 should be sent to indicate
that this attribute is not used."
::= { qosSchedulerEntry 4 }
-- --
-- Scheduling Parameter Table
-- --
-- The scheduling parameters are separate from the Queue Entries
-- for reusability and for usage by both queues and schedulers,
-- and this follows the separation of datapath elements from
-- parameterization approach used throught out this PIB.
-- Usage of scheduling parameter table entry by schedulers allow
-- building of hierarchical scheduling.
--
-- The qosSchdParamMaxRateAbs/Rel attributes are used to
-- construct non-work-conserving scheduler for the purpose of
-- traffic shaping. These attributes limits the servicing of
-- the queue/scheduler, in affect, shaping the output of the
-- queue/scheduler, as described in [MODEL] section 7.2.
-- --
qosTargetTable OBJECT-TYPE qosSchdParamTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosTargetEntry SYNTAX SEQUENCE OF QosSchdParamEntry
DiffServ QoS Policy Information Base November 2000
PIB-ACCESS install, 7 PIB-ACCESS install, 7
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A class that applies a set of filters to interfaces specifying, "The Scheduling Parameter Table enumerates individual
for each interface, the precedence order of the filters with sets of scheduling parameter that can be used/reused
respect to other filters applied to the same interface and, for by Queues and Schedulers."
each filter, the meter to apply to packets accepted by the ::= { qosPolicyClasses 13 }
filter. Interfaces are specified abstractly
in terms of interface roles.
This class may contain filters that specify different types
of traffic classification."
INSTALL-ERRORS {
priPrecedenceConflict(1) -- precedence conflict detected
}
::= { qosAction 2 }
qosTargetEntry OBJECT-TYPE qosSchdParamEntry OBJECT-TYPE
SYNTAX QosTargetEntry SYNTAX QosSchdParamEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An instance of the qosTarget class. Instance creation "An entry in the Scheduling Parameter Table describes
may be prohibited based on the status of certain class a single set of scheduling parameter for use by
attributes which must exist prior to class instantiation." queues and schedulers.
INDEX { qosTargetPrid }
UNIQUENESS { qosTargetFilterId,
qosTargetInterfaceRoles,
qosTargetInterfaceDirection,
qosTargetOrder }
::= { qosTargetTable 1 } Notice multiple inter-mixed Queue and Scheduler
entries can use the same Scheduler Parameter entry."
PIB-INDEX { qosSchdParamPrid }
UNIQUENESS { qosSchdParamPriority,
qosSchdParamMinRateAbs,
qosSchdParamMinRateRel,
qosSchdParamMaxRateAbs,
qosSchdParamMaxRateRel }
::= { qosSchdParamTable 1 }
QosTargetEntry ::= SEQUENCE { QosSchdParamEntry ::= SEQUENCE {
qosTargetPrid PolicyInstanceId, qosSchdParamPrid InstanceId,
qosTargetFilterId PolicyTagReference, qosSchdParamPriority Unsigned32,
qosTargetInterfaceRoles RoleCombination, qosSchdParamMinRateAbs Unsigned32,
qosTargetInterfaceDirection INTEGER, qosSchdParamMinRateRel Unsigned32,
qosTargetOrder Unsigned32, qosSchdParamMaxRateAbs Unsigned32,
qosTargetMeter PolicyReferenceId qosSchdParamMaxRateRel Unsigned32
} }
qosTargetPrid OBJECT-TYPE qosSchdParamPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX InstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies "An arbitrary integer index that uniquely identifies an
the instance of the QoS Target class." instance of the class."
::= { qosSchdParamEntry 1 }
::= { qosTargetEntry 1 } DiffServ QoS Policy Information Base November 2000
qosTargetFilterId OBJECT-TYPE qosSchdParamPriority OBJECT-TYPE
SYNTAX PolicyTagReference SYNTAX Unsigned32
PIB-TAG frwkFilterGroupDefinitionId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the filter group that is associated with "The priority of this queue, to be used as a parame-
this target. This filter group must be specified in ter to the next scheduler element downstream from
frwkFilterGroupDefinitionTable and the specific group is this one."
identified by the value of this attribute." ::= { qosSchdParamEntry 2 }
::= { qosTargetEntry 2 }
qosTargetInterfaceRoles OBJECT-TYPE qosSchdParamMinRateAbs OBJECT-TYPE
SYNTAX RoleCombination SYNTAX Unsigned32
UNITS "kilobits per second"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The interfaces to which this target applies specified "The minimum absolute rate, in kilobits/sec, that a
in terms of a set of roles. The role combination downstream scheduler element should allocate to this
specified by this attribute must exist in the queue. If the value is zero, then there is effec-
frwkIfCapSetRoleComboTable prior to being association tively no minimum rate guarantee. If the value is
with an instance of this class." non-zero, the scheduler will assure the servicing of
this queue to at least this rate.
::= { qosTargetEntry 3 } Note that this attribute's value is coupled to that
of qosSchdParamMinRateRel: changes to one will
affect the value of the other. They are linked by the
following equation:
qosTargetInterfaceDirection OBJECT-TYPE qosSchdParamMinRateRel = qosSchdParamMinRateAbs * 10,000,000/ifSpeed
SYNTAX INTEGER {
in(1), or, if appropriate:
out(2)
} qosSchdParamMinRateRel = qosSchdParamMinRateAbs * 10 / ifHighSpeed"
REFERENCE
"ifSpeed, ifHighSpeed from [IFMIB]"
::= { qosSchdParamEntry 3 }
qosSchdParamMinRateRel OBJECT-TYPE
SYNTAX Unsigned32
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The direction of packet flow at the interface in "The minimum rate that a downstream scheduler element
question to which this filter applies." should allocate to this queue, relative to the max-
imum rate of the interface as reported by ifSpeed or
ifHighSpeed, in units of 1/10,000 of 1. If the value
::= { qosTargetEntry 4 } DiffServ QoS Policy Information Base November 2000
qosTargetOrder OBJECT-TYPE is zero, then there is effectively no minimum rate
guarantee. If the value is non-zero, the scheduler
will assure the servicing of this queue to at least
this rate.
Note that this attribute's value is coupled to that
of qosSchdParamMinRateAbs: changes to one will
affect the value of the other. They are linked by the
following equation:
qosSchdParamMinRateAbs = ifSpeed * qosSchdParamMinRateRel/10,000,000
or, if appropriate:
qosSchdParamMinRateAbs = ifHighSpeed * qosSchdParamMinRateRel / 10"
REFERENCE
"ifSpeed, ifHighSpeed from [IFMIB]"
::= { qosSchdParamEntry 4 }
qosSchdParamMaxRateAbs OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
UNITS "kilobits per second"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An integer that determines the precedence order of "The maximum rate in kilobits/sec that a downstream
this filter in the list of filters applied to interfaces of scheduler element should allocate to this queue. If
the specified role combination. A filter with a given the value is zero, then there is effectively no max-
precedence order is positioned in the list before one imum rate limit and that the scheduler should attempt
with a higher-valued precedence order. to be work-conserving for this queue. If the value
is non-zero, the scheduler will limit the servicing
of this queue to, at most, this rate in a non-work-
conserving manner.
As an example, consider the following Target association: Note that this attribute's value is coupled to that
of qosSchdParamMaxRateRel: changes to one will
affect the value of the other. They are linked by the
following equation:
Index IfRoleCombo IfDirection FilterId Order qosSchdParamMaxRateRel = qosSchdParamMaxRateAbs * 10,000,000/ifSpeed
14 'eth1000+L2+L3' 'in' 8 1
15 'eth1000+L2+L3' 'in' 3 2
16 'eth1000+L2+L3' 'in' 12 3
17 'eth1000+L2+L3' 'in' 6 4
18 'eth1000+L2+L3' 'in' 21 5
Five distinct filter specifications form a Target association or, if appropriate:
(e.g., based on the specified interface role combination and
direction attributes) with a prescribed order of
evaluation. The FilterId attributes identify the filter
definition instances.
Precedence values within an association must be unique qosSchdParamMaxRateRel = qosSchdParamMaxRateAbs * 10 / ifHighSpeed"
otherwise instance installation will be prohibited and an REFERENCE
error value will be returned."
::= { qosTargetEntry 5 } DiffServ QoS Policy Information Base November 2000
qosTargetMeter OBJECT-TYPE "ifSpeed, ifHighSpeed from [IFMIB]"
SYNTAX PolicyReferenceId ::= { qosSchdParamEntry 5 }
PIB-REFERENCE qosMeterTable
qosSchdParamMaxRateRel OBJECT-TYPE
SYNTAX Unsigned32
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the meter that is associated "The maximum rate that a downstream scheduler element
with this QoS Target instance. Meters are defined should allocate to this queue, relative to the max-
in the qosMeterTable. The corresponding instance in imum rate of the interface as reported by ifSpeed or
the qosMeter class (i.e., the class instance where ifHighSpeed, in units of 1/10,000 of 1. If the value
the qosMeterPrid is equal to the value of this object) is zero, then there is effectively no maximum rate
must exist prior to being associated with a Target limit and the scheduler should attempt to be work-
entry." conserving for this queue. If the value is non-zero,
the scheduler will limit the servicing of this queue
to, at most, this rate in a non-work-conserving
manner.
::= { qosTargetEntry 6 } Note that this attribute's value is coupled to that
of qosSchdParamMaxRateAbs: changes to one will
affect the value of the other. They are linked by the
following equation:
qosSchdParamMaxRateAbs = ifSpeed * qosSchdParamMaxRateRel/10,000,000
or, if appropriate:
qosSchdParamMaxRateAbs = ifHighSpeed * qosSchdParamMaxRateRel / 10"
REFERENCE
"ifSpeed, ifHighSpeed from [IFMIB]"
::= { qosSchdParamEntry 6 }
-- --
-- Conformance Section -- Conformance Section
-- --
qosPolicyIpPibConformance qosPolicyPibConformance
OBJECT IDENTIFIER ::= { qosPolicyIpPib 3 } OBJECT IDENTIFIER ::= { qosPolicyPib 3 }
qosPolicyIpPibCompliances qosPolicyPibCompliances
OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 1 }
qosPolicyIpPibGroups
OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 2 }
qosPolicyIpPibCompliance MODULE-COMPLIANCE DiffServ QoS Policy Information Base November 2000
OBJECT IDENTIFIER ::= { qosPolicyPibConformance 1 }
qosPolicyPibGroups
OBJECT IDENTIFIER ::= { qosPolicyPibConformance 2 }
qosPolicyPibCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Describes the requirements for conformance to the "Describes the requirements for conformance to the
QoS Policy IP PIB." QoS Policy PIB."
MODULE -- this module MODULE -- this module
MANDATORY-GROUPS { qosIfSchedulingCapsGroup, MANDATORY-GROUPS {
qosIfQueueSetAssignGroup, qosPibDataPathGroup,
qosIfQueueGroup, qosPibClfrGroup,
qosMeterGroup, qosPibClfrElementGroup,
qosActionGroup, qosPibActionGroup,
qosTargetGroup } qosPibAlgDropGroup,
qosPibQGroup,
qosPibSchedulerGroup,
qosPibSchdParamGroup }
OBJECT qosIfQueueSetAssignName GROUP qosPibMeterGroup
MIN-ACCESS notify DESCRIPTION
DESCRIPTION "Install support is not required." "This group is mandatory for devices that implement
metering functions."
OBJECT qosIfQueueSetAssignRoles GROUP qosPibTBMeterGroup
DESCRIPTION
"This group is mandatory for devices that implement
token-bucket metering functions."
GROUP qosPibDscpMarkActGroup
DESCRIPTION
"This group is mandatory for devices that implement
DSCP-Marking functions."
GROUP qosPibRandomDropGroup
DESCRIPTION
"This group is mandatory for devices that implement
Random Drop functions."
DiffServ QoS Policy Information Base November 2000
OBJECT qosClfrId
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfQueueSetAssignQueueSetId OBJECT qosClfrElementClfrId
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfQueueSetId OBJECT qosClfrElementOrder
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfQueueQueueSize OBJECT qosClfrElementNext
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfQueueSetThreshSet OBJECT qosClfrElementSpecific
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfQueuePriorityGroup OBJECT qosMeterSucceedNext
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfQueueServiceDisc OBJECT qosMeterFailNext
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
OBJECT qosIfQueueDrainSize "Install support is not required."
OBJECT qosMeterSpecific
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
OBJECT qosIfQueueMinAbsBandwidth DiffServ QoS Policy Information Base November 2000
"Install support is not required."
OBJECT qosTBMeterType
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfQueueBandwidthAllocation OBJECT qosTBMeterRate
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterDataSpecification OBJECT qosTBMeterBurstSize
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterCommittedRate OBJECT qosTBMeterInterval
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterCommittedBurst OBJECT qosActionNext
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterPeakRate OBJECT qosActionSpecific
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterPeakBurst OBJECT qosAlgDropType
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterHighConfAction DiffServ QoS Policy Information Base November 2000
OBJECT qosAlgDropNext
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterMedConfAction OBJECT qosAlgDropQMeasure
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosMeterLowConfAction OBJECT qosAlgDropQThreshold
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosActionDrop OBJECT qosAlgDropSpecific
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosActionUpdateDSCP OBJECT qosRandomDropMinThreshBytes
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
GROUP qosIfClassificationCapsGroup OBJECT qosRandomDropMinThreshPkts
MIN-ACCESS notify
DESCRIPTION DESCRIPTION
"The qosIfClassificationCapsGroup is mandatory "Install support is not required."
if IP datagram classification is supported."
GROUP qosIfMeteringCapsGroup OBJECT qosRandomDropMaxThreshBytes
MIN-ACCESS notify
DESCRIPTION DESCRIPTION
"The qosIfMeteringCapsGroup is mandatory if "Install support is not required."
metering and shaping capabilities are supported."
GROUP qosIfThresholdGroup OBJECT qosRandomDropMaxThreshPkts
MIN-ACCESS notify
DESCRIPTION DESCRIPTION
"The qosIfThresholdGroup is mandatory if
queue-based thresholds are supported and if
the qosIfDscpMapGroup is supported."
OBJECT qosIfThresholdSetId DiffServ QoS Policy Information Base November 2000
"Install support is not required."
OBJECT qosRandomDropInvWeight
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfThresholdDropMethod OBJECT qosRandomDropSamplingRate
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfThresholdMinThresh OBJECT qosRandomDropInvProbMax
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfThresholdMaxThresh OBJECT qosQNext
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
GROUP qosIfDscpAssignGroup OBJECT qosQSchdParam
MIN-ACCESS notify
DESCRIPTION DESCRIPTION
"The qosIfDscpAssignGroup is mandatory if traffic "Install support is not required."
queue assignment based on DSCP is supported."
OBJECT qosIfDscpAssignName OBJECT qosSchedulerMethod
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfDscpAssignRoles OBJECT qosSchedulerSchdParam
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfDscpAssignDscpMap DiffServ QoS Policy Information Base November 2000
OBJECT qosSchedulerNext
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
GROUP qosIfDscpMapGroup OBJECT qosSchdParamPriority
MIN-ACCESS notify
DESCRIPTION DESCRIPTION
"The qosIfDscpMapGroup is mandatory if the "Install support is not required."
qosIfDscpAssignGroup is supported."
OBJECT qosIfDscpMapMapId OBJECT qosSchdParamMinRateAbs
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfDscpMapDscp OBJECT qosSchdParamMinRateRel
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfDscpMapQueue OBJECT qosSchdParamMaxRateAbs
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
OBJECT qosIfDscpMapThresh OBJECT qosSchdParamMaxRateRel
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION
"Install support is not required."
::= { qosPolicyIpPibCompliances 1 } ::= { qosPibCompliances 1 }
qosIfClassificationCapsGroup OBJECT-GROUP qosPibDataPathGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfClassificationCaps qosDataPathStart
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfClassificationCapsTable."
::= { qosPolicyIpPibGroups 3 } DiffServ QoS Policy Information Base November 2000
qosIfMeteringCapsGroup OBJECT-GROUP "The Data Path Group defines the PIB Objects that
describe a data path."
::= { qosPibGroups 1 }
qosPibClfrGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfMeteringCaps qosClfrId
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfMeteringCapsTable." "The Classifier Group defines the PIB Objects that
describe a generic classifier."
::= { qosPolicyIpPibGroups 4 } ::= { qosPibGroups 2 }
qosIfSchedulingCapsGroup OBJECT-GROUP qosPibClfrElementGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfSchedulingCapsMaxQueues, qosClfrElementClfrId, qosClfrElementOrder,
qosIfSchedulingCapsMaxThresholds, qosClfrElementNext, qosClfrElementSpecific
qosIfSchedulingCapsMaxPriorities,
qosIfSchedulingCapsServiceDisc,
qosIfSchedulingCapsMinQueueSize,
qosIfSchedulingCapsMaxQueueSize,
qosIfSchedulingCapsTotalQueueSize,
qosIfSchedulingCapsWredCapable
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfSchedulingCapsTable." "The Classifier Group defines the PIB Objects that
describe a generic classifier."
::= { qosPolicyIpPibGroups 5 } ::= { qosPibGroups 3 }
qosIfQueueSetAssignGroup OBJECT-GROUP qosPibMeterGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfQueueSetAssignName, qosMeterSucceedNext, qosMeterFailNext,
qosIfQueueSetAssignRoles, qosMeterSpecific
qosIfQueueSetAssignQueueSetId,
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfQueueSetAssignTable." "The Meter Group defines the objects used in describ-
ing a generic meter element."
::= { qosPolicyIpPibGroups 6 } ::= { qosPibGroups 5 }
qosIfQueueGroup OBJECT-GROUP qosPibTBMeterGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfQueueSetId, qosTBMeterType, qosTBMeterRate,
qosIfQueueQueueSize, qosTBMeterBurstSize, qosTBMeterInterval
qosIfQueueSetThreshSet,
qosIfQueuePriorityGroup,
qosIfQueueServiceDisc,
qosIfQueueDrainSize,
qosIfQueueMinAbsBandwidth,
qosIfQueueBandwidthAllocation
} }
DiffServ QoS Policy Information Base November 2000
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfQueueTable." "The Token-Bucket Meter Group defines the objects
used in describing a single-rate token bucket meter
::= { qosPolicyIpPibGroups 7 } element."
::= { qosPibGroups 6 }
qosIfThresholdGroup OBJECT-GROUP qosPibActionGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfThresholdSetId, qosActionNext, qosActionSpecific
qosIfThresholdDropMethod,
qosIfThresholdMinThresh,
qosIfThresholdMaxThresh
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfThresholdTable." "The Action Group defines the objects used in
describing a generic action element."
::= { qosPibGroups 7 }
::= { qosPolicyIpPibGroups 8 } qosPibDscpMarkActGroup OBJECT-GROUP
OBJECTS {
qosDscpMarkActDscp
}
STATUS current
DESCRIPTION
"The DSCP Mark Action Group defines the objects used
in describing a DSCP Marking Action element."
::= { qosPibGroups 8 }
qosIfDscpAssignGroup OBJECT-GROUP qosPibAlgDropGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfDscpAssignName, qosAlgDropType, qosAlgDropNext,
qosIfDscpAssignRoles, qosAlgDropQMeasure, qosAlgDropQThreshold,
qosIfDscpAssignDscpMap qosAlgDropSpecific
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfDscpAssignTable." "The Algorithmic Drop Group contains the objects that
describe algorithmic dropper operation and configura-
tion."
::= { qosPibGroups 12 }
::= { qosPolicyIpPibGroups 9 } qosPibRandomDropGroup OBJECT-GROUP
DiffServ QoS Policy Information Base November 2000
qosIfDscpMapGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfDscpMapMapId, qosRandomDropMinThreshBytes,
qosIfDscpMapDscp, qosRandomDropMinThreshPkts,
qosIfDscpMapQueue, qosRandomDropMaxThreshBytes,
qosIfDscpMapThresh qosRandomDropMaxThreshPkts,
qosRandomDropInvProbMax,
qosRandomDropInvWeight,
qosRandomDropSamplingRate
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfDscpMapTable." "The Random Drop Group augments the Algorithmic Drop Group for
::= { qosPolicyIpPibGroups 10 } random dropper operation and configuration."
::= { qosPibGroups 13 }
qosMeterGroup OBJECT-GROUP qosPibQGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosMeterDataSpecification, qosQNext, qosQSchdParam
qosMeterCommittedRate,
qosMeterCommittedBurst,
qosMeterPeakRate,
qosMeterPeakBurst,
qosMeterHighConfAction,
qosMeterMedConfAction,
qosMeterLowConfAction
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosMeterTable." "The Queue Group contains the objects that describe
an interface's queues."
::= { qosPolicyIpPibGroups 11 } ::= { qosPibGroups 14 }
qosActionGroup OBJECT-GROUP qosPibSchedulerGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosActionDrop, qosSchedulerMethod, qosSchedulerSchdParam,
qosActionUpdateDSCP qosSchedulerNext
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosActionTable." "The Scheduler Group contains the objects that
describe packet schedulers on interfaces."
::= { qosPolicyIpPibGroups 12 } ::= { qosPibGroups 15 }
qosTargetGroup OBJECT-GROUP qosPibSchdParamGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosTargetFilterId, qosSchdParamPriority,
qosTargetFilterType, qosSchdParamMinRateAbs, qosSchdParamMinRateRel,
qosTargetInterfaceRoles, qosSchdParamMaxRateAbs, qosSchdParamMaxRateRel,
qosTargetInterfaceDirection,
qosTargetOrder,
qosTargetMeter
} }
DiffServ QoS Policy Information Base November 2000
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosTargetTable." "The Scheduler Parameter Group contains the objects
that describe packet schedulers' parameters on inter-
::= { qosPolicyIpPibGroups 13 } faces."
::= { qosPibGroups 16 }
END END
7. Security Considerations DiffServ QoS Policy Information Base November 2000
9. Security Considerations
The information contained in a PIB when transported by the COPS protocol The information contained in a PIB when transported by the COPS protocol
[COPS-PR] may be sensitive, and its function of provisioning a PEP [COPS-PR] may be sensitive, and its function of provisioning a PEP
requires that only authorized communication take place. The use of requires that only authorized communication take place. The use of
IPSEC between PDP and PEP, as described in [COPS], provides the IPSEC between PDP and PEP, as described in [COPS], provides the
necessary protection against these threats. necessary protection against these threats.
8. Intellectual Property Considerations 10. Intellectual Property Considerations
The IETF is being notified of intellectual property rights claimed in The IETF is being notified of intellectual property rights claimed in
regard to some or all of the specification contained in this document. regard to some or all of the specification contained in this document.
For more information consult the online list of claimed rights. For more information consult the online list of claimed rights.
9. Authors' Addresses 11. Authors' Addresses
Michael Fine Michael Fine
Cisco Systems, Inc. Cisco Systems, Inc.
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134-1706 USA San Jose, CA 95134-1706 USA
Phone: +1 408 527 8218 Phone: +1 408 527 8218
Email: mfine@cisco.com Email: mfine@cisco.com
Keith McCloghrie Keith McCloghrie
Cisco Systems, Inc. Cisco Systems, Inc.
skipping to change at page 48, line 45 skipping to change at page 80, line 4
John Seligson John Seligson
Nortel Networks, Inc. Nortel Networks, Inc.
4401 Great America Parkway 4401 Great America Parkway
Santa Clara, CA 95054 USA Santa Clara, CA 95054 USA
Phone: +1 408 495 2992 Phone: +1 408 495 2992
Email: jseligso@nortelnetworks.com Email: jseligso@nortelnetworks.com
Kwok Ho Chan Kwok Ho Chan
Nortel Networks, Inc. Nortel Networks, Inc.
600 Technology Park Drive 600 Technology Park Drive
DiffServ QoS Policy Information Base November 2000
Billerica, MA 01821 USA Billerica, MA 01821 USA
Phone: +1 978 288 8175 Phone: +1 978 288 8175
Email: khchan@nortelnetworks.com Email: khchan@nortelnetworks.com
Scott Hahn Scott Hahn
Intel Intel
2111 NE 25th Avenue 2111 NE 25th Avenue
Hillsboro, OR 97124 USA Hillsboro, OR 97124 USA
Phone: +1 503 264 8231 Phone: +1 503 264 8231
Email: scott.hahn@intel.com Email: scott.hahn@intel.com
Andrew Smith Andrew Smith
Fax: +1 415 345 1827 Allegro Networks
Email: ah_smith@pacbell.net 6399 San Ignacio Ave
San Jose, CA 95119
andrew@allegronetworks.com
Francis Reichmeyer Francis Reichmeyer
IPHighway Inc. University Park at MIT
Parker Plaza, 16th Floor 26 Landsdowne Street
400 Kelby St. Cambridge, MA 02139
Fort-Lee, NJ 07024 Phone: +1 617 494 9980
Phone: (201) 585-0800 Email: franr@pfn.com
Email: FranR@iphighway.com
10. References 12. References
[COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and [COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and
A. Sastry, "The COPS (Common Open Policy Service) Protocol" A. Sastry, "The COPS (Common Open Policy Service) Protocol"
RFC 2748, January 2000. RFC 2748, January 2000.
[COPS-PR] K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie, [COPS-PR] K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie,
F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar, F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar,
"COPS Usage for Policy Provisioning," "COPS Usage for Policy Provisioning,"
draft-ietf-rap-cops-pr-03.txt, July 2000. draft-ietf-rap-cops-pr-05.txt, October 2000.
[SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning [SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning
Information," draft-ietf-rap-sppi-01.txt, July 2000. Information," draft-ietf-rap-sppi-03.txt, November 2000.
[DSARCH] M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and [DSARCH] M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and
E. Davies, "An Architecture for Differentiated Services", E. Davies, "An Architecture for Differentiated Services",
DiffServ QoS Policy Information Base November 2000
RFC 2475, December 1998 RFC 2475, December 1998
[DSFIELD] K. Nichols, S. Blake, F. Baker, D. Black, "Definition of the
Differentiated Services Field (DS Field) in the IPv4 and
IPv6 Headers", RFC 2474, December 1998.
[FR-PIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn, [FR-PIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn,
A. Smith, F. Reichmeyer "Framework Policy Information Base", A. Smith, F. Reichmeyer "Framework Policy Information Base",
Internet Draft <draft-ietf-rap-frameworkpib-01.txt>, Internet Draft <draft-ietf-rap-frameworkpib-03.txt>,
November 2000
[POLICY] M. Stevens, W. Weiss H. Mahon, B. Moore, J. Strassner,
G. Waters, A. Westerinen, J. Wheeler, "Policy Framework",
draft-ietf-policy-framework-00.txt, September 1999.
[RAP-FRAMEWORK] R. Yavatkar, D. Pendarakis, "A Framework for [RAP-FRAMEWORK] R. Yavatkar, D. Pendarakis, "A Framework for
Policy-based Admission Control", Policy-based Admission Control",
draft-ietf-rap-framework-03.txt, April 1999. RFC 2753, January 2000.
[SNMP-SMI] K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case, [SNMP-SMI] K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case,
M. Rose and S. Waldbusser, "Structure of Management Information M. Rose and S. Waldbusser, "Structure of Management Information
Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[MODEL] Y. Bernet, A. Smith, S. Blake, D. Grossman "A Conceptual Model [MODEL] Y. Bernet, A. Smith, S. Blake, D. Grossman "A Conceptual Model
for DiffServ Routers", draft-ietf-diffserv-model-03.txt, for DiffServ Routers", draft-ietf-diffserv-model-04.txt,
May 2000. July 2000.
[IFMIB] K. McCloghrie, F. Kastenholz, "The Interfaces Group MIB using
SMIv2", RFC 2233, November 1997.
DiffServ QoS Policy Information Base November 2000
Table of Contents Table of Contents
1 Glossary ........................................................ 2 1 Glossary ........................................................ 3
2 Introduction .................................................... 2 2 Introduction .................................................... 3
3 DiffServ PIB Concepts ........................................... 2 3 Relationship to the Diffserv Informal Management Model .......... 3
3.1 Filters, Filter Groups and Classifiers ........................ 2 3.1 PIB Overview .................................................. 4
3.2 Applying QoS Policy Using Targets ............................. 3 4 Structure of the PIB ............................................ 6
3.3 Interface Modeling with Queue Sets ............................ 4 4.1 General Conventions ........................................... 6
3.3.1 Queue Scheduling ............................................ 4 4.2 DiffServ Data Paths ........................................... 6
3.3.2 Assigning Packets To Queues and Thresholds .................. 5 4.2.1 Data Path PRC ............................................... 7
3.3.3 Hierarchies of Queues ....................................... 5 4.3 Classifiers ................................................... 7
4 Summary of the DiffServ PIB ..................................... 5 4.3.1 Classifier PRC .............................................. 8
5 PIB Operational Overview ........................................ 6 4.3.2 Classifier Element PRC ..................................... 8
6 PIB Definitions ................................................. 8 4.4 Meters ........................................................ 9
6.1 The DiffServ Base PIB ......................................... 8 4.4.1 Meter PRC ................................................... 9
7 Security Considerations ......................................... 48 4.4.2 Token-Bucket Meter PRC ...................................... 10
8 Intellectual Property Considerations ............................ 48 4.5 Actions ....................................................... 10
9 Authors' Addresses .............................................. 48 4.5.1 DSCP Mark Action PRC ........................................ 11
10 References ..................................................... 49 4.5.2 Absolute Drop Action ........................................ 11
4.6 Queueing Elements ............................................. 11
4.6.1 Algorithmic Dropper PRC ..................................... 11
4.6.2 Random Dropper PRC .......................................... 12
4.6.3 Queues and Schedulers ....................................... 14
4.7 Specifying Device Capabilities ................................ 15
5 PIB Usage Example ............................................... 16
5.1 Data Path and Classifier Example Discussion ................... 18
5.2 Meter and Action Example Discussion ........................... 19
5.3 Queue and Scheduler Example Discussion ........................ 19
6 Summary of the DiffServ PIB ..................................... 20
7 PIB Operational Overview ........................................ 21
8 PIB Definitions ................................................. 22
8.1 The DiffServ Base PIB ......................................... 22
9 Security Considerations ......................................... 79
10 Intellectual Property Considerations ........................... 79
11 Authors' Addresses ............................................. 79
12 References ..................................................... 80
 End of changes. 449 change blocks. 
1137 lines changed or deleted 2535 lines changed or added

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