One document matched: draft-ietf-diffserv-pib-01.txt
Differences from draft-ietf-diffserv-pib-00.txt
Network Working Group M. Fine
Internet Draft K. McCloghrie
Expires December 2000 Cisco Systems
J. Seligson
K. Chan
Nortel Networks
S. Hahn
Intel
A. Smith
No Affiliation
Francis Reichmeyer
IPHighway
July 14, 2000
Differentiated Services Quality of Service Policy Information Base
draft-ietf-diffserv-pib-01.txt
Status of this Memo
This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute working
documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference material
or to cite them other than as ``work in progress.''
To view the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in an Internet-Drafts Shadow
Directory, see http://www.ietf.org/shadow.html.
[Page 1]
DiffServ QoS Policy Information Base July 2000
1. Glossary
PRC Policy Rule Class. A type of policy data.
PRI Policy Rule Instance. An instance of a PRC.
PIB Policy Information Base. The database of policy information.
PDP Policy Decision Point. See [RAP-FRAMEWORK].
PEP Policy Enforcement Point. See [RAP-FRAMEWORK].
PRID Policy Rule Instance Identifier. Uniquely identifies an
instance of a a PRC.
2. Introduction
[SPPI] describes a structure for specifying policy information that can
then be transmitted to a network device for the purpose of configuring
policy at that device. The model underlying this structure is one of
well defined policy rule classes and instances of these classes residing
in a virtual information store called the Policy Information Base (PIB).
This document specifies a set of policy rule classes specifically for
configuring QoS Policy for Differentiated Services [DSARCH].
One way to provision policy is by means of the COPS protocol [COPS] with
the extensions for provisioning [COPS-PR]. This protocol supports
multiple clients, each of which may provision policy for a specific
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
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
PIB [FR-PIB]
3. DiffServ PIB Concepts
3.1. Filters, Filter Groups and Classifiers
The basis of differential QoS treatment of packets is a filter. This is
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
applied to interfaces with a direction flag to indicate an ingress or
egress classifier. Filters are combined, in order, into filter groups;
[Page 2]
DiffServ QoS Policy Information Base July 2000
filter groups are then combined, in order, to build a classifier. This
allows a rudimentary classification grammar to be defined. On input,
each packet is checked against the ingress classifier on the interface.
Similarly, on output each packet is checked against the egress
classifier on the interface. The result of the classifier then feeds
into appropriate meters and actions to be applied to packets.
For each classifier, the packet is checked against the set of filter
groups in the appropriate order. The detailed operation of the PIB
syntax is as follows. If a packet matches a filter in the first filter
group of a classifier and the sense is "permit" then the subsequent
meters and actions associated with that classifier are applied to that
packet and no further filters are compared. If the sense is "deny" then
the rest of the filters in the current filter group are skipped and
operation proceeds with the first filter of the next filter group. If
the packet does not match any of the filters in the filter group then
the next filter group is tried. This process is continued until a
definitive match is obtained. Each classifier must cover all possible
matches i.e., it must be complete.
3.2. Applying QoS Policy Using Targets
The task of applying QoS policy within a network requires the
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
classes. Flow classification rules, specifying behavior aggregate (BA)
or multi-field (MF) classification parameters, are indirectly identified
using the PRC for the appropriate classification class coupled with an
identifier for a specific -- classifier. Interface information is
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
metering phases must be specified. Action class instances are linked
with the Target entry through the associated Meter class instance. A
[Page 3]
DiffServ QoS Policy Information Base July 2000
precedence component is also provided so that a definitive order of
evaluation may be defined for Target class instances being applied to
the same interface role and flow direction targets. The Target class
thus functions as the integration point for the range of components used
for the application of QoS policy.
3.3. Interface Modeling with Queue Sets
The traffic processing capabilities of an interface are determined by
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
realized by an interface, the PEP reports to the PDP the types of
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
interfaces directly. Rather, it configures them indirectly by
specifying the configuration for each interface type and role
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
There are two basic scheduling disciplines supported by queue sets:
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.
[Page 4]
DiffServ QoS Policy Information Base July 2000
3.3.2. Assigning Packets To Queues and Thresholds
In keeping with the DiffServ model of classifying packets into behaviour
classes and then providing service suitable for that behaviour, packets
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
Sometimes policy may require hierachies of queues. For example, a
department might has some set of traffic classes with a defined
scheduling policy between these classes. Multiple departments might
then share a link with there being a defined scheduling policy between
traffic from the various depertments.
The PIB does not support hierarchical queueing at this time. However,
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
The DiffServ PIB consists of one module containing the base PRCs for
setting DiffServ policy, queues, classifiers, meters, etc., and also
contains filters for matching IP packets. This module comprises several
groups which are summarized in this section.
QoS Interface Group
This group consists of PRCs to indicate to the PDP the types of
interface supported on the PEP in terms of their QoS capabilities
and PRCs that the PDP can install in order to configure these
interfaces (queues, scheduling parameters, buffer sizes, etc.) to
affect the desired policy. This group describes capabilities in
terms of the types of interfaces and takes configuration in terms
of interface types and role combinations [FR-PIB]; it does not deal
with individual interfaces on the device.
[Page 5]
DiffServ QoS Policy Information Base July 2000
QoS Metering Group
This group contains configuration of meters. These meters can then
be used to by target classes to specify metering policy.
QoS Action Group
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
This section provides an operation overview of configuring DiffServ QoS
policy.
After initial PEP to PDP communication setup, using [COPS-PR] for
example, the PEP will provide to the PDP the PIB Policy Rule Classes
(PRCs), interface types, and interface type capabilities it supports.
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
instance of the frwkPrcSupportTable indicates a PRC that the PEP
understands and for which the PDP can send class instances as part of
the policy information.
The interface types the PEP supports are described by rows in the
interface type table, frwkIfCapsSetTable. Each row, or instance of this
class describes the characteristics of an interface type. The PEP
informs the PDP of these interface types and then the PDP configures the
interfaces, per role combination, by means of installing queue sets.
The PDP, with knowledge of the PEP's capabilities, then provides the PEP
with administration domain and interface-specific policy information.
Instances of the qosTargetTable define how the Traffic Conditioning
Elements are combined into Traffic Conditioning Blocks, as described in
[MODEL]. Each instance of the qosTargetTable applies to an interface
type defined by its roles and direction (ingress or egress). This is
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 |
[Page 6]
DiffServ QoS Policy Information Base July 2000
| | | |
| 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
and Action with the corresponding interfaces supporting the specific
interface type and roles.
[Page 7]
DiffServ QoS Policy Information Base July 2000
6. PIB Definitions
6.1. The DiffServ Base PIB
DIFFSERV-PIB PIB-DEFINITIONS ::= BEGIN
IMPORTS
Unsigned32, Integer32,
MODULE-IDENTITY, OBJECT-TYPE
FROM COPS-PR-SPPI
TruthValue, TEXTUAL-CONVENTION
FROM SNMPv2-TC
PolicyInstanceId, PolicyReferenceId, PolicyTagId, PolicyTagReference
FROM COPS-PR-SPPI;
RoleCombination
FROM FRAMEWORK-PIB;
qosPolicyIpPib MODULE-IDENTITY
CLIENT-TYPE { tbd -- QoS Client Type
}
LAST-UPDATED "200007141800Z"
ORGANIZATION "IETF DIFFSERV WG"
CONTACT-INFO "
Michael Fine
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706 USA
Phone: +1 408 527 8218
Email: mfine@cisco.com
Keith McCloghrie
Cisco Systems, Inc.
170 West Tasman Drive,
San Jose, CA 95134-1706 USA
Phone: +1 408 526 5260
Email: kzm@cisco.com
John Seligson
Nortel Networks, Inc.
4401 Great America Parkway
Santa Clara, CA 95054 USA
Phone: +1 408 495 2992
Email: jseligso@nortelnetworks.com"
[Page 8]
DiffServ QoS Policy Information Base July 2000
DESCRIPTION
"The PIB module containing a set of policy rule classes
that describe quality of service (QoS) policies for
DiffServ. It includes general classes that may be extended
by other PIB specifications as well as a set of PIB
classes related to IP processing."
::= { tbd }
qosPolicyGenPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 1 }
qosPolicyIpPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 2 }
--
-- Textual Conventions
--
--
-- DiffServ Codepoint
--
Dscp ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An integer that is in the range of the DiffServ codepoint
values."
SYNTAX INTEGER (0..63)
--
-- Interface types
--
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)
--
-- QoS Interface Group
--
[Page 9]
DiffServ QoS Policy Information Base July 2000
--
-- This group specifies the configuration of the various interface
-- types including the configuration of queue sets, setting of
-- queueing parameters and the mapping of DSCPs to thresholds in
-- queues.
qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 }
--
-- Interface Type Capability Tables
--
-- The Interface type capability tables define capabilities that may
-- be associated with an interface of a specific type. This PIB
-- defines three such tables: a classification capabilities table, a
-- metering capabilities table and a scheduling capabilities table.
-- Other PIBs may define other capability tables to augment the
-- capability definitions of these tables or to introduce completely
-- new capabilities.
--
-- Classification Capabilities
--
qosIfClassificationCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfClassificationCapsEntry
PIB-ACCESS notify, 3
STATUS current
DESCRIPTION
"This table specifies the classification capabilities of an
interface type"
::= { qosIfParameters 1 }
qosIfClassificationCapsEntry OBJECT-TYPE
SYNTAX QosIfClassificationEntry
STATUS current
DESCRIPTION
"An instance of this class describes the classification
capabilities of an interface."
INDEX { qosIfClassificationCapsPrid }
UNIQUENESS { qosIfClassificationCaps }
[Page 10]
DiffServ QoS Policy Information Base July 2000
::= { qosIfClassificationCapsTable 1 }
QosIfClassificationCapsEntry ::= SEQUENCE {
qosIfClassificationCapsPrid PolicyInstanceId,
qosIfClassificationCaps BITS
}
qosIfClassificationCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies a
instance of the class."
::= { qosIfClassificationCapsEntry 1 }
qosIfClassificationCaps OBJECT-TYPE
SYNTAX BITS {
inputIpClassification(1),
outputIpClassification(2),
-- Indicates the ability to classify IP
-- packets on ingress and on egress,
-- respectively.
ipAddrClassification(3),
-- indicates the ability to classify based on
-- IP addresses
ipProtoClassification(4),
-- indicates the ability to classify based on
-- IP protocol numbers
ipDscpClassification(5)
-- indicates the ability to classify based on
-- IP DSCP
ipL4Classification(6)
-- indicates the ability to classify based on
-- IP layer 4 port numbers for UDP and TCP
}
STATUS current
DESCRIPTION
"Bit set of supported classification capabilities. In
addition to these capabilities, other PIBs may define other
capabilities that can then be specified in addition to the
ones specified here (or instead of the ones specified here if
none of these are specified)."
[Page 11]
DiffServ QoS Policy Information Base July 2000
::= { qosIfClassificationCapsEntry 2 }
--
-- Metering Capabilities
--
qosIfMeteringCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfMeteringCapsEntry
PIB-ACCESS notify, 3
STATUS current
DESCRIPTION
"This table specifies the metering capabilities of an
interface type"
::= { qosIfParameters 2 }
qosIfMeteringCapsEntry OBJECT-TYPE
SYNTAX QosIfMeteringCapsEntry
STATUS current
DESCRIPTION
"An instance of this class describes the classification
capabilities of an interface."
INDEX { qosIfMeteringCapsPrid }
UNIQUENESS { qosIfMeteringCaps }
::= { qosIfMeteringCapsTable 1 }
QosIfMeteringCapsEntry ::= SEQUENCE {
qosIfMeteringCapsPrid PolicyInstanceId,
qosIfMeteringCaps BITS
}
qosIfMeteringCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies a
instance of the class."
::= { qosIfMeteringCapsEntry 1 }
qosIfMeteringCaps OBJECT-TYPE
SYNTAX BITS {
[Page 12]
DiffServ QoS Policy Information Base July 2000
meterByRemarking (1),
meterByDropping (2),
-- These capabilities indicate if the interface
-- can remark out of profile packets or drop them,
-- respectively
inputShaping (3),
outputShaping (4)
-- indicate if the interface can shape on ingress
-- or on egress, respectively.
}
STATUS current
DESCRIPTION
"Bit set of supported classification capabilities. As with
classification capabilities, these metering capabilities may
be augmented by capabilities specified in other PRCs (in other
PIBs)."
::= { qosIfMeteringCapsEntry 2 }
--
-- Scheduling Capabilities
--
qosIfSchedulingCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfSchedulingCapsEntry
PIB-ACCESS notify, 10
STATUS current
DESCRIPTION
"This table specifies the scheduling capabilities of an
interface type"
::= { qosIfParameters 3 }
qosIfSchedulingCapsEntry OBJECT-TYPE
SYNTAX QosIfSchedulingCapsEntry
STATUS current
DESCRIPTION
"An instance of this class describes the classification
capabilities of an interface."
INDEX { qosIfSchedulingCapsPrid }
UNIQUENESS { qosIfSchedulingCapsMaxQueues,
[Page 13]
DiffServ QoS Policy Information Base July 2000
qosIfSchedulingCapsMaxThresholds,
qosIfSchedulingCapsMaxPriorities,
qosIfSchedulingCapsServiceDisc,
qosIfSchedulingCapsMinQueueSize,
qosIfSchedulingCapsMaxQueueSize,
qosIfSchedulingCapsTotalQueueSize,
qosIfSchedulingCapsWredCapable }
::= { qosIfSchedulingCapsTable 1 }
QosIfSchedulingCapsEntry ::= SEQUENCE {
qosIfSchedulingCapsPrid PolicyInstanceId,
qosIfSchedulingCapsMaxQueues INTEGER
qosIfSchedulingCapsMaxThresholds INTEGER
qosIfSchedulingCapsMaxPriorities INTEGER
qosIfSchedulingCapsServiceDisc BITS
qosIfSchedulingCapsMinQueueSize INTEGER
qosIfSchedulingCapsMaxQueueSize INTEGER
qosIfSchedulingCapsTotalQueueSize INTEGER
qosIfSchedulingCapsWredCapable TruthValue
}
qosIfSchedulingCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies a
instance of the class."
::= { qosIfSchedulingCapsEntry 1 }
qosIfSchedulingCapsMaxQueues OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"The maximum number of queues that this interface type can
support. The queues set assigned to this interface type may
not have more queues than this maximum. A value of zero means
that there is no maximum."
::= { qosIfSchedulingCapsEntry 2 }
qosIfSchedulingCapsMaxThresholds OBJECT-TYPE
SYNTAX INTEGER
STATUS current
[Page 14]
DiffServ QoS Policy Information Base July 2000
DESCRIPTION
"The maximum number of drop thresholds that each queue
supports. If the interface has a different number of
thresholds for each of its queues, it must report the maximum
number of thresholds any of the queues supports. The value of
this attribute must be one or more."
::= { qosIfSchedulingCapsEntry 3 }
qosIfSchedulingCapsMaxPriorities OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"The maximum number of priority groups that the the queues of
the interface may be grouped into. A value of zero means
there is no maximum."
::= { qosIfSchedulingCapsEntry 4 }
qosIfSchedulingCapsServiceDisc OBJECT-TYPE
SYNTAX BITS {
fq(1), -- fair queueing (a.k.a. round robin)
wfq(2) -- weighted fq (a.k.a. wrr)
STATUS current
DESCRIPTION
"The scheduling disciplines supported for servicing queues in
the same priority group that the interface supports. Several
general purpose and well-known queuing disciplines are
supported by this attribute. Other queueing disciplines may be
specified instead of, or in addition to, these disciplines by
setting and providing another capabilities PRC specifying the
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
unspecified or specified by another capabilities PRC."
[Page 15]
DiffServ QoS Policy Information Base July 2000
::= { qosIfSchedulingCapsEntry 5 }
qosIfSchedulingCapsMinQueueSize OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"Some interfaces may allow the size of a queue to be
configured. This attribute specifies the minimum size the
queue can be configured to specified in bytes.
Some interfaces set queue size in terms of packets. These
devices must report the minimum queue size in bytes by
assuming an average packet size suitable for the particular
interface."
::= { qosIfSchedulingCapsEntry 6 }
qosIfSchedulingCapsMaxQueueSize OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"Some interfaces may allow the size of a queue to be
configured. This attribute specifies the maximum size the
queue can be configured to specified in bytes. As with
qosIfSchedulingCapsMinQueueSize, devices that set
queue size in terms of packets must report the maximum queue
size in bytes by assuming an average packet size suitable for
the particular interface."
::= { qosIfSchedulingCapsEntry 7 }
qosIfSchedulingCapsTotalQueueSize OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"Some interfaces may have a limited buffer space to be share
amoung all queues of that interface while also allowing the
size of each queue to be configurable. To prevent the
situation where the PDP configures the sizes of the queues in
excess of the total buffer available to the interface, the PEP
can report the total buffer space available with this
capability. The value is the total number of bytes."
::= { qosIfSchedulingCapsEntry 8 }
[Page 16]
DiffServ QoS Policy Information Base July 2000
qosIfSchedulingCapsWredCapable OBJECT-TYPE
SYNTAX TruthValue
STATUS current
DESCRIPTION
"If true, then this interface supports WRED on (at least one
of) its queues. Otherwise it supports only taildrop."
::= { qosIfSchedulingCapsEntry 9 }
--
-- Queue Set Assignment Table
--
qosIfQueueSetAssignTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfQueueSetAssignEntry
PIB-ACCESS install, 6
STATUS current
DESCRIPTION
"Contains the assignment of queue sets to interface types per
role combination.
Contains the assignment of DSCPs to queues and thresholds for
each interface type. So, after classification and metering,
when the packet has a final DSCP mark, the packet is enqueued
on the apprpriate queue at the appropriated threshold based on
the mapping of the DSCP to threshollds in queues."
::= { qosIfParameters 4 }
qosIfQueueSetAssignEntry OBJECT-TYPE
SYNTAX QosIfQueueSetAssignEntry
STATUS current
DESCRIPTION
"A conceptual row in the qosIfQueueSetAssignTable.
INDEX { qosIfQueueSetAssignPrid }
UNIQUENESS { qosIfQueueSetAssignIfName,
qosIfQueueSetAssignRoles }
::= { qosIfQueueSetAssignTable 1 }
QosIfQueueSetAssignEntry ::= SEQUENCE {
[Page 17]
DiffServ QoS Policy Information Base July 2000
qosIfQueueSetAssignPrid PolicyInstanceId,
qosIfQueueSetAssignName SnmpAdminString,
qosIfQueueSetAssignRoles RoleCombination,
qosIfQueueSetAssignQueueSetId PolicyTagReference,
qosIfQueueSetAssignDscpMap PolicyTagReference
}
qosIfQueueSetAssignPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"The index that uniquely identifies this row in the table,
i.e., this PRI."
::= { qosIfQueueSetAssignEntry 1 }
qosIfQueueSetAssignName OBJECT-TYPE
SYNTAX SnmpAdminString
STATUS current
DESCRIPTION
"The name of an interface type. This name must exist in
frwkIfCapSetTable."
::= { qosIfQueueSetAssignEntry 2 }
qosIfQueueSetAssignRoles OBJECT-TYPE
SYNTAX RoleCombination
STATUS current
DESCRIPTION
"The role combination associated with the interface type.
::= { qosIfQueueSetAssignEntry 3 }
qosIfQueueSetAssignQueueSet OBJECT-TYPE
SYNTAX PolicyTagReference
PIB-TAG qosIfQueueSetId
STATUS current
DESCRIPTION
"The integer ID of the queue set to be assigned to all interfaces
of type specified by qosIfQueueSetAssignName and with role
combination specified by qosIfQueueSetAssignRoles.
This queue set must exist in qosIfQueueTable."
::= { qosIfQueueSetAssignEntry 4 }
[Page 18]
DiffServ QoS Policy Information Base July 2000
qosIfQueueSetAssignDscpMap OBJECT-TYPE
SYNTAX PolicyTagReference
PIB-TAG qosIfDscpMapMapId
STATUS current
DESCRIPTION
"The DSCP map to apply to interfaces of type
qosIfQueueSetAssignName and role combo
qosIfQueueSetAssignRoles."
::= { qosIfQueueSetAssignEntry 5 }
--
-- Interface Queue Table
--
-- The Interface Queue Table enumerates the individual queues and
-- groups them into queue sets. Configuration of each queue, and
-- hence an entire queue set is specified by this table.
--
qosIfQueueTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfQueueEntry
PIB-ACCESS install, 10
STATUS current
DESCRIPTION
"Contains configuration information for the individual queues
of the queue sets."
::= { qosIfParameters 5 }
qosIfQueueEntry OBJECT-TYPE
SYNTAX QosIfQueueEntry
STATUS current
DESCRIPTION
"A conceptual row in the qosIfQueueTable.
Each row identifies a specific queue within a given queue
set and contains detailed information about the queue. Queues
are associated with a given set through this table and
a queue set is associated with an interface set through
the qosIfQsetAssignTable."
INDEX { qosIfQueuePrid }
UNIQUENESS {}
[Page 19]
DiffServ QoS Policy Information Base July 2000
::= { qosIfQueueTable 1 }
QosIfQueueEntry ::= SEQUENCE {
qosIfQueuePrid PolicyInstanceId,
qosIfQueueSetId PolicyTagId,
qosIfQueueQueueSize Unsigned32,
qosIfQueueSetThreshSet PolicyTagReference,
qosIfQueuePriorityGroup INTEGER,
qosIfQueueServiceDisc INTEGER,
qosIfQueueDrainSize Unsigned32,
qosIfQueueMinAbsBandwidth Unsigned64,
qosIfQueueBandwidthAllocation INTEGER
}
qosIfQueuePrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"The index that uniquely identifies this row in the table,
i.e., this PRI."
::= { qosIfQueueEntry 1 }
qosIfQueueSetId OBJECT-TYPE
SYNTAX PolicyTagId
STATUS current
DESCRIPTION
"An index that uniquely identifies a specific queue set. The
queue set identified by this value is associated
with an interface set through the
qosIfQueueSetAssignQueueSetId object in the
qosIfQueueSetAssignTable. The individual queues that are
members of this set all have the same value for this attribute
(i.e., they have the same set ID)."
::= { qosIfQueueEntry 2 }
qosIfQueueQueueSize OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"The size of the queue in bytes. Some devices set queue size
in terms of packets. These devices must calculate the queue
size in packets by assuming an average packet size suitable
for the particular interface.
[Page 20]
DiffServ QoS Policy Information Base July 2000
Some devices have a fixed size buffer to be shared among all
queues. These devices must allocate a fraction of the
total buffer space to this queue calculated as the the ratio
of the queue size to the sum of the queue sizes for the
interface."
::= { qosIfQueueEntry 3 }
qosIfQueueThreshSet OBJECT-TYPE
SYNTAX PolicyTagReference
PIB-TAG qosIfThresholdSetId
STATUS current
DESCRIPTION
"The threshold set in the threshold set table that is to be
used to configure the thresholds of this queue. The threshold
set specifies how to configure the taildrop or RED thresholds
for this queue.
"The threshold set may contain less thresholds than the queue
actually supports. In this case the queue is free to
configure the extra thresholds any way it likes since no
packets will ever be assigned to those thresholds.
A value of zero indicates no threshold set is associated with
the queue. In this case the queue is configured with a single
threshold at 100% qosIfThresholdDropMethod of tailDrop."
::= { qosIfQueueEntry 4 }
qosIfQueuePriorityGroup OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"This attribute specifies the priority group that the queue
belongs to. Queues with a larger priority group number are
given a higher priority than those with a smaller group
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
priority. For these another scheduling discipline (other than
priority scheduling) must be specified. This is done with the
qosIfQueueServiceDisc attribute."
[Page 21]
DiffServ QoS Policy Information Base July 2000
::= { qosIfQueueEntry 5 }
qosIfQueueServiceDisc OBJECT-TYPE
SYNTAX INTEGER {
na(1), -- only one queue in group
other(2), -- specified by augmented attributes
fq(3), -- Fair Queuing
wfq(4) -- Weighted Fair Queuing
}
STATUS current
DESCRIPTION
"This attribute identifies the service discipline used to
service the queues in the same priority group. It must have
the same value for all queues in the priority group. Several
general purpose and well-known queuing disciplines are
supported by this attribute. Queuing disciplines that differ
from those that are supported by this attribute are specified
by setting this attribute to other(1) and augmenting this PRC
with additional attributes to specify the desired service
discipline.
As an example, an interface that is associated with a queue
set supporting two priority queues and three queues that are
serviced using WFQ would be modeled as follows:
Id Q Discipline Q Drain Size Priority Group
22 na(1) - 3
23 na(1) - 2
24 wfq(3) 500 1
25 wfq(3) 350 1
26 wfq(3) 150 1
The queue set presented in this example would service
all queued traffic in queue 22 first, followed by all of
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
priority group. The qosIfQueueDrainSize attribute is used
to determine the additional processing characteristics of the
[Page 22]
DiffServ QoS Policy Information Base July 2000
individual queues in a this priority group."
::= { qosIfQueueEntry 6 }
qosIfQueueDrainSize OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"The maximum number of bytes that may be drained from the
queue in one cycle. The percentage of the interface
bandwidth allocated to this queue can be calculated from
this attribute and the sum of the drain sizes of all the
queues in a specific priority group in a queue set.
This attribute when compared with the drain size of other
queues, represents the minimum bandwidth available to this
queue. The minimum bandwidth specified in absolute terms is
specified by the attribute qosIfQueueMinAbsBandwidth. Which of
these two applies is specified by the attribute
qosIfQueueBandwidthAllocation."
::= { qosIfQueueEntry 7 }
qosIfQueueMinAbsBandwidth OBJECT-TYPE
SYNTAX Unsigned64
STATUS current
DESCRIPTION
"The maximum interface bandwidth that is available for
consumption when servicing this queue. This bandwidth is
specified in terms of bits per second.
This attribute represents the absolute bandwidth that is
available to a given queue. The relative bandwidth that is
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 }
qosIfQueueBandwidthAllocation OBJECT-TYPE
SYNTAX INTEGER {
absolute(1), --use qosIfQueueMinAbsBandwidth
relative(2) --use qosIfQueueDrainSize
}
[Page 23]
DiffServ QoS Policy Information Base July 2000
STATUS current
DESCRIPTION
"This attribute specifies whether to configure the queue for
an absolute bandwidth limit or one that is relative to other
queues of the priority group. i.e., whether to configure the
queue using qosIfQueueMinAbsBandwidth or
qosIfQueueDrainSize."
If some queues have their bandwidth requirement specified in
absolute terms and others in relative terms then the
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 }
--
-- Interface Threshold Table
--
-- The Interface Threshold Table enumerates the individual thresholds
-- and groups them into sets that can be applied to queues.
-- Configuration of individual thresholds and hence the threshold sets
-- of individual queues, id done through this table.
--
qosIfThresholdTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfThresholdEntry
PIB-ACCESS install, 6
STATUS current
DESCRIPTION
"Contains configuration information for the individual thresholds
of the threshold sets."
::= { qosIfParameters 6 }
qosIfThresholdEntry OBJECT-TYPE
SYNTAX QosIfThresholdEntry
STATUS current
DESCRIPTION
"A conceptual row in the qosIfThresholdTable.
Each row identifies a specific threshold within a given
set and contains detailed information about the
[Page 24]
DiffServ QoS Policy Information Base July 2000
threshold. Threshold sets are associated with a queue set through
the qosIfQueueThreshSet attribute of the qosIfQueueTable."
INDEX { qosIfThresholdPrid }
UNIQUENESS { qosIfThresholdSetId,
qosIfThresholdDropMethod,
qosIfThresholdMinThresh,
qosIfThresholdMaxThresh }
::= { qosIfThresholdSetTable 1 }
QosIfThresholdSetEntry ::= SEQUENCE {
qosIfThresholdPrid PolicyInstanceId,
qosIfThresholdSetId PolicyTagId,
qosIfThresholdDropMethod INTEGER,
qosIfThresholdMinThresh INTEGER,
qosIfThresholdMaxThresh INTEGER
}
qosIfThresholdPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"The index that uniquely identifies this row in the table,
i.e., this PRI."
::= { qosIfThresholdEntry 1 }
qosIfThresholdSetId OBJECT-TYPE
SYNTAX PolicyTagId
STATUS current
DESCRIPTION
"An index that uniquely identifies a specific threshold set.
The individual thresholds that are members of this set all
have the same value for this attribute (i.e., they have the
same set ID)."
::= { qosIfThresholdEntry 2 }
qosIfThresholdDropMethod OBJECT-TYPE
SYNTAX INTEGER {
other(1),
tailDrop(2),
randomDrop(3)
}
[Page 25]
DiffServ QoS Policy Information Base July 2000
STATUS current
DESCRIPTION
"The drop method to apply to packets exceeding the threshold.
If the mechanism is other then another policy may be specified
by an additional attribute augmenting this table."
::= { qosIfThresholdEntry 3 }
qosIfThresholdMinThresh OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"The queue depth, in bytes, below which no packets are
dropped. If the queue depth is above this value and below the
value of qosIfThresholdMaxThresh then packets assigned to this
threshold are dropped randomly by the random drop process if
random drop is in effect. If tail drop is in effect, this
attribute has no relevance."
::= { qosIfThresholdEntry 4 }
qosIfThresholdMaxThresh OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"The queue depth, in bytes, above which all packets assigned
to this threshold are dropped."
::= { qosIfThresholdEntry 5 }
--
-- DSCP to Queue and Threshold Mapping Table
--
-- Supports the assignment of DSCPs to queues and thresholds for each
-- interface type
--
qosIfDscpMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfDscpMapEntry
PIB-ACCESS install, 6
STATUS current
DESCRIPTION
"Assigns DSCP values to queues and thresholds for an arbitrary
[Page 26]
DiffServ QoS Policy Information Base July 2000
DSCP map. This map can then be assigned to various interface
and role combination pairs."
::= { qosIfParameters 7 }
qosIfDscpMapEntry OBJECT-TYPE
SYNTAX QosIfDscpMapEntry
STATUS current
DESCRIPTION
"An instance of the qosIfDscpMap class."
INDEX { qosIfDscpMapPrid }
UNIQUENESS { qosIfDscpMapMapId,
qosIfDscpMapDscp }
::= { qosIfDscpMapTable 1 }
QosIfDscpMapEntry ::= SEQUENCE {
qosIfDscpMapPrid PolicyInstanceId,
qosIfDscpMapMapId PolicyTagId,
qosIfDscpMapDscp Dscp,
qosIfDscpMapQueue PolicyReferenceId,
qosIfDscpMapThresh PolicyReferenceId
}
qosIfDscpMapPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An index that is used to uniquely identify the
instance of the qosIfDscpMap class."
::= { qosIfDscpMapEntry 1 }
qosIfDscpMapMapId OBJECT-TYPE
SYNTAX PolicyTagId
STATUS current
DESCRIPTION
"An integer that identifies the DSCP map to which this PRI
belongs."
::= { qosIfDscpMapEntry 2 }
qosIfDscpMapDscp OBJECT-TYPE
SYNTAX Dscp
[Page 27]
DiffServ QoS Policy Information Base July 2000
STATUS current
DESCRIPTION
"The DSCP that is being assigned to a queue and threshold by
this PRI."
::= { qosIfDscpMapEntry 3 }
qosIfDscpMapQueue OBJECT-TYPE
SYNTAX PolicyReferenceId
PIB-REFERENCE qosIfQueueTable
STATUS current
DESCRIPTION
"This attribute maps the DSCP specified by qosIfDscpMapDscp to
the queue identified by qosIfQueuePrid in qosIfQueueTable.
For a given DSCP map, all the queues must belong to a single
queue set."
::= { qosIfDscpMapEntry 4 }
qosIfDscpMapThresh OBJECT-TYPE
SYNTAX PolicyReferenceId
PIB-REFERENCE qosIfThresholdTable
STATUS current
DESCRIPTION
"This attribute maps the DSCP specified by qosIfDscpMapDscp to
the threshold identified by qosIfThresholdId in
qosIfThresholdTable." The threshold set to which this
threshold belongs must be assigned to the queue specified by
qosIfDscpMapQueue."
::= { qosIfDscpMapEntry 5 }
--
-- QoS Meter Table
--
-- The QoS Meter Table contains metering specifications that
-- can be used to provide an acceptable flow bandwidth
-- dimension to the Target table.
--
qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 }
[Page 28]
DiffServ QoS Policy Information Base July 2000
qosMeterTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosMeterEntry
PIB-ACCESS install, 10
STATUS current
DESCRIPTION
"Contains the current set of configured meters. The
meters are associated with a classifier during
operation through the QoS Target Table."
INSTALL-ERRORS {
invalidCommittedData(1),
invalidPeakData(2)
}
::= { qosMeter 1 }
qosMeterEntry OBJECT-TYPE
SYNTAX QosMeterEntry
STATUS current
DESCRIPTION
"General metering definitions. Each entry specifies
an instance of the qosMeter class which specifies
metering information in terms of traffic stream
bandwidth parameters. An entry can thus be used to
support traffic metering based on the specified
service level specification."
INDEX { qosMeterPrid }
UNIQUENESS { qosMeterDataSpecification,
qosMeterCommittedRate,
qosMeterCommittedBurst,
qosMeterPeakRate,
qosMeterPeakBurst,
qosMeterHighConfAction,
qosMeterMedConfAction,
qosMeterLowConfAction }
::= { qosMeterTable 1 }
QosMeterEntry ::= SEQUENCE {
qosMeterPrid PolicyInstanceId,
qosMeterDataSpecification INTEGER,
qosMeterCommittedRate Unsigned32,
qosMeterCommittedBurst Unsigned32,
qosMeterPeakRate Unsigned32,
qosMeterPeakBurst Unsigned32,
[Page 29]
DiffServ QoS Policy Information Base July 2000
qosMeterHighConfAction PolicyReferenceId,
qosMeterMedConfAction PolicyReferenceId,
qosMeterLowConfAction PolicyReferenceId
}
qosMeterPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies
the instance of the qosMeter class. Meters are
associated with specific flows using this attribute
through the qosTargetMeter attribute in the QoS
Target class."
::= { qosMeterEntry 1 }
qosMeterDataSpecification OBJECT-TYPE
SYNTAX INTEGER {
noMeterData(1), -- no metering reqd
committedData(2), -- committed rate only
peakData(3) -- committed and peak
}
STATUS current
DESCRIPTION
"Specifies the metering data, and thus the actions, that
are defined in a given entry.
A value of noMeterData(1) indicates that no flow metering
is necessary. All flows associated with this meter entry
are considered to be at a high level of conformance.
A value of committedData(2) indicates that committed rate
and committed burst information has been specified and will
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
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."
[Page 30]
DiffServ QoS Policy Information Base July 2000
::= { qosMeterEntry 2 }
qosMeterCommittedRate OBJECT-TYPE
SYNTAX Unsigned32 (0..'ffffffff'h)
STATUS current
DESCRIPTION
"This object represents the committed information rate
(CIR) against which associated traffic streams will be
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
such that, for example, a value of 100 equates to a
committed information rate of 100 bytes per second.
Committed rate (and burst) information must be present
if the qosMeterDataSpecification object has the value
committedData(2) or peakRate(3). This, in turn, requires
that at least both high and medium conformance actions
be specified."
::= { qosMeterEntry 3 }
qosMeterCommittedBurst OBJECT-TYPE
SYNTAX Unsigned32 (0..'ffffffff'h)
STATUS current
DESCRIPTION
"This object represents the committed burst size
(CBS) against which associated traffic streams will
be metered. The CBS specifies the maximum burst size
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
units such that, for example, a value of 100 equates
to a committed information rate of 100 bytes per
second.
Committed burst (and rate) information must be present
if the qosMeterDataSpecification object has the value
[Page 31]
DiffServ QoS Policy Information Base July 2000
committedData(2) or peakRate(3). This, in turn, requires
that at least both high and medium conformance actions
be specified."
::= { qosMeterEntry 4 }
qosMeterPeakRate OBJECT-TYPE
SYNTAX Unsigned32 (0..'ffffffff'h)
STATUS current
DESCRIPTION
"This object represents the peak information rate (PIR)
against which associated traffic streams will be
metered. The PIR specifies the rate at which incoming
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
such that, for example, a value of 100 equates to a
committed information rate of 100 bytes per second.
Peak rate (and burst) information must be present
if the qosMeterDataSpecification object has the value
peakData(3). This, in turn, requires that high, medium
and low conformance actions be specified."
::= { qosMeterEntry 5 }
qosMeterPeakBurst OBJECT-TYPE
SYNTAX Unsigned32 (0..'ffffffff'h)
STATUS current
DESCRIPTION
"This object represents the peak burst size (PBS)
against which associated traffic streams will
be metered. The CBS specifies the maximum burst size
that is supported for flows to be considered to be at
a medium 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
units such that, for example, a value of 100 equates
to a committed information rate of 100 bytes per
second.
[Page 32]
DiffServ QoS Policy Information Base July 2000
Peak burst (and rate) information must be present
if the qosMeterDataSpecification object has the value
peakData(3). This, in turn, requires that high, medium
and low conformance actions be specified."
::= { qosMeterEntry 6 }
qosMeterHighConfAction OBJECT-TYPE
SYNTAX PolicyReferenceId
PIB-REFERENCE qosActionTable
STATUS current
DESCRIPTION
"This attribute identifies the action that is to be
initiated for flows that are determined to have a high
level of conformance with regard to metering criteria
being applied to the flow.
Actions must be defined in the qosActionTable prior to
being referenced by this attribute. A valid value for
this attribute must always be provided."
::= { qosMeterEntry 7 }
qosMeterMedConfAction OBJECT-TYPE
SYNTAX PolicyReferenceId
PIB-REFERENCE qosActionTable
STATUS current
DESCRIPTION
"This attribute identifies the action that is to be
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
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 }
qosMeterLowConfAction OBJECT-TYPE
SYNTAX PolicyReferenceId
PIB-REFERENCE qosActionTable
STATUS current
[Page 33]
DiffServ QoS Policy Information Base July 2000
DESCRIPTION
"This attribute identifies the action that is to be
initiated for flows that are determined to have a low
level of conformance with regard to metering criteria
being applied to the flow.
Actions must be defined in the qosActionTable prior to
being referenced by this attribute. A valid value for
this attribute must be provided if the value of the
associated qosMeterDataSpecification object is
peakRate(3)."
::= { qosMeterEntry 9 }
--
-- The Generic QoS Action Group
--
qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 }
--
-- The QoS Action Table
--
-- The QoS Action Table describes actions that are associated with
-- specific meters through the QoS Target Table. An action specifies
-- whether to mark, drop, or leave the packet unchaged.
qosActionTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosActionEntry
PIB-ACCESS install, 4
STATUS current
DESCRIPTION
"Contains the current set of configured actions. The actions
are associated with meters and interfaces during operation."
::= { qosAction 1 }
qosActionEntry OBJECT-TYPE
SYNTAX QosActionEntry
STATUS current
DESCRIPTION
"General action definitions. Each entry specifies an instance
[Page 34]
DiffServ QoS Policy Information Base July 2000
of the qosAction class which describes (potentially)
several distinct action attributes.
An instance of this class can not be deleted while it is being
referenced in a target instance in another class. This
class may be extended with actions that apply to specific QoS
policies using augmentation."
INDEX { qosActionPrid }
UNIQUENESS { qosActionDrop,
qosActionUpdateDSCP }
::= { qosActionTable 1 }
QosActionEntry ::= SEQUENCE {
qosActionPrid PolicyInstanceId,
qosActionAction INTEGER,
qosActionUpdateDSCP Dscp,
}
qosActionPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies
the instance of the QoS Action class. Class instances
may not be contiguous. Actions are associated with
Target instances in other classes (e.g., the QoS
Meter class) using this attribute."
::= { qosActionEntry 1 }
qosActionAction OBJECT-TYPE
SYNTAX INTEGER {
drop(1),
mark(2),
unchange(3) -- don't alter the DSCP
}
STATUS current
DESCRIPTION
"This action attribute specifies the action to be taken on the
packet.
Prior to discarding a packet, other actions that have
been specified should be performed if they make protocol
[Page 35]
DiffServ QoS Policy Information Base July 2000
sense. For example, requests for traffic mirroring (if
such an action is supported by a device) should be
honored. However, updating protocol header values will
typically not be necessary."
::= { qosActionEntry 2 }
qosActionUpdateDSCP OBJECT-TYPE
SYNTAX Dscp
STATUS current
DESCRIPTION
"This attribute specifies the value to write into the DSCP
field of the packet if the action to be taken is to mark the
packet.
::= { qosActionEntry 3 }
--
-- The QoS Target Table
--
-- The QoS Target Table supports the association of filters,
-- interfaces, meters and actions. It allows filter instances, as
-- defined in various filter classes, to be associated with specific
-- interfaces/flow direction (based on interface role combination and
-- traffic direction) and actions to be performed based on traffic
-- classification and metering. Furthermore, it allows heterogeneous
-- filter definition class instances to be applied to the same
-- interface group in a prescribed order of precedence.
--
qosTargetTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosTargetEntry
PIB-ACCESS install, 7
STATUS current
DESCRIPTION
"A class that applies a set of filters to interfaces specifying,
for each interface, the precedence order of the filters with
respect to other filters applied to the same interface and, for
each filter, the meter to apply to packets accepted by the
filter. Interfaces are specified abstractly
in terms of interface roles.
This class may contain filters that specify different types
of traffic classification."
[Page 36]
DiffServ QoS Policy Information Base July 2000
INSTALL-ERRORS {
priPrecedenceConflict(1) -- precedence conflict detected
}
::= { qosAction 2 }
qosTargetEntry OBJECT-TYPE
SYNTAX QosTargetEntry
STATUS current
DESCRIPTION
"An instance of the qosTarget class. Instance creation
may be prohibited based on the status of certain class
attributes which must exist prior to class instantiation."
INDEX { qosTargetPrid }
UNIQUENESS { qosTargetFilterId,
qosTargetInterfaceRoles,
qosTargetInterfaceDirection,
qosTargetOrder }
::= { qosTargetTable 1 }
QosTargetEntry ::= SEQUENCE {
qosTargetPrid PolicyInstanceId,
qosTargetFilterId PolicyTagReference,
qosTargetInterfaceRoles RoleCombination,
qosTargetInterfaceDirection INTEGER,
qosTargetOrder Unsigned32,
qosTargetMeter PolicyReferenceId
}
qosTargetPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies
the instance of the QoS Target class."
::= { qosTargetEntry 1 }
qosTargetFilterId OBJECT-TYPE
SYNTAX PolicyTagReference
PIB-TAG frwkFilterGroupDefinitionId
STATUS current
DESCRIPTION
[Page 37]
DiffServ QoS Policy Information Base July 2000
"This attribute identifies the filter group that is associated with
this target. This filter group must be specified in
frwkFilterGroupDefinitionTable and the specific group is
identified by the value of this attribute."
::= { qosTargetEntry 2 }
qosTargetInterfaceRoles OBJECT-TYPE
SYNTAX RoleCombination
STATUS current
DESCRIPTION
"The interfaces to which this target applies specified
in terms of a set of roles. The role combination
specified by this attribute must exist in the
frwkIfCapSetRoleComboTable prior to being association
with an instance of this class."
::= { qosTargetEntry 3 }
qosTargetInterfaceDirection OBJECT-TYPE
SYNTAX INTEGER {
in(1),
out(2)
}
STATUS current
DESCRIPTION
"The direction of packet flow at the interface in
question to which this filter applies."
::= { qosTargetEntry 4 }
qosTargetOrder OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"An integer that determines the precedence order of
this filter in the list of filters applied to interfaces of
the specified role combination. A filter with a given
precedence order is positioned in the list before one
with a higher-valued precedence order.
As an example, consider the following Target association:
Index IfRoleCombo IfDirection FilterId Order
14 'eth1000+L2+L3' 'in' 8 1
[Page 38]
DiffServ QoS Policy Information Base July 2000
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
(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
otherwise instance installation will be prohibited and an
error value will be returned."
::= { qosTargetEntry 5 }
qosTargetMeter OBJECT-TYPE
SYNTAX PolicyReferenceId
PIB-REFERENCE qosMeterTable
STATUS current
DESCRIPTION
"This attribute identifies the meter that is associated
with this QoS Target instance. Meters are defined
in the qosMeterTable. The corresponding instance in
the qosMeter class (i.e., the class instance where
the qosMeterPrid is equal to the value of this object)
must exist prior to being associated with a Target
entry."
::= { qosTargetEntry 6 }
--
-- Conformance Section
--
qosPolicyIpPibConformance
OBJECT IDENTIFIER ::= { qosPolicyIpPib 3 }
qosPolicyIpPibCompliances
OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 1 }
qosPolicyIpPibGroups
OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 2 }
[Page 39]
DiffServ QoS Policy Information Base July 2000
qosPolicyIpPibCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Describes the requirements for conformance to the
QoS Policy IP PIB."
MODULE -- this module
MANDATORY-GROUPS { qosIfSchedulingCapsGroup,
qosIfQueueSetAssignGroup,
qosIfQueueGroup,
qosMeterGroup,
qosActionGroup,
qosTargetGroup }
OBJECT qosIfQueueSetAssignName
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueSetAssignRoles
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueSetAssignQueueSetId
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueSetId
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueQueueSize
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueSetThreshSet
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueuePriorityGroup
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueServiceDisc
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
[Page 40]
DiffServ QoS Policy Information Base July 2000
OBJECT qosIfQueueDrainSize
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueMinAbsBandwidth
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfQueueBandwidthAllocation
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterDataSpecification
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterCommittedRate
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterCommittedBurst
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterPeakRate
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterPeakBurst
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterHighConfAction
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterMedConfAction
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosMeterLowConfAction
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosActionDrop
[Page 41]
DiffServ QoS Policy Information Base July 2000
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosActionUpdateDSCP
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
GROUP qosIfClassificationCapsGroup
DESCRIPTION
"The qosIfClassificationCapsGroup is mandatory
if IP datagram classification is supported."
GROUP qosIfMeteringCapsGroup
DESCRIPTION
"The qosIfMeteringCapsGroup is mandatory if
metering and shaping capabilities are supported."
GROUP qosIfThresholdGroup
DESCRIPTION
"The qosIfThresholdGroup is mandatory if
queue-based thresholds are supported and if
the qosIfDscpMapGroup is supported."
OBJECT qosIfThresholdSetId
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfThresholdDropMethod
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfThresholdMinThresh
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfThresholdMaxThresh
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
GROUP qosIfDscpAssignGroup
DESCRIPTION
"The qosIfDscpAssignGroup is mandatory if traffic
queue assignment based on DSCP is supported."
OBJECT qosIfDscpAssignName
[Page 42]
DiffServ QoS Policy Information Base July 2000
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfDscpAssignRoles
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfDscpAssignDscpMap
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
GROUP qosIfDscpMapGroup
DESCRIPTION
"The qosIfDscpMapGroup is mandatory if the
qosIfDscpAssignGroup is supported."
OBJECT qosIfDscpMapMapId
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfDscpMapDscp
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfDscpMapQueue
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qosIfDscpMapThresh
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
::= { qosPolicyIpPibCompliances 1 }
qosIfClassificationCapsGroup OBJECT-GROUP
OBJECTS {
qosIfClassificationCaps
}
STATUS current
DESCRIPTION
"Objects from the qosIfClassificationCapsTable."
::= { qosPolicyIpPibGroups 3 }
qosIfMeteringCapsGroup OBJECT-GROUP
[Page 43]
DiffServ QoS Policy Information Base July 2000
OBJECTS {
qosIfMeteringCaps
}
STATUS current
DESCRIPTION
"Objects from the qosIfMeteringCapsTable."
::= { qosPolicyIpPibGroups 4 }
qosIfSchedulingCapsGroup OBJECT-GROUP
OBJECTS {
qosIfSchedulingCapsMaxQueues,
qosIfSchedulingCapsMaxThresholds,
qosIfSchedulingCapsMaxPriorities,
qosIfSchedulingCapsServiceDisc,
qosIfSchedulingCapsMinQueueSize,
qosIfSchedulingCapsMaxQueueSize,
qosIfSchedulingCapsTotalQueueSize,
qosIfSchedulingCapsWredCapable
}
STATUS current
DESCRIPTION
"Objects from the qosIfSchedulingCapsTable."
::= { qosPolicyIpPibGroups 5 }
qosIfQueueSetAssignGroup OBJECT-GROUP
OBJECTS {
qosIfQueueSetAssignName,
qosIfQueueSetAssignRoles,
qosIfQueueSetAssignQueueSetId,
}
STATUS current
DESCRIPTION
"Objects from the qosIfQueueSetAssignTable."
::= { qosPolicyIpPibGroups 6 }
qosIfQueueGroup OBJECT-GROUP
OBJECTS {
qosIfQueueSetId,
qosIfQueueQueueSize,
qosIfQueueSetThreshSet,
qosIfQueuePriorityGroup,
qosIfQueueServiceDisc,
[Page 44]
DiffServ QoS Policy Information Base July 2000
qosIfQueueDrainSize,
qosIfQueueMinAbsBandwidth,
qosIfQueueBandwidthAllocation
}
STATUS current
DESCRIPTION
"Objects from the qosIfQueueTable."
::= { qosPolicyIpPibGroups 7 }
qosIfThresholdGroup OBJECT-GROUP
OBJECTS {
qosIfThresholdSetId,
qosIfThresholdDropMethod,
qosIfThresholdMinThresh,
qosIfThresholdMaxThresh
}
STATUS current
DESCRIPTION
"Objects from the qosIfThresholdTable."
::= { qosPolicyIpPibGroups 8 }
qosIfDscpAssignGroup OBJECT-GROUP
OBJECTS {
qosIfDscpAssignName,
qosIfDscpAssignRoles,
qosIfDscpAssignDscpMap
}
STATUS current
DESCRIPTION
"Objects from the qosIfDscpAssignTable."
::= { qosPolicyIpPibGroups 9 }
qosIfDscpMapGroup OBJECT-GROUP
OBJECTS {
qosIfDscpMapMapId,
qosIfDscpMapDscp,
qosIfDscpMapQueue,
qosIfDscpMapThresh
}
STATUS current
DESCRIPTION
"Objects from the qosIfDscpMapTable."
[Page 45]
DiffServ QoS Policy Information Base July 2000
::= { qosPolicyIpPibGroups 10 }
qosMeterGroup OBJECT-GROUP
OBJECTS {
qosMeterDataSpecification,
qosMeterCommittedRate,
qosMeterCommittedBurst,
qosMeterPeakRate,
qosMeterPeakBurst,
qosMeterHighConfAction,
qosMeterMedConfAction,
qosMeterLowConfAction
}
STATUS current
DESCRIPTION
"Objects from the qosMeterTable."
::= { qosPolicyIpPibGroups 11 }
qosActionGroup OBJECT-GROUP
OBJECTS {
qosActionDrop,
qosActionUpdateDSCP
}
STATUS current
DESCRIPTION
"Objects from the qosActionTable."
::= { qosPolicyIpPibGroups 12 }
qosTargetGroup OBJECT-GROUP
OBJECTS {
qosTargetFilterId,
qosTargetFilterType,
qosTargetInterfaceRoles,
qosTargetInterfaceDirection,
qosTargetOrder,
qosTargetMeter
}
STATUS current
DESCRIPTION
"Objects from the qosTargetTable."
::= { qosPolicyIpPibGroups 13 }
[Page 46]
DiffServ QoS Policy Information Base July 2000
END
[Page 47]
DiffServ QoS Policy Information Base July 2000
7. Security Considerations
The information contained in a PIB when transported by the COPS protocol
[COPS-PR] may be sensitive, and its function of provisioning a PEP
requires that only authorized communication take place. The use of
IPSEC between PDP and PEP, as described in [COPS], provides the
necessary protection against these threats.
8. Intellectual Property Considerations
The IETF is being notified of intellectual property rights claimed in
regard to some or all of the specification contained in this document.
For more information consult the online list of claimed rights.
9. Authors' Addresses
Michael Fine
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706 USA
Phone: +1 408 527 8218
Email: mfine@cisco.com
Keith McCloghrie
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706 USA
Phone: +1 408 526 5260
Email: kzm@cisco.com
John Seligson
Nortel Networks, Inc.
4401 Great America Parkway
Santa Clara, CA 95054 USA
Phone: +1 408 495 2992
Email: jseligso@nortelnetworks.com
Kwok Ho Chan
Nortel Networks, Inc.
600 Technology Park Drive
Billerica, MA 01821 USA
Phone: +1 978 288 8175
Email: khchan@nortelnetworks.com
[Page 48]
DiffServ QoS Policy Information Base July 2000
Scott Hahn
Intel
2111 NE 25th Avenue
Hillsboro, OR 97124 USA
Phone: +1 503 264 8231
Email: scott.hahn@intel.com
Andrew Smith
Fax: +1 415 345 1827
Email: ah_smith@pacbell.net
Francis Reichmeyer
IPHighway Inc.
Parker Plaza, 16th Floor
400 Kelby St.
Fort-Lee, NJ 07024
Phone: (201) 585-0800
Email: FranR@iphighway.com
10. References
[COPS] Boyle, J., Cohen, R., Durham, D., Herzog, S., Rajan, R., and
A. Sastry, "The COPS (Common Open Policy Service) Protocol"
RFC 2748, January 2000.
[COPS-PR] K. Chan, D. Durham, S. Gai, S. Herzog, K. McCloghrie,
F. Reichmeyer, J. Seligson, A. Smith, R. Yavatkar,
"COPS Usage for Policy Provisioning,"
draft-ietf-rap-cops-pr-03.txt, July 2000.
[SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning
Information," draft-ietf-rap-sppi-01.txt, July 2000.
[DSARCH] M. Carlson, W. Weiss, S. Blake, Z. Wang, D. Black, and
E. Davies, "An Architecture for Differentiated Services",
RFC 2475, December 1998
[FR-PIB] M. Fine, K. McCloghrie, J. Seligson, K. Chan, S. Hahn,
A. Smith, F. Reichmeyer "Framework Policy Information Base",
Internet Draft <draft-ietf-rap-frameworkpib-01.txt>,
July 2000
[POLICY] M. Stevens, W. Weiss H. Mahon, B. Moore, J. Strassner,
G. Waters, A. Westerinen, J. Wheeler, "Policy Framework",
[Page 49]
DiffServ QoS Policy Information Base July 2000
draft-ietf-policy-framework-00.txt, September 1999.
[RAP-FRAMEWORK] R. Yavatkar, D. Pendarakis, "A Framework for
Policy-based Admission Control",
draft-ietf-rap-framework-03.txt, April 1999.
[SNMP-SMI] K. McCloghrie, D. Perkins, J. Schoenwaelder, J. Case,
M. Rose and S. Waldbusser, "Structure of Management Information
Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[MODEL] Y. Bernet, A. Smith, S. Blake, D. Grossman "A Conceptual Model
for DiffServ Routers", draft-ietf-diffserv-model-03.txt,
May 2000.
[Page 50]
DiffServ QoS Policy Information Base July 2000
Table of Contents
1 Glossary ........................................................ 2
2 Introduction .................................................... 2
3 DiffServ PIB Concepts ........................................... 2
3.1 Filters, Filter Groups and Classifiers ........................ 2
3.2 Applying QoS Policy Using Targets ............................. 3
3.3 Interface Modeling with Queue Sets ............................ 4
3.3.1 Queue Scheduling ............................................ 4
3.3.2 Assigning Packets To Queues and Thresholds .................. 5
3.3.3 Hierarchies of Queues ....................................... 5
4 Summary of the DiffServ PIB ..................................... 5
5 PIB Operational Overview ........................................ 6
6 PIB Definitions ................................................. 8
6.1 The DiffServ Base PIB ......................................... 8
7 Security Considerations ......................................... 48
8 Intellectual Property Considerations ............................ 48
9 Authors' Addresses .............................................. 48
10 References ..................................................... 49
[Page 51]
| PAFTECH AB 2003-2026 | 2026-04-23 10:50:20 |