QOS-POLICY-IP-PIB DEFINITIONS ::= BEGIN IMPORTS Unsigned32, IpAddress, Integer32, MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI TruthValue, TEXTUAL-CONVENTION, RowStatus, StorageType FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB RoleCombination, PolicyInstanceId FROM POLICY-FRAMEWORK-PIB policy FROM SYNOPTICS-ROOT-MIB; qosPolicyIpPib MODULE-IDENTITY LAST-UPDATED "200407200000Z" ORGANIZATION "IETF RAP WG - Nortel Networks, Inc." 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. It includes general classes that may be extended by other PIB specifications as well as an initial set of PIB classes related to IP processing." REVISION "200407200000Z" -- 20 July 2004 DESCRIPTION "Version 3: Added version info" ::= { policy 2 } qosPolicyGenPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 1 } qosPolicyIpPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 2 } -- -- Textual Conventions -- -- -- DiffServ Codepoint -- Dscp ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An integer that is in the range of the DiffServ codepoint values." SYNTAX Integer32 (0..63) -- -- Policy Instance Index Or No Value Specified -- PolicyInstanceIdOrZero ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The textual convention for use by an attribute which is used as the instance-identifying index of a PRC, i.e., an attribute named in an INDEX clause. The value of an attribute with this syntax is always greater than zero when it identifies a PRC. A value of zero indicates that no associated PRC is identified." SYNTAX Unsigned32 (0..4294967295) -- -- Interface types -- QosInterfaceQueueCount ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An integer that describes the number of queues an interface supports. It is limited to the number of DSCP values." SYNTAX INTEGER (1..64) -- -- QoS Interface Group -- -- -- This group specifies the configuration of the various interface -- types including the setting of queueing parameters and the -- mapping of DSCPs and 802.1 CoS to queues. -- qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 } -- -- Interface Type Table -- qosInterfaceTypeTable OBJECT-TYPE SYNTAX SEQUENCE OF QosInterfaceTypeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Interface type definitions. This class describes the types of interfaces that exist on the device. An interface type is denoted by its designated role identifier as well as by the queue set and queue capabilities it supports." ::= { qosIfParameters 1 } qosInterfaceTypeEntry OBJECT-TYPE SYNTAX QosInterfaceTypeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An instance of this class describes the characteristics of a type of an interface. Interface type characteristics include a role combination identifier, a queue set identifier and a queue capabilities attribute. An instance is required for each different unique role combination identifier which represents the different interface types that are operational in the device at any given time. The PEP does not report which specific interfaces have which characteristics." INDEX { qosInterfaceTypeId } ::= { qosInterfaceTypeTable 1 } QosInterfaceTypeEntry ::= SEQUENCE { qosInterfaceTypeId PolicyInstanceId, qosInterfaceTypeRoles RoleCombination, qosInterfaceTypeQueueSet PolicyInstanceId, qosInterfaceTypeCapabilities BITS, qosInterfaceTypeStorageType StorageType, qosInterfaceTypeStatus RowStatus } qosInterfaceTypeId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer index that uniquely identifies a instance of the qosInterfaceType class. Class instances may not be contiguous." ::= { qosInterfaceTypeEntry 1 } qosInterfaceTypeRoles OBJECT-TYPE SYNTAX RoleCombination MAX-ACCESS read-create STATUS current DESCRIPTION "The role combination that is used to identify interfaces with the characteristics specified by the attributes of this class instance. Interface role combination identifiers are used within a number of classes to logically identify a physical set of interfaces to which policy rules and actions are applied. Role combination identifiers must exist in this table prior to being referenced in other class instances." ::= { qosInterfaceTypeEntry 2 } qosInterfaceTypeQueueSet OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS read-create STATUS current DESCRIPTION "The index of the queue set that is associated with interfaces that are identified with the role combination identifier that is associated with this class instance." ::= { qosInterfaceTypeEntry 3 } qosInterfaceTypeCapabilities OBJECT-TYPE SYNTAX BITS { other(0), -- Classification support inputIpClassification(1), outputIpClassification(2), input802Classification(3), output802Classification(4), -- Queuing discipline support singleQueuingDiscipline(5), hybridQueuingDiscipline(6) } MAX-ACCESS read-create STATUS current DESCRIPTION "An enumeration of interface capabilities. Used by the PDP or network manager to select which policies and configuration it should push to the PEP." ::= { qosInterfaceTypeEntry 4 } qosInterfaceTypeStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosInterfaceTypeStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosInterfaceTypeEntry 5 } qosInterfaceTypeStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosInterfaceTypeEntry 6 } -- -- Interface Queue Table -- -- The Interface Queue Table enumerates the individual queues that -- comprise a given queue set. Information specific to each queue -- is exported by this table. -- qosIfQueueTable OBJECT-TYPE SYNTAX SEQUENCE OF QosIfQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Contains information about the individual queues that comprise a queue set implemented on the device." ::= { qosIfParameters 2 } qosIfQueueEntry OBJECT-TYPE SYNTAX QosIfQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A conceptual row in the qosIfQueueTable. Each row identifies a specific queue within a given queue set and contains detailed information about the queue. Queues are associated with a given set through this table and a queue set is associated with an interface set through the qosInterfaceTypeTable." INDEX { qosIfQueueId } ::= { qosIfQueueTable 1 } QosIfQueueEntry ::= SEQUENCE { qosIfQueueId PolicyInstanceId, qosIfQueueSetId INTEGER, qosIfQueueIndex QosInterfaceQueueCount, qosIfQueueGenDiscipline INTEGER, qosIfQueueExtDiscipline OBJECT IDENTIFIER, qosIfQueueDrainSize Unsigned32, qosIfQueueAbsBandwidth Unsigned32, qosIfQueueBandwidthAllocation INTEGER, qosIfQueueServiceOrder QosInterfaceQueueCount, qosIfQueueSize Integer32, qosIfQueueStorageType StorageType, qosIfQueueStatus RowStatus } qosIfQueueId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies this row in the table, i.e., this PRI." ::= { qosIfQueueEntry 1 } qosIfQueueSetId OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "An index that uniquely identifies a specific queue set. The queue set that is identified with this value is associated with an interface set through the qosInterfaceTypeQueueSet object in the qosInterfaceTypeTable. The individual queues that are members of this set all have the same value for this attribute (i.e., they have the same set ID)." ::= { qosIfQueueEntry 2 } qosIfQueueIndex OBJECT-TYPE SYNTAX QosInterfaceQueueCount MAX-ACCESS read-create STATUS current DESCRIPTION "An arbitrary index that uniquely identifies a specific queue within a set of queues that is identified by the qosIfQueueSetId value." ::= { qosIfQueueEntry 3 } qosIfQueueGenDiscipline OBJECT-TYPE SYNTAX INTEGER { other(1), -- Use qosIfQueueExtDiscipline fifo(2), -- First In First Out queuing pq(3), -- Priority Queuing fq(4), -- Fair Queuing wfq(5) -- Weighted Fair Queuing } MAX-ACCESS read-create STATUS current DESCRIPTION "This object identifies the queuing discipline that is associated with the specified queue. Several general purpose and well-known queuing disciplines are supported by this attribute. Queuing disciplines that differ from those that are supported by this object are specified by setting this attribute to other(1) and providing the object identifier that represents the different queuing paradigm in the qosIfQueueExtDiscipline object. A value of fifo(2) indicates that the queue is serviced on a first-in-first-out (FIFO) basis. This discipline is generally employed when only a single queue is available for a given interface. A value of pq(3) indicates that the queue is serviced using a priority queuing discipline. This technique is used when several queues are available for a given interface. Each queue is assigned a priority and queues are serviced in order of priority. Higher priority queues are completely drained before lower priority queues are serviced. A value of fq(4) indicates that the queue is serviced using a fair queuing discipline. This technique is used when several queues are available for a given interface. Each queue is treated equally and is serviced in a round-robin fashion. A value of wfq(5) indicates that the queue is serviced using a weighted fair queuing discipline. This technique is used when several queues are available for a given interface. Each queue is serviced based on queue weights which determine the scheduling and frequency of queue servicing. Queues that are assigned a greater weight are implicitly provided with more bandwidth. Note that the processing disciplines for all of the queues in a given set must be considered when trying to establish a processing profile for a given interface." ::= { qosIfQueueEntry 4 } qosIfQueueExtDiscipline OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "This object identifies the queuing discipline that is associated with the specified queue. This attribute provides a means through which additional queuing mechanisms can be identified should the general queuing disciplines be inadequate for a given device. As such. this attribute is consulted only when the value of the qosIfQueueGenDiscipline object is other(1). It contains an object identifier that uniquely identifies a queuing paradigm. Note that the processing disciplines for all of the queues in a given set must be considered when trying to establish a processing profile for a given interface." ::= { qosIfQueueEntry 5 } qosIfQueueDrainSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of bytes that may be drained from the queue in one cycle. The percentage of the interface bandwidth allocated to this queue can be calculated from this attribute and the sum of the drain sizes of all the queues in a specific queue cluster in a queue set. This attribute represents the relative bandwidth that is available to a given queue with respect to other queues with which it is associated. The absolute bandwidth that is available to a given queue is specified by the attribute qosIfQueueAbsBandwidth. Which of these two applies is specified by the attribute qosIfQueueBandwidthAllocation." ::= { qosIfQueueEntry 6 } qosIfQueueAbsBandwidth OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum interface bandwidth that is available for consumption when servicing this queue. This bandwidth is specified in terms of kilobits per second. This attribute represents the absolute bandwidth that is available to a given queue. The relative bandwidth that is available to a given queue, with respect to other queues with which it is associated, is specified by the attribute qosIfQueueDrainSize. Which of these two applies is specified by the attribute qosIfQueueBandwidthAllocation." ::= { qosIfQueueEntry 7 } qosIfQueueBandwidthAllocation OBJECT-TYPE SYNTAX INTEGER { absolute(1), --use qosIfQueueAbsBandwidth relative(2) --use qosIfQueueDrainSize } MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies whether to configure the queue for an absolute bandwidth limit or one that is relative to other queues of the interface. i.e., whether to configure the queue using qosIfQueueAbsBandwidth or qosIfQueueDrainSize." ::= { qosIfQueueEntry 8 } qosIfQueueServiceOrder OBJECT-TYPE SYNTAX QosInterfaceQueueCount MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to provide an additional level of priority that is required for certain queuing disciplines and when the different queues that comprise a queue set are serviced using a mix of queuing disciplines. This object can be used to specify, for example, the order in which queues will be serviced when priority queuing is used. It also supports the ability to describe the servicing hierarchy when a hybrid queuing scheme, such as priority queuing coupled with weighted fair queuing, is used. Queue service priority is assigned such that a lower service order value indicates a higher priority. For example, a priority queue with a value of 1 will be serviced (i.e., drained) before another priority queue with a service order value of 2. Note that multiple queues that are logically associated, based on the queuing discipline that is being employed, will be assigned the same service order value. Under this scenario, other parameters that are related to the queuing discipline determine the order of queue servicing (e.g., queue drain size is used for 'wfq'). For example, an interface that is associated with a queue set supporting two priority queues and three queues that are serviced using WFQ would be modeled as follows: Q Index Q Discipline Q Drain Size Q Service Order 22 pq(1) - 1 23 pq(1) - 2 24 wfq(3) 500 3 25 wfq(3) 350 3 26 wfq(3) 150 3 The queue set presented in this example would service all queued traffic in queue 22 first, followed by all of the queued traffic in queue 23. Next the queued traffic in queues 24 through 26 would be serviced in a round robin fashion with queue 24 receiving 50% of the available bandwidth, queue 25 receiving 35% of the available bandwidth and queue 26 receiving 15% of the available bandwidth. This example is presented for expository purposes and has been simplified accordingly. Note that, in this example, queues 24, 25 and 26 form a queue cluster. Members of a queue cluster are all assigned the same qosIfQueueServiceOrder as there are tightly coupled. The qosIfQueueDrainSize attribute is used to determine the additional processing characteristics of the individual queues in a cluster." ::= { qosIfQueueEntry 9 } qosIfQueueSize OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The size of the queue in bytes. Some devices set queue size in terms of packets. These devices must calculate the queue size in packets by assuming an average packet size suitable for the particular interface. Some devices have a fixed size buffer to be shared among all queues. These devices must allocate a fraction of the total buffer space to this queue calculated as the the ratio of the queue size to the sum of the queue sizes for the interface." ::= { qosIfQueueEntry 10 } qosIfQueueStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosIfQueueStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosIfQueueEntry 11 } qosIfQueueStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosIfQueueEntry 12 } -- -- DSCP Assignment Table -- -- Supports the assignment of DSCPs to queues for each -- interface type. -- qosIfDscpAssignmentTable OBJECT-TYPE SYNTAX SEQUENCE OF QosIfDscpAssignmentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Supports the assignment of DSCP values to a queue for each interface with a specific queue count. There will be 64 instances of this class for each supported combination of queue count and role combination." ::= { qosIfParameters 3 } qosIfDscpAssignmentEntry OBJECT-TYPE SYNTAX QosIfDscpAssignmentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An instance of the qosIfDscpAssignment class." INDEX { qosIfDscpAssignmentId } ::= { qosIfDscpAssignmentTable 1 } QosIfDscpAssignmentEntry ::= SEQUENCE { qosIfDscpAssignmentId PolicyInstanceId, qosIfDscpAssignmentRoles RoleCombination, qosIfDscpAssignmentDscp Dscp, qosIfDscpAssignmentQueue QosInterfaceQueueCount, qosIfDscpAssignmentStorageType StorageType, qosIfDscpAssignmentStatus RowStatus } qosIfDscpAssignmentId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that is used to uniquely identify the instance of the qosIfDscpAssignment class." ::= { qosIfDscpAssignmentEntry 1 } qosIfDscpAssignmentRoles OBJECT-TYPE SYNTAX RoleCombination MAX-ACCESS read-create STATUS current DESCRIPTION "The role combination with which an interface must be configured to support the DSCP-to-queue assignment described by this instance. The specified role combination must be defined in the qosInterfaceType table prior to being referenced by this entry. Otherwise a 'priAssociationUnknown(3)' error code will be returned." ::= { qosIfDscpAssignmentEntry 2 } qosIfDscpAssignmentDscp OBJECT-TYPE SYNTAX Dscp MAX-ACCESS read-create STATUS current DESCRIPTION "The DSCP to which this class instance applies." ::= { qosIfDscpAssignmentEntry 3 } qosIfDscpAssignmentQueue OBJECT-TYPE SYNTAX QosInterfaceQueueCount MAX-ACCESS read-create STATUS current DESCRIPTION "The specific queue, within the queue set that is associated with the interface set identified by the qosIfDscpAssignmentRoles tag, on which traffic with the specified DSCP, dictated by the qosIfDscpAssignmentDscp value, is placed. Failure to specify an appropriate queue results in a 'priAssociationConflict(4)' error indication being returned." ::= { qosIfDscpAssignmentEntry 4 } qosIfDscpAssignmentStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosIfDscpAssignmentStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosIfDscpAssignmentEntry 5 } qosIfDscpAssignmentStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosIfDscpAssignmentEntry 6 } -- -- QoS Meter Table -- -- The QoS Meter Table contains metering specifications that -- can be used to provide an acceptable flow bandwidth -- dimension to the Target table. -- qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 } qosMeterTable OBJECT-TYPE SYNTAX SEQUENCE OF QosMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Contains the current set of configured meters. The meters are associated with a classifier during operation through the QoS Target Table." ::= { qosMeter 1 } qosMeterEntry OBJECT-TYPE SYNTAX QosMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "General metering definitions. Each entry specifies an instance of the qosMeter class which specifies metering information in terms of traffic stream bandwidth parameters. An entry can thus be used to support traffic metering based on the specified service level specification." INDEX { qosMeterId } ::= { qosMeterTable 1 } QosMeterEntry ::= SEQUENCE { qosMeterId PolicyInstanceId, qosMeterDataSpecification INTEGER, qosMeterCommittedRate Unsigned32, qosMeterCommittedBurst Unsigned32, qosMeterPeakRate Unsigned32, qosMeterPeakBurst Unsigned32, qosMeterHighConfAction PolicyInstanceIdOrZero, qosMeterMedConfAction PolicyInstanceIdOrZero, qosMeterLowConfAction PolicyInstanceIdOrZero, qosMeterStorageType StorageType, qosMeterStatus RowStatus, qosMeterLabel SnmpAdminString } qosMeterId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer index that uniquely identifies the instance of the qosMeter class. Meters are associated with specific flows using this attribute through the qosTargetMeter attribute in the QoS Target class." ::= { qosMeterEntry 1 } qosMeterDataSpecification OBJECT-TYPE SYNTAX INTEGER { noMeterData(1), -- no metering reqd committedData(2), -- committed rate only peakData(3), -- committed and peak committedRestricted(4) -- limited committed rate } MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the metering data, and thus the actions, that are defined in a given entry. A value of noMeterData(1) indicates that no flow metering is necessary. All flows associated with this meter entry are considered to be at a high level of conformance. A value of committedData(2) indicates that committed rate and committed burst information has been specified and will be applied to associated flows. No peak rate and burst information has been specified meaning that two levels of conformance (high, medium) are supported. A value of peakData(3) indicates that peak rate and peak burst information has been provided in addition to the committed rate and committed burst information. All provided information will be applied to associated flows meaning that three levels of conformance (high, medium, low) are supported. A value of committedRestricted(4) indicates that committed rate and committed burst information has been specified and will be applied to associated flows. No peak rate and burst information has been specified meaning that two levels of conformance (high, medium) are supported. Furthermore, the non-conformant (out-of-profile) action is derived from the ntnQosConfigDefaultOutOfProfileAction attribute. The out-of- profile action can not be specified via the meter or policy entry." ::= { qosMeterEntry 2 } qosMeterCommittedRate OBJECT-TYPE SYNTAX Unsigned32 (0..'ffffffff'h) MAX-ACCESS read-create STATUS current DESCRIPTION "This object represents the committed information rate (CIR) against which associated traffic streams will be metered. The CIR specifies the rate at which incoming traffic can arrive to be considered to be at a high level of conformance. Typically, this value specifies the rate at which tokens are added to a token bucket used to meter received flows. This object specifies a rate in bytes per second units such that, for example, a value of 100 equates to a committed information rate of 100 bytes per second. Committed rate (and burst) information must be present if the qosMeterDataSpecification object has the value committedData(2) or peakRate(3). This, in turn, requires that at least both high and medium conformance actions be specified." ::= { qosMeterEntry 3 } qosMeterCommittedBurst OBJECT-TYPE SYNTAX Unsigned32 (0..'ffffffff'h) MAX-ACCESS read-create STATUS current DESCRIPTION "This object represents the committed burst size (CBS) against which associated traffic streams will be metered. The CBS specifies the maximum burst size that is supported for flows to be considered to be at a high level of conformance. Typically, this value represents the maximum number of tokens in a token bucket. This object specifies flow data in bytes per second units such that, for example, a value of 100 equates to a committed information rate of 100 bytes per second. Committed burst (and rate) information must be present if the qosMeterDataSpecification object has the value committedData(2) or peakRate(3). This, in turn, requires that at least both high and medium conformance actions be specified." ::= { qosMeterEntry 4 } qosMeterPeakRate OBJECT-TYPE SYNTAX Unsigned32 (0..'ffffffff'h) MAX-ACCESS read-create STATUS current DESCRIPTION "This object represents the peak information rate (PIR) against which associated traffic streams will be metered. The PIR specifies the rate at which incoming traffic can arrive to be considered to be at a medium level of conformance. Typically, this value specifies the rate at which tokens are added to a token bucket used to meter received flows. This object specifies a rate in bytes per second units such that, for example, a value of 100 equates to a committed information rate of 100 bytes per second. Peak rate (and burst) information must be present if the qosMeterDataSpecification object has the value peakData(3). This, in turn, requires that high, medium and low conformance actions be specified." ::= { qosMeterEntry 5 } qosMeterPeakBurst OBJECT-TYPE SYNTAX Unsigned32 (0..'ffffffff'h) MAX-ACCESS read-create STATUS current DESCRIPTION "This object represents the peak burst size (PBS) against which associated traffic streams will be metered. The CBS specifies the maximum burst size that is supported for flows to be considered to be at a medium level of conformance. Typically, this value represents the maximum number of tokens in a token bucket. This object specifies flow data in bytes per second units such that, for example, a value of 100 equates to a committed information rate of 100 bytes per second. Peak burst (and rate) information must be present if the qosMeterDataSpecification object has the value peakData(3). This, in turn, requires that high, medium and low conformance actions be specified." ::= { qosMeterEntry 6 } qosMeterHighConfAction OBJECT-TYPE SYNTAX PolicyInstanceIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the action that is to be initiated for flows that are determined to have a high level of conformance with regard to metering criteria being applied to the flow. Actions must be defined in the qosActionTable prior to being referenced by this attribute. A non-zero value for this attribute must be provided prior to use unless an in-profile action is specified in the associated qosTargetTable entry." ::= { qosMeterEntry 7 } qosMeterMedConfAction OBJECT-TYPE SYNTAX PolicyInstanceIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the action that is to be initiated for flows that are determined to have a medium level of conformance with regard to metering criteria being applied to the flow. Actions must be defined in the qosActionTable prior to being referenced by this attribute. A valid value for this attribute must be provided prior to use if the value of the associated qosMeterDataSpecification object is committedRate(2) or peakRate(3) and an out-of-profile action is not specified in the associated qosTargetTable entry." ::= { qosMeterEntry 8 } qosMeterLowConfAction OBJECT-TYPE SYNTAX PolicyInstanceIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the action that is to be initiated for flows that are determined to have a low level of conformance with regard to metering criteria being applied to the flow. Actions must be defined in the qosActionTable prior to being referenced by this attribute. A valid value for this attribute must be provided if the value of the associated qosMeterDataSpecification object is peakRate(3)." ::= { qosMeterEntry 9 } qosMeterStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosIfDscpAssignmentStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosMeterEntry 10 } qosMeterStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosMeterEntry 11 } qosMeterLabel OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "A label used to reference the entry in a textual manner." ::= { qosMeterEntry 12 } -- -- The Generic QoS ACL Action Group -- qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 } -- -- The QoS Action Table -- -- The QoS Action Table describes actions that are associated with -- specific IP, IEEE 802 and other ACLs through the QoS Target -- Table. An action specification may be simple (i.e., a single -- action) or complex (i.e., multiple actions that are performed -- in "parallel"). -- qosActionTable OBJECT-TYPE SYNTAX SEQUENCE OF QosActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Contains the current set of configured actions. The actions are associated with IP, IEEE 802 and other ACLs and interfaces during operation." ::= { qosAction 1 } qosActionEntry OBJECT-TYPE SYNTAX QosActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "General action definitions. Each entry specifies an instance of the qosAction class which describes (potentially) several distinct action attributes. Each action is taken 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 referenced in a target instance in another class. This class may be extended with actions that apply to specific QoS policies (e.g., IP, IEEE 802, security) using augmentation." INDEX { qosActionId } ::= { qosActionTable 1 } QosActionEntry ::= SEQUENCE { qosActionId PolicyInstanceId, qosActionDrop TruthValue, qosActionUpdateDSCP Integer32, qosActionMeter PolicyInstanceId, qosActionStorageType StorageType, qosActionStatus RowStatus, qosActionLabel SnmpAdminString } qosActionId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer index that uniquely identifies the instance of the QoS Action class. Class instances may not be contiguous. Actions are associated with Target instances in other classes (e.g., the QoS Target class) using this attribute." ::= { qosActionEntry 1 } qosActionDrop OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This action attribute, when specified, will cause the frame being evaluated to be dropped if the value is '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 been specified should be performed if they make protocol sense. For example, requests for traffic mirroring (if such an action is supported by a device) should be honored. However, updating protocol header values will typically not be necessary." ::= { qosActionEntry 2 } qosActionUpdateDSCP OBJECT-TYPE SYNTAX Integer32 (-1 | 0..63) MAX-ACCESS read-create STATUS current DESCRIPTION "This action component, when specified, will cause the value contained in the Differentiated Services (DS) field of an associated IP datagram to be updated with 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 } qosActionMeter OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS read-create 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 } qosActionStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosActionStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosActionEntry 5 } qosActionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosActionEntry 6 } qosActionLabel OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "A label used to reference the entry in a textual manner." ::= { qosActionEntry 7 } -- -- The QoS Target Table -- -- The QoS Target Table supports the association of ACLs, -- interfaces and actions. It allows ACL class instances, as -- defined in various ACL Defintion 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. Furthermore, it -- allows heterogeneous ACL Definition class instances (e.g., -- IP, IEEE 802, security) to be applied to the same interface -- group in a prescribed order of precedence. -- qosTargetTable OBJECT-TYPE SYNTAX SEQUENCE OF QosTargetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A class that applies a set of ACLs to interfaces specifying, for each interface, the precedence order of the ACL with respect to other ACLs applied to the same interface and, for each ACL, the action to take for a packet that matches a permit ACE in that ACL. Interfaces are specified abstractly in terms of interface roles. This class may contain ACLs that specify different types of traffic classification (e.g., IP ACLs and IEEE 802 ACLs 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." ::= { qosAction 2 } qosTargetEntry OBJECT-TYPE SYNTAX QosTargetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An instance of the qosTarget class. Instance creation may be prohibited based on the status of certain class attributes which must exist prior to class instantiation." INDEX { qosTargetId } ::= { qosTargetTable 1 } QosTargetEntry ::= SEQUENCE { qosTargetId PolicyInstanceId, qosTargetAclId PolicyInstanceId, qosTargetAclType OBJECT IDENTIFIER, qosTargetInterfaceRoles RoleCombination, qosTargetInterfaceDirection INTEGER, qosTargetOrder Unsigned32, qosTargetMeter PolicyInstanceIdOrZero, qosTargetStorageType StorageType, qosTargetStatus RowStatus, qosTargetShapingParams PolicyInstanceIdOrZero, qosTargetShapingGroup Unsigned32, qosTargetLabel SnmpAdminString, qosTargetInProfileAction PolicyInstanceIdOrZero, qosTargetOutOfProfileAction PolicyInstanceIdOrZero, qosTargetUserGroupSession Unsigned32 } qosTargetId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer index that uniquely identifies the instance of the QoS Target class." ::= { qosTargetEntry 1 } qosTargetAclId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the ACL that is associated with this target. It identifies (potentially many) ACL class instances in a specific ACL Definition table where ACLs, and their associated ACEs, are defined. 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 } qosTargetAclType OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create 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 SYNTAX RoleCombination MAX-ACCESS read-create STATUS current DESCRIPTION "The interfaces to which this ACL applies specified in terms of a set of roles. The role combination specified by this attribute must exist in the qosInterfaceTypeTable prior to being association with an instance of this class." ::= { qosTargetEntry 4 } qosTargetInterfaceDirection OBJECT-TYPE SYNTAX INTEGER { in(1), out(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The direction of packet flow at the interface in question to which this ACL applies." ::= { qosTargetEntry 5 } qosTargetOrder OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "An integer that determines the precedence order of this ACL in the list of ACLs applied to interfaces of the specified role combination. An ACL with a given precedence order is positioned in the list before one with a higher-valued precedence order. As an example, consider the following ACL Target association: Index IfRoleCombo IfDirection AclId AclType Order 14 'eth1000+L2+L3' 'in' 8 '802' 1 15 'eth1000+L2+L3' 'in' 3 '802' 2 16 'eth1000+L2+L3' 'in' 12 'IP' 3 17 'eth1000+L2+L3' 'in' 6 'IP' 4 18 'eth1000+L2+L3' 'in' 21 'IP' 5 Five distinct ACL specifications, 3 from an IP ACL Definition class and 2 from an IEEE 802 ACL Definition class, form an Acl Target association (e.g., based on the specified interface role combination and direction attributes) with a prescribed order of evaluation. The AclType and AclId attributes identify the ACL Definition instances in their respective classes. Precedence values within an association must be unique otherwise instance installation will be prohibited and an error value will be returned." ::= { qosTargetEntry 6 } qosTargetMeter OBJECT-TYPE SYNTAX PolicyInstanceIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the meter that is associated with this QoS Target instance. Meters are defined in the qosMeterTable. The corresponding instance in the qosMeter class (i.e., the class instance where the qosMeterId is equal to the value of this object) must exist prior to being associated with an ACL Target entry. A value equal to zero indicates that no metering is requested." ::= { qosTargetEntry 7 } qosTargetStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosTargetStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosTargetEntry 8 } qosTargetStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosTargetEntry 9 } qosTargetShapingParams OBJECT-TYPE SYNTAX PolicyInstanceIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the shaping specification that is associated with this QoS Target instance. Shaping parameters are defined in the ntnQosShapingParamsTable. The corresponding instance in the ntnQosShapingParams class (i.e., the class instance where the ntnQosShapingParamsId is equal to the value of this object) must exist prior to being associated with an Target entry. A value equal to 0 for this attribute indicates that no shaping criteria is specified. Note that a shaping specification may be indirectly specified using the qosTargetShapingGroup attribute. The shaping specification associated with the shaping group is used in this case. Inconsistencies between the shaping group shaping specification and a non-zero value provided for this attribute results in an error." DEFVAL { 0 } ::= { qosTargetEntry 10 } qosTargetShapingGroup OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies a shaping group number. Aggregate shaping across one or more QoS Target instances (i.e., shaping traffic identified by one or more QoS Target entries as if they were a single flow) is supported by assigning the same shaping group number to multiple QoS Target entries. A value equal to 0 for this attribute indicates that aggregate shaping with one or more existing policies is not specified. Note that a shaping specification may be indirectly specified using this attribute. The shaping specification associated with the shaping group, if it already exists, is used in this case. Inconsistencies between the shaping group shaping specification and a non-zero value for the qosTargetShapingParams attribute results in an error." DEFVAL { 0 } ::= { qosTargetEntry 11 } qosTargetLabel OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "A label used to reference the entry in a textual manner." ::= { qosTargetEntry 12 } qosTargetInProfileAction OBJECT-TYPE SYNTAX PolicyInstanceIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the action that is to be initiated for flows that are determined to be in-profile with regard to metering criteria being applied to the flow. If no metering criteria is specified, all flows matching a given target specification are considered in-profile. Actions must be defined in the qosActionTable prior to being referenced by this attribute. A non-zero value for this attribute must be provided unless an in-profile (high conformance) action is specified and associated with a meter identified by the qosTargetMeter attribute." DEFVAL { 0 } ::= { qosTargetEntry 13 } qosTargetOutOfProfileAction OBJECT-TYPE SYNTAX PolicyInstanceIdOrZero MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies the action that is to be initiated for flows that are determined to be out-of- profile with regard to metering criteria being applied to the flow. Actions must be defined in the qosActionTable prior to being referenced by this attribute. An out-of-profile action is required if metering is requested (i.e., the associated meter's qosMeterDataSpecification object is `committedRate` or `peakRate`). A non-zero value for this attribute must be provided unless an out-of-profile (meduim conformance) action is specified and associated with a meter identified by the qosTargetMeter attribute." DEFVAL { 0 } ::= { qosTargetEntry 14 } qosTargetUserGroupSession OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute identifies a user group session to which the specified policy criteria is to be applied. The identified user group session must exist in the User Role Table for the policy installation to succeed. This attribute is thus used to synchronize state for user-based policies. The attribute ntnQosUserRoleSessionGroup in the User Role Table identifies current (i.e., applicable) user group sessions. Furthermore, the specified qosTargetInterfaceRoles role combination identifies a user role (and not an interface role) when the value of this attribute is non-zero. A value of zero for this attribute indicates that the policy is not to be applied to a specific set of users. In this case, policy is applied based on the standard interface-to-role associations specified in the ntnQosInterfaceIdTable." DEFVAL { 0 } ::= { qosTargetEntry 15 } -- -- The IP Classification and Policing Group -- qosIpQos OBJECT IDENTIFIER ::= { qosPolicyIpPibClasses 1 } -- The IP ACE Table qosIpAceTable OBJECT-TYPE SYNTAX SEQUENCE OF QosIpAceEntry MAX-ACCESS not-accessible 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." ::= { qosIpQos 1 } qosIpAceEntry OBJECT-TYPE SYNTAX QosIpAceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An instance of the qosIpAce class." INDEX { qosIpAceId } ::= { qosIpAceTable 1 } QosIpAceEntry ::= SEQUENCE { qosIpAceId PolicyInstanceId, qosIpAceDstAddr IpAddress, qosIpAceDstAddrMask IpAddress, qosIpAceSrcAddr IpAddress, qosIpAceSrcAddrMask IpAddress, qosIpAceDscp Integer32, qosIpAceProtocol INTEGER, qosIpAceDstL4PortMin INTEGER, qosIpAceDstL4PortMax INTEGER, qosIpAceSrcL4PortMin INTEGER, qosIpAceSrcL4PortMax INTEGER, qosIpAcePermit TruthValue, qosIpAceStorageType StorageType, qosIpAceStatus RowStatus } qosIpAceId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer index to uniquely identify this ACE among all the ACEs." ::= { qosIpAceEntry 1 } qosIpAceDstAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the packet's destination IP address." ::= { qosIpAceEntry 2 } qosIpAceDstAddrMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create 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 MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the packet's source IP address." ::= { qosIpAceEntry 4 } qosIpAceSrcAddrMask OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-create STATUS current DESCRIPTION "A mask for the matching of the source IP address." ::= { qosIpAceEntry 5 } qosIpAceDscp OBJECT-TYPE SYNTAX Integer32 (-1 | 0..63) MAX-ACCESS read-create 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) MAX-ACCESS read-create 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) MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum value that the packet's layer 4 destination port number can have and match this ACE. The value of this attribute must be less-than-or-equal-to the value of the corresponding qosIpAceDstL4PortMax attribute." ::= { qosIpAceEntry 8 } qosIpAceDstL4PortMax OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum value that the packet's layer 4 destination port number can have and match this ACE. The value of this attribute must be greater-than-or-equal-to the value of the corresponding qosIpAceDstL4PortMin attribute." ::= { qosIpAceEntry 9 } qosIpAceSrcL4PortMin OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum value that the packet's layer 4 source port number can have and match this ACE. The value of this attribute must be less-than-or-equal-to the value of the corresponding qosIpAceSrcL4PortMax attribute." ::= { qosIpAceEntry 10 } qosIpAceSrcL4PortMax OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum value that the packet's layer 4 source port number can have and match this ACE. The value of this attribute must be greater-than-or-equal-to the value of the corresponding qosIpAceSrcL4PortMin attribute." ::= { qosIpAceEntry 11 } qosIpAcePermit OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create 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 } qosIpAceStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosIpAceStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosIpAceEntry 13 } qosIpAceStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosIpAceEntry 14 } -- -- The IP ACL Definition Table -- qosIpAclDefinitionTable OBJECT-TYPE SYNTAX SEQUENCE OF QosIpAclDefinitionEntry MAX-ACCESS not-accessible 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." ::= { qosIpQos 2 } qosIpAclDefinitionEntry OBJECT-TYPE SYNTAX QosIpAclDefinitionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An instance of the qosIpAclDefinition class." INDEX { qosIpAclDefinitionId } ::= { qosIpAclDefinitionTable 1 } QosIpAclDefinitionEntry ::= SEQUENCE { qosIpAclDefinitionId PolicyInstanceId, qosIpAclDefinitionAclId PolicyInstanceId, qosIpAclDefinitionAceId PolicyInstanceId, qosIpAclDefinitionAceOrder Unsigned32, qosIpAclDefinitionStorageType StorageType, qosIpAclDefinitionStatus RowStatus, qosIpAclDefinitionLabel SnmpAdminString } qosIpAclDefinitionId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS not-accessible STATUS current DESCRIPTION "Unique index of this policy rule instance." ::= { qosIpAclDefinitionEntry 1 } qosIpAclDefinitionAclId OBJECT-TYPE SYNTAX PolicyInstanceId MAX-ACCESS read-create 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 PolicyInstanceId MAX-ACCESS read-create STATUS current DESCRIPTION "This attribute specifies the ACE in the qosIpAceTable that is in the ACL specified by qosIpAclIndex 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 MAX-ACCESS read-create 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 } qosIpAclDefinitionStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value permanent(4) need not allow write-access to any columnar objects in the row. This object may not be modified if the associated qosIpAclDefinitionStatus object is equal to active(1)." DEFVAL { volatile } ::= { qosIpAclDefinitionEntry 5 } qosIpAclDefinitionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row. An entry may not exist in the active state unless all objects in the entry have an appropriate value. Row creation using only default values is supported." ::= { qosIpAclDefinitionEntry 6 } qosIpAclDefinitionLabel OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "A label used to reference the filter group in a textual manner. All members of the same group, as determined by the value of the qosIpAclDefinitionAclId attribute, must have the same label." ::= { qosIpAclDefinitionEntry 7 } -- -- Conformance Section -- qosPolicyIpPibConformance OBJECT IDENTIFIER ::= { qosPolicyIpPib 3 } qosPolicyIpPibCompliances OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 1 } qosPolicyIpPibGroups OBJECT IDENTIFIER ::= { qosPolicyIpPibConformance 2 } qosPolicyIpPibCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Describes the requirements for conformance to the QoS Policy IP PIB." MODULE -- this module MANDATORY-GROUPS { qosInterfaceTypeGroup, qosIfQueueGroup, qosMeterGroup, qosActionGroup, qosTargetGroup } OBJECT qosInterfaceTypeRoles MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosInterfaceTypeQueueSet MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosInterfaceTypeCapabilities MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosInterfaceTypeStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosInterfaceTypeStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueSetId MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueIndex MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueGenDiscipline MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueExtDiscipline MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueDrainSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueAbsBandwidth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueServiceOrder MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfQueueStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosIfQueueStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterDataSpecification MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterCommittedRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterCommittedBurst MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterPeakRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterPeakBurst MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterHighConfAction MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterMedConfAction MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterLowConfAction MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosMeterStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosMeterLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosActionDrop MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosActionUpdateDSCP MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosActionMeter MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosActionStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosActionStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosActionLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetAclId MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetAclType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetInterfaceRoles MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetInterfaceDirection MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetOrder MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetMeter MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosTargetStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetShapingParams MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetShapingGroup MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetInProfileAction MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetOutOfProfileAction MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosTargetUserGroupSession MIN-ACCESS read-only DESCRIPTION "Write access is not required." GROUP qosIfDscpAssignmentGroup DESCRIPTION "The qosIfDscpAssignmentGroup is mandatory if traffic queue assignment based on DSCP is supported." OBJECT qosIfDscpAssignmentRoles MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfDscpAssignmentDscp MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfDscpAssignmentQueue MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIfDscpAssignmentStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosIfDscpAssignmentStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." GROUP qosIpAceGroup DESCRIPTION "The qosIpAceGroup is mandatory if filtering based on IP traffic components is supported." OBJECT qosIpAceDstAddr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceDstAddrMask MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceSrcAddr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceSrcAddrMask MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceDscp MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceProtocol MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceDstL4PortMin MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceDstL4PortMax MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceSrcL4PortMin MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceSrcL4PortMax MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAcePermit MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAceStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosIpAceStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." GROUP qosIpAclDefinitionGroup DESCRIPTION "The qosIpAclDefinitionGroup is mandatory if filtering based on IP traffic components is supported." OBJECT qosIpAclDefinitionAclId MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAclDefinitionAceId MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAclDefinitionAceOrder MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAclDefinitionStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required, nor is support for the nonVolatile(2) enumeration." OBJECT qosIpAclDefinitionStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT qosIpAclDefinitionLabel MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { qosPolicyIpPibCompliances 1 } qosInterfaceTypeGroup OBJECT-GROUP OBJECTS { qosInterfaceTypeRoles, qosInterfaceTypeQueueSet, qosInterfaceTypeCapabilities, qosInterfaceTypeStorageType, qosInterfaceTypeStatus } STATUS current DESCRIPTION "Objects from the qosInterfaceTypeTable." ::= { qosPolicyIpPibGroups 1 } qosIfQueueGroup OBJECT-GROUP OBJECTS { qosIfQueueSetId, qosIfQueueIndex, qosIfQueueGenDiscipline, qosIfQueueExtDiscipline, qosIfQueueDrainSize, qosIfQueueAbsBandwidth, qosIfQueueBandwidthAllocation, qosIfQueueServiceOrder, qosIfQueueSize, qosIfQueueStorageType, qosIfQueueStatus } STATUS current DESCRIPTION "Objects from the qosIfQueueTable." ::= { qosPolicyIpPibGroups 2 } qosIfDscpAssignmentGroup OBJECT-GROUP OBJECTS { qosIfDscpAssignmentRoles, qosIfDscpAssignmentDscp, qosIfDscpAssignmentQueue, qosIfDscpAssignmentStorageType, qosIfDscpAssignmentStatus } STATUS current DESCRIPTION "Objects from the qosIfDscpAssignmentTable." ::= { qosPolicyIpPibGroups 3 } qosMeterGroup OBJECT-GROUP OBJECTS { qosMeterDataSpecification, qosMeterCommittedRate, qosMeterCommittedBurst, qosMeterPeakRate, qosMeterPeakBurst, qosMeterHighConfAction, qosMeterMedConfAction, qosMeterLowConfAction, qosMeterStorageType, qosMeterStatus, qosMeterLabel } STATUS current DESCRIPTION "Objects from the qosMeterTable." ::= { qosPolicyIpPibGroups 4 } qosActionGroup OBJECT-GROUP OBJECTS { qosActionDrop, qosActionUpdateDSCP, qosActionMeter, qosActionStorageType, qosActionStatus, qosActionLabel } STATUS current DESCRIPTION "Objects from the qosActionTable." ::= { qosPolicyIpPibGroups 5 } qosTargetGroup OBJECT-GROUP OBJECTS { qosTargetAclId, qosTargetAclType, qosTargetInterfaceRoles, qosTargetInterfaceDirection, qosTargetOrder, qosTargetMeter, qosTargetStorageType, qosTargetStatus, qosTargetShapingParams, qosTargetShapingGroup, qosTargetLabel, qosTargetInProfileAction, qosTargetOutOfProfileAction, qosTargetUserGroupSession } STATUS current DESCRIPTION "Objects from the qosTargetTable." ::= { qosPolicyIpPibGroups 6 } qosIpAceGroup OBJECT-GROUP OBJECTS { qosIpAceDstAddr, qosIpAceDstAddrMask, qosIpAceSrcAddr, qosIpAceSrcAddrMask, qosIpAceDscp, qosIpAceProtocol, qosIpAceDstL4PortMin, qosIpAceDstL4PortMax, qosIpAceSrcL4PortMin, qosIpAceSrcL4PortMax, qosIpAcePermit, qosIpAceStorageType, qosIpAceStatus } STATUS current DESCRIPTION "Objects from the qosIpAceTable." ::= { qosPolicyIpPibGroups 7 } qosIpAclDefinitionGroup OBJECT-GROUP OBJECTS { qosIpAclDefinitionAclId, qosIpAclDefinitionAceId, qosIpAclDefinitionAceOrder, qosIpAclDefinitionStorageType, qosIpAclDefinitionStatus, qosIpAclDefinitionLabel } STATUS current DESCRIPTION "Objects from the qosIpAclDefinitionTable." ::= { qosPolicyIpPibGroups 8 } END