draft-ietf-diffserv-pib-00.txt   draft-ietf-diffserv-pib-01.txt 
Network Working Group M. Fine Network Working Group M. Fine
Internet Draft K. McCloghrie Internet Draft K. McCloghrie
Expires September 2000 Cisco Systems Expires December 2000 Cisco Systems
J. Seligson J. Seligson
K. Chan K. Chan
Nortel Networks Nortel Networks
S. Hahn S. Hahn
Intel Intel
A. Smith A. Smith
Extreme Networks No Affiliation
Francis Reichmeyer Francis Reichmeyer
IPHighway IPHighway
March 10, 2000 July 14, 2000
Differentiated Services Quality of Service Policy Information Base Differentiated Services Quality of Service Policy Information Base
draft-ietf-diffserv-pib-00.txt draft-ietf-diffserv-pib-01.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
skipping to change at page 2, line 41 skipping to change at page 2, line 41
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. DiffServ PIB Concepts
3.1. Filters, Filter Groups and Classifiers 3.1. Filters, Filter Groups and Classifiers
The basis of differential QoS treatment of packets is a filter. This is The basis of differential QoS treatment of packets is a filter. This is
simply a general specification for matching a pattern to appear in simply a general specification for matching a pattern to appear in
packets belonging to flows, e.g. microflows or bandwidth aggregates. packets belonging to flows, e.g. microflows or behavior aggregates.
Associated with each filter is a permit/deny flag which effectively Associated with each filter is a permit/deny flag which effectively
gives a negation operation. gives a negation operation.
Sets of these filters are used to create classifiers. Classifiers are Sets of these filters are used to create classifiers. Classifiers are
applied to interfaces with a direction flag to indicate an ingress or applied to interfaces with a direction flag to indicate an ingress or
egress classifier. Filters are combined, in order, into filter groups; egress classifier. Filters are combined, in order, into filter groups;
filter groups are then combined, in order, to build a classifier. This filter groups are then combined, in order, to build a classifier. This
allows a rudimentary classification grammar to be defined. On input, allows a rudimentary classification grammar to be defined. On input,
each packet is checked against the ingress classifier on the interface. each packet is checked against the ingress classifier on the interface.
skipping to change at page 3, line 39 skipping to change at page 3, line 39
should be applied must be identified. The interfaces of the device on 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 which the policy should be enforced must be known. A certain set of
parameters to support flow metering is also required. The combination of parameters to support flow metering is also required. The combination of
these components provides the target against which QoS policy is to be these components provides the target against which QoS policy is to be
applied. Within the context of the QoS PIB, the association between applied. Within the context of the QoS PIB, the association between
these components is defined efficiently using the Target class. these components is defined efficiently using the Target class.
The Target class serves to logically link several other QoS policy The Target class serves to logically link several other QoS policy
classes. Flow classification rules, specifying behavior aggregate (BA) classes. Flow classification rules, specifying behavior aggregate (BA)
or multi-field (MF) classification parameters, are indirectly identified or multi-field (MF) classification parameters, are indirectly identified
using the PRC for the appropriate classification class (e.g., IP, 802) using the PRC for the appropriate classification class coupled with an
coupled with an identifier for a specific classifier. Interface identifier for a specific -- classifier. Interface information is
information is specified using the role combination tag, defined in the specified using the role combination tag, defined in the Interface Type
Interface Type class, to identify the group of interfaces on which class, to identify the group of interfaces on which classification is to
classification is to be performed. The direction of packet flow on the be performed. The direction of packet flow on the identified interfaces
identified interfaces is provided as well. A link to the metering is provided as well. A link to the metering component is provided using
component is provided using the PRC for the appropriate metering class the PRC for the appropriate metering class instance.
instance.
Once a target has been defined, actions based on the classification and Once a target has been defined, actions based on the classification and
metering phases must be specified. Action class instances are linked metering phases must be specified. Action class instances are linked
with the Target entry through the associated Meter class instance. A with the Target entry through the associated Meter class instance. A
precedence component is also provided so that a definitive order of precedence component is also provided so that a definitive order of
evaluation may be defined for Target class instances being applied to evaluation may be defined for Target class instances being applied to
the same interface role and flow direction targets. The Target class the same interface role and flow direction targets. The Target class
thus functions as the integration point for the range of components used thus functions as the integration point for the range of components used
for the application of QoS policy. for the application of QoS policy.
3.3. Interface Modeling with Queue Sets 3.3. Interface Modeling with Queue Sets
The traffic processing capabilities of an interface are determined by The traffic processing capabilities of an interface are determined by
the queuing resources that are associated with the interface. These the queuing resources that are associated with the interface. These
skipping to change at page 5, line 30 skipping to change at page 5, line 28
Sometimes policy may require hierachies of queues. For example, a Sometimes policy may require hierachies of queues. For example, a
department might has some set of traffic classes with a defined department might has some set of traffic classes with a defined
scheduling policy between these classes. Multiple departments might scheduling policy between these classes. Multiple departments might
then share a link with there being a defined scheduling policy between then share a link with there being a defined scheduling policy between
traffic from the various depertments. traffic from the various depertments.
The PIB does not support hierarchical queueing at this time. However, 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 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. one queue set to feed into the queues of another queue set.
3.4. IP Mapping to and from Layer 2
The PIB specifies QoS policy by assigning DSCP values to specific
queues, but in order to provide a complete QoS picture, the PIB must
consider that not all devices on the network are DiffServ capable, i.e.,
capable of setting/inspecting a packet's DSCP value. Specifically, the
network might include layer 2 devices (switches) that can only support
IEEE 802.1p classes of service. In order to support network
configuration that consists of DiffServ capable devices and devices that
can only support IEEE 802.1p, the PIB has included a mapping table that
can allow the DSCP values to be mapped to specific IEEE 802.1p tag
values.
DSCP ---------- DSCP -------- DSCP ---------- DSCP
----->|diffserv|--------->|L2 |--------->|diffserv|------>
| router | 802.1p |switch| 802.1p | router | 802.1p
---------- priority -------- priority ---------- priority
A second case exists where packets coming into the network are arriving
from a non-DiffServ enabled device and no DSCP exists with in the
packet, but an 802.1p tag does exist. In the case where the DiffServ
device has the ability to set a DSCP in the packet, the DiffServ router
can map the layer 2 tag into a DSCP value. The PIB supports a mapping
table that can be used to map from the layer 2 tag to a DSCP value.
This mapping would be configured to apply to those ports where the
upstream device marks packets using a L2 802.1p tag as shown in the
figure below.
---------- ------------ DSCP
-->| L2 |--------->| diffserv |------->
-->| switch | 802.1p | router | 802.1p
---------- priority ------------ priority
Alternatively, the DiffServ router can have policies applied to it that
cause it to reclassify the incoming packet using a MF classifier,
ignoring the incoming 802.1p tag.
4. Summary of the DiffServ PIB 4. Summary of the DiffServ PIB
The DiffServ PIB consists of two modules. The first, DIFFSERV-BASE-PIB The DiffServ PIB consists of one module containing the base PRCs for
contains all the base PRCs for setting DiffServ policy, queues, setting DiffServ policy, queues, classifiers, meters, etc., and also
classifiers, meters, etc., and also contains filters for matching IP contains filters for matching IP packets. This module comprises several
packets. The second, the DIFFSERV-802-PIB contains PRCs to map the IEEE groups which are summarized in this section.
802.3 class of service values to DiffServ code points and filters for
matching on the datalink headers of 802.3 frames. Devices are not
required to support the second module.
These two modules comprise several groups which are summarized in this
section.
QoS Interface Group QoS Interface 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.
skipping to change at page 7, line 18 skipping to change at page 6, line 15
QoS Metering Group QoS Metering Group
This group contains configuration of meters. These meters can then This group contains configuration of meters. These meters can then
be used to by target classes to specify metering policy. be used to by target classes to specify metering policy.
QoS Action Group QoS Action Group
This group contains the policies that define the action to be taken This group contains the policies that define the action to be taken
after the result of the classification and metering. This group after the result of the classification and metering. This group
also contains the policies that associate the classifiers, meters also contains the policies that associate the classifiers, meters
and actions. and actions.
IP Classification and Policing Group
This group contains the policies that define the IP classifier
elements.
802 Config Group
This group configures the relationship between 802.3 class of
service values and DiffServ codepoints.
802 Classification and Policing Group
This group contains the policies that define the IEEE 802
classifier elements.
5. PIB Operational Overview 5. 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 Policy Rule 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, policyPrcSupportTable defined in the framework PIB. Each Table, frwkPrcSupportTable defined in the framework PIB [FR-PIB]. Each
instance of the policyPrcSupportTable 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, qosIfTypeTable. 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 describes the characteristics of an interface type. The PEP
informs the PDP of these interface types and then the PDP configures the informs the PDP of these interface types and then the PDP configures the
interfaces, per role combination, by means of installing queue sets. interfaces, per role combination, by means of installing queue sets.
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: with administration domain and interface-specific policy information.
(1) Administration domain policy information in
qosIfDscpAssignTable
qos802DscpMappingTable
qos802CosToDscpTable
(2) Interface type and role specific IP policy information in
qosIpAceTable
qosIpAclDefinitionTable
qosActionTable
qosTargetTable
qosMeterTable
(3) Interface type and role specific IEEE 802 policy information in
qos802AceTable
qos802AclDefinitionTable
Instances of the qosTargetTable define how the Traffic Conditioning Instances of the qosTargetTable define how the Traffic Conditioning
Elements are combined into Traffic Conditioning Blocks, as described in Elements are combined into Traffic Conditioning Blocks, as described in
[MODEL]. Each instance of the qosTargetTable applies to an interface [MODEL]. Each instance of the qosTargetTable applies to an interface
type defined by its roles and direction (ingress or egress). This is type defined by its roles and direction (ingress or egress). This is
pictured in the following diagram where the InterfaceRoles X, and Y pictured in the following diagram where the InterfaceRoles X, and Y
would be used by the network device to associate the traffic would be used by the network device to associate the traffic
conditioning block with the interfaces needing each of thess policies. conditioning block with the interfaces needing each of thess policies.
+----------------------------+ +----------------------------+ +----------------------------+
| qosIpAclDefinitionEntries | | qosTargetEntry | +----------------------------+ | qosTargetEntry |
| with AclType = IP | | with AclType = IP | | | | |
| AclId = 1 | <------------ AclId = 1 | | PolicyFilterEntry | <------- Ptr to Policy Filter |
| referencing its list of | | InterfaceRoles = X | | | | InterfaceRoles = X |
| qosIpAceEntries | | Order = 5 |
+----------------------------+ | Meter -----+ |
+-------------------|--------+
|
v
+----------------+
| qosMeterEntry |
+----------------+
|
v
+----------------+
| qosActionEntry |
+----------------+
+----------------------------+ +----------------------------+
| qos802AclDefinitionEntries | | qosTargetEntry |
| with AclType = 802 | | with AclType = 802 |
| AclId = 10 | <------------ AclId = 10 |
| referencing its list of | | InterfaceRoles = Y |
| qos802AceEntries | | Order = 15 |
+----------------------------+ | Meter -----+ | +----------------------------+ | Meter -----+ |
+-------------------|--------+ +-------------------|--------+
| |
v v
+----------------+ +----------------+
| qosMeterEntry | | qosMeterEntry |
+----------------+ +----------------+
| |
v v
+----------------+ +----------------+
| qosActionEntry | | qosActionEntry |
+----------------+ +----------------+
Figure 7.1 DiffServ PIB Table Relationships Figure 7.1 DiffServ PIB Table Relationships
Notice in the above diagram, IEEE 802 type classifiers are intermixed Notice that the qosTargetTable allows the use of heterogeneous
with the IP type classifiers, sharing the same pool of Traffic classifiers with same instance of qosMeterTable. For example, if
Conditioning Elements. The qosTargetTable allows use of heterogeneous classifiers operating on layer 2 addresses were to be defined, those
classifiers with same instance of qosMeterTable. Using IP and IEEE 802 classifiers could be used together with the IP ones.
classifiers together is just one example. Other types of classifiers
may be used heterogeneously.
After receiving the PIB, the PEP will associate the Classifier, Meter After receiving the PIB, the PEP will associate the Classifier, Meter
and Action with the corresponding interfaces supporting the specific and Action with the corresponding interfaces supporting the specific
interface type and roles. interface type and roles.
6. PIB Definitions 6. PIB Definitions
NOTE
In these PIB definitions, we use the term "access control entry" (ACE)
synonymous with filter, "access control list" (ACL) synonymous with
filter group, and sets of ACLs synonymous with classifier.
6.1. The DiffServ Base PIB 6.1. The DiffServ Base PIB
DIFFSERV-BASE-PIB PIB-DEFINITIONS ::= BEGIN DIFFSERV-PIB PIB-DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
Unsigned32, IpAddress, Integer32, Unsigned32, Integer32,
MODULE-IDENTITY, OBJECT-TYPE MODULE-IDENTITY, OBJECT-TYPE
FROM COPS-PR-SPPI FROM COPS-PR-SPPI
TruthValue, TEXTUAL-CONVENTION TruthValue, TEXTUAL-CONVENTION
FROM SNMPv2-TC FROM SNMPv2-TC
PolicyInstanceId, PolicyReferenceId PolicyInstanceId, PolicyReferenceId, PolicyTagId, PolicyTagReference
FROM COPS-PR-SPPI; FROM COPS-PR-SPPI;
RoleCombination RoleCombination
FROM POLICY-FRAMEWORK-PIB; FROM FRAMEWORK-PIB;
qosPolicyIpPib MODULE-IDENTITY qosPolicyIpPib MODULE-IDENTITY
CLIENT-TYPE { tbd -- QoS Client Type CLIENT-TYPE { tbd -- QoS Client Type
} }
LAST-UPDATED "200003101800Z" LAST-UPDATED "200007141800Z"
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
skipping to change at page 12, line 8 skipping to change at page 10, line 4
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An integer that describes the number of queues an interface "An integer that describes the number of queues an interface
supports. It is limited to the number of DSCP values." supports. It is limited to the number of DSCP values."
SYNTAX INTEGER (1..64) SYNTAX INTEGER (1..64)
-- --
-- QoS Interface Group -- QoS Interface Group
-- --
-- --
-- This group specifies the configuration of the various interface -- This group specifies the configuration of the various interface
-- types including the configuration of queue sets, setting of -- types including the configuration of queue sets, setting of
-- queueing parameters and the mapping of DSCPs to thresholds in -- queueing parameters and the mapping of DSCPs to thresholds in
-- queues. -- queues.
qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 } qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 }
-- --
qosIfTypeTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfTypeEntry
POLICY-ACCESS notify
STATUS current
DESCRIPTION
"Interface type definitions. This class describes the types
of interfaces that exist on the device. An interface type is
defined by its name. Associated with each interface type is a
set of capabilities. These capabilities are used by the PDP
to determine suitable queue sets for interfaces of this type."
::= { qosIfParameters 1 }
qosIfTypeEntry OBJECT-TYPE
SYNTAX QosIfTypeEntry
STATUS current
DESCRIPTION
"An instance of this class describes the characteristics
of a type of an interface."
INDEX { qosIfTypePrid }
UNIQUENESS { qosIfTypeName,
qosIfTypeCapabilityPrc }
::= { qosIfTypeTable 1 }
QosIfTypeEntry ::= SEQUENCE {
qosIfTypePrid PolicyInstanceId,
qosIfTypeName SnmpAdminString
qosIfTypeCapabilityPrc OBJECT IDENTIFIER,
qosIfTypeCapabilityId PolicyReferenceId
}
qosIfTypePrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies a
instance of the class."
::= { qosIfTypeEntry 1 }
qosIfTypeName OBJECT-TYPE
SYNTAX SnmpAdminString
STATUS current
DESCRIPTION
"The name of the interface type. The interface type name is
the unique identifier of an interface type."
::= { qosIfTypeEntry 2 }
qosIfTypeCapabilityPrc OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
STATUS current
DESCRIPTION
"A reference to a PRC that specifies a set of interface
capabilities. Together with the qosIfTypeCapabilityId,
this specifies a PRI that contains a set of capabilities
associated with this interface type.
A given interface type may have several set of capabilities
associated with it as long no two sets are of the same PRC.
In this way, new capabilities can easily be added to the PIB
as new interface types are developed by simply adding new
capability PRCs."
::= { qosIfTypeEntry 3 }
qosIfTypeCapabilityId OBJECT-TYPE
SYNTAX PolicyReferenceId
STATUS current
DESCRIPTION
"The instance ID of the PRI of class
qosIfTypeCapabilityPrc containing capabilities of the
interface."
::= { qosIfTypeEntry 4 }
qosIfTypeRoleComboTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfTypeRoleComboEntry
POLICY-ACCESS notify
STATUS current
DESCRIPTION
"Policy for an interface may depend not only on the type
of interface but also on its roles. This table specifies all
the <interface type, role combination> tuples currently on the
device."
::= { qosIfParameters 2 }
qosIfTypeRoleComboEntry OBJECT-TYPE
SYNTAX QosIfTypeRoleComboEntry
STATUS current
DESCRIPTION
"An instance of this class describes the combinations of
interface type and role combination."
INDEX { qosIfTypeRoleComboPrid }
UNIQUENESS { qosIfTypeRoleComboName,
qosIfTypeRoleComboRoles }
::= { qosIfTypeTable 1 }
QosIfTypeRoleComboEntry ::= SEQUENCE {
qosIfTypeRoleComboPrid PolicyInstanceId,
qosIfTypeRoleComboIfName SnmpAdminString,
qosIfTypeRoleComboRoles RoleCombination
}
qosIfTypeRoleComboPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies a
instance of the class."
::= { qosIfTypeRoleComboEntry 1 }
qosIfTypeRoleComboIfName OBJECT-TYPE
SYNTAX SnmpAdminString
STATUS current
DESCRIPTION
"The name of the interface type. This name must exist in
qosIfTypeTable."
::= { qosIfTypeRoleComboEntry 2 }
qosIfTypeRoleComboRoles OBJECT-TYPE
SYNTAX RoleCombination
STATUS current
DESCRIPTION
"A role combination. The PEP requires policy for interface
with this role combination and of type
qosIfTypeRoleComboName"
::= { qosIfTypeRoleComboEntry 3 }
-- 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.
-- 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
-- --
qosIfTypeClassificationCapsTable OBJECT-TYPE qosIfClassificationCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfTypeClassificationCapsEntry SYNTAX SEQUENCE OF QosIfClassificationCapsEntry
POLICY-ACCESS notify 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"
::= { qosIfParameters 3 } ::= { qosIfParameters 1 }
qosIfTypeClassificationCapsEntry OBJECT-TYPE qosIfClassificationCapsEntry OBJECT-TYPE
SYNTAX QosIfTypeClassificationEntry 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 { qosIfTypeClassificationCapsPrid } INDEX { qosIfClassificationCapsPrid }
UNIQUENESS { qosIfTypeClassificationCaps } UNIQUENESS { qosIfClassificationCaps }
::= { qosIfClassificationCapsTable 1 }
::= { qosIfTypeClassificationCapsTable 1 }
QosIfTypeClassificationCapsEntry ::= SEQUENCE { QosIfClassificationCapsEntry ::= SEQUENCE {
qosIfTypeClassificationCapsPrid PolicyInstanceId, qosIfClassificationCapsPrid PolicyInstanceId,
qosIfTypeClassificationCaps BITS qosIfClassificationCaps BITS
} }
qosIfTypeClassificationCapsPrid OBJECT-TYPE qosIfClassificationCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies a "An arbitrary integer index that uniquely identifies a
instance of the class." instance of the class."
::= { qosIfTypeClassificationCapsEntry 1 } ::= { qosIfClassificationCapsEntry 1 }
qosIfTypeClassificationCaps OBJECT-TYPE qosIfClassificationCaps 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), ipAddrClassification(3),
-- indicates the ability to classify based on -- indicates the ability to classify based on
-- IP addresses -- IP addresses
ipProtoClassification(4), ipProtoClassification(4),
-- indicates the ability to classify based on -- indicates the ability to classify based on
-- IP protocol numbers -- IP protocol numbers
ipL4Classification(4) ipDscpClassification(5)
-- indicates the ability to classify based on
-- IP DSCP
ipL4Classification(6)
-- 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)."
::= { qosIfClassificationCapsEntry 2 }
::= { qosIfTypeClassificationCapsEntry 2 }
-- --
-- Metering Capabilities
-- --
qosIfTypePolicingCapsTable OBJECT-TYPE qosIfMeteringCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfTypePolicingCapsEntry SYNTAX SEQUENCE OF QosIfMeteringCapsEntry
POLICY-ACCESS notify PIB-ACCESS notify, 3
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This table specifies the policing capabilities of an "This table specifies the metering capabilities of an
interface type" interface type"
::= { qosIfParameters 4 } ::= { qosIfParameters 2 }
qosIfTypePolicingEntry OBJECT-TYPE qosIfMeteringCapsEntry OBJECT-TYPE
SYNTAX QosIfTypePolicingEntry SYNTAX QosIfMeteringCapsEntry
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 { qosIfTypePolicingCapsPrid } INDEX { qosIfMeteringCapsPrid }
UNIQUENESS { qosIfTypePolicingCaps } UNIQUENESS { qosIfMeteringCaps }
::= { qosIfTypePolicingCapsTable 1 } ::= { qosIfMeteringCapsTable 1 }
QosIfTypePolicingCapsEntry ::= SEQUENCE { QosIfMeteringCapsEntry ::= SEQUENCE {
qosIfTypePolicingCapsPrid PolicyInstanceId, qosIfMeteringCapsPrid PolicyInstanceId,
qosIfTypePolicingCaps BITS qosIfMeteringCaps BITS
} }
qosIfTypePolicingCapsPrid OBJECT-TYPE qosIfMeteringCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies a "An arbitrary integer index that uniquely identifies a
instance of the class." instance of the class."
::= { qosIfTypePolicingCapsEntry 1 } ::= { qosIfMeteringCapsEntry 1 }
qosIfTypePolicingCaps OBJECT-TYPE qosIfMeteringCaps OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
policeByRemarking (1), meterByRemarking (1),
policeByDropping (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 classification capabilities. As with
classification capabilities, these policing 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)." PIBs)."
::= { qosIfTypePolicingCapsEntry 2 } ::= { qosIfMeteringCapsEntry 2 }
-- --
-- Scheduling Capabilities -- Scheduling Capabilities
-- --
qosIfTypeSchedulingCapsTable OBJECT-TYPE qosIfSchedulingCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfTypeSchedulingCapsEntry SYNTAX SEQUENCE OF QosIfSchedulingCapsEntry
POLICY-ACCESS notify 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"
::= { qosIfParameters 5 }
qosIfTypeSchedulingEntry OBJECT-TYPE ::= { qosIfParameters 3 }
SYNTAX QosIfTypeSchedulingEntry
qosIfSchedulingCapsEntry OBJECT-TYPE
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 { qosIfTypeSchedulingCapsPrid } INDEX { qosIfSchedulingCapsPrid }
UNIQUENESS { qosIfTypeSchedulingCapsMaxQueues, UNIQUENESS { qosIfSchedulingCapsMaxQueues,
qosIfTypeSchedulingCapsMaxThresholds, qosIfSchedulingCapsMaxThresholds,
qosIfTypeSchedulingCapsMaxPriorities, qosIfSchedulingCapsMaxPriorities,
qosIfTypeSchedulingCapsServiceDisc, qosIfSchedulingCapsServiceDisc,
qosIfTypeSchedulingCapsMinQueueSize, qosIfSchedulingCapsMinQueueSize,
qosIfTypeSchedulingCapsMaxQueueSize, qosIfSchedulingCapsMaxQueueSize,
qosIfTypeSchedulingCapsTotalQueueSize, qosIfSchedulingCapsTotalQueueSize,
qosIfTypeSchedulingCapsWredCapable } qosIfSchedulingCapsWredCapable }
::= { qosIfTypeSchedulingCapsTable 1 } ::= { qosIfSchedulingCapsTable 1 }
QosIfTypeSchedulingCapsEntry ::= SEQUENCE { QosIfSchedulingCapsEntry ::= SEQUENCE {
qosIfTypeSchedulingCapsPrid PolicyInstanceId, qosIfSchedulingCapsPrid PolicyInstanceId,
qosIfTypeSchedulingCapsMaxQueues INTEGER qosIfSchedulingCapsMaxQueues INTEGER
qosIfTypeSchedulingCapsMaxThresholds INTEGER qosIfSchedulingCapsMaxThresholds INTEGER
qosIfTypeSchedulingCapsMaxPriorities INTEGER qosIfSchedulingCapsMaxPriorities INTEGER
qosIfTypeSchedulingCapsServiceDisc BITS qosIfSchedulingCapsServiceDisc BITS
qosIfTypeSchedulingCapsMinQueueSize INTEGER qosIfSchedulingCapsMinQueueSize INTEGER
qosIfTypeSchedulingCapsMaxQueueSize INTEGER qosIfSchedulingCapsMaxQueueSize INTEGER
qosIfTypeSchedulingCapsTotalQueueSize INTEGER qosIfSchedulingCapsTotalQueueSize INTEGER
qosIfTypeSchedulingCapsWredCapable TruthValue qosIfSchedulingCapsWredCapable TruthValue
} }
qosIfTypeSchedulingCapsPrid OBJECT-TYPE qosIfSchedulingCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies a "An arbitrary integer index that uniquely identifies a
instance of the class." instance of the class."
::= { qosIfTypeSchedulingCapsEntry 1 } ::= { qosIfSchedulingCapsEntry 1 }
qosIfTypeSchedulingCapsMaxQueues 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. The queues set assigned to this interface type may
not have more queues than this maximum. A value of zero means not have more queues than this maximum. A value of zero means
that there is no maximum." that there is no maximum."
::= { qosIfTypeSchedulingCapsEntry 2 } ::= { qosIfSchedulingCapsEntry 2 }
qosIfTypeSchedulingCapsMaxThresholds 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."
::= { qosIfTypeSchedulingCapsEntry 3 } ::= { qosIfSchedulingCapsEntry 3 }
qosIfTypeSchedulingCapsMaxPriorities 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 groups 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."
::= { qosIfTypeSchedulingCapsEntry 4 } ::= { qosIfSchedulingCapsEntry 4 }
qosIfTypeSchedulingCapsServiceDisc OBJECT-TYPE qosIfSchedulingCapsServiceDisc OBJECT-TYPE
SYNTAX BITS { SYNTAX BITS {
fq(1), -- fair queueing (a.k.a. round robin) fq(1), -- fair queueing (a.k.a. round robin)
wfq(2) -- weighted fq (a.k.a. wrr) wfq(2) -- weighted fq (a.k.a. wrr)
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 by setting this attribute to other(1) and providing specified instead of, or in addition to, these disciplines by
another capabilities PRC specifying the other scheduling setting and providing another capabilities PRC specifying the
discipline. other scheduling discipline.
A value of fq indicates that the interface supports fair A value of fq indicates that the interface supports fair
queuing, i.e., each queue is treated equally and is serviced queuing, i.e., each queue is treated equally and is serviced
in a round-robin fashion. in a round-robin fashion.
A value of wfq indicates that the queue is serviced A value of wfq indicates that the queue is serviced
using a weighted fair queuing discipline. Queues are serviced using a weighted fair queuing discipline. Queues are serviced
in a round robin fashion but each queue is given bandwidth in in a round robin fashion but each queue is given bandwidth in
proportion to its weight. 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 }
::= { qosIfTypeSchedulingCapsEntry 5 } qosIfSchedulingCapsMinQueueSize OBJECT-TYPE
qosIfTypeSchedulingCapsMinQueueSize 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
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."
::= { qosIfTypeSchedulingCapsEntry 6 } ::= { qosIfSchedulingCapsEntry 6 }
qosIfTypeSchedulingCapsMaxQueueSize 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
qosIfTypeSchedulingCapsMinQueueSize, 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
the particular interface." the particular interface."
::= { qosIfTypeSchedulingCapsEntry 7 } ::= { qosIfSchedulingCapsEntry 7 }
qosIfTypeSchedulingCapsTotalQueueSize OBJECT-TYPE qosIfSchedulingCapsTotalQueueSize OBJECT-TYPE
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."
::= { qosIfTypeSchedulingCapsEntry 8 } ::= { qosIfSchedulingCapsEntry 8 }
qosIfTypeSchedulingCapsWredCapable OBJECT-TYPE qosIfSchedulingCapsWredCapable OBJECT-TYPE
SYNTAX TruthValue SYNTAX TruthValue
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"If true, then this interface supports WRED on (at least one "If true, then this interface supports WRED on (at least one
of) its queues. Otherwise it supports only taildrop." of) its queues. Otherwise it supports only taildrop."
::= { qosIfTypeSchedulingCapsEntry 9 } ::= { qosIfSchedulingCapsEntry 9 }
-- --
-- Queue Set Assignment Table -- Queue Set Assignment Table
-- --
qosIfTypeQueueSetAssignTable OBJECT-TYPE qosIfQueueSetAssignTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfTypeQueueSetAssignEntry SYNTAX SEQUENCE OF QosIfQueueSetAssignEntry
POLICY-ACCESS install PIB-ACCESS install, 6
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains the assignment of queue sets to interface types per "Contains the assignment of queue sets to interface types per
role combination." role combination.
::= { qosIfParameters 6 } 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."
qosIfTypeQueueSetAssignEntry OBJECT-TYPE ::= { qosIfParameters 4 }
SYNTAX QosIfTypeQueueSetAssignEntry
qosIfQueueSetAssignEntry OBJECT-TYPE
SYNTAX QosIfQueueSetAssignEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A conceptual row in the qosIfTypeQueueSetAssignTable. "A conceptual row in the qosIfQueueSetAssignTable.
INDEX { qosIfTypeQueueSetAssignPrid } INDEX { qosIfQueueSetAssignPrid }
UNIQUENESS { qosIfTypeQueueSetAssignIfName, UNIQUENESS { qosIfQueueSetAssignIfName,
qosIfTypeQueueSetAssignRoleCombo } qosIfQueueSetAssignRoles }
::= { qosIfTypeQueueSetAssignTable 1 } ::= { qosIfQueueSetAssignTable 1 }
QosIfTypeQueueSetAssignEntry ::= SEQUENCE { QosIfQueueSetAssignEntry ::= SEQUENCE {
qosIfTypeQueueSetAssignPrid PolicyInstanceId, qosIfQueueSetAssignPrid PolicyInstanceId,
qosIfTypeQueueSetAssignName SnmpAdminString, qosIfQueueSetAssignName SnmpAdminString,
qosIfTypeQueueSetAssignRoles RoleCombination, qosIfQueueSetAssignRoles RoleCombination,
qosIfTypeQueueSetAssignQueueSetId INTEGER qosIfQueueSetAssignQueueSetId PolicyTagReference,
qosIfQueueSetAssignDscpMap PolicyTagReference
} }
qosIfTypeQueueSetAssignPrid OBJECT-TYPE qosIfQueueSetAssignPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The index that uniquely identifies this row in the table, "The index that uniquely identifies this row in the table,
i.e., this PRI." i.e., this PRI."
::= { qosIfTypeQueueSetAssignEntry 1 } ::= { qosIfQueueSetAssignEntry 1 }
qosIfTypeQueueSetAssignName OBJECT-TYPE qosIfQueueSetAssignName OBJECT-TYPE
SYNTAX SnmpAdminString SYNTAX SnmpAdminString
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The name of an interface type. This name must exist in "The name of an interface type. This name must exist in
qosIfTypeTable." frwkIfCapSetTable."
::= { qosIfTypeQueueSetAssignEntry 2 } ::= { qosIfQueueSetAssignEntry 2 }
qosIfTypeQueueSetAssignRoles OBJECT-TYPE qosIfQueueSetAssignRoles OBJECT-TYPE
SYNTAX RoleCombination SYNTAX RoleCombination
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The role combination associated with the interface type. "The role combination associated with the interface type.
::= { qosIfTypeQueueSetAssignEntry 3 } ::= { qosIfQueueSetAssignEntry 3 }
qosIfTypeQueueSetAssignQueueSet OBJECT-TYPE qosIfQueueSetAssignQueueSet OBJECT-TYPE
SYNTAX INTEGER SYNTAX PolicyTagReference
PIB-TAG qosIfQueueSetId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The integer ID of the queue set to be assigned to all interfaces "The integer ID of the queue set to be assigned to all interfaces
of type specified by qosIfTypeQueueSetAssignName and with role of type specified by qosIfQueueSetAssignName and with role
combination specified by qosIfTypeQueueSetAssignRoles. combination specified by qosIfQueueSetAssignRoles.
This queue set must exist in qosIfQueueSetTable." This queue set must exist in qosIfQueueTable."
::= { qosIfTypeQueueSetAssignEntry 4 }
::= { qosIfQueueSetAssignEntry 4 }
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 -- Interface Queue Table
-- --
-- The Interface Queue Table enumerates the individual queues and -- The Interface Queue Table enumerates the individual queues and
-- groups them into queue sets. Configuration of each queue, and -- groups them into queue sets. Configuration of each queue, and
-- hence an entire queue set is specified by this table. -- hence an entire queue set is specified by this table.
-- --
qosIfQueueTable OBJECT-TYPE qosIfQueueTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfQueueEntry SYNTAX SEQUENCE OF QosIfQueueEntry
POLICY-ACCESS install PIB-ACCESS install, 10
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains configuration information for the individual queues "Contains configuration information for the individual queues
of the queue sets." of the queue sets."
::= { qosIfParameters 7 } ::= { qosIfParameters 5 }
qosIfQueueEntry OBJECT-TYPE qosIfQueueEntry OBJECT-TYPE
SYNTAX QosIfQueueEntry SYNTAX QosIfQueueEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A conceptual row in the qosIfQueueTable. "A conceptual row in the qosIfQueueTable.
Each row identifies a specific queue within a given queue Each row identifies a specific queue within a given queue
set and contains detailed information about the queue. Queues set and contains detailed information about the queue. Queues
are associated with a given set through this table and are associated with a given set through this table and
a queue set is associated with an interface set through a queue set is associated with an interface set through
the qosIfTypeQsetAssignTable." the qosIfQsetAssignTable."
INDEX { qosIfQueuePrid } INDEX { qosIfQueuePrid }
UNIQUENESS {} UNIQUENESS {}
::= { qosIfQueueTable 1 } ::= { qosIfQueueTable 1 }
QosIfQueueEntry ::= SEQUENCE { QosIfQueueEntry ::= SEQUENCE {
qosIfQueuePrid PolicyInstanceId, qosIfQueuePrid PolicyInstanceId,
qosIfQueueSetId INTEGER, qosIfQueueSetId PolicyTagId,
qosIfQueueQueueSize Unsigned32, qosIfQueueQueueSize Unsigned32,
qosIfQueueSetThreshSet INTEGER, qosIfQueueSetThreshSet PolicyTagReference,
qosIfQueuePriorityGroup INTEGER, qosIfQueuePriorityGroup INTEGER,
qosIfQueueServiceDisc INTEGER, qosIfQueueServiceDisc INTEGER,
qosIfQueueDrainSize Unsigned32, qosIfQueueDrainSize Unsigned32,
qosIfQueueMinAbsBandwidth Unsigned64, qosIfQueueMinAbsBandwidth Unsigned64,
qosIfQueueBandwidthAllocation INTEGER qosIfQueueBandwidthAllocation INTEGER
} }
qosIfQueuePrid OBJECT-TYPE qosIfQueuePrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The index that uniquely identifies this row in the table, "The index that uniquely identifies this row in the table,
i.e., this PRI." i.e., this PRI."
::= { qosIfQueueEntry 1 } ::= { qosIfQueueEntry 1 }
qosIfQueueSetId OBJECT-TYPE qosIfQueueSetId OBJECT-TYPE
SYNTAX INTEGER SYNTAX PolicyTagId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that uniquely identifies a specific queue set. The "An index that uniquely identifies a specific queue set. The
queue set that is identified with this value is associated queue set identified by this value is associated
with an interface set through the qosIfTypeQueueSet with an interface set through the
object in the qosIfTypeTable. The individual queues qosIfQueueSetAssignQueueSetId object in the
that are members of this set all have the same value for qosIfQueueSetAssignTable. The individual queues that are
this attribute (i.e., they have the same set ID)." members of this set all have the same value for this attribute
(i.e., they have the same set ID)."
::= { qosIfQueueEntry 2 } ::= { qosIfQueueEntry 2 }
qosIfQueueQueueSize OBJECT-TYPE qosIfQueueQueueSize OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The size of the queue in bytes. Some devices set queue size "The size of the queue in bytes. Some devices set queue size
in terms of packets. These devices must calculate the queue in terms of packets. These devices must calculate the queue
size in packets by assuming an average packet size suitable size in packets by assuming an average packet size suitable
skipping to change at page 26, line 6 skipping to change at page 21, line 14
Some devices have a fixed size buffer to be shared among all Some devices have a fixed size buffer to be shared among all
queues. These devices must allocate a fraction of the queues. These devices must allocate a fraction of the
total buffer space to this queue calculated as the the ratio total buffer space to this queue calculated as the the ratio
of the queue size to the sum of the queue sizes for the of the queue size to the sum of the queue sizes for the
interface." interface."
::= { qosIfQueueEntry 3 } ::= { qosIfQueueEntry 3 }
qosIfQueueThreshSet OBJECT-TYPE qosIfQueueThreshSet OBJECT-TYPE
SYNTAX INTEGER SYNTAX PolicyTagReference
PIB-TAG qosIfThresholdSetId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The threshold set in the threshold set table that is to be "The threshold set in the threshold set table that is to be
used to configure the thresholds of this queue. The threshold used to configure the thresholds of this queue. The threshold
set specifies how to configure the taildrop or RED thresholds set specifies how to configure the taildrop or RED thresholds
for this queue. for this queue.
"The threshold set may contain less thresholds than the queue "The threshold set may contain less thresholds than the queue
actually supports. In this case the queue is free to actually supports. In this case the queue is free to
configure the extra thresholds any way it likes since no configure the extra thresholds any way it likes since no
packets will ever be assigned to those thresholds." 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 } ::= { qosIfQueueEntry 4 }
qosIfQueuePriorityGroup OBJECT-TYPE qosIfQueuePriorityGroup OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute specifies the priority group that the queue "This attribute specifies the priority group that the queue
belongs to. Queues with a larger priority group number are belongs to. Queues with a larger priority group number are
given a higher priority than those with a smaller group given a higher priority than those with a smaller group
skipping to change at page 29, line 18 skipping to change at page 24, line 32
-- Interface Threshold Table -- Interface Threshold Table
-- --
-- The Interface Threshold Table enumerates the individual thresholds -- The Interface Threshold Table enumerates the individual thresholds
-- and groups them into sets that can be applied to queues. -- and groups them into sets that can be applied to queues.
-- Configuration of individual thresholds and hence the threshold sets -- Configuration of individual thresholds and hence the threshold sets
-- of individual queues, id done through this table. -- of individual queues, id done through this table.
-- --
qosIfThresholdTable OBJECT-TYPE qosIfThresholdTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfThresholdEntry SYNTAX SEQUENCE OF QosIfThresholdEntry
POLICY-ACCESS install PIB-ACCESS install, 6
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains configuration information for the individual thresholds "Contains configuration information for the individual thresholds
of the threshold sets." of the threshold sets."
::= { qosIfParameters 8 } ::= { qosIfParameters 6 }
qosIfThresholdEntry OBJECT-TYPE qosIfThresholdEntry OBJECT-TYPE
SYNTAX QosIfThresholdEntry SYNTAX QosIfThresholdEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A conceptual row in the qosIfThresholdTable. "A conceptual row in the qosIfThresholdTable.
Each row identifies a specific threshold within a given Each row identifies a specific threshold within a given
set and contains detailed information about the set and contains detailed information about the
threshold. Threshold sets are associated with a queue set through threshold. Threshold sets are associated with a queue set through
skipping to change at page 29, line 47 skipping to change at page 25, line 17
INDEX { qosIfThresholdPrid } INDEX { qosIfThresholdPrid }
UNIQUENESS { qosIfThresholdSetId, UNIQUENESS { qosIfThresholdSetId,
qosIfThresholdDropMethod, qosIfThresholdDropMethod,
qosIfThresholdMinThresh, qosIfThresholdMinThresh,
qosIfThresholdMaxThresh } qosIfThresholdMaxThresh }
::= { qosIfThresholdSetTable 1 } ::= { qosIfThresholdSetTable 1 }
QosIfThresholdSetEntry ::= SEQUENCE { QosIfThresholdSetEntry ::= SEQUENCE {
qosIfThresholdPrid PolicyInstanceId, qosIfThresholdPrid PolicyInstanceId,
qosIfThresholdSetId INTEGER, qosIfThresholdSetId PolicyTagId,
qosIfThresholdDropMethod INTEGER, qosIfThresholdDropMethod INTEGER,
qosIfThresholdMinThresh INTEGER, qosIfThresholdMinThresh INTEGER,
qosIfThresholdMaxThresh INTEGER qosIfThresholdMaxThresh INTEGER
} }
qosIfThresholdPrid OBJECT-TYPE qosIfThresholdPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The index that uniquely identifies this row in the table, "The index that uniquely identifies this row in the table,
i.e., this PRI." i.e., this PRI."
::= { qosIfThresholdEntry 1 } ::= { qosIfThresholdEntry 1 }
qosIfThresholdSetId OBJECT-TYPE qosIfThresholdSetId OBJECT-TYPE
SYNTAX INTEGER SYNTAX PolicyTagId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that uniquely identifies a specific threshold set. "An index that uniquely identifies a specific threshold set.
The individual thresholds that are members of this set all The individual thresholds that are members of this set all
have the same value for this attribute (i.e., they have the have the same value for this attribute (i.e., they have the
same set ID)." same set ID)."
::= { qosIfThresholdEntry 2 } ::= { qosIfThresholdEntry 2 }
qosIfThresholdDropMethod OBJECT-TYPE qosIfThresholdDropMethod OBJECT-TYPE
skipping to change at page 30, line 46 skipping to change at page 26, line 16
"The drop method to apply to packets exceeding the threshold. "The drop method to apply to packets exceeding the threshold.
If the mechanism is other then another policy may be specified If the mechanism is other then another policy may be specified
by an additional attribute augmenting this table." by an additional attribute augmenting this table."
::= { qosIfThresholdEntry 3 } ::= { qosIfThresholdEntry 3 }
qosIfThresholdMinThresh OBJECT-TYPE qosIfThresholdMinThresh OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The queue depth below which no packets are dropped. If the "The queue depth, in bytes, below which no packets are
queue depth is above this value and below the value of dropped. If the queue depth is above this value and below the
qosIfThresholdMaxThresh then packets assigned to this value of qosIfThresholdMaxThresh then packets assigned to this
threshold are dropped randomly by the random drop process if threshold are dropped randomly by the random drop process if
random drop is in effect. If tail drop is in effect, this random drop is in effect. If tail drop is in effect, this
attribute has no relevance." attribute has no relevance."
::= { qosIfThresholdEntry 4 } ::= { qosIfThresholdEntry 4 }
qosIfThresholdMaxThresh OBJECT-TYPE qosIfThresholdMaxThresh OBJECT-TYPE
SYNTAX INTEGER SYNTAX INTEGER
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The queue depth above which all packets assigned to this "The queue depth, in bytes, above which all packets assigned
threshold are dropped." to this threshold are dropped."
::= { qosIfThresholdEntry 5 } ::= { qosIfThresholdEntry 5 }
-- --
qosIfDscpAssignTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfDscpAssignEntry
POLICY-ACCESS install
STATUS current
DESCRIPTION
"Assigns a DSCP map specified in qosIfDscpMapTable an
interface type with a specific role combination. This map
then determines to which queue and threshold a packet with a
given DSCP gets assigned.
We use a map rather than assigning individual DSCPs in this
table because then the map can be used for multiple interface
type and role combo combinations."
::= { qosIfParameters 9 }
qosIfDscpAssignEntry OBJECT-TYPE
SYNTAX QosIfDscpAssignEntry
STATUS current
DESCRIPTION
"An instance of the qosIfDscpAssign class."
INDEX { qosIfDscpAssignPrid }
UNIQUENESS { qosIfDscpAssignName,
qosIfDscpAssignRoles }
::= { qosIfDscpAssignTable 1 }
QosIfDscpAssignEntry ::= SEQUENCE {
qosIfDscpAssignPrid PolicyInstanceId,
qosIfDscpAssignName SnmpAdminString,
qosIfDscpAssignRoles RoleCombination,
qosIfDscpAssignDscpMap INTEGER
}
qosIfDscpAssignPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An index that is used to uniquely identify the
instance of the qosIfDscpAssign class."
::= { qosIfDscpAssignEntry 1 }
qosIfDscpAssignName OBJECT-TYPE
SYNTAX SnmpAdminString
STATUS current
DESCRIPTION
"The type of interfaces to which this PRI applies.
::= { qosIfDscpAssignEntry 2 }
qosIfDscpAssignRoles OBJECT-TYPE
SYNTAX RoleCombination
STATUS current
DESCRIPTION
"The role combination with which an interface must be
configured to which this PRI applies."
::= { qosIfDscpAssignEntry 2 }
qosIfDscpAssignDscpMap OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"The DSCP map to apply to interfaces of type
qosIfDscpAssignName and role combo qosIfDscpAssignRoles."
::= { qosIfDscpAssignEntry 3 }
-- DSCP to Queue and Threshold Mapping Table -- DSCP to Queue and Threshold Mapping Table
-- --
-- Supports the assignment of DSCPs to queues and thresholds for each -- Supports the assignment of DSCPs to queues and thresholds for each
-- interface type -- interface type
-- --
qosIfDscpMapTable OBJECT-TYPE qosIfDscpMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfDscpMapEntry SYNTAX SEQUENCE OF QosIfDscpMapEntry
POLICY-ACCESS install PIB-ACCESS install, 6
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Assigns DSCP values to queues and thresholds for an arbitrary "Assigns DSCP values to queues and thresholds for an arbitrary
DSCP map. This map can then be assigned to various interface DSCP map. This map can then be assigned to various interface
and role combination pairs." and role combination pairs."
::= { qosIfParameters 10 } ::= { qosIfParameters 7 }
qosIfDscpMapEntry OBJECT-TYPE qosIfDscpMapEntry OBJECT-TYPE
SYNTAX QosIfDscpMapEntry SYNTAX QosIfDscpMapEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An instance of the qosIfDscpMap class." "An instance of the qosIfDscpMap class."
INDEX { qosIfDscpMapPrid } INDEX { qosIfDscpMapPrid }
UNIQUENESS { qosIfDscpMapMapId, UNIQUENESS { qosIfDscpMapMapId,
qosIfDscpMapDscp } qosIfDscpMapDscp }
::= { qosIfDscpMapTable 1 } ::= { qosIfDscpMapTable 1 }
QosIfDscpMapEntry ::= SEQUENCE { QosIfDscpMapEntry ::= SEQUENCE {
qosIfDscpMapPrid PolicyInstanceId, qosIfDscpMapPrid PolicyInstanceId,
qosIfDscpMapMapId INTEGER, qosIfDscpMapMapId PolicyTagId,
qosIfDscpMapDscp Dscp, qosIfDscpMapDscp Dscp,
qosIfDscpMapQueue PolicyReferenceId, qosIfDscpMapQueue PolicyReferenceId,
qosIfDscpMapThresh PolicyReferenceId qosIfDscpMapThresh PolicyReferenceId
} }
qosIfDscpMapPrid OBJECT-TYPE qosIfDscpMapPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that is used to uniquely identify the "An index that is used to uniquely identify the
instance of the qosIfDscpMap class." instance of the qosIfDscpMap class."
::= { qosIfDscpMapEntry 1 } ::= { qosIfDscpMapEntry 1 }
qosIfDscpMapMapId OBJECT-TYPE qosIfDscpMapMapId OBJECT-TYPE
SYNTAX INTEGER SYNTAX PolicyTagId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An integer that identifies the DSCP map to which this PRI "An integer that identifies the DSCP map to which this PRI
belongs." belongs."
::= { qosIfDscpMapEntry 2 } ::= { qosIfDscpMapEntry 2 }
qosIfDscpMapDscp OBJECT-TYPE qosIfDscpMapDscp OBJECT-TYPE
SYNTAX Dscp SYNTAX Dscp
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The DSCP that is being assigned to a queue and threshold by "The DSCP that is being assigned to a queue and threshold by
this PRI." this PRI."
::= { qosIfDscpMapEntry 3 } ::= { qosIfDscpMapEntry 3 }
qosIfDscpMapQueue OBJECT-TYPE qosIfDscpMapQueue OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX PolicyReferenceId
PIB-REFERENCE qosIfQueueTable
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute maps the DSCP specified by qosIfDscpMapDscp to "This attribute maps the DSCP specified by qosIfDscpMapDscp to
the queue identified by qosIfQueuePrid in qosIfQueueTable. the queue identified by qosIfQueuePrid in qosIfQueueTable.
For a given DSCP map, all the queues must belong to a single For a given DSCP map, all the queues must belong to a single
queue set." queue set."
::= { qosIfDscpMapEntry 4 } ::= { qosIfDscpMapEntry 4 }
qosIfDscpMapThresh OBJECT-TYPE qosIfDscpMapThresh OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX PolicyReferenceId
PIB-REFERENCE qosIfThresholdTable
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute maps the DSCP specified by qosIfDscpMapDscp to "This attribute maps the DSCP specified by qosIfDscpMapDscp to
the threshold identified by qosIfThresholdId in the threshold identified by qosIfThresholdId in
qosIfThresholdTable." The threshold set to which this qosIfThresholdTable." The threshold set to which this
threshold belongs must be assigned to the queue specified by threshold belongs must be assigned to the queue specified by
qosIfDscpMapQueue." qosIfDscpMapQueue."
::= { qosIfDscpMapEntry 5 } ::= { qosIfDscpMapEntry 5 }
skipping to change at page 35, line 24 skipping to change at page 29, line 7
-- --
-- The QoS Meter Table contains metering specifications that -- The QoS Meter Table contains metering specifications that
-- can be used to provide an acceptable flow bandwidth -- can be used to provide an acceptable flow bandwidth
-- dimension to the Target table. -- dimension to the Target table.
-- --
qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 } qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 }
qosMeterTable OBJECT-TYPE qosMeterTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosMeterEntry SYNTAX SEQUENCE OF QosMeterEntry
POLICY-ACCESS install PIB-ACCESS install, 10
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains the current set of configured meters. The "Contains the current set of configured meters. The
meters are associated with a classifier during meters are associated with a classifier during
operation through the QoS Target Table." operation through the QoS Target Table."
INSTALL-ERRORS { INSTALL-ERRORS {
invalidCommittedData(1), invalidCommittedData(1),
invalidPeakData(2) invalidPeakData(2)
} }
skipping to change at page 39, line 35 skipping to change at page 33, line 14
Peak burst (and rate) information must be present Peak burst (and rate) information must be present
if the qosMeterDataSpecification object has the value if the qosMeterDataSpecification object has the value
peakData(3). This, in turn, requires that high, medium peakData(3). This, in turn, requires that high, medium
and low conformance actions be specified." and low conformance actions be specified."
::= { qosMeterEntry 6 } ::= { qosMeterEntry 6 }
qosMeterHighConfAction OBJECT-TYPE qosMeterHighConfAction OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX PolicyReferenceId
PIB-REFERENCE qosActionTable
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the action that is to be "This attribute identifies the action that is to be
initiated for flows that are determined to have a high initiated for flows that are determined to have a high
level of conformance with regard to metering criteria level of conformance with regard to metering criteria
being applied to the flow. being applied to the flow.
Actions must be defined in the qosActionTable prior to Actions must be defined in the qosActionTable prior to
being referenced by this attribute. A valid value for being referenced by this attribute. A valid value for
this attribute must always be provided." this attribute must always be provided."
::= { qosMeterEntry 7 } ::= { qosMeterEntry 7 }
qosMeterMedConfAction OBJECT-TYPE qosMeterMedConfAction OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX PolicyReferenceId
PIB-REFERENCE qosActionTable
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the action that is to be "This attribute identifies the action that is to be
initiated for flows that are determined to have a medium initiated for flows that are determined to have a medium
level of conformance with regard to metering criteria level of conformance with regard to metering criteria
being applied to the flow. being applied to the flow.
Actions must be defined in the qosActionTable prior to Actions must be defined in the qosActionTable prior to
being referenced by this attribute. A valid value for being referenced by this attribute. A valid value for
this attribute must be provided if the value of the this attribute must be provided if the value of the
associated qosMeterDataSpecification object is associated qosMeterDataSpecification object is
committedRate(2) or peakRate(3)." committedRate(2) or peakRate(3)."
::= { qosMeterEntry 8 } ::= { qosMeterEntry 8 }
qosMeterLowConfAction OBJECT-TYPE qosMeterLowConfAction OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX PolicyReferenceId
PIB-REFERENCE qosActionTable
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the action that is to be "This attribute identifies the action that is to be
initiated for flows that are determined to have a low initiated for flows that are determined to have a low
level of conformance with regard to metering criteria level of conformance with regard to metering criteria
being applied to the flow. being applied to the flow.
Actions must be defined in the qosActionTable prior to Actions must be defined in the qosActionTable prior to
being referenced by this attribute. A valid value for being referenced by this attribute. A valid value for
this attribute must be provided if the value of the this attribute must be provided if the value of the
associated qosMeterDataSpecification object is associated qosMeterDataSpecification object is
peakRate(3)." peakRate(3)."
::= { qosMeterEntry 9 } ::= { qosMeterEntry 9 }
-- --
-- The Generic QoS Action Group
-- --
qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 } qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 }
-- --
-- The QoS Action Table -- The QoS Action Table
-- --
-- The QoS Action Table describes actions that are associated with -- 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 qosActionTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosActionEntry SYNTAX SEQUENCE OF QosActionEntry
POLICY-ACCESS install PIB-ACCESS install, 4
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains the current set of configured actions. The actions "Contains the current set of configured actions. The actions
are associated with IP, IEEE 802 and other ACLs and are associated with meters and interfaces during operation."
interfaces during operation."
::= { qosAction 1 } ::= { qosAction 1 }
qosActionEntry OBJECT-TYPE qosActionEntry OBJECT-TYPE
SYNTAX QosActionEntry SYNTAX QosActionEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"General action definitions. Each entry specifies an instance "General action definitions. Each entry specifies an instance
of the qosAction class which describes (potentially) of the qosAction class which describes (potentially)
several distinct action attributes. Each action is taken several distinct action attributes.
individually regarding the data in question. Several actions
can be taken for a single frame.
An instance of this class can not be deleted while it is being An instance of this class can not be deleted while it is being
referenced in a target instance in another class. This referenced in a target instance in another class. This
class may be extended with actions that apply to specific QoS class may be extended with actions that apply to specific QoS
policies (e.g., IP, IEEE 802, security) using augmentation." policies using augmentation."
INDEX { qosActionPrid } INDEX { qosActionPrid }
UNIQUENESS { qosActionDrop, UNIQUENESS { qosActionDrop,
qosActionUpdateDSCP, qosActionUpdateDSCP }
qosActionMeter }
::= { qosActionTable 1 } ::= { qosActionTable 1 }
QosActionEntry ::= SEQUENCE { QosActionEntry ::= SEQUENCE {
qosActionPrid PolicyInstanceId, qosActionPrid PolicyInstanceId,
qosActionDrop TruthValue, qosActionAction INTEGER,
qosActionUpdateDSCP Integer32, qosActionUpdateDSCP Dscp,
qosActionMeter PolicyReferenceId
} }
qosActionPrid OBJECT-TYPE qosActionPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies "An arbitrary integer index that uniquely identifies
the instance of the QoS Action class. Class instances the instance of the QoS Action class. Class instances
may not be contiguous. Actions are associated with may not be contiguous. Actions are associated with
Target instances in other classes (e.g., the QoS Target instances in other classes (e.g., the QoS
Target class) using this attribute." Meter class) using this attribute."
::= { qosActionEntry 1 } ::= { qosActionEntry 1 }
qosActionDrop OBJECT-TYPE qosActionAction OBJECT-TYPE
SYNTAX TruthValue SYNTAX INTEGER {
drop(1),
mark(2),
unchange(3) -- don't alter the DSCP
}
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This action attribute, when specified, will cause the "This action attribute specifies the action to be taken on the
frame being evaluated to be dropped if the value is packet.
'true(1)'. A value of 'false(2)' indicates that this
action will not be initiated (i.e., the frame will not
be dropped) based on this attribute.
Prior to discarding a packet, other actions that have Prior to discarding a packet, other actions that have
been specified should be performed if they make protocol been specified should be performed if they make protocol
sense. For example, requests for traffic mirroring (if sense. For example, requests for traffic mirroring (if
such an action is supported by a device) should be such an action is supported by a device) should be
honored. However, updating protocol header values will honored. However, updating protocol header values will
typically not be necessary." typically not be necessary."
::= { qosActionEntry 2 } ::= { qosActionEntry 2 }
qosActionUpdateDSCP OBJECT-TYPE qosActionUpdateDSCP OBJECT-TYPE
SYNTAX Integer32 (-1 | 0..63) SYNTAX Dscp
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This action component, when specified, will cause the "This attribute specifies the value to write into the DSCP
value contained in the Differentiated Services (DS) field of the packet if the action to be taken is to mark the
field of an associated IP datagram to be updated with packet.
the value of this object.
A value of -1 indicates that this action component has not
been set to an appropriate value and should not be used for
action initiation. The DSCP should remain unchanged."
::= { qosActionEntry 3 } ::= { qosActionEntry 3 }
qosActionMeter OBJECT-TYPE
SYNTAX PolicyReferenceId
STATUS current
DESCRIPTION
"This action component, when specified, will identify
another level of metering that should be applied to
the given flow. This action is only taken if it is
not in conflict with other specified actions, i.e.,
qosActionDrop.
A value of 0 indicates that an additional metering
component has not been specified. No additional metering
is thus required."
::= { qosActionEntry 4 }
-- --
-- The QoS Target Table -- 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 qosTargetTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosTargetEntry SYNTAX SEQUENCE OF QosTargetEntry
POLICY-ACCESS install PIB-ACCESS install, 7
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A class that applies a set of ACLs to interfaces specifying, "A class that applies a set of filters to interfaces specifying,
for each interface, the precedence order of the ACL with for each interface, the precedence order of the filters with
respect to other ACLs applied to the same interface and, for respect to other filters applied to the same interface and, for
each ACL, the action to take for a packet that matches a each filter, the meter to apply to packets accepted by the
permit ACE in that ACL. Interfaces are specified abstractly filter. Interfaces are specified abstractly
in terms of interface roles. in terms of interface roles.
This class may contain ACLs that specify different types This class may contain filters that specify different types
of traffic classification (e.g., IP ACLs and IEEE 802 ACLs of traffic classification."
defined in their respective definition tables). An ACL is
identified by its class and instance within that class. An
ACL association is formed when ACLs apply to the same
interfaces, as determined by the specified interface role
and direction. ACL evaluation precedence within an
association is determined by the precedence attribute."
INSTALL-ERRORS { INSTALL-ERRORS {
priPrecedenceConflict(1) -- precedence conflict detected priPrecedenceConflict(1) -- precedence conflict detected
} }
::= { qosAction 2 } ::= { qosAction 2 }
qosTargetEntry OBJECT-TYPE qosTargetEntry OBJECT-TYPE
SYNTAX QosTargetEntry SYNTAX QosTargetEntry
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An instance of the qosTarget class. Instance creation "An instance of the qosTarget class. Instance creation
may be prohibited based on the status of certain class may be prohibited based on the status of certain class
attributes which must exist prior to class instantiation." attributes which must exist prior to class instantiation."
INDEX { qosTargetPrid } INDEX { qosTargetPrid }
UNIQUENESS { qosTargetAclId, UNIQUENESS { qosTargetFilterId,
qosTargetAclType,
qosTargetInterfaceRoles, qosTargetInterfaceRoles,
qosTargetInterfaceDirection } qosTargetInterfaceDirection,
qosTargetOrder }
::= { qosTargetTable 1 } ::= { qosTargetTable 1 }
QosTargetEntry ::= SEQUENCE { QosTargetEntry ::= SEQUENCE {
qosTargetPrid PolicyInstanceId, qosTargetPrid PolicyInstanceId,
qosTargetAclId PolicyReferenceId, qosTargetFilterId PolicyTagReference,
qosTargetAclType OBJECT IDENTIFIER,
qosTargetInterfaceRoles RoleCombination, qosTargetInterfaceRoles RoleCombination,
qosTargetInterfaceDirection INTEGER, qosTargetInterfaceDirection INTEGER,
qosTargetOrder Unsigned32, qosTargetOrder Unsigned32,
qosTargetMeter PolicyReferenceId qosTargetMeter PolicyReferenceId
} }
qosTargetPrid OBJECT-TYPE qosTargetPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 45, line 4 skipping to change at page 37, line 41
qosTargetOrder Unsigned32, qosTargetOrder Unsigned32,
qosTargetMeter PolicyReferenceId qosTargetMeter PolicyReferenceId
} }
qosTargetPrid OBJECT-TYPE qosTargetPrid OBJECT-TYPE
SYNTAX PolicyInstanceId SYNTAX PolicyInstanceId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An arbitrary integer index that uniquely identifies "An arbitrary integer index that uniquely identifies
the instance of the QoS Target class." the instance of the QoS Target class."
::= { qosTargetEntry 1 } ::= { qosTargetEntry 1 }
qosTargetAclId OBJECT-TYPE qosTargetFilterId OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX PolicyTagReference
PIB-TAG frwkFilterGroupDefinitionId
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the ACL that is associated "This attribute identifies the filter group that is associated with
with this target. It identifies (potentially many) ACL this target. This filter group must be specified in
class instances in a specific ACL Definition table frwkFilterGroupDefinitionTable and the specific group is
where ACLs, and their associated ACEs, are defined. identified by the value of this attribute."
For example, instances in the qosIpAclDefinitionTable
are identified by setting the value of this object
equal to the qosIpAclDefinitionAclId of the instances
being targeted. This value, together with the value of
the corresponding qosTargetAclType attribute,
uniquely identifies one or more instances of a specific
ACL Definition class.
Attempting to specify an unknown ACL class instance will
result in an appropriate error indication being returned
to the entity that is attempting to install the conflicting
entry. For example, a 'priUnknown(2)' error indication is
returned to the policy server in this situation."
::= { qosTargetEntry 2 } ::= { qosTargetEntry 2 }
qosTargetAclType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
STATUS current
DESCRIPTION
"The ACL Definition class that is being referenced by
this instance of the ACL Target class. This policy
class identifier, together with the corresponding
qosTargetAclId attribute, uniquely identifies
instances of a specific ACL Definition class.
The object identifier value of this attribute must
exist in the policyPrcSupportTable."
::= { qosTargetEntry 3 }
qosTargetInterfaceRoles OBJECT-TYPE qosTargetInterfaceRoles OBJECT-TYPE
SYNTAX RoleCombination SYNTAX RoleCombination
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The interfaces to which this ACL applies specified "The interfaces to which this target applies specified
in terms of a set of roles. The role combination in terms of a set of roles. The role combination
specified by this attribute must exist in the specified by this attribute must exist in the
qosInterfaceTypeTable prior to being association frwkIfCapSetRoleComboTable prior to being association
with an instance of this class." with an instance of this class."
::= { qosTargetEntry 4 } ::= { qosTargetEntry 3 }
qosTargetInterfaceDirection OBJECT-TYPE qosTargetInterfaceDirection OBJECT-TYPE
SYNTAX INTEGER { SYNTAX INTEGER {
in(1), in(1),
out(2) out(2)
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The direction of packet flow at the interface in "The direction of packet flow at the interface in
question to which this ACL applies." question to which this filter applies."
::= { qosTargetEntry 5 } ::= { qosTargetEntry 4 }
qosTargetOrder OBJECT-TYPE qosTargetOrder OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An integer that determines the precedence order of "An integer that determines the precedence order of
this ACL in the list of ACLs applied to interfaces of this filter in the list of filters applied to interfaces of
the specified role combination. An ACL with a given the specified role combination. A filter with a given
precedence order is positioned in the list before one precedence order is positioned in the list before one
with a higher-valued precedence order. with a higher-valued precedence order.
As an example, consider the following ACL Target association: As an example, consider the following Target association:
Index IfRoleCombo IfDirection AclId AclType Order Index IfRoleCombo IfDirection FilterId Order
14 'eth1000+L2+L3' 'in' 8 '802' 1 14 'eth1000+L2+L3' 'in' 8 1
15 'eth1000+L2+L3' 'in' 3 '802' 2 15 'eth1000+L2+L3' 'in' 3 2
16 'eth1000+L2+L3' 'in' 12 'IP' 3 16 'eth1000+L2+L3' 'in' 12 3
17 'eth1000+L2+L3' 'in' 6 'IP' 4 17 'eth1000+L2+L3' 'in' 6 4
18 'eth1000+L2+L3' 'in' 21 'IP' 5 18 'eth1000+L2+L3' 'in' 21 5
Five distinct ACL specifications, 3 from an IP ACL Five distinct filter specifications form a Target association
Definition class and 2 from an IEEE 802 ACL Definition class, (e.g., based on the specified interface role combination and
form an Acl Target association (e.g., based on the specified direction attributes) with a prescribed order of
interface role combination and direction attributes) with a evaluation. The FilterId attributes identify the filter
prescribed order of evaluation. The AclType and AclId definition instances.
attributes identify the ACL Definition instances in their
respective classes.
Precedence values within an association must be unique Precedence values within an association must be unique
otherwise instance installation will be prohibited and an otherwise instance installation will be prohibited and an
error value will be returned." error value will be returned."
::= { qosTargetEntry 6 } ::= { qosTargetEntry 5 }
qosTargetMeter OBJECT-TYPE qosTargetMeter OBJECT-TYPE
SYNTAX PolicyReferenceId SYNTAX PolicyReferenceId
PIB-REFERENCE qosMeterTable
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute identifies the meter that is associated "This attribute identifies the meter that is associated
with this QoS Target instance. Meters are defined with this QoS Target instance. Meters are defined
in the qosMeterTable. The corresponding instance in in the qosMeterTable. The corresponding instance in
the qosMeter class (i.e., the class instance where the qosMeter class (i.e., the class instance where
the qosMeterPrid is equal to the value of this object) the qosMeterPrid is equal to the value of this object)
must exist prior to being associated with a Target must exist prior to being associated with a Target
entry." entry."
::= { qosTargetEntry 7 } ::= { qosTargetEntry 6 }
qosIpQos OBJECT IDENTIFIER ::= { qosPolicyIpPibClasses 1 }
qosIpAceTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIpAceEntry
POLICY-ACCESS install
STATUS current
DESCRIPTION
"ACE definitions. A packet has to match all fields in an
ACE. Wildcards may be specified for those fields that are
not relevant."
INSTALL-ERRORS {
invalidDstL4PortData(1),
invalidSrcL4PortData(2)
}
::= { qosIpQos 1 }
qosIpAceEntry OBJECT-TYPE
SYNTAX QosIpAceEntry
STATUS current
DESCRIPTION
"An instance of the qosIpAce class."
INDEX { qosIpAcePrid }
UNIQUENESS { qosIpAceDstAddr,
qosIpAceDstAddrMask,
qosIpAceSrcAddr,
qosIpAceSrcAddrMask,
qosIpAceDscp,
qosIpAceProtocol,
qosIpAceDstL4PortMin,
qosIpAceDstL4PortMax,
qosIpAceSrcL4PortMin,
qosIpAceSrcL4PortMax }
::= { qosIpAceTable 1 }
QosIpAceEntry ::= SEQUENCE {
qosIpAcePrid PolicyInstanceId,
qosIpAceDstAddr IpAddress,
qosIpAceDstAddrMask IpAddress,
qosIpAceSrcAddr IpAddress,
qosIpAceSrcAddrMask IpAddress,
qosIpAceDscp Integer32,
qosIpAceProtocol INTEGER,
qosIpAceDstL4PortMin INTEGER,
qosIpAceDstL4PortMax INTEGER,
qosIpAceSrcL4PortMin INTEGER,
qosIpAceSrcL4PortMax INTEGER,
qosIpAcePermit TruthValue
}
qosIpAcePrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An integer index to uniquely identify this ACE among all the
ACEs."
::= { qosIpAceEntry 1 }
qosIpAceDstAddr OBJECT-TYPE
SYNTAX IpAddress
STATUS current
DESCRIPTION
"The IP address to match against the packet's destination IP
address."
::= { qosIpAceEntry 2 }
qosIpAceDstAddrMask OBJECT-TYPE
SYNTAX IpAddress
STATUS current
DESCRIPTION
"A mask for the matching of the destination IP address.
A zero bit in the mask means that the corresponding bit in
the address always matches."
::= { qosIpAceEntry 3 }
qosIpAceSrcAddr OBJECT-TYPE
SYNTAX IpAddress
STATUS current
DESCRIPTION
"The IP address to match against the packet's source IP
address."
::= { qosIpAceEntry 4 }
qosIpAceSrcAddrMask OBJECT-TYPE
SYNTAX IpAddress
STATUS current
DESCRIPTION
"A mask for the matching of the source IP address."
::= { qosIpAceEntry 5 }
qosIpAceDscp OBJECT-TYPE
SYNTAX Integer32 (-1 | 0..63)
STATUS current
DESCRIPTION
"The value that the DSCP in the packet can have and
match this ACE. A value of -1 indicates that a specific
DSCP value has not been defined and thus all DSCP values
are considered a match."
::= { qosIpAceEntry 6 }
qosIpAceProtocol OBJECT-TYPE
SYNTAX INTEGER (0..255)
STATUS current
DESCRIPTION
"The IP protocol to match against the packet's protocol.
A value of zero means match all."
::= { qosIpAceEntry 7 }
qosIpAceDstL4PortMin OBJECT-TYPE
SYNTAX INTEGER (0..65535)
STATUS current
DESCRIPTION
"The minimum value that the packet's layer 4 destination
port number can have and match this ACE."
::= { qosIpAceEntry 8 }
qosIpAceDstL4PortMax OBJECT-TYPE
SYNTAX INTEGER (0..65535)
STATUS current
DESCRIPTION
"The maximum value that the packet's layer 4 destination
port number can have and match this ACE. This value must be
equal to or greater that the value specified for this ACE in
qosIpAceDstL4PortMin."
::= { qosIpAceEntry 9 }
qosIpAceSrcL4PortMin OBJECT-TYPE
SYNTAX INTEGER (0..65535)
STATUS current
DESCRIPTION
"The minimum value that the packet's layer 4 source port
number can have and match this ACE."
::= { qosIpAceEntry 10 }
qosIpAceSrcL4PortMax OBJECT-TYPE
SYNTAX INTEGER (0..65535)
STATUS current
DESCRIPTION
"The maximum value that the packet's layer 4 source port
number can have and match this ACE. This value must be equal
to or greater that the value specified for this ACE in
qosIpAceSrcL4PortMin."
::= { qosIpAceEntry 11 }
qosIpAcePermit OBJECT-TYPE
SYNTAX TruthValue
STATUS current
DESCRIPTION
"If the packet matches this ACE and the value of this
attribute is true, then the matching process terminates
and the QoS associated with this ACE (indirectly through
the ACL) is applied to the packet. If the value of this
attribute is false, then no more ACEs in this ACL are
compared to this packet and matching continues with the
first ACE of the next ACL."
::= { qosIpAceEntry 12 }
qosIpAclDefinitionTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIpAclDefinitionEntry
POLICY-ACCESS install
STATUS current
DESCRIPTION
"A class that defines a set of ACLs each being an ordered list
of ACEs. Each instance of this class identifies one ACE of
an ACL and the precedence order of that ACE with respect to
other ACEs in the same ACL."
INSTALL-ERRORS {
priPrecedenceConflict(1) -- precedence conflict detected
}
::= { qosIpQos 2 }
qosIpAclDefinitionEntry OBJECT-TYPE
SYNTAX QosIpAclDefinitionEntry
STATUS current
DESCRIPTION
"An instance of the qosIpAclDefinition class."
INDEX { qosIpAclDefinitionPrid }
UNIQUENESS { qosIpAclDefinitionAclId,
qosIpAclDefinitionAceId }
::= { qosIpAclDefinitionTable 1 }
QosIpAclDefinitionEntry ::= SEQUENCE {
qosIpAclDefinitionPrid PolicyInstanceId,
qosIpAclDefinitionAclId INTEGER,
qosIpAclDefinitionAceId PolicyReferenceId,
qosIpAclDefinitionAceOrder Unsigned32
}
qosIpAclDefinitionPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"Unique index of this policy rule instance."
::= { qosIpAclDefinitionEntry 1 }
qosIpAclDefinitionAclId OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"An ID for this ACL. There will be one instance of
the class qosIpAclDefinition with this ID for each ACE in
the ACL per role combination."
::= { qosIpAclDefinitionEntry 2 }
qosIpAclDefinitionAceId OBJECT-TYPE
SYNTAX PolicyReferenceId
STATUS current
DESCRIPTION
"This attribute specifies the ACE in the qosIpAceTable that
is in the ACL specified by qosIpAclDefinitionAclId at the
position specified by qosIpAceOrder.
Attempting to specify an unknown class instance will result
in an appropriate error indication being returned to the
entity that is attempting to install the conflicting entry.
For example, a 'priUnknown(2)' error indication is returned
to the policy server in this situation."
::= { qosIpAclDefinitionEntry 3 }
qosIpAclDefinitionAceOrder OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"The precedence order of this ACE. The precedence order
determines the position of this ACE in the ACL. An ACE with
a given precedence order is positioned in the access control
list before one with a higher-valued precedence order.
Precedence values within a group must be unique otherwise
instance installation will be prohibited and an error
value will be returned."
::= { qosIpAclDefinitionEntry 4 }
-- --
-- Conformance Section -- Conformance Section
-- --
qosPolicyIpPibConformance qosPolicyIpPibConformance
OBJECT IDENTIFIER ::= { qosPolicyIpPib 3 } OBJECT IDENTIFIER ::= { qosPolicyIpPib 3 }
qosPolicyIpPibCompliances qosPolicyIpPibCompliances
OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 1 } OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 1 }
qosPolicyIpPibGroups qosPolicyIpPibGroups
OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 2 } OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 2 }
qosPolicyIpPibCompliance MODULE-COMPLIANCE qosPolicyIpPibCompliance 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 IP PIB."
MODULE -- this module MODULE -- this module
MANDATORY-GROUPS { qosIfTypeGroup, MANDATORY-GROUPS { qosIfSchedulingCapsGroup,
qosIfTypeRoleComboGroup, qosIfQueueSetAssignGroup,
qosIfTypeSchedulingCapsGroup,
qosIfTypeQueueSetAssignGroup,
qosIfQueueGroup, qosIfQueueGroup,
qosMeterGroup, qosMeterGroup,
qosActionGroup, qosActionGroup,
qosTargetGroup } qosTargetGroup }
OBJECT qosIfTypeQueueSetAssignName OBJECT qosIfQueueSetAssignName
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosIfTypeQueueSetAssignRoles OBJECT qosIfQueueSetAssignRoles
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosIfTypeQueueSetAssignQueueSetId OBJECT qosIfQueueSetAssignQueueSetId
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosIfQueueSetId OBJECT qosIfQueueSetId
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosIfQueueQueueSize OBJECT qosIfQueueQueueSize
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
skipping to change at page 55, line 40 skipping to change at page 42, line 11
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosActionDrop OBJECT qosActionDrop
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosActionUpdateDSCP OBJECT qosActionUpdateDSCP
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosActionMeter GROUP qosIfClassificationCapsGroup
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
GROUP qosIfTypeClassificationCapsGroup
DESCRIPTION DESCRIPTION
"The qosIfTypeClassificationCapsGroup is mandatory "The qosIfClassificationCapsGroup is mandatory
if IP datagram classification is supported." if IP datagram classification is supported."
GROUP qosIfTypePolicingCapsGroup
GROUP qosIfMeteringCapsGroup
DESCRIPTION DESCRIPTION
"The qosIfTypePolicingCapsGroup is mandatory if "The qosIfMeteringCapsGroup is mandatory if
policing and shaping capabilities are supported." metering and shaping capabilities are supported."
GROUP qosIfThresholdGroup GROUP qosIfThresholdGroup
DESCRIPTION DESCRIPTION
"The qosIfThresholdGroup is mandatory if "The qosIfThresholdGroup is mandatory if
queue-based thresholds are supported and if queue-based thresholds are supported and if
the qosIfDscpMapGroup is supported." the qosIfDscpMapGroup is supported."
OBJECT qosIfThresholdSetId OBJECT qosIfThresholdSetId
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
skipping to change at page 57, line 24 skipping to change at page 43, line 36
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosIfDscpMapQueue OBJECT qosIfDscpMapQueue
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
OBJECT qosIfDscpMapThresh OBJECT qosIfDscpMapThresh
MIN-ACCESS notify MIN-ACCESS notify
DESCRIPTION "Install support is not required." DESCRIPTION "Install support is not required."
GROUP qosIpAceGroup
DESCRIPTION
"The qosIpAceGroup is mandatory if filtering
based on IP traffic components is supported."
GROUP qosIpAclDefinitionGroup
DESCRIPTION
"The qosIpAclDefinitionGroup is mandatory if filtering
based on IP traffic components is supported."
::= { qosPolicyIpPibCompliances 1 } ::= { qosPolicyIpPibCompliances 1 }
qosIfTypeGroup OBJECT-GROUP qosIfClassificationCapsGroup OBJECT-GROUP
OBJECTS {
qosIfTypeName,
qosIfTypeCapabilityPrc,
qosIfTypeCapabilityId
}
STATUS current
DESCRIPTION
"Objects from the qosIfTypeTable."
::= { qosPolicyIpPibGroups 1 }
qosIfTypeRoleComboGroup OBJECT-GROUP
OBJECTS {
qosIfTypeRoleComboIfName,
qosIfTypeRoleComboRoles
}
STATUS current
DESCRIPTION
"Objects from the qosIfTypeRoleComboTable."
::= { qosPolicyIpPibGroups 2 }
qosIfTypeClassificationCapsGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfTypeClassificationCaps qosIfClassificationCaps
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfTypeClassificationCapsTable." "Objects from the qosIfClassificationCapsTable."
::= { qosPolicyIpPibGroups 3 } ::= { qosPolicyIpPibGroups 3 }
qosIfTypePolicingCapsGroup OBJECT-GROUP qosIfMeteringCapsGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfTypePolicingCaps qosIfMeteringCaps
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfTypePolicingCapsTable." "Objects from the qosIfMeteringCapsTable."
::= { qosPolicyIpPibGroups 4 } ::= { qosPolicyIpPibGroups 4 }
qosIfTypeSchedulingCapsGroup OBJECT-GROUP qosIfSchedulingCapsGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfTypeSchedulingCapsMaxQueues, qosIfSchedulingCapsMaxQueues,
qosIfTypeSchedulingCapsMaxThresholds, qosIfSchedulingCapsMaxThresholds,
qosIfTypeSchedulingCapsMaxPriorities, qosIfSchedulingCapsMaxPriorities,
qosIfTypeSchedulingCapsServiceDisc, qosIfSchedulingCapsServiceDisc,
qosIfTypeSchedulingCapsMinQueueSize, qosIfSchedulingCapsMinQueueSize,
qosIfTypeSchedulingCapsMaxQueueSize, qosIfSchedulingCapsMaxQueueSize,
qosIfTypeSchedulingCapsTotalQueueSize, qosIfSchedulingCapsTotalQueueSize,
qosIfTypeSchedulingCapsWredCapable qosIfSchedulingCapsWredCapable
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfTypeSchedulingCapsTable." "Objects from the qosIfSchedulingCapsTable."
::= { qosPolicyIpPibGroups 5 } ::= { qosPolicyIpPibGroups 5 }
qosIfTypeQueueSetAssignGroup OBJECT-GROUP qosIfQueueSetAssignGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfTypeQueueSetAssignName, qosIfQueueSetAssignName,
qosIfTypeQueueSetAssignRoles, qosIfQueueSetAssignRoles,
qosIfTypeQueueSetAssignQueueSetId, qosIfQueueSetAssignQueueSetId,
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosIfTypeQueueSetAssignTable." "Objects from the qosIfQueueSetAssignTable."
::= { qosPolicyIpPibGroups 6 } ::= { qosPolicyIpPibGroups 6 }
qosIfQueueGroup OBJECT-GROUP qosIfQueueGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosIfQueueSetId, qosIfQueueSetId,
qosIfQueueQueueSize, qosIfQueueQueueSize,
qosIfQueueSetThreshSet, qosIfQueueSetThreshSet,
qosIfQueuePriorityGroup, qosIfQueuePriorityGroup,
qosIfQueueServiceDisc, qosIfQueueServiceDisc,
skipping to change at page 60, line 48 skipping to change at page 46, line 26
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosMeterTable." "Objects from the qosMeterTable."
::= { qosPolicyIpPibGroups 11 } ::= { qosPolicyIpPibGroups 11 }
qosActionGroup OBJECT-GROUP qosActionGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosActionDrop, qosActionDrop,
qosActionUpdateDSCP, qosActionUpdateDSCP
qosActionMeter
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosActionTable." "Objects from the qosActionTable."
::= { qosPolicyIpPibGroups 12 } ::= { qosPolicyIpPibGroups 12 }
qosTargetGroup OBJECT-GROUP qosTargetGroup OBJECT-GROUP
OBJECTS { OBJECTS {
qosTargetAclId, qosTargetFilterId,
qosTargetAclType, qosTargetFilterType,
qosTargetInterfaceRoles, qosTargetInterfaceRoles,
qosTargetInterfaceDirection, qosTargetInterfaceDirection,
qosTargetOrder, qosTargetOrder,
qosTargetMeter qosTargetMeter
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Objects from the qosTargetTable." "Objects from the qosTargetTable."
::= { qosPolicyIpPibGroups 13 } ::= { qosPolicyIpPibGroups 13 }
qosIpAceGroup OBJECT-GROUP
OBJECTS {
qosIpAceDstAddr,
qosIpAceDstAddrMask,
qosIpAceSrcAddr,
qosIpAceSrcAddrMask,
qosIpAceDscp,
qosIpAceProtocol,
qosIpAceDstL4PortMin,
qosIpAceDstL4PortMax,
qosIpAceSrcL4PortMin,
qosIpAceSrcL4PortMax,
qosIpAcePermit
}
STATUS current
DESCRIPTION
"Objects from the qosIpAceTable."
::= { qosPolicyIpPibGroups 14 }
qosIpAclDefinitionGroup OBJECT-GROUP
OBJECTS {
qosIpAclDefinitionAclId,
qosIpAclDefinitionAceId,
qosIpAclDefinitionAceOrder
}
STATUS current
DESCRIPTION
"Objects from the qosIpAclDefinitionTable."
::= { qosPolicyIpPibGroups 15 }
END
6.2. The DiffServ IEEE 802 PIB
DIFFSERV-802-PIB PIB-DEFINITIONS ::= BEGIN
IMPORTS
Unsigned32, Integer32,
MODULE-IDENTITY, OBJECT-TYPE
FROM COPS-PR-SPPI
TruthValue, PhysAddress,
TEXTUAL-CONVENTION
FROM SNMPv2-TC
RoleCombination, PolicyInstanceId, PolicyReferenceId
FROM POLICY-FRAMEWORK-PIB
Dscp
FROM QOS-POLICY-IP-PIB;
qosPolicy802Pib MODULE-IDENTITY
LAST-UPDATED "9906241800Z"
ORGANIZATION "IETF RAP 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"
DESCRIPTION
"The PIB module containing an initial set of policy
rule classes that describe the quality of service
(QoS) policies supported by devices for IEEE 802-
based traffic."
::= { tbd }
qosPolicy802PibClasses OBJECT IDENTIFIER ::= { qosPolicy802Pib 1 }
QosIeee802Cos ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An integer that is in the range of the IEEE 802 CoS
values. This corresponds to the 802.1p priority values."
SYNTAX INTEGER (0..7)
qos802DomainConfig OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 1 }
qos802IfTypeClassificationCapsTable OBJECT-TYPE
SYNTAX SEQUENCE OF QosIfType802ClassificationCapsEntry
POLICY-ACCESS notify
STATUS current
DESCRIPTION
"This table specifies the 803 classification capabilities of
interface types. A PRI in the qosIfTypeTable would reference
a PRI in this table if the corresponding interface type
supports some of these capabilities."
::= { qos802DomainConfig 1 }
qos802IfTypeClassificationCapsEntry OBJECT-TYPE
SYNTAX QosIfType802ClassificationEntry
STATUS current
DESCRIPTION
"An instance of this class describes the 802 classification
capabilities of an interface."
INDEX { qos802IfTypeClassificationCapsPrid }
UNIQUENESS { qos802IfTypeClassificationCaps }
::= { qos802IfTypeClassificationCapsTable 1 }
QosIfType802ClassificationCapsEntry ::= SEQUENCE {
qos802IfTypeClassificationCapsPrid PolicyInstanceId,
qos802IfTypeClassificationCaps BITS
}
qos802IfTypeClassificationCapsPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies a
instance of the class."
::= { qos802IfTypeClassificationCapsEntry 1 }
qos802IfTypeClassificationCaps OBJECT-TYPE
SYNTAX BITS {
input802Classification(1),
output802Classification(2),
-- Indicates the ability to classify 802.3
-- packets on ingress and on egress,
-- respectively.
etherAddrClassification(3),
-- indicates the ability to classify based on
-- addresses
etherTypeClassification(4),
etherSapClassification(4),
etherSnapClassification(4),
-- indicates the ability to classify based on
-- ether types, SAPs or SNAP types
}
STATUS current
DESCRIPTION
"Bit set of supported 802.3 classification capabilities."
::= { qos802IfTypeClassificationCapsEntry 2 }
qos802DscpMappingTable OBJECT-TYPE
SYNTAX SEQUENCE OF Qos802DscpMappingEntry
POLICY-ACCESS install
STATUS current
DESCRIPTION
"Maps each DSCP to an QosIeee802Cos. When configured
for the first time, all 64 entries of the table must
be specified. Thereafter, instances may be modified but
not deleted unless all instances are deleted."
INSTALL-ERRORS {
priInstNotComplete(1) -- required instances not created
}
::= { qos802DomainConfig 2 }
qos802DscpMappingEntry OBJECT-TYPE
SYNTAX Qos802DscpMappingEntry
STATUS current
DESCRIPTION
"An instance of the qos802DscpMapping class. A total of 64
class instances are constantly maintained after initial device
configuration."
INDEX { qos802DscpMappingPrid }
UNIQUENESS { qos802DscpMappingDscp }
::= { qos802DscpMappingTable 1 }
Qos802DscpMappingEntry ::= SEQUENCE {
qos802DscpMappingPrid PolicyInstanceId,
qos802DscpMappingDscp Dscp,
qos802DscpMapping802Cos QosIeee802Cos
}
qos802DscpMappingPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"A unique ID for this policy rule instance."
::= { qos802DscpMappingEntry 1 }
qos802DscpMappingDscp OBJECT-TYPE
SYNTAX Dscp
STATUS current
DESCRIPTION
"The DSCP class instance attribute that is used to
determine the appropriate layer 2 CoS mappings. DSCP
values 0 through 63 (inclusive) are maintained in
the table."
::= { qos802DscpMappingEntry 2 }
qos802DscpMapping802Cos OBJECT-TYPE
SYNTAX QosIeee802Cos
STATUS current
DESCRIPTION
"The IEEE 802 CoS value to use when mapping the DSCP
value specified by the qos802DscpMappingDscp attribute
to a IEEE 802 CoS."
::= { qos802DscpMappingEntry 3 }
qos802CosToDscpTable OBJECT-TYPE
SYNTAX SEQUENCE OF Qos802CosToDscpEntry
POLICY-ACCESS install
STATUS current
DESCRIPTION
"Maps each of eight layer 2 CoS values to a DSCP. When
configured for the first time, all 8 entries of the table
must be specified. Thereafter, instances may be modified
but not deleted unless all instances are deleted."
INSTALL-ERRORS {
priInstNotComplete(1) -- required instances not created
}
::= { qos802DomainConfig 3 }
qos802CosToDscpEntry OBJECT-TYPE
SYNTAX Qos802CosToDscpEntry
STATUS current
DESCRIPTION
"An instance of the qosCosToDscp class. A total of 8
class instances are constantly maintained after initial
device configuration."
INDEX { qos802CosToDscpPrid }
UNIQUENESS { qos802CosToDscpCos }
::= { qos802CosToDscpTable 1 }
Qos802CosToDscpEntry ::= SEQUENCE {
qos802CosToDscpPrid PolicyInstanceId,
qos802CosToDscpCos QosIeee802Cos,
qos802CosToDscpDscp Dscp
}
qos802CosToDscpPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"A unique index for this policy rule instance."
::= { qos802CosToDscpEntry 1 }
qos802CosToDscpCos OBJECT-TYPE
SYNTAX QosIeee802Cos
STATUS current
DESCRIPTION
"The layer 2 CoS class instance attribute that is used to
determine the appropriate DSCP mappings. CoS values 0
through 7 (inclusive) are maintained in the table."
::= { qos802CosToDscpEntry 2 }
qos802CosToDscpDscp OBJECT-TYPE
SYNTAX Dscp
STATUS current
DESCRIPTION
"The DSCP value to use when mapping the layer 2 CoS value
specified by the qosCosToDscp attribute to a DSCP."
::= { qos802CosToDscpEntry 3 }
qos802Qos OBJECT IDENTIFIER ::= { qosPolicy802PibClasses 2 }
qos802AceTable OBJECT-TYPE
SYNTAX SEQUENCE OF Qos802AceEntry
POLICY-ACCESS install
STATUS current
DESCRIPTION
"IEEE 802-based ACE definitions. A class that contains
attributes of IEEE 802 (e.g., 802.3) traffic that form
an association that is used to perform traffic
classification."
::= { qos802Qos 1 }
qos802AceEntry OBJECT-TYPE
SYNTAX Qos802AceEntry
STATUS current
DESCRIPTION
"IEEE 802-based ACE definitions. An entry specifies
(potentially) several distinct matching components. Each
component is tested against the data in a frame
individually. An overall match occurs when all of the
individual components match the data they are compared
against in the frame being processed. A failure of any
one test causes the overall match to fail.
Wildcards may be specified for those fields that are not
relevant."
INDEX { qos802AcePrid }
UNIQUENESS { qos802AceDstAddr,
qos802AceDstAddrMask,
qos802AceSrcAddr,
qos802AceSrcAddrMask,
qos802AceVlanId,
qos802AceVlanTagRequired,
qos802AceEtherType,
qos802AceUserPriority}
::= { qos802AceTable 1 }
Qos802AceEntry ::= SEQUENCE {
qos802AcePrid PolicyInstanceId,
qos802AceDstAddr PhysAddress,
qos802AceDstAddrMask PhysAddress,
qos802AceSrcAddr PhysAddress,
qos802AceSrcAddrMask PhysAddress,
qos802AceVlanId Integer32,
qos802AceVlanTagRequired INTEGER,
qos802AceEtherType Integer32,
qos802AceUserPriority BITS,
qos802AcePermit TruthValue
}
qos802AcePrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies this
802 ACE among all of the 802 ACEs. Note that this identifier
is used in instances of the qos802Acl class to associate a
802 ACE with a 802 ACL. An active ACE/ACL association
prohibits the deletion of the 802 ACE until the ACE/ACL
association is terminated. Class instances may not be
contiguous."
::= { qos802AceEntry 1 }
qos802AceDstAddr OBJECT-TYPE
SYNTAX PhysAddress
STATUS current
DESCRIPTION
"The 802 address against which the 802 DA of incoming traffic
streams will be compared. Frames whose 802 DA matches the
physical address specified by this object, taking into account
address wildcarding as specified by the qos802AceDstAddrMask
object, are potentially subject to the processing guidelines
that are associated with this entry through the related
action class."
::= { qos802AceEntry 2 }
qos802AceDstAddrMask OBJECT-TYPE
SYNTAX PhysAddress
STATUS current
DESCRIPTION
"This object specifies the bits in a 802 destination address
that should be considered when performing a 802 DA comparison
against the address specified in the qos802AceDstAddr object.
The value of this object represents a mask that is logically
and'ed with the 802 DA in received frames to derive the value
to be compared against the qos802AceDstAddr address. A zero
bit in the mask thus means that the corresponding bit in the
address always matches. The qos802AceDstAddr value must also
be masked using this value prior to any comparisons.
The length of this object in octets must equal the length in
octets of the qos802AceDstAddr. Note that a mask with no bits
set (i.e., all zeroes) effectively wildcards the
qos802AceDstAddr object."
::= { qos802AceEntry 3 }
qos802AceSrcAddr OBJECT-TYPE
SYNTAX PhysAddress
STATUS current
DESCRIPTION
"The 802 MAC address against which the 802 MAC SA of incoming
traffic streams will be compared. Frames whose 802 MAC SA
matches the physical address specified by this object,
taking into account address wildcarding as specified by the
qos802AceSrcAddrMask object, are potentially subject to the
processing guidelines that are associated with this entry
through the related action class."
::= { qos802AceEntry 4 }
qos802AceSrcAddrMask OBJECT-TYPE
SYNTAX PhysAddress
STATUS current
DESCRIPTION
"This object specifies the bits in a 802 MAC source address
that should be considered when performing a 802 MAC SA
comparison against the address specified in the
qos802AceSrcAddr object.
The value of this object represents a mask that is logically
and'ed with the 802 MAC SA in received frames to derive the
value to be compared against the qos802AceSrcAddr address. A
zero bit in the mask thus means that the corresponding bit
in the address always matches. The qos802AceSrcAddr value
must also be masked using this value prior to any
comparisons.
The length of this object in octets must equal the length in
octets of the qos802AceSrcAddr. Note that a mask with no bits
set (i.e., all zeroes) effectively wildcards the
qos802AceSrcAddr object."
::= { qos802AceEntry 5 }
qos802AceVlanId OBJECT-TYPE
SYNTAX Integer32 (-1 | 1..4094)
STATUS current
DESCRIPTION
"The VLAN ID (VID) that uniquely identifies a VLAN
within the device. This VLAN may be known or unknown
(i.e., traffic associated with this VID has not yet
been seen by the device) at the time this entry
is instantiated.
Setting the qos802AceVlanId object to -1 indicates that
VLAN data should not be considered during traffic
classification."
::= { qos802AceEntry 6 }
qos802AceVlanTagRequired OBJECT-TYPE
SYNTAX INTEGER {
taggedOnly(1),
priorityTaggedPlus(2),
untaggedOnly(3),
ignoreTag(4)
}
STATUS current
DESCRIPTION
"This object indicates whether the presence of an
IEEE 802.1Q VLAN tag in data link layer frames must
be considered when determining if a given frame
matches this 802 ACE entry.
A value of 'taggedOnly(1)' means that only frames
containing a VLAN tag with a non-Null VID (i.e., a
VID in the range 1..4094) will be considered a match.
A value of 'priorityTaggedPlus(2)' means that only
frames containing a VLAN tag, regardless of the value
of the VID, will be considered a match.
A value of 'untaggedOnly(3)' indicates that only
untagged frames will match this filter component.
The presence of a VLAN tag is not taken into
consideration in terms of a match if the value is
'ignoreTag(4)'."
::= { qos802AceEntry 7 }
qos802AceEtherType OBJECT-TYPE
SYNTAX Integer32 (-1 | 0..'ffff'h)
STATUS current
DESCRIPTION
"This object specifies the value that will be compared
against the value contained in the EtherType field of an
IEEE 802 frame. Example settings would include 'IP'
(0x0800), 'ARP' (0x0806) and 'IPX' (0x8137).
Setting the qos802AceEtherTypeMin object to -1 indicates
that EtherType data should not be considered during traffic
classification.
Note that the position of the EtherType field depends on
the underlying frame format. For Ethernet-II encapsulation,
the EtherType field follows the 802 MAC source address. For
802.2 LLC/SNAP encapsulation, the EtherType value follows the
Organization Code field in the 802.2 SNAP header. The value
that is tested with regard to this filter component therefore
depends on the data link layer frame format being used. If
this 802 ACE component is active when there is no EtherType
field in a frame (e.g., 802.2 LLC), a match is implied."
::= { qos802AceEntry 8 }
qos802AceUserPriority OBJECT-TYPE
SYNTAX BITS {
matchPriority0(0),
matchPriority1(1),
matchPriority2(2),
matchPriority3(3),
matchPriority4(4),
matchPriority5(5),
matchPriority6(6),
matchPriority7(7)
}
STATUS current
DESCRIPTION
"The set of values, representing the potential range
of user priority values, against which the value contained
in the user priority field of a tagged 802.1 frame is
compared. A test for equality is performed when determining
if a match exists between the data in a data link layer
frame and the value of this 802 ACE component. Multiple
values may be set at one time such that potentially several
different user priority values may match this 802 ACE
component.
Setting all of the bits that are associated with this
object causes all user priority values to match this
attribute. This essentially makes any comparisons
with regard to user priority values unnecessary. Untagged
frames are treated as an implicit match."
::= { qos802AceEntry 9 }
qos802AcePermit OBJECT-TYPE
SYNTAX TruthValue
STATUS current
DESCRIPTION
"If the frame matches this ACE and the value of this
attribute is true, then the matching process terminates
and the QoS associated with this 802-based ACE (indirectly
through the 802 ACL) is applied to the packet. If the
value of this attribute is false, then no more 802 ACEs in
this 802 ACL are compared to this packet and matching
continues with the first 802-based ACE of the next 802 ACL."
::= { qos802AceEntry 10 }
qos802AclDefinitionTable OBJECT-TYPE
SYNTAX SEQUENCE OF Qos802AclDefinitionEntry
POLICY-ACCESS install
STATUS current
DESCRIPTION
"IEEE 802-based ACL definitions. A class that defines a
set of 802 ACLs, each of which is comprised of an ordered
list of 802 ACEs."
INSTALL-ERRORS {
priPrecedenceConflict(1) -- precedence conflict detected
}
::= { qos802Qos 2 }
qos802AclDefinitionEntry OBJECT-TYPE
SYNTAX Qos802AclDefinitionEntry
STATUS current
DESCRIPTION
"IEEE 802-based ACL definitions. An entry specifies an
instance of this class that associates an 802 ACE with
a given 802 ACL. The evaluation order of distinct 802
ACEs that are associated with a specific 802 ACL is
specified as well."
INDEX { qos802AclDefinitionPrid }
UNIQUENESS { qos802AclDefinitionAclId,
qos802AclDefinitionAceId }
::= { qos802AclDefinitionTable 1 }
Qos802AclDefinitionEntry ::= SEQUENCE {
qos802AclDefinitionPrid PolicyInstanceId,
qos802AclDefinitionAclId INTEGER,
qos802AclDefinitionAceId PolicyReferenceId,
qos802AclDefinitionAceOrder Unsigned32
}
qos802AclDefinitionPrid OBJECT-TYPE
SYNTAX PolicyInstanceId
STATUS current
DESCRIPTION
"An arbitrary integer index that uniquely identifies this
802 ACE / 802 ACL association."
::= { qos802AclDefinitionEntry 1 }
qos802AclDefinitionAclId OBJECT-TYPE
SYNTAX INTEGER
STATUS current
DESCRIPTION
"An index for this 802 ACL. Each 802 ACL in the device is
assigned a unique integer index. There will (potentially) be
multiple instances of the qos802AclDefinition class with this
identifier, one for each 802 ACE that is associated with the
specified 802 ACL.
For example, assume that 2 802 ACLs, each comprised of 4 802
ACEs, have been installed. The instances of this class may
appear as follows:
Index AclId AceId AceOrder
10 6 4 1
11 6 5 2
12 6 9 23
13 6 11 24
65 18 5 8
66 18 9 12
67 18 13 15
70 18 14 16
Note that this identifier is used in instances of the
qosAclTarget class to associate an 802 ACL with an interface
set and action. An active ACL Target association prohibits
the deletion of all of the qos802AclDefinition instances
with a given qos802AclDefinitionAclId (i.e., at least one
entry for the specific qos802AclDefinitionAclId must be
present in this table) until the ACL Target association is
terminated."
::= { qos802AclDefinitionEntry 2 }
qos802AclDefinitionAceId OBJECT-TYPE
SYNTAX PolicyReferenceId
STATUS current
DESCRIPTION
"This attribute identifies the 802 ACE in the qos802AceTable
that is associated with the 802 ACL specified by
qos802AclDefinitionAclId object. The corresponding instance
in the qos802Ace class must exist prior to being associated
with a 802 ACL.
Attempting to specify an unknown class instance will result
in an appropriate error indication being returned to the
entity that is attempting to install the conflicting entry.
For example, a 'priUnknown(2)' error indication is returned
to the policy server in this situation."
::= { qos802AclDefinitionEntry 3 }
qos802AclDefinitionAceOrder OBJECT-TYPE
SYNTAX Unsigned32
STATUS current
DESCRIPTION
"The precedence of the 802 ACE, identified via the
qos802AclDefinitionAceId object, with regard to evaluation
order. The precedence determines the order of evaluation of
this ACE in relation to related 802 ACEs that are associated
with an ACL. An ACE with a given precedence order in the
access control list is evaluated before one with a higher-
valued precedence order.
Precedence values within a group must be unique otherwise
instance installation will be prohibited and an error
value will be returned.
Note that qos802AclDefinitionAceOrder values within a given
ACL need not be contiguous."
::= { qos802AclDefinitionEntry 4 }
qosPolicy802PibConformance
OBJECT IDENTIFIER ::= { qosPolicy802Pib 2 }
qosPolicy802PibCompliances
OBJECT IDENTIFIER ::= { qosPolicy802PibConformance 1 }
qosPolicy802PibGroups
OBJECT IDENTIFIER ::= { qosPolicy802PibConformance 2 }
qosPolicy802PibCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Describes the requirements for conformance to the
QoS Policy 802 PIB."
MODULE -- this module
GROUP qos802IfTypeClassificationCapsGroup
DESCRIPTION
"The qos802DscpMappingGroup is mandatory if 802.3
frame classification is supported."
GROUP qos802DscpMappingGroup
DESCRIPTION
"The qos802DscpMappingGroup is mandatory if mapping
from DSCP to 802.1 user priority is supported."
OBJECT qos802DscpMappingDscp
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qos802DscpMapping802Cos
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
GROUP qos802CosToDscpGroup
DESCRIPTION
"The qos802CosToDscpGroup is mandatory if mapping
from 802.1 user priority to DSCP is supported."
OBJECT qos802CosToDscpCos
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
OBJECT qos802CosToDscpDscp
MIN-ACCESS notify
DESCRIPTION "Install support is not required."
GROUP qos802AceGroup
DESCRIPTION
"The qos802AceGroup is mandatory if filtering
based on 802 traffic criteria is supported."
GROUP qos802AclDefinitionGroup
DESCRIPTION
"The qos802AclDefinitionGroup is mandatory if
filtering based on 802 traffic criteria is supported."
::= { qosPolicy802PibCompliances 1 }
qos802IfTypeClassificationCapsGroup OBJECT-GROUP
OBJECTS {
qos802IfTypeClassificationCaps
}
STATUS current
DESCRIPTION
"Objects from the qos802IfTypeClassificationCapsTable."
::= { qosPolicy802PibGroups 1 }
qos802DscpMappingGroup OBJECT-GROUP
OBJECTS {
qos802DscpMappingDscp,
qos802DscpMapping802Cos
}
STATUS current
DESCRIPTION
"Objects from the qos802DscpMappingTable."
::= { qosPolicy802PibGroups 2 }
qos802CosToDscpGroup OBJECT-GROUP
OBJECTS {
qos802CosToDscpCos,
qos802CosToDscpDscp
}
STATUS current
DESCRIPTION
"Objects from the qos802CosToDscpTable."
::= { qosPolicy802PibGroups 3 }
qos802AceGroup OBJECT-GROUP
OBJECTS {
qos802AceDstAddr,
qos802AceDstAddrMask,
qos802AceSrcAddr,
qos802AceSrcAddrMask,
qos802AceVlanId,
qos802AceVlanTagRequired,
qos802AceEtherType,
qos802AceUserPriority,
qos802AcePermit
}
STATUS current
DESCRIPTION
"Objects from the qos802AceTable."
::= { qosPolicy802PibGroups 4 }
qos802AclDefinitionGroup OBJECT-GROUP
OBJECTS {
qos802AclDefinitionAclId,
qos802AclDefinitionAceId,
qos802AclDefinitionAceOrder
}
STATUS current
DESCRIPTION
"Objects from the qos802AclDefinitionTable."
::= { qosPolicy802PibGroups 5 }
END END
7. Security Considerations 7. 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.
skipping to change at page 82, line 12 skipping to change at page 49, line 12
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
Extreme Networks Fax: +1 415 345 1827
10460 Bandley Drive Email: ah_smith@pacbell.net
Cupertino CA 95014 USA
Phone: +1 408 342 0999
Email: andrew@extremenetworks.com
Francis Reichmeyer Francis Reichmeyer
IPHighway Inc. IPHighway Inc.
Parker Plaza, 16th Floor Parker Plaza, 16th Floor
400 Kelby St. 400 Kelby St.
Fort-Lee, NJ 07024 Fort-Lee, NJ 07024
Phone: (201) 585-0800 Phone: (201) 585-0800
Email: FranR@iphighway.com Email: FranR@iphighway.com
10. References 10. 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-02.txt, March 2000. draft-ietf-rap-cops-pr-03.txt, July 2000.
[SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning [SPPI] K. McCloghrie, et.al., "Structure of Policy Provisioning
Information," draft-ietf-rap-sppi-00.txt, march 2000. Information," draft-ietf-rap-sppi-01.txt, July 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",
RFC 2475, December 1998 RFC 2475, 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-00.txt>, Internet Draft <draft-ietf-rap-frameworkpib-01.txt>,
[POLICY] M. Stevens, W. Weiss H. Mahon, B. Moore, J. Strassner, [POLICY] M. Stevens, W. Weiss H. Mahon, B. Moore, J. Strassner,
G. Waters, A. Westerinen, J. Wheeler, "Policy Framework", G. Waters, A. Westerinen, J. Wheeler, "Policy Framework",
draft-ietf-policy-framework-00.txt, September 1999. 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. draft-ietf-rap-framework-03.txt, April 1999.
[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, "A Conceptual Model for [MODEL] Y. Bernet, A. Smith, S. Blake, D. Grossman "A Conceptual Model
DiffServ Routers", draft-ietf-diffserv-model-01.txt, for DiffServ Routers", draft-ietf-diffserv-model-03.txt,
October 1999. May 2000.
Table of Contents Table of Contents
1 Glossary ........................................................ 2 1 Glossary ........................................................ 2
2 Introduction .................................................... 2 2 Introduction .................................................... 2
3 DiffServ PIB Concepts ........................................... 2 3 DiffServ PIB Concepts ........................................... 2
3.1 Filters, Filter Groups and Classifiers ........................ 2 3.1 Filters, Filter Groups and Classifiers ........................ 2
3.2 Applying QoS Policy Using Targets ............................. 3 3.2 Applying QoS Policy Using Targets ............................. 3
3.3 Interface Modeling with Queue Sets ............................ 4 3.3 Interface Modeling with Queue Sets ............................ 4
3.3.1 Queue Scheduling ............................................ 4 3.3.1 Queue Scheduling ............................................ 4
3.3.2 Assigning Packets To Queues and Thresholds .................. 5 3.3.2 Assigning Packets To Queues and Thresholds .................. 5
3.3.3 Hierarchies of Queues ....................................... 5 3.3.3 Hierarchies of Queues ....................................... 5
3.4 IP Mapping to and from Layer 2 ................................ 5 4 Summary of the DiffServ PIB ..................................... 5
4 Summary of the DiffServ PIB ..................................... 6 5 PIB Operational Overview ........................................ 6
5 PIB Operational Overview ........................................ 7 6 PIB Definitions ................................................. 8
6 PIB Definitions ................................................. 10 6.1 The DiffServ Base PIB ......................................... 8
6.1 The DiffServ Base PIB ......................................... 10 7 Security Considerations ......................................... 48
6.2 The DiffServ IEEE 802 PIB ..................................... 63 8 Intellectual Property Considerations ............................ 48
7 Security Considerations ......................................... 81 9 Authors' Addresses .............................................. 48
8 Intellectual Property Considerations ............................ 81 10 References ..................................................... 49
9 Authors' Addresses .............................................. 81
10 References ..................................................... 82
 End of changes. 187 change blocks. 
1742 lines changed or deleted 332 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/