1 QOS-POLICY-IP-PIB PIB-DEFINITIONS ::= BEGIN
6 MODULE-IDENTITY, OBJECT-TYPE
8 TruthValue, TEXTUAL-CONVENTION
11 FROM POLICY-FRAMEWORK-PIB
17 qosPolicyIpPib MODULE-IDENTITY
18 SUBJECT-CATEGORIES { all } -- to be assigned
19 LAST-UPDATED "9906241800Z"
20 ORGANIZATION "IETF RAP WG"
25 San Jose, CA 95134-1706 USA
26 Phone: +1 408 527 8218
27 Email: mfine@cisco.com
31 170 West Tasman Drive,
32 San Jose, CA 95134-1706 USA
33 Phone: +1 408 526 5260
38 4401 Great America Parkway
39 Santa Clara, CA 95054 USA
40 Phone: +1 408 495 2992
41 Email: jseligso@nortelnetworks.com"
43 "The PIB module containing an initial set of policy
44 rule classes that describe the quality of service
45 (QoS) policies. It includes general classes that may
46 be extended by other PIB specifications as well as
47 an initial set of PIB classes related to IP processing."
49 ::= { ibrpib 4 } -- to be assigned!
51 qosPolicyGenPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 1 }
52 qosPolicyIpPibClasses OBJECT IDENTIFIER ::= { qosPolicyIpPib 2 }
55 -- Textual Conventions
62 Dscp ::= TEXTUAL-CONVENTION
65 "An integer that is in the range of the diffserv codepoint
68 SYNTAX INTEGER (0..63)
74 QosInterfaceQueueCount ::= TEXTUAL-CONVENTION
77 "An integer that describes the number of queues an interface
78 supports. It is limited to the number of DSCP values."
80 SYNTAX INTEGER (1..64)
83 -- QoS Interface Group
86 -- This group specifies the configuration of the various interface
87 -- types including the setting of queueing parameters and the
88 -- mapping of DSCPs and 802.1 CoS to queues.
91 qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 }
94 -- Interface Type Table
98 qosInterfaceTypeTable OBJECT-TYPE
99 SYNTAX SEQUENCE OF QosInterfaceTypeEntry
103 "Interface type definitions. This class describes the types
104 of interfaces that exist on the device. An interface type
105 is denoted by its designated role identifier as well as
106 by the queue set and queue capabilities it supports."
108 ::= { qosIfParameters 1 }
110 qosInterfaceTypeEntry OBJECT-TYPE
111 SYNTAX QosInterfaceTypeEntry
114 "An instance of this class describes the characteristics
115 of a type of an interface. Interface type characteristics
116 include a role combination identifier, a queue set
117 identifier and a queue capabilities attribute. An
118 instance is required for each different unique role
119 combination identifier which represents the different
120 interface types that are operational in the device at
121 any given time. The PEP does not report which specific
122 interfaces have which characteristics."
124 PIB-INDEX { qosInterfaceTypeId }
125 ::= { qosInterfaceTypeTable 1 }
127 QosInterfaceTypeEntry ::= SEQUENCE {
128 qosInterfaceTypeId InstanceId,
129 qosInterfaceTypeRoles RoleCombination,
130 qosInterfaceTypeQueueSet InstanceId,
131 qosInterfaceTypeCapabilities BITS
134 qosInterfaceTypeId OBJECT-TYPE
138 "An arbitrary integer index that uniquely identifies a
139 instance of the qosInterfaceType class. Class instances
140 may not be contiguous."
142 ::= { qosInterfaceTypeEntry 1 }
144 qosInterfaceTypeRoles OBJECT-TYPE
145 SYNTAX RoleCombination
148 "The role combination that is used to identify interfaces
149 with the characteristics specified by the attributes
150 of this class instance. Interface role combination
151 identifiers are used within a number of classes to
152 logically identify a physical set of interfaces to which
153 policy rules and actions are applied. Role combination
154 identifiers must exist in this table prior to being
155 referenced in other class instances."
157 ::= { qosInterfaceTypeEntry 2 }
159 qosInterfaceTypeQueueSet OBJECT-TYPE
163 "The index of the queue set that is associated with
164 interfaces that are identified with the role combination
165 identifier that is associated with this class instance."
167 ::= { qosInterfaceTypeEntry 3 }
169 qosInterfaceTypeCapabilities OBJECT-TYPE
173 -- Classification support
174 inputIpClassification(1),
175 outputIpClassification(2),
176 input802Classification(3),
177 output802Classification(4),
179 -- Queuing discipline support
180 singleQueuingDiscipline(5),
181 hybridQueuingDiscipline(6)
185 "An enumeration of interface capabilities. Used by the
186 PDP or network manager to select which policies and
188 configuration it should push to the PEP."
190 ::= { qosInterfaceTypeEntry 4 }
193 -- Interface Queue Table
195 -- The Interface Queue Table enumerates the individual queues that
196 -- comprise a given queue set. Information specific to each queue
197 -- is exported by this table.
200 qosIfQueueTable OBJECT-TYPE
201 SYNTAX SEQUENCE OF QosIfQueueEntry
205 "Contains information about the individual queues that
206 comprise a queue set implemented on the device."
208 ::= { qosIfParameters 2 }
210 qosIfQueueEntry OBJECT-TYPE
211 SYNTAX QosIfQueueEntry
214 "A conceptual row in the qosIfQueueTable.
216 Each row identifies a specific queue within a given queue
217 set and contains detailed information about the queue. Queues
218 are associated with a given set through this table and
219 a queue set is associated with an interface set through
220 the qosInterfaceTypeTable."
222 PIB-INDEX { qosIfQueueId }
223 ::= { qosIfQueueTable 1 }
225 QosIfQueueEntry ::= SEQUENCE {
226 qosIfQueueId InstanceId,
227 qosIfQueueSetId INTEGER,
228 qosIfQueueIndex QosInterfaceQueueCount,
229 qosIfQueueGenDiscipline INTEGER,
230 qosIfQueueExtDiscipline OBJECT IDENTIFIER,
231 qosIfQueueDrainSize Unsigned32,
232 qosIfQueueAbsBandwidth Unsigned32,
234 qosIfQueueBandwidthAllocation INTEGER,
235 qosIfQueueServiceOrder QosInterfaceQueueCount,
236 qosIfQueueSize Unsigned32
239 qosIfQueueId OBJECT-TYPE
243 "The index that uniquely identifies this row in the table,
246 ::= { qosIfQueueEntry 1 }
248 qosIfQueueSetId OBJECT-TYPE
252 "An index that uniquely identifies a specific queue set. The
253 queue set that is identified with this value is associated
254 with an interface set through the qosInterfaceTypeQueueSet
255 object in the qosInterfaceTypeTable. The individual queues
256 that are members of this set all have the same value for
257 this attribute (i.e., they have the same set ID)."
259 ::= { qosIfQueueEntry 2 }
261 qosIfQueueIndex OBJECT-TYPE
262 SYNTAX QosInterfaceQueueCount
265 "An arbitrary index that uniquely identifies a specific
266 queue within a set of queues that is identified by the
267 qosIfQueueSetId value."
269 ::= { qosIfQueueEntry 3 }
271 qosIfQueueGenDiscipline OBJECT-TYPE
273 other(1), -- Use qosIfQueueExtDiscipline
274 fifo(2), -- First In First Out queuing
275 pq(3), -- Priority Queuing
276 fq(4), -- Fair Queuing
277 wfq(5) -- Weighted Fair Queuing
282 "This object identifies the queuing discipline that is
283 associated with the specified queue. Several general
284 purpose and well-known queuing disciplines are supported
285 by this attribute. Queuing disciplines that differ from
286 those that are supported by this object are specified
287 by setting this attribute to other(1) and providing
288 the object identifier that represents the different
289 queuing paradigm in the qosIfQueueExtDiscipline object.
291 A value of fifo(2) indicates that the queue is serviced
292 on a first-in-first-out (FIFO) basis. This discipline is
293 generally employed when only a single queue is available
294 for a given interface.
296 A value of pq(3) indicates that the queue is serviced
297 using a priority queuing discipline. This technique is
298 used when several queues are available for a given
299 interface. Each queue is assigned a priority and queues
300 are serviced in order of priority. Higher priority queues
301 are completely drained before lower priority queues are
304 A value of fq(4) indicates that the queue is serviced
305 using a fair queuing discipline. This technique is used
306 when several queues are available for a given interface.
307 Each queue is treated equally and is serviced in a
310 A value of wfq(5) indicates that the queue is serviced
311 using a weighted fair queuing discipline. This technique is
312 used when several queues are available for a given interface.
313 Each queue is serviced based on queue weights which determine
314 the scheduling and frequency of queue servicing. Queues that
315 are assigned a greater weight are implicitly provided with
318 Note that the processing disciplines for all of the queues
319 in a given set must be considered when trying to establish
320 a processing profile for a given interface."
322 ::= { qosIfQueueEntry 4 }
324 qosIfQueueExtDiscipline OBJECT-TYPE
326 SYNTAX OBJECT IDENTIFIER
329 "This object identifies the queuing discipline that is
330 associated with the specified queue. This attribute
331 provides a means through which additional queuing mechanisms
332 can be identified should the general queuing disciplines
333 be inadequate for a given device. As such. this attribute is
334 consulted only when the value of the qosIfQueueGenDiscipline
335 object is other(1). It contains an object identifier that
336 uniquely identifies a queuing paradigm.
338 Note that the processing disciplines for all of the queues
339 in a given set must be considered when trying to establish
340 a processing profile for a given interface."
342 ::= { qosIfQueueEntry 5 }
344 qosIfQueueDrainSize OBJECT-TYPE
348 "The maximum number of bytes that may be drained from the
349 queue in one cycle. The percentage of the interface
350 bandwidth allocated to this queue can be calculated from
351 this attribute and the sum of the drain sizes of all the
352 queues in a specific queue cluster in a queue set.
354 This attribute represents the relative bandwidth that is
355 available to a given queue with respect to other queues with
356 which it is associated. The absolute bandwidth that is
357 available to a given queue is specified by the attribute
358 qosIfQueueAbsBandwidth. Which of these two applies is
359 specified by the attribute qosIfQueueBandwidthAllocation."
361 ::= { qosIfQueueEntry 6 }
363 qosIfQueueAbsBandwidth OBJECT-TYPE
367 "The maximum interface bandwidth that is available for
368 consumption when servicing this queue. This bandwidth is
369 specified in terms of kilobits per second.
371 This attribute represents the absolute bandwidth that is
372 available to a given queue. The relative bandwidth that is
373 available to a given queue, with respect to other queues with
374 which it is associated, is specified by the attribute
375 qosIfQueueDrainSize. Which of these two applies is specified
376 by the attribute qosIfQueueBandwidthAllocation."
378 ::= { qosIfQueueEntry 7 }
380 qosIfQueueBandwidthAllocation OBJECT-TYPE
382 absolute(1), --use qosIfQueueAbsBandwidth
383 relative(2) --use qosIfQueueDrainSize
387 "This attribute specifies whether to configure the queue for
388 an absolute bandwidth limit or one that is relative to other
389 queues of the interface. i.e., whether to configure the queue
390 using qosIfQueueAbsBandwidth or qosIfQueueDrainSize."
392 ::= { qosIfQueueEntry 8 }
394 qosIfQueueServiceOrder OBJECT-TYPE
395 SYNTAX QosInterfaceQueueCount
398 "This object is used to provide an additional level of
399 priority that is required for certain queuing disciplines
400 and when the different queues that comprise a queue set
401 are serviced using a mix of queuing disciplines. This
402 object can be used to specify, for example, the order in
403 which queues will be serviced when priority queuing is
404 used. It also supports the ability to describe the
405 servicing hierarchy when a hybrid queuing scheme, such
406 as priority queuing coupled with weighted fair queuing,
409 Queue service priority is assigned such that a lower
410 service order value indicates a higher priority. For
411 example, a priority queue with a value of 1 will be
412 serviced (i.e., drained) before another priority queue
413 with a service order value of 2.
415 Note that multiple queues that are logically associated,
417 based on the queuing discipline that is being employed,
418 will be assigned the same service order value. Under
419 this scenario, other parameters that are related to the
420 queuing discipline determine the order of queue servicing
421 (e.g., queue drain size is used for 'wfq').
423 For example, an interface that is associated with a queue
424 set supporting two priority queues and three queues that
425 are serviced using WFQ would be modeled as follows:
427 Q Index Q Discipline Q Drain Size Q Service Order
434 The queue set presented in this example would service
435 all queued traffic in queue 22 first, followed by all of
436 the queued traffic in queue 23. Next the queued traffic
437 in queues 24 through 26 would be serviced in a round
438 robin fashion with queue 24 receiving 50% of the available
439 bandwidth, queue 25 receiving 35% of the available
440 bandwidth and queue 26 receiving 15% of the available
441 bandwidth. This example is presented for expository
442 purposes and has been simplified accordingly.
444 Note that, in this example, queues 24, 25 and 26 form a
445 queue cluster. Members of a queue cluster are all assigned
446 the same qosIfQueueServiceOrder as there are tightly
447 coupled. The qosIfQueueDrainSize attribute is used to
448 determine the additional processing characteristics of
449 the individual queues in a cluster."
451 ::= { qosIfQueueEntry 9 }
453 qosIfQueueSize OBJECT-TYPE
457 "The size of the queue in bytes. Some devices set queue size
458 in terms of packets. These devices must calculate the queue
459 size in packets by assuming an average packet size suitable
460 for the particular interface.
462 Some devices have a fixed size buffer to be shared among all
463 queues. These devices must allocate a fraction of the
464 total buffer space to this queue calculated as the the ratio
465 of the queue size to the sum of the queue sizes for the
468 ::= { qosIfQueueEntry 10 }
471 -- DSCP Assignment Table
473 -- Supports the assignment of DSCPs to queues for each
477 qosIfDscpAssignmentTable OBJECT-TYPE
478 SYNTAX SEQUENCE OF QosIfDscpAssignmentEntry
482 "Supports the assignment of DSCP values to a queue for
483 each interface with a specific queue count. There will be
484 64 instances of this class for each supported combination
485 of queue count and role combination."
487 ::= { qosIfParameters 3 }
489 qosIfDscpAssignmentEntry OBJECT-TYPE
490 SYNTAX QosIfDscpAssignmentEntry
493 "An instance of the qosIfDscpAssignment class."
495 PIB-INDEX { qosIfDscpAssignmentId }
496 ::= { qosIfDscpAssignmentTable 1 }
498 QosIfDscpAssignmentEntry ::= SEQUENCE {
499 qosIfDscpAssignmentId InstanceId,
500 qosIfDscpAssignmentRoles RoleCombination,
501 qosIfDscpAssignmentDscp Dscp,
502 qosIfDscpAssignmentQueue QosInterfaceQueueCount
505 qosIfDscpAssignmentId OBJECT-TYPE
510 "An index that is used to uniquely identify the
511 instance of the qosIfDscpAssignment class."
513 ::= { qosIfDscpAssignmentEntry 1 }
515 qosIfDscpAssignmentRoles OBJECT-TYPE
516 SYNTAX RoleCombination
519 "The role combination with which an interface must be
520 configured to support the DSCP-to-queue assignment
521 described by this instance. The specified role
522 combination must be defined in the qosInterfaceType
523 table prior to being referenced by this entry.
524 Otherwise a 'priAssociationUnknown(3)' error code
527 ::= { qosIfDscpAssignmentEntry 2 }
529 qosIfDscpAssignmentDscp OBJECT-TYPE
533 "The DSCP to which this class instance applies."
535 ::= { qosIfDscpAssignmentEntry 3 }
537 qosIfDscpAssignmentQueue OBJECT-TYPE
538 SYNTAX QosInterfaceQueueCount
541 "The specific queue, within the queue set that is
542 associated with the interface set identified by the
543 qosIfDscpAssignmentRoles tag, on which traffic with
544 the specified DSCP, dictated by the
545 qosIfDscpAssignmentDscp value, is placed. Failure to
546 specify an appropriate queue results in a
547 'priAssociationConflict(4)' error indication being
550 ::= { qosIfDscpAssignmentEntry 4 }
555 -- The QoS Meter Table contains metering specifications that
556 -- can be used to provide an acceptable flow bandwidth
557 -- dimension to the Target table.
560 qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 }
562 qosMeterTable OBJECT-TYPE
563 SYNTAX SEQUENCE OF QosMeterEntry
567 "Contains the current set of configured meters. The
568 meters are associated with a classifier during
569 operation through the QoS Target Table."
573 qosMeterEntry OBJECT-TYPE
577 "General metering definitions. Each entry specifies
578 an instance of the qosMeter class which specifies
579 metering information in terms of traffic stream
580 bandwidth parameters. An entry can thus be used to
581 support traffic metering based on the specified
582 service level specification."
584 PIB-INDEX { qosMeterId }
585 ::= { qosMeterTable 1 }
587 QosMeterEntry ::= SEQUENCE {
588 qosMeterId InstanceId,
589 qosMeterDataSpecification INTEGER,
590 qosMeterCommittedRate Unsigned32,
591 qosMeterCommittedBurst Unsigned32,
592 qosMeterPeakRate Unsigned32,
593 qosMeterPeakBurst Unsigned32,
594 qosMeterHighConfAction InstanceId,
595 qosMeterMedConfAction InstanceId,
597 qosMeterLowConfAction InstanceId
600 qosMeterId OBJECT-TYPE
604 "An arbitrary integer index that uniquely identifies
605 the instance of the qosMeter class. Meters are
606 associated with specific flows using this attribute
607 through the qosTargetMeter attribute in the QoS
610 ::= { qosMeterEntry 1 }
612 qosMeterDataSpecification OBJECT-TYPE
614 noMeterData(1), -- no metering reqd
615 committedData(2), -- committed rate only
616 peakData(3) -- committed and peak
620 "Specifies the metering data, and thus the actions, that
621 are defined in a given entry.
623 A value of noMeterData(1) indicates that no flow metering
624 is necessary. All flows associated with this meter entry
625 are considered to be at a high level of conformance.
627 A value of committedData(2) indicates that committed rate
628 and committed burst information has been specified and will
629 be applied to associated flows. No peak rate and burst
630 information has been specified meaning that two levels
631 of conformance (high, medium) are supported.
633 A value of peakData(3) indicates that peak rate and peak
634 burst information has been provided in addition to the
635 committed rate and committed burst information. All provided
636 information will be applied to associated flows meaning that
637 three levels of conformance (high, medium, low) are
640 ::= { qosMeterEntry 2 }
642 qosMeterCommittedRate OBJECT-TYPE
643 SYNTAX Unsigned32 (0..'ffffffff'h)
646 "This object represents the committed information rate
647 (CIR) against which associated traffic streams will be
648 metered. The CIR specifies the rate at which incoming
649 traffic can arrive to be considered to be at a high
650 level of conformance. Typically, this value specifies
651 the rate at which tokens are added to a token bucket
652 used to meter received flows.
654 This object specifies a rate in bytes per second units
655 such that, for example, a value of 100 equates to a
656 committed information rate of 100 bytes per second.
658 Committed rate (and burst) information must be present
659 if the qosMeterDataSpecification object has the value
660 committedData(2) or peakRate(3). This, in turn, requires
661 that at least both high and medium conformance actions
664 ::= { qosMeterEntry 3 }
666 qosMeterCommittedBurst OBJECT-TYPE
667 SYNTAX Unsigned32 (0..'ffffffff'h)
670 "This object represents the committed burst size
671 (CBS) against which associated traffic streams will
672 be metered. The CBS specifies the maximum burst size
673 that is supported for flows to be considered to be at
674 a high level of conformance. Typically, this value
675 represents the maximum number of tokens in a token
678 This object specifies flow data in bytes per second
679 units such that, for example, a value of 100 equates
680 to a committed information rate of 100 bytes per
683 Committed burst (and rate) information must be present
684 if the qosMeterDataSpecification object has the value
685 committedData(2) or peakRate(3). This, in turn, requires
686 that at least both high and medium conformance actions
690 ::= { qosMeterEntry 4 }
692 qosMeterPeakRate OBJECT-TYPE
693 SYNTAX Unsigned32 (0..'ffffffff'h)
696 "This object represents the peak information rate (PIR)
697 against which associated traffic streams will be
698 metered. The PIR specifies the rate at which incoming
699 traffic can arrive to be considered to be at a medium
700 level of conformance. Typically, this value specifies
701 the rate at which tokens are added to a token bucket
702 used to meter received flows.
704 This object specifies a rate in bytes per second units
705 such that, for example, a value of 100 equates to a
706 committed information rate of 100 bytes per second.
708 Peak rate (and burst) information must be present
709 if the qosMeterDataSpecification object has the value
710 peakData(3). This, in turn, requires that high, medium
711 and low conformance actions be specified."
713 ::= { qosMeterEntry 5 }
715 qosMeterPeakBurst OBJECT-TYPE
716 SYNTAX Unsigned32 (0..'ffffffff'h)
719 "This object represents the peak burst size (PBS)
720 against which associated traffic streams will
721 be metered. The CBS specifies the maximum burst size
722 that is supported for flows to be considered to be at
723 a medium level of conformance. Typically, this value
724 represents the maximum number of tokens in a token
727 This object specifies flow data in bytes per second
728 units such that, for example, a value of 100 equates
729 to a committed information rate of 100 bytes per
732 Peak burst (and rate) information must be present
734 if the qosMeterDataSpecification object has the value
735 peakData(3). This, in turn, requires that high, medium
736 and low conformance actions be specified."
738 ::= { qosMeterEntry 6 }
740 qosMeterHighConfAction OBJECT-TYPE
744 "This attribute identifies the action that is to be
745 initiated for flows that are determined to have a high
746 level of conformance with regard to metering criteria
747 being applied to the flow.
749 Actions must be defined in the qosActionTable prior to
750 being referenced by this attribute. A valid value for
751 this attribute must always be provided."
753 ::= { qosMeterEntry 7 }
755 qosMeterMedConfAction OBJECT-TYPE
759 "This attribute identifies the action that is to be
760 initiated for flows that are determined to have a medium
761 level of conformance with regard to metering criteria
762 being applied to the flow.
764 Actions must be defined in the qosActionTable prior to
765 being referenced by this attribute. A valid value for
766 this attribute must be provided if the value of the
767 associated qosMeterDataSpecification object is
768 committedRate(2) or peakRate(3)."
770 ::= { qosMeterEntry 8 }
772 qosMeterLowConfAction OBJECT-TYPE
776 "This attribute identifies the action that is to be
777 initiated for flows that are determined to have a low
778 level of conformance with regard to metering criteria
780 being applied to the flow.
782 Actions must be defined in the qosActionTable prior to
783 being referenced by this attribute. A valid value for
784 this attribute must be provided if the value of the
785 associated qosMeterDataSpecification object is
788 ::= { qosMeterEntry 9 }
791 -- The Generic QoS ACL Action Group
794 qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 }
797 -- The QoS Action Table
799 -- The QoS Action Table describes actions that are associated with
800 -- specific IP, IEEE 802 and other ACLs through the QoS Target
801 -- Table. An action specification may be simple (i.e., a single
802 -- action) or complex (i.e., multiple actions that are performed
806 qosActionTable OBJECT-TYPE
807 SYNTAX SEQUENCE OF QosActionEntry
811 "Contains the current set of configured actions. The actions
812 are associated with IP, IEEE 802 and other ACLs and
813 interfaces during operation."
817 qosActionEntry OBJECT-TYPE
818 SYNTAX QosActionEntry
821 "General action definitions. Each entry specifies an instance
822 of the qosAction class which describes (potentially)
824 several distinct action attributes. Each action is taken
825 individually regarding the data in question. Several actions
826 can be taken for a single frame.
828 An instance of this class can not be deleted while it is being
829 referenced in a target instance in another class. This
830 class may be extended with actions that apply to specific QoS
831 policies (e.g., IP, IEEE 802, security) using augmentation."
833 PIB-INDEX { qosActionId }
834 ::= { qosActionTable 1 }
836 QosActionEntry ::= SEQUENCE {
837 qosActionId InstanceId,
838 qosActionDrop TruthValue,
839 qosActionUpdateDSCP Integer32,
840 qosActionMeter InstanceId
843 qosActionId OBJECT-TYPE
847 "An arbitrary integer index that uniquely identifies
848 the instance of the QoS Action class. Class instances
849 may not be contiguous. Actions are associated with
850 Target instances in other classes (e.g., the QoS
851 Target class) using this attribute."
853 ::= { qosActionEntry 1 }
855 qosActionDrop OBJECT-TYPE
859 "This action attribute, when specified, will cause the
860 frame being evaluated to be dropped if the value is
861 'true(1)'. A value of 'false(2)' indicates that this
862 action will not be initiated (i.e., the frame will not
863 be dropped) based on this attribute.
865 Prior to discarding a packet, other actions that have
866 been specified should be performed if they make protocol
867 sense. For example, requests for traffic mirroring (if
868 such an action is supported by a device) should be
870 honored. However, updating protocol header values will
871 typically not be necessary."
873 ::= { qosActionEntry 2 }
875 qosActionUpdateDSCP OBJECT-TYPE
876 SYNTAX Integer32 (-1 | 0..63)
879 "This action component, when specified, will cause the
880 value contained in the Differentiated Services (DS)
881 field of an associated IP datagram to be updated with
882 the value of this object.
884 A value of -1 indicates that this action component has not
885 been set to an appropriate value and should not be used for
886 action initiation. The DSCP should remain unchanged."
888 ::= { qosActionEntry 3 }
890 qosActionMeter OBJECT-TYPE
894 "This action component, when specified, will identify
895 another level of metering that should be applied to
896 the given flow. This action is only taken if it is
897 not in conflict with other specified actions, i.e.,
900 A value of 0 indicates that an additional metering
901 component has not been specified. No additional metering
904 ::= { qosActionEntry 4 }
907 -- The QoS Target Table
909 -- The QoS Target Table supports the association of ACLs,
910 -- interfaces and actions. It allows ACL class instances, as
911 -- defined in various ACL Defintion classes, to be associated
912 -- with specific interfaces/flow direction (based on interface
913 -- role combination and traffic direction) and actions to be
915 -- performed based on traffic classification. Furthermore, it
916 -- allows heterogeneous ACL Definition class instances (e.g.,
917 -- IP, IEEE 802, security) to be applied to the same interface
918 -- group in a prescribed order of precedence.
921 qosTargetTable OBJECT-TYPE
922 SYNTAX SEQUENCE OF QosTargetEntry
926 "A class that applies a set of ACLs to interfaces specifying,
927 for each interface, the precedence order of the ACL with
928 respect to other ACLs applied to the same interface and, for
929 each ACL, the action to take for a packet that matches a
930 permit ACE in that ACL. Interfaces are specified abstractly
931 in terms of interface roles.
933 This class may contain ACLs that specify different types
934 of traffic classification (e.g., IP ACLs and IEEE 802 ACLs
935 defined in their respective definition tables). An ACL is
936 identified by its class and instance within that class. An
937 ACL association is formed when ACLs apply to the same
938 interfaces, as determined by the specified interface role
939 and direction. ACL evaluation precedence within an
940 association is determined by the precedence attribute."
943 priPrecedenceConflict(1) -- precedence conflict detected
948 qosTargetEntry OBJECT-TYPE
949 SYNTAX QosTargetEntry
952 "An instance of the qosTarget class. Instance creation
953 may be prohibited based on the status of certain class
954 attributes which must exist prior to class instantiation."
956 PIB-INDEX { qosTargetId }
957 ::= { qosTargetTable 1 }
959 QosTargetEntry ::= SEQUENCE {
961 qosTargetId InstanceId,
962 qosTargetAclId InstanceId,
963 qosTargetAclType OBJECT IDENTIFIER,
964 qosTargetInterfaceRoles RoleCombination,
965 qosTargetInterfaceDirection INTEGER,
966 qosTargetOrder Unsigned32,
967 qosTargetMeter InstanceId
970 qosTargetId OBJECT-TYPE
974 "An arbitrary integer index that uniquely identifies
975 the instance of the QoS Target class."
977 ::= { qosTargetEntry 1 }
979 qosTargetAclId OBJECT-TYPE
983 "This attribute identifies the ACL that is associated
984 with this target. It identifies (potentially many) ACL
985 class instances in a specific ACL Definition table
986 where ACLs, and their associated ACEs, are defined.
987 For example, instances in the qosIpAclDefinitionTable
988 are identified by setting the value of this object
989 equal to the qosIpAclDefinitionAclId of the instances
990 being targeted. This value, together with the value of
991 the corresponding qosTargetAclType attribute,
992 uniquely identifies one or more instances of a specific
993 ACL Definition class.
995 Attempting to specify an unknown ACL class instance will
996 result in an appropriate error indication being returned
997 to the entity that is attempting to install the conflicting
998 entry. For example, a 'priUnknown(2)' error indication is
999 returned to the policy server in this situation."
1001 ::= { qosTargetEntry 2 }
1003 qosTargetAclType OBJECT-TYPE
1004 SYNTAX OBJECT IDENTIFIER
1008 "The ACL Definition class that is being referenced by
1009 this instance of the ACL Target class. This policy
1010 class identifier, together with the corresponding
1011 qosTargetAclId attribute, uniquely identifies
1012 instances of a specific ACL Definition class.
1014 The object identifier value of this attribute must
1015 exist in the policyPrcSupportTable."
1017 ::= { qosTargetEntry 3 }
1019 qosTargetInterfaceRoles OBJECT-TYPE
1020 SYNTAX RoleCombination
1023 "The interfaces to which this ACL applies specified
1024 in terms of a set of roles. The role combination
1025 specified by this attribute must exist in the
1026 qosInterfaceTypeTable prior to being association
1027 with an instance of this class."
1029 ::= { qosTargetEntry 4 }
1031 qosTargetInterfaceDirection OBJECT-TYPE
1038 "The direction of packet flow at the interface in
1039 question to which this ACL applies."
1041 ::= { qosTargetEntry 5 }
1043 qosTargetOrder OBJECT-TYPE
1047 "An integer that determines the precedence order of
1048 this ACL in the list of ACLs applied to interfaces of
1049 the specified role combination. An ACL with a given
1050 precedence order is positioned in the list before one
1051 with a higher-valued precedence order.
1053 As an example, consider the following ACL Target association:
1055 Index IfRoleCombo IfDirection AclId AclType Order
1056 14 'eth1000+L2+L3' 'in' 8 '802' 1
1057 15 'eth1000+L2+L3' 'in' 3 '802' 2
1058 16 'eth1000+L2+L3' 'in' 12 'IP' 3
1059 17 'eth1000+L2+L3' 'in' 6 'IP' 4
1060 18 'eth1000+L2+L3' 'in' 21 'IP' 5
1062 Five distinct ACL specifications, 3 from an IP ACL
1063 Definition class and 2 from an IEEE 802 ACL Definition class,
1064 form an Acl Target association (e.g., based on the specified
1065 interface role combination and direction attributes) with a
1066 prescribed order of evaluation. The AclType and AclId
1067 attributes identify the ACL Definition instances in their
1070 Precedence values within an association must be unique
1071 otherwise instance installation will be prohibited and an
1072 error value will be returned."
1074 ::= { qosTargetEntry 6 }
1076 qosTargetMeter OBJECT-TYPE
1080 "This attribute identifies the meter that is associated
1081 with this QoS Target instance. Meters are defined
1082 in the qosMeterTable. The corresponding instance in
1083 the qosMeter class (i.e., the class instance where
1084 the qosMeterId is equal to the value of this object)
1085 must exist prior to being associated with a Target
1088 ::= { qosTargetEntry 7 }
1091 -- The IP Classification and Policing Group
1094 qosIpQos OBJECT IDENTIFIER ::= { qosPolicyIpPibClasses 1 }
1098 qosIpAceTable OBJECT-TYPE
1099 SYNTAX SEQUENCE OF QosIpAceEntry
1103 "ACE definitions. A packet has to match all fields in an
1104 ACE. Wildcards may be specified for those fields that are
1109 qosIpAceEntry OBJECT-TYPE
1110 SYNTAX QosIpAceEntry
1113 "An instance of the qosIpAce class."
1115 PIB-INDEX { qosIpAceId }
1116 ::= { qosIpAceTable 1 }
1118 QosIpAceEntry ::= SEQUENCE {
1119 qosIpAceId InstanceId,
1120 qosIpAceDstAddr InetAddress,
1121 qosIpAceDstAddrMask InetAddress,
1122 qosIpAceSrcAddr InetAddress,
1123 qosIpAceSrcAddrMask InetAddress,
1124 qosIpAceDscp Integer32,
1125 qosIpAceProtocol INTEGER,
1126 qosIpAceDstL4PortMin INTEGER,
1127 qosIpAceDstL4PortMax INTEGER,
1128 qosIpAceSrcL4PortMin INTEGER,
1129 qosIpAceSrcL4PortMax INTEGER,
1130 qosIpAcePermit TruthValue
1133 qosIpAceId OBJECT-TYPE
1137 "An integer index to uniquely identify this ACE among all the
1140 ::= { qosIpAceEntry 1 }
1142 qosIpAceDstAddr OBJECT-TYPE
1147 "The IP address to match against the packet's destination IP
1150 ::= { qosIpAceEntry 2 }
1152 qosIpAceDstAddrMask OBJECT-TYPE
1156 "A mask for the matching of the destination IP address.
1157 A zero bit in the mask means that the corresponding bit in
1158 the address always matches."
1160 ::= { qosIpAceEntry 3 }
1162 qosIpAceSrcAddr OBJECT-TYPE
1166 "The IP address to match against the packet's source IP
1169 ::= { qosIpAceEntry 4 }
1171 qosIpAceSrcAddrMask OBJECT-TYPE
1175 "A mask for the matching of the source IP address."
1177 ::= { qosIpAceEntry 5 }
1179 qosIpAceDscp OBJECT-TYPE
1180 SYNTAX Integer32 (-1 | 0..63)
1183 "The value that the DSCP in the packet can have and
1184 match this ACE. A value of -1 indicates that a specific
1185 DSCP value has not been defined and thus all DSCP values
1186 are considered a match."
1188 ::= { qosIpAceEntry 6 }
1190 qosIpAceProtocol OBJECT-TYPE
1191 SYNTAX INTEGER (0..255)
1194 "The IP protocol to match against the packet's protocol.
1195 A value of zero means match all."
1197 ::= { qosIpAceEntry 7 }
1199 qosIpAceDstL4PortMin OBJECT-TYPE
1200 SYNTAX INTEGER (0..65535)
1203 "The minimum value that the packet's layer 4 destination
1204 port number can have and match this ACE."
1206 ::= { qosIpAceEntry 8 }
1208 qosIpAceDstL4PortMax OBJECT-TYPE
1209 SYNTAX INTEGER (0..65535)
1212 "The maximum value that the packet's layer 4 destination
1213 port number can have and match this ACE. This value must be
1214 equal to or greater that the value specified for this ACE in
1215 qosIpAceDstL4PortMin."
1217 ::= { qosIpAceEntry 9 }
1219 qosIpAceSrcL4PortMin OBJECT-TYPE
1220 SYNTAX INTEGER (0..65535)
1223 "The minimum value that the packet's layer 4 source port
1224 number can have and match this ACE."
1226 ::= { qosIpAceEntry 10 }
1228 qosIpAceSrcL4PortMax OBJECT-TYPE
1229 SYNTAX INTEGER (0..65535)
1232 "The maximum value that the packet's layer 4 source port
1233 number can have and match this ACE. This value must be equal
1234 to or greater that the value specified for this ACE in
1236 qosIpAceSrcL4PortMin."
1238 ::= { qosIpAceEntry 11 }
1240 qosIpAcePermit OBJECT-TYPE
1244 "If the packet matches this ACE and the value of this
1245 attribute is true, then the matching process terminates
1246 and the QoS associated with this ACE (indirectly through
1247 the ACL) is applied to the packet. If the value of this
1248 attribute is false, then no more ACEs in this ACL are
1249 compared to this packet and matching continues with the
1250 first ACE of the next ACL."
1252 ::= { qosIpAceEntry 12 }
1255 -- The IP ACL Definition Table
1258 qosIpAclDefinitionTable OBJECT-TYPE
1259 SYNTAX SEQUENCE OF QosIpAclDefinitionEntry
1263 "A class that defines a set of ACLs each being an ordered list
1264 of ACEs. Each instance of this class identifies one ACE of
1265 an ACL and the precedence order of that ACE with respect to
1266 other ACEs in the same ACL."
1269 priPrecedenceConflict(1) -- precedence conflict detected
1274 qosIpAclDefinitionEntry OBJECT-TYPE
1275 SYNTAX QosIpAclDefinitionEntry
1278 "An instance of the qosIpAclDefinition class."
1280 PIB-INDEX { qosIpAclDefinitionId }
1282 ::= { qosIpAclDefinitionTable 1 }
1284 QosIpAclDefinitionEntry ::= SEQUENCE {
1285 qosIpAclDefinitionId InstanceId,
1286 qosIpAclDefinitionAclId InstanceId,
1287 qosIpAclDefinitionAceId InstanceId,
1288 qosIpAclDefinitionAceOrder Unsigned32
1291 qosIpAclDefinitionId OBJECT-TYPE
1295 "Unique index of this policy rule instance."
1297 ::= { qosIpAclDefinitionEntry 1 }
1299 qosIpAclDefinitionAclId OBJECT-TYPE
1303 "An ID for this ACL. There will be one instance of
1304 the class qosIpAclDefinition with this ID for each ACE in
1305 the ACL per role combination."
1307 ::= { qosIpAclDefinitionEntry 2 }
1309 qosIpAclDefinitionAceId OBJECT-TYPE
1313 "This attribute specifies the ACE in the qosIpAceTable that
1314 is in the ACL specified by qosIpAclDefinitionAclId at the
1315 position specified by qosIpAceOrder.
1317 Attempting to specify an unknown class instance will result
1318 in an appropriate error indication being returned to the
1319 entity that is attempting to install the conflicting entry.
1320 For example, a 'priUnknown(2)' error indication is returned
1321 to the policy server in this situation."
1323 ::= { qosIpAclDefinitionEntry 3 }
1325 qosIpAclDefinitionAceOrder OBJECT-TYPE
1330 "The precedence order of this ACE. The precedence order
1331 determines the position of this ACE in the ACL. An ACE with
1332 a given precedence order is positioned in the access control
1333 list before one with a higher-valued precedence order.
1335 Precedence values within a group must be unique otherwise
1336 instance installation will be prohibited and an error
1337 value will be returned."
1339 ::= { qosIpAclDefinitionEntry 4 }