1 DIFFSERV-MIB DEFINITIONS ::= BEGIN
4 Unsigned32, Counter64, MODULE-IDENTITY, OBJECT-TYPE,
5 OBJECT-IDENTITY, zeroDotZero, mib-2
7 TEXTUAL-CONVENTION, RowStatus, RowPointer,
8 StorageType, AutonomousType
10 MODULE-COMPLIANCE, OBJECT-GROUP
12 ifIndex, InterfaceIndexOrZero
14 InetAddressType, InetAddress, InetAddressPrefixLength,
18 FROM INTEGRATED-SERVICES-MIB
20 FROM DIFFSERV-DSCP-TC;
22 diffServMib MODULE-IDENTITY
23 LAST-UPDATED "200202070000Z"
24 ORGANIZATION "IETF Differentiated Services WG"
29 Santa Barbara, CA 93117, USA
30 E-mail: fred@cisco.com
34 600 Technology Park Drive
35 Billerica, MA 01821, USA
36 E-mail: khchan@nortelnetworks.com
43 21 North Xisanhuan Ave.
45 E-mail: ah_smith@acm.org
47 Differentiated Services Working Group:
50 "This MIB defines the objects necessary to manage a device that
51 uses the Differentiated Services Architecture described in RFC
52 2475. The Conceptual Model of a Differentiated Services Router
53 provides supporting information on how such a router is modeled."
54 REVISION "200202070000Z"
56 "Initial version, published as RFC 3289."
59 diffServMIBObjects OBJECT IDENTIFIER ::= { diffServMib 1 }
60 diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 }
61 diffServMIBAdmin OBJECT IDENTIFIER ::= { diffServMib 3 }
63 IndexInteger ::= TEXTUAL-CONVENTION
67 "An integer which may be used as a table index."
68 SYNTAX Unsigned32 (1..4294967295)
70 IndexIntegerNextFree ::= TEXTUAL-CONVENTION
74 "An integer which may be used as a new Index in a table.
76 The special value of 0 indicates that no more new entries can be
77 created in the relevant table.
79 When a MIB is used for configuration, an object with this SYNTAX
80 always contains a legal value (if non-zero) for an index that is
81 not currently used in the relevant table. The Command Generator
82 (Network Management Application) reads this variable and uses the
83 (non-zero) value read when creating a new row with an SNMP SET.
84 When the SET is performed, the Command Responder (agent) must
85 determine whether the value is indeed still unused; Two Network
86 Management Applications may attempt to create a row
87 (configuration entry) simultaneously and use the same value. If
88 it is currently unused, the SET succeeds and the Command
89 Responder (agent) changes the value of this object, according to
90 an implementation-specific algorithm. If the value is in use,
94 however, the SET fails. The Network Management Application must
95 then re-read this variable to obtain a new usable value.
97 An OBJECT-TYPE definition using this SYNTAX MUST specify the
98 relevant table for which the object is providing this
100 SYNTAX Unsigned32 (0..4294967295)
102 IfDirection ::= TEXTUAL-CONVENTION
105 "IfDirection specifies a direction of data travel on an
106 interface. 'inbound' traffic is operated on during reception from
107 the interface, while 'outbound' traffic is operated on prior to
108 transmission on the interface."
110 inbound(1), -- ingress interface
111 outbound(2) -- egress interface
118 diffServDataPath OBJECT IDENTIFIER ::= { diffServMIBObjects 1 }
123 -- The Data Path Table enumerates the Differentiated Services
124 -- Functional Data Paths within this device. Each entry in this table
125 -- is indexed by ifIndex and ifDirection. Each entry provides the
126 -- first Differentiated Services Functional Data Path Element to
127 -- process data flowing along specific data path. This table should
128 -- have at most two entries for each interface capable of
129 -- Differentiated Services processing on this device: ingress and
132 -- Note that Differentiated Services Functional Data Path Elements
133 -- linked together using their individual next pointers and anchored by
134 -- an entry of the diffServDataPathTable constitute a functional data
138 diffServDataPathTable OBJECT-TYPE
139 SYNTAX SEQUENCE OF DiffServDataPathEntry
140 MAX-ACCESS not-accessible
146 "The data path table contains RowPointers indicating the start of
147 the functional data path for each interface and traffic direction
148 in this device. These may merge, or be separated into parallel
150 ::= { diffServDataPath 1 }
152 diffServDataPathEntry OBJECT-TYPE
153 SYNTAX DiffServDataPathEntry
154 MAX-ACCESS not-accessible
157 "An entry in the data path table indicates the start of a single
158 Differentiated Services Functional Data Path in this device.
160 These are associated with individual interfaces, logical or
161 physical, and therefore are instantiated by ifIndex. Therefore,
162 the interface index must have been assigned, according to the
163 procedures applicable to that, before it can be meaningfully
164 used. Generally, this means that the interface must exist.
166 When diffServDataPathStorage is of type nonVolatile, however,
167 this may reflect the configuration for an interface whose ifIndex
168 has been assigned but for which the supporting implementation is
169 not currently present."
170 INDEX { ifIndex, diffServDataPathIfDirection }
171 ::= { diffServDataPathTable 1 }
173 DiffServDataPathEntry ::= SEQUENCE {
174 diffServDataPathIfDirection IfDirection,
175 diffServDataPathStart RowPointer,
176 diffServDataPathStorage StorageType,
177 diffServDataPathStatus RowStatus
180 diffServDataPathIfDirection OBJECT-TYPE
182 MAX-ACCESS not-accessible
185 "IfDirection specifies whether the reception or transmission path
186 for this interface is in view."
187 ::= { diffServDataPathEntry 1 }
189 diffServDataPathStart OBJECT-TYPE
191 MAX-ACCESS read-create
197 "This selects the first Differentiated Services Functional Data
198 Path Element to handle traffic for this data path. This
199 RowPointer should point to an instance of one of:
206 A value of zeroDotZero in this attribute indicates that no
207 Differentiated Services treatment is performed on traffic of this
208 data path. A pointer with the value zeroDotZero normally
209 terminates a functional data path.
211 Setting this to point to a target that does not exist results in
212 an inconsistentValue error. If the row pointed to is removed or
213 becomes inactive by other means, the treatment is as if this
214 attribute contains a value of zeroDotZero."
215 ::= { diffServDataPathEntry 2 }
217 diffServDataPathStorage OBJECT-TYPE
219 MAX-ACCESS read-create
222 "The storage type for this conceptual row. Conceptual rows
223 having the value 'permanent' need not allow write-access to any
224 columnar objects in the row."
225 DEFVAL { nonVolatile }
226 ::= { diffServDataPathEntry 3 }
228 diffServDataPathStatus OBJECT-TYPE
230 MAX-ACCESS read-create
233 "The status of this conceptual row. All writable objects in this
234 row may be modified at any time."
235 ::= { diffServDataPathEntry 4 }
241 diffServClassifier OBJECT IDENTIFIER ::= { diffServMIBObjects 2 }
249 -- The Classifier Table allows multiple classifier elements, of same or
250 -- different types, to be used together. A classifier must completely
251 -- classify all packets presented to it. This means that all traffic
252 -- presented to a classifier must match at least one classifier element
253 -- within the classifier, with the classifier element parameters
254 -- specified by a filter.
256 -- If there is ambiguity between classifier elements of different
257 -- classifier, classifier linkage order indicates their precedence; the
258 -- first classifier in the link is applied to the traffic first.
260 -- Entries in the classifier element table serves as the anchor for
261 -- each classification pattern, defined in filter table entries. Each
262 -- classifier element table entry also specifies the subsequent
263 -- downstream Differentiated Services Functional Data Path Element when
264 -- the classification pattern is satisfied. Each entry in the
265 -- classifier element table describes one branch of the fan-out
266 -- characteristic of a classifier indicated in the Informal
267 -- Differentiated Services Model section 4.1. A classifier is composed
268 -- of one or more classifier elements.
270 diffServClfrNextFree OBJECT-TYPE
271 SYNTAX IndexIntegerNextFree
275 "This object contains an unused value for diffServClfrId, or a
276 zero to indicate that none exist."
277 ::= { diffServClassifier 1 }
279 diffServClfrTable OBJECT-TYPE
280 SYNTAX SEQUENCE OF DiffServClfrEntry
281 MAX-ACCESS not-accessible
284 "This table enumerates all the diffserv classifier functional
285 data path elements of this device. The actual classification
286 definitions are defined in diffServClfrElementTable entries
287 belonging to each classifier.
289 An entry in this table, pointed to by a RowPointer specifying an
290 instance of diffServClfrStatus, is frequently used as the name
291 for a set of classifier elements, which all use the index
292 diffServClfrId. Per the semantics of the classifier element
293 table, these entries constitute one or more unordered sets of
294 tests which may be simultaneously applied to a message to
300 The primary function of this table is to ensure that the value of
301 diffServClfrId is unique before attempting to use it in creating
302 a diffServClfrElementEntry. Therefore, the diffServClfrEntry must
303 be created on the same SET as the diffServClfrElementEntry, or
304 before the diffServClfrElementEntry is created."
305 ::= { diffServClassifier 2 }
307 diffServClfrEntry OBJECT-TYPE
308 SYNTAX DiffServClfrEntry
309 MAX-ACCESS not-accessible
312 "An entry in the classifier table describes a single classifier.
313 All classifier elements belonging to the same classifier use the
314 classifier's diffServClfrId as part of their index."
315 INDEX { diffServClfrId }
316 ::= { diffServClfrTable 1 }
318 DiffServClfrEntry ::= SEQUENCE {
319 diffServClfrId IndexInteger,
320 diffServClfrStorage StorageType,
321 diffServClfrStatus RowStatus
324 diffServClfrId OBJECT-TYPE
326 MAX-ACCESS not-accessible
329 "An index that enumerates the classifier entries. Managers
330 should obtain new values for row creation in this table by
331 reading diffServClfrNextFree."
332 ::= { diffServClfrEntry 1 }
334 diffServClfrStorage OBJECT-TYPE
336 MAX-ACCESS read-create
339 "The storage type for this conceptual row. Conceptual rows
340 having the value 'permanent' need not allow write-access to any
341 columnar objects in the row."
342 DEFVAL { nonVolatile }
343 ::= { diffServClfrEntry 2 }
345 diffServClfrStatus OBJECT-TYPE
350 MAX-ACCESS read-create
353 "The status of this conceptual row. All writable objects in this
354 row may be modified at any time. Setting this variable to
355 'destroy' when the MIB contains one or more RowPointers pointing
356 to it results in destruction being delayed until the row is no
358 ::= { diffServClfrEntry 3 }
361 -- Classifier Element Table
363 diffServClfrElementNextFree OBJECT-TYPE
364 SYNTAX IndexIntegerNextFree
368 "This object contains an unused value for diffServClfrElementId,
369 or a zero to indicate that none exist."
370 ::= { diffServClassifier 3 }
372 diffServClfrElementTable OBJECT-TYPE
373 SYNTAX SEQUENCE OF DiffServClfrElementEntry
374 MAX-ACCESS not-accessible
377 "The classifier element table enumerates the relationship between
378 classification patterns and subsequent downstream Differentiated
379 Services Functional Data Path elements.
380 diffServClfrElementSpecific points to a filter that specifies the
381 classification parameters. A classifier may use filter tables of
382 different types together.
384 One example of a filter table defined in this MIB is
385 diffServMultiFieldClfrTable, for IP Multi-Field Classifiers
386 (MFCs). Such an entry might identify anything from a single
387 micro-flow (an identifiable sub-session packet stream directed
388 from one sending transport to the receiving transport or
389 transports), or aggregates of those such as the traffic from a
390 host, traffic for an application, or traffic between two hosts
391 using an application and a given DSCP. The standard Behavior
392 Aggregate used in the Differentiated Services Architecture is
393 encoded as a degenerate case of such an aggregate - the traffic
394 using a particular DSCP value.
396 Filter tables for other filter types may be defined elsewhere."
400 ::= { diffServClassifier 4 }
402 diffServClfrElementEntry OBJECT-TYPE
403 SYNTAX DiffServClfrElementEntry
404 MAX-ACCESS not-accessible
407 "An entry in the classifier element table describes a single
408 element of the classifier."
409 INDEX { diffServClfrId, diffServClfrElementId }
410 ::= { diffServClfrElementTable 1 }
412 DiffServClfrElementEntry ::= SEQUENCE {
413 diffServClfrElementId IndexInteger,
414 diffServClfrElementPrecedence Unsigned32,
415 diffServClfrElementNext RowPointer,
416 diffServClfrElementSpecific RowPointer,
417 diffServClfrElementStorage StorageType,
418 diffServClfrElementStatus RowStatus
421 diffServClfrElementId OBJECT-TYPE
423 MAX-ACCESS not-accessible
426 "An index that enumerates the Classifier Element entries.
427 Managers obtain new values for row creation in this table by
428 reading diffServClfrElementNextFree."
429 ::= { diffServClfrElementEntry 1 }
431 diffServClfrElementPrecedence OBJECT-TYPE
432 SYNTAX Unsigned32 (1..4294967295)
433 MAX-ACCESS read-create
436 "The relative order in which classifier elements are applied:
437 higher numbers represent classifier element with higher
438 precedence. Classifier elements with the same order must be
439 unambiguous i.e. they must define non-overlapping patterns, and
440 are considered to be applied simultaneously to the traffic
441 stream. Classifier elements with different order may overlap in
442 their filters: the classifier element with the highest order
443 that matches is taken.
445 On a given interface, there must be a complete classifier in
446 place at all times in the ingress direction. This means one or
447 more filters must match any possible pattern. There is no such
451 requirement in the egress direction."
452 ::= { diffServClfrElementEntry 2 }
454 diffServClfrElementNext OBJECT-TYPE
456 MAX-ACCESS read-create
459 "This attribute provides one branch of the fan-out functionality
460 of a classifier described in the Informal Differentiated Services
463 This selects the next Differentiated Services Functional Data
464 Path Element to handle traffic for this data path. This
465 RowPointer should point to an instance of one of:
472 A value of zeroDotZero in this attribute indicates no further
473 Differentiated Services treatment is performed on traffic of this
474 data path. The use of zeroDotZero is the normal usage for the
475 last functional data path element of the current data path.
477 Setting this to point to a target that does not exist results in
478 an inconsistentValue error. If the row pointed to is removed or
479 becomes inactive by other means, the treatment is as if this
480 attribute contains a value of zeroDotZero."
482 ::= { diffServClfrElementEntry 3 }
484 diffServClfrElementSpecific OBJECT-TYPE
486 MAX-ACCESS read-create
489 "A pointer to a valid entry in another table, filter table, that
490 describes the applicable classification parameters, e.g. an entry
491 in diffServMultiFieldClfrTable.
493 The value zeroDotZero is interpreted to match anything not
494 matched by another classifier element - only one such entry may
495 exist for each classifier.
497 Setting this to point to a target that does not exist results in
498 an inconsistentValue error. If the row pointed to is removed or
502 becomes inactive by other means, the element is ignored."
503 ::= { diffServClfrElementEntry 4 }
505 diffServClfrElementStorage OBJECT-TYPE
507 MAX-ACCESS read-create
510 "The storage type for this conceptual row. Conceptual rows
511 having the value 'permanent' need not allow write-access to any
512 columnar objects in the row."
513 DEFVAL { nonVolatile }
514 ::= { diffServClfrElementEntry 5 }
516 diffServClfrElementStatus OBJECT-TYPE
518 MAX-ACCESS read-create
521 "The status of this conceptual row. All writable objects in this
522 row may be modified at any time. Setting this variable to
523 'destroy' when the MIB contains one or more RowPointers pointing
524 to it results in destruction being delayed until the row is no
526 ::= { diffServClfrElementEntry 6 }
529 -- IP Multi-field Classification Table
531 -- Classification based on six different fields in the IP header.
532 -- Functional Data Paths may share definitions by using the same entry.
535 diffServMultiFieldClfrNextFree OBJECT-TYPE
536 SYNTAX IndexIntegerNextFree
540 "This object contains an unused value for
541 diffServMultiFieldClfrId, or a zero to indicate that none exist."
542 ::= { diffServClassifier 5 }
544 diffServMultiFieldClfrTable OBJECT-TYPE
545 SYNTAX SEQUENCE OF DiffServMultiFieldClfrEntry
546 MAX-ACCESS not-accessible
549 "A table of IP Multi-field Classifier filter entries that a
553 system may use to identify IP traffic."
554 ::= { diffServClassifier 6 }
556 diffServMultiFieldClfrEntry OBJECT-TYPE
557 SYNTAX DiffServMultiFieldClfrEntry
558 MAX-ACCESS not-accessible
561 "An IP Multi-field Classifier entry describes a single filter."
562 INDEX { diffServMultiFieldClfrId }
563 ::= { diffServMultiFieldClfrTable 1 }
565 DiffServMultiFieldClfrEntry ::= SEQUENCE {
566 diffServMultiFieldClfrId IndexInteger,
567 diffServMultiFieldClfrAddrType InetAddressType,
568 diffServMultiFieldClfrDstAddr InetAddress,
569 diffServMultiFieldClfrDstPrefixLength InetAddressPrefixLength,
570 diffServMultiFieldClfrSrcAddr InetAddress,
571 diffServMultiFieldClfrSrcPrefixLength InetAddressPrefixLength,
572 diffServMultiFieldClfrDscp DscpOrAny,
573 diffServMultiFieldClfrFlowId Unsigned32,
574 diffServMultiFieldClfrProtocol Unsigned32,
575 diffServMultiFieldClfrDstL4PortMin InetPortNumber,
576 diffServMultiFieldClfrDstL4PortMax InetPortNumber,
577 diffServMultiFieldClfrSrcL4PortMin InetPortNumber,
578 diffServMultiFieldClfrSrcL4PortMax InetPortNumber,
579 diffServMultiFieldClfrStorage StorageType,
580 diffServMultiFieldClfrStatus RowStatus
583 diffServMultiFieldClfrId OBJECT-TYPE
585 MAX-ACCESS not-accessible
588 "An index that enumerates the MultiField Classifier filter
589 entries. Managers obtain new values for row creation in this
590 table by reading diffServMultiFieldClfrNextFree."
592 ::= { diffServMultiFieldClfrEntry 1 }
594 diffServMultiFieldClfrAddrType OBJECT-TYPE
595 SYNTAX InetAddressType
596 MAX-ACCESS read-create
599 "The type of IP address used by this classifier entry. While
600 other types of addresses are defined in the InetAddressType
604 textual convention, and DNS names, a classifier can only look at
605 packets on the wire. Therefore, this object is limited to IPv4
607 ::= { diffServMultiFieldClfrEntry 2 }
609 diffServMultiFieldClfrDstAddr OBJECT-TYPE
611 MAX-ACCESS read-create
614 "The IP address to match against the packet's destination IP
615 address. This may not be a DNS name, but may be an IPv4 or IPv6
616 prefix. diffServMultiFieldClfrDstPrefixLength indicates the
617 number of bits that are relevant."
618 ::= { diffServMultiFieldClfrEntry 3 }
620 diffServMultiFieldClfrDstPrefixLength OBJECT-TYPE
621 SYNTAX InetAddressPrefixLength
623 MAX-ACCESS read-create
626 "The length of the CIDR Prefix carried in
627 diffServMultiFieldClfrDstAddr. In IPv4 addresses, a length of 0
628 indicates a match of any address; a length of 32 indicates a
629 match of a single host address, and a length between 0 and 32
630 indicates the use of a CIDR Prefix. IPv6 is similar, except that
631 prefix lengths range from 0..128."
633 ::= { diffServMultiFieldClfrEntry 4 }
635 diffServMultiFieldClfrSrcAddr OBJECT-TYPE
637 MAX-ACCESS read-create
640 "The IP address to match against the packet's source IP address.
641 This may not be a DNS name, but may be an IPv4 or IPv6 prefix.
642 diffServMultiFieldClfrSrcPrefixLength indicates the number of
643 bits that are relevant."
644 ::= { diffServMultiFieldClfrEntry 5 }
646 diffServMultiFieldClfrSrcPrefixLength OBJECT-TYPE
647 SYNTAX InetAddressPrefixLength
649 MAX-ACCESS read-create
655 "The length of the CIDR Prefix carried in
656 diffServMultiFieldClfrSrcAddr. In IPv4 addresses, a length of 0
657 indicates a match of any address; a length of 32 indicates a
658 match of a single host address, and a length between 0 and 32
659 indicates the use of a CIDR Prefix. IPv6 is similar, except that
660 prefix lengths range from 0..128."
662 ::= { diffServMultiFieldClfrEntry 6 }
664 diffServMultiFieldClfrDscp OBJECT-TYPE
666 MAX-ACCESS read-create
669 "The value that the DSCP in the packet must have to match this
670 entry. A value of -1 indicates that a specific DSCP value has not
671 been defined and thus all DSCP values are considered a match."
673 ::= { diffServMultiFieldClfrEntry 7 }
675 diffServMultiFieldClfrFlowId OBJECT-TYPE
676 SYNTAX Unsigned32 (0..1048575)
677 MAX-ACCESS read-create
680 "The flow identifier in an IPv6 header."
681 ::= { diffServMultiFieldClfrEntry 8 }
683 diffServMultiFieldClfrProtocol OBJECT-TYPE
684 SYNTAX Unsigned32 (0..255)
685 MAX-ACCESS read-create
688 "The IP protocol to match against the IPv4 protocol number or the
689 IPv6 Next- Header number in the packet. A value of 255 means
690 match all. Note the protocol number of 255 is reserved by IANA,
691 and Next-Header number of 0 is used in IPv6."
693 ::= { diffServMultiFieldClfrEntry 9 }
695 diffServMultiFieldClfrDstL4PortMin OBJECT-TYPE
696 SYNTAX InetPortNumber
697 MAX-ACCESS read-create
700 "The minimum value that the layer-4 destination port number in
701 the packet must have in order to match this classifier entry."
706 ::= { diffServMultiFieldClfrEntry 10 }
708 diffServMultiFieldClfrDstL4PortMax OBJECT-TYPE
709 SYNTAX InetPortNumber
710 MAX-ACCESS read-create
713 "The maximum value that the layer-4 destination port number in
714 the packet must have in order to match this classifier entry.
715 This value must be equal to or greater than the value specified
716 for this entry in diffServMultiFieldClfrDstL4PortMin."
718 ::= { diffServMultiFieldClfrEntry 11 }
720 diffServMultiFieldClfrSrcL4PortMin OBJECT-TYPE
721 SYNTAX InetPortNumber
722 MAX-ACCESS read-create
725 "The minimum value that the layer-4 source port number in the
726 packet must have in order to match this classifier entry."
728 ::= { diffServMultiFieldClfrEntry 12 }
730 diffServMultiFieldClfrSrcL4PortMax OBJECT-TYPE
731 SYNTAX InetPortNumber
732 MAX-ACCESS read-create
735 "The maximum value that the layer-4 source port number in the
736 packet must have in order to match this classifier entry. This
737 value must be equal to or greater than the value specified for
738 this entry in diffServMultiFieldClfrSrcL4PortMin."
740 ::= { diffServMultiFieldClfrEntry 13 }
742 diffServMultiFieldClfrStorage OBJECT-TYPE
744 MAX-ACCESS read-create
747 "The storage type for this conceptual row. Conceptual rows
748 having the value 'permanent' need not allow write-access to any
749 columnar objects in the row."
750 DEFVAL { nonVolatile }
751 ::= { diffServMultiFieldClfrEntry 14 }
753 diffServMultiFieldClfrStatus OBJECT-TYPE
758 MAX-ACCESS read-create
761 "The status of this conceptual row. All writable objects in this
762 row may be modified at any time. Setting this variable to
763 'destroy' when the MIB contains one or more RowPointers pointing
764 to it results in destruction being delayed until the row is no
766 ::= { diffServMultiFieldClfrEntry 15 }
772 diffServMeter OBJECT IDENTIFIER ::= { diffServMIBObjects 3 }
775 -- This MIB supports a variety of Meters. It includes a specific
776 -- definition for Token Bucket Meter, which are but one type of
777 -- specification. Other metering parameter sets can be defined in other
780 -- Multiple meter elements may be logically cascaded using their
781 -- diffServMeterSucceedNext and diffServMeterFailNext pointers if
782 -- required. One example of this might be for an AF PHB implementation
783 -- that uses multiple level conformance meters.
785 -- Cascading of individual meter elements in the MIB is intended to be
786 -- functionally equivalent to multiple level conformance determination
787 -- of a packet. The sequential nature of the representation is merely
788 -- a notational convenience for this MIB.
790 -- srTCM meters (RFC 2697) can be specified using two sets of
791 -- diffServMeterEntry and diffServTBParamEntry. The first set specifies
792 -- the Committed Information Rate and Committed Burst Size
793 -- token-bucket. The second set specifies the Excess Burst Size
796 -- trTCM meters (RFC 2698) can be specified using two sets of
797 -- diffServMeterEntry and diffServTBParamEntry. The first set specifies
798 -- the Committed Information Rate and Committed Burst Size
799 -- token-bucket. The second set specifies the Peak Information Rate
800 -- and Peak Burst Size token-bucket.
802 -- tswTCM meters (RFC 2859) can be specified using two sets of
803 -- diffServMeterEntry and diffServTBParamEntry. The first set specifies
804 -- the Committed Target Rate token-bucket. The second set specifies
808 -- the Peak Target Rate token-bucket. diffServTBParamInterval in each
809 -- token bucket reflects the Average Interval.
812 diffServMeterNextFree OBJECT-TYPE
813 SYNTAX IndexIntegerNextFree
817 "This object contains an unused value for diffServMeterId, or a
818 zero to indicate that none exist."
819 ::= { diffServMeter 1 }
821 diffServMeterTable OBJECT-TYPE
822 SYNTAX SEQUENCE OF DiffServMeterEntry
823 MAX-ACCESS not-accessible
826 "This table enumerates specific meters that a system may use to
827 police a stream of traffic. The traffic stream to be metered is
828 determined by the Differentiated Services Functional Data Path
829 Element(s) upstream of the meter i.e. by the object(s) that point
830 to each entry in this table. This may include all traffic on an
833 Specific meter details are to be found in table entry referenced
834 by diffServMeterSpecific."
835 ::= { diffServMeter 2 }
837 diffServMeterEntry OBJECT-TYPE
838 SYNTAX DiffServMeterEntry
839 MAX-ACCESS not-accessible
842 "An entry in the meter table describes a single conformance level
844 INDEX { diffServMeterId }
845 ::= { diffServMeterTable 1 }
847 DiffServMeterEntry ::= SEQUENCE {
848 diffServMeterId IndexInteger,
849 diffServMeterSucceedNext RowPointer,
850 diffServMeterFailNext RowPointer,
851 diffServMeterSpecific RowPointer,
852 diffServMeterStorage StorageType,
853 diffServMeterStatus RowStatus
859 diffServMeterId OBJECT-TYPE
861 MAX-ACCESS not-accessible
864 "An index that enumerates the Meter entries. Managers obtain new
865 values for row creation in this table by reading
866 diffServMeterNextFree."
867 ::= { diffServMeterEntry 1 }
869 diffServMeterSucceedNext OBJECT-TYPE
871 MAX-ACCESS read-create
874 "If the traffic does conform, this selects the next
875 Differentiated Services Functional Data Path element to handle
876 traffic for this data path. This RowPointer should point to an
884 A value of zeroDotZero in this attribute indicates that no
885 further Differentiated Services treatment is performed on traffic
886 of this data path. The use of zeroDotZero is the normal usage for
887 the last functional data path element of the current data path.
889 Setting this to point to a target that does not exist results in
890 an inconsistentValue error. If the row pointed to is removed or
891 becomes inactive by other means, the treatment is as if this
892 attribute contains a value of zeroDotZero."
893 DEFVAL { zeroDotZero }
894 ::= { diffServMeterEntry 2 }
896 diffServMeterFailNext OBJECT-TYPE
898 MAX-ACCESS read-create
901 "If the traffic does not conform, this selects the next
902 Differentiated Services Functional Data Path element to handle
903 traffic for this data path. This RowPointer should point to an
914 A value of zeroDotZero in this attribute indicates no further
915 Differentiated Services treatment is performed on traffic of this
916 data path. The use of zeroDotZero is the normal usage for the
917 last functional data path element of the current data path.
919 Setting this to point to a target that does not exist results in
920 an inconsistentValue error. If the row pointed to is removed or
921 becomes inactive by other means, the treatment is as if this
922 attribute contains a value of zeroDotZero."
923 DEFVAL { zeroDotZero }
924 ::= { diffServMeterEntry 3 }
926 diffServMeterSpecific OBJECT-TYPE
928 MAX-ACCESS read-create
931 "This indicates the behavior of the meter by pointing to an entry
932 containing detailed parameters. Note that entries in that
933 specific table must be managed explicitly.
935 For example, diffServMeterSpecific may point to an entry in
936 diffServTBParamTable, which contains an instance of a single set
937 of Token Bucket parameters.
939 Setting this to point to a target that does not exist results in
940 an inconsistentValue error. If the row pointed to is removed or
941 becomes inactive by other means, the meter always succeeds."
942 ::= { diffServMeterEntry 4 }
944 diffServMeterStorage OBJECT-TYPE
946 MAX-ACCESS read-create
949 "The storage type for this conceptual row. Conceptual rows
950 having the value 'permanent' need not allow write-access to any
951 columnar objects in the row."
952 DEFVAL { nonVolatile }
953 ::= { diffServMeterEntry 5 }
955 diffServMeterStatus OBJECT-TYPE
957 MAX-ACCESS read-create
963 "The status of this conceptual row. All writable objects in this
964 row may be modified at any time. Setting this variable to
965 'destroy' when the MIB contains one or more RowPointers pointing
966 to it results in destruction being delayed until the row is no
968 ::= { diffServMeterEntry 6 }
971 -- Token Bucket Parameter Table
974 diffServTBParam OBJECT IDENTIFIER ::= { diffServMIBObjects 4 }
976 -- Each entry in the Token Bucket Parameter Table parameterize a single
977 -- token bucket. Multiple token buckets can be used together to
978 -- parameterize multiple levels of conformance.
980 -- Note that an entry in the Token Bucket Parameter Table can be shared
981 -- by multiple diffServMeterTable entries.
984 diffServTBParamNextFree OBJECT-TYPE
985 SYNTAX IndexIntegerNextFree
989 "This object contains an unused value for diffServTBParamId, or a
990 zero to indicate that none exist."
991 ::= { diffServTBParam 1 }
993 diffServTBParamTable OBJECT-TYPE
994 SYNTAX SEQUENCE OF DiffServTBParamEntry
995 MAX-ACCESS not-accessible
998 "This table enumerates a single set of token bucket meter
999 parameters that a system may use to police a stream of traffic.
1000 Such meters are modeled here as having a single rate and a single
1001 burst size. Multiple entries are used when multiple rates/burst
1003 ::= { diffServTBParam 2 }
1005 diffServTBParamEntry OBJECT-TYPE
1006 SYNTAX DiffServTBParamEntry
1007 MAX-ACCESS not-accessible
1013 "An entry that describes a single set of token bucket
1015 INDEX { diffServTBParamId }
1016 ::= { diffServTBParamTable 1 }
1018 DiffServTBParamEntry ::= SEQUENCE {
1019 diffServTBParamId IndexInteger,
1020 diffServTBParamType AutonomousType,
1021 diffServTBParamRate Unsigned32,
1022 diffServTBParamBurstSize BurstSize,
1023 diffServTBParamInterval Unsigned32,
1024 diffServTBParamStorage StorageType,
1025 diffServTBParamStatus RowStatus
1028 diffServTBParamId OBJECT-TYPE
1030 MAX-ACCESS not-accessible
1033 "An index that enumerates the Token Bucket Parameter entries.
1034 Managers obtain new values for row creation in this table by
1035 reading diffServTBParamNextFree."
1036 ::= { diffServTBParamEntry 1 }
1038 diffServTBParamType OBJECT-TYPE
1039 SYNTAX AutonomousType
1040 MAX-ACCESS read-create
1043 "The Metering algorithm associated with the Token Bucket
1044 parameters. zeroDotZero indicates this is unknown.
1046 Standard values for generic algorithms:
1047 diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate,
1048 diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware,
1049 diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and
1050 diffServTBParamTswTCM are specified in this MIB as OBJECT-
1051 IDENTITYs; additional values may be further specified in other
1053 ::= { diffServTBParamEntry 2 }
1055 diffServTBParamRate OBJECT-TYPE
1056 SYNTAX Unsigned32 (1..4294967295)
1057 UNITS "kilobits per second"
1058 MAX-ACCESS read-create
1064 "The token-bucket rate, in kilobits per second (kbps). This
1065 attribute is used for:
1066 1. CIR in RFC 2697 for srTCM
1067 2. CIR and PIR in RFC 2698 for trTCM
1068 3. CTR and PTR in RFC 2859 for TSWTCM
1069 4. AverageRate in RFC 3290."
1070 ::= { diffServTBParamEntry 3 }
1072 diffServTBParamBurstSize OBJECT-TYPE
1075 MAX-ACCESS read-create
1078 "The maximum number of bytes in a single transmission burst. This
1079 attribute is used for:
1080 1. CBS and EBS in RFC 2697 for srTCM
1081 2. CBS and PBS in RFC 2698 for trTCM
1082 3. Burst Size in RFC 3290."
1083 ::= { diffServTBParamEntry 4 }
1085 diffServTBParamInterval OBJECT-TYPE
1086 SYNTAX Unsigned32 (1..4294967295)
1087 UNITS "microseconds"
1088 MAX-ACCESS read-create
1091 "The time interval used with the token bucket. For:
1092 1. Average Rate Meter, the Informal Differentiated Services Model
1093 section 5.2.1, - Delta.
1094 2. Simple Token Bucket Meter, the Informal Differentiated
1095 Services Model section 5.1, - time interval t.
1096 3. RFC 2859 TSWTCM, - AVG_INTERVAL.
1097 4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time
1099 ::= { diffServTBParamEntry 5 }
1101 diffServTBParamStorage OBJECT-TYPE
1103 MAX-ACCESS read-create
1106 "The storage type for this conceptual row. Conceptual rows
1107 having the value 'permanent' need not allow write-access to any
1108 columnar objects in the row."
1109 DEFVAL { nonVolatile }
1110 ::= { diffServTBParamEntry 6 }
1114 diffServTBParamStatus OBJECT-TYPE
1116 MAX-ACCESS read-create
1119 "The status of this conceptual row. All writable objects in this
1120 row may be modified at any time. Setting this variable to
1121 'destroy' when the MIB contains one or more RowPointers pointing
1122 to it results in destruction being delayed until the row is no
1124 ::= { diffServTBParamEntry 7 }
1127 -- OIDs for diffServTBParamType definitions.
1130 diffServTBMeters OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 }
1132 diffServTBParamSimpleTokenBucket OBJECT-IDENTITY
1135 "Two Parameter Token Bucket Meter as described in the Informal
1136 Differentiated Services Model section 5.2.3."
1137 ::= { diffServTBMeters 1 }
1139 diffServTBParamAvgRate OBJECT-IDENTITY
1142 "Average Rate Meter as described in the Informal Differentiated
1143 Services Model section 5.2.1."
1144 ::= { diffServTBMeters 2 }
1146 diffServTBParamSrTCMBlind OBJECT-IDENTITY
1149 "Single Rate Three Color Marker Metering as defined by RFC 2697,
1150 in the `Color Blind' mode as described by the RFC."
1153 ::= { diffServTBMeters 3 }
1155 diffServTBParamSrTCMAware OBJECT-IDENTITY
1158 "Single Rate Three Color Marker Metering as defined by RFC 2697,
1159 in the `Color Aware' mode as described by the RFC."
1165 ::= { diffServTBMeters 4 }
1167 diffServTBParamTrTCMBlind OBJECT-IDENTITY
1170 "Two Rate Three Color Marker Metering as defined by RFC 2698, in
1171 the `Color Blind' mode as described by the RFC."
1174 ::= { diffServTBMeters 5 }
1176 diffServTBParamTrTCMAware OBJECT-IDENTITY
1179 "Two Rate Three Color Marker Metering as defined by RFC 2698, in
1180 the `Color Aware' mode as described by the RFC."
1183 ::= { diffServTBMeters 6 }
1185 diffServTBParamTswTCM OBJECT-IDENTITY
1188 "Time Sliding Window Three Color Marker Metering as defined by
1192 ::= { diffServTBMeters 7 }
1198 diffServAction OBJECT IDENTIFIER ::= { diffServMIBObjects 5 }
1201 -- The Action Table allows enumeration of the different types of
1202 -- actions to be applied to a traffic flow.
1205 diffServActionNextFree OBJECT-TYPE
1206 SYNTAX IndexIntegerNextFree
1207 MAX-ACCESS read-only
1210 "This object contains an unused value for diffServActionId, or a
1211 zero to indicate that none exist."
1212 ::= { diffServAction 1 }
1216 diffServActionTable OBJECT-TYPE
1217 SYNTAX SEQUENCE OF DiffServActionEntry
1218 MAX-ACCESS not-accessible
1221 "The Action Table enumerates actions that can be performed to a
1222 stream of traffic. Multiple actions can be concatenated. For
1223 example, traffic exiting from a meter may be counted, marked, and
1224 potentially dropped before entering a queue.
1226 Specific actions are indicated by diffServActionSpecific which
1227 points to an entry of a specific action type parameterizing the
1229 ::= { diffServAction 2 }
1231 diffServActionEntry OBJECT-TYPE
1232 SYNTAX DiffServActionEntry
1233 MAX-ACCESS not-accessible
1236 "Each entry in the action table allows description of one
1237 specific action to be applied to traffic."
1238 INDEX { diffServActionId }
1239 ::= { diffServActionTable 1 }
1241 DiffServActionEntry ::= SEQUENCE {
1242 diffServActionId IndexInteger,
1243 diffServActionInterface InterfaceIndexOrZero,
1244 diffServActionNext RowPointer,
1245 diffServActionSpecific RowPointer,
1246 diffServActionStorage StorageType,
1247 diffServActionStatus RowStatus
1250 diffServActionId OBJECT-TYPE
1252 MAX-ACCESS not-accessible
1255 "An index that enumerates the Action entries. Managers obtain
1256 new values for row creation in this table by reading
1257 diffServActionNextFree."
1258 ::= { diffServActionEntry 1 }
1260 diffServActionInterface OBJECT-TYPE
1261 SYNTAX InterfaceIndexOrZero
1262 MAX-ACCESS read-create
1268 "The interface index (value of ifIndex) that this action occurs
1269 on. This may be derived from the diffServDataPathStartEntry's
1270 index by extension through the various RowPointers. However, as
1271 this may be difficult for a network management station, it is
1272 placed here as well. If this is indeterminate, the value is
1275 This is of especial relevance when reporting the counters which
1276 may apply to traffic crossing an interface:
1277 diffServCountActOctets,
1278 diffServCountActPkts,
1279 diffServAlgDropOctets,
1280 diffServAlgDropPkts,
1281 diffServAlgRandomDropOctets, and
1282 diffServAlgRandomDropPkts.
1284 It is also especially relevant to the queue and scheduler which
1285 may be subsequently applied."
1286 ::= { diffServActionEntry 2 }
1288 diffServActionNext OBJECT-TYPE
1290 MAX-ACCESS read-create
1293 "This selects the next Differentiated Services Functional Data
1294 Path Element to handle traffic for this data path. This
1295 RowPointer should point to an instance of one of:
1299 diffServAlgDropEntry
1302 A value of zeroDotZero in this attribute indicates no further
1303 Differentiated Services treatment is performed on traffic of this
1304 data path. The use of zeroDotZero is the normal usage for the
1305 last functional data path element of the current data path.
1307 Setting this to point to a target that does not exist results in
1308 an inconsistentValue error. If the row pointed to is removed or
1309 becomes inactive by other means, the treatment is as if this
1310 attribute contains a value of zeroDotZero."
1311 DEFVAL { zeroDotZero }
1312 ::= { diffServActionEntry 3 }
1314 diffServActionSpecific OBJECT-TYPE
1319 MAX-ACCESS read-create
1322 "A pointer to an object instance providing additional information
1323 for the type of action indicated by this action table entry.
1325 For the standard actions defined by this MIB module, this should
1326 point to either a diffServDscpMarkActEntry or a
1327 diffServCountActEntry. For other actions, it may point to an
1328 object instance defined in some other MIB.
1330 Setting this to point to a target that does not exist results in
1331 an inconsistentValue error. If the row pointed to is removed or
1332 becomes inactive by other means, the Meter should be treated as
1333 if it were not present. This may lead to incorrect policy
1335 ::= { diffServActionEntry 4 }
1337 diffServActionStorage OBJECT-TYPE
1339 MAX-ACCESS read-create
1342 "The storage type for this conceptual row. Conceptual rows
1343 having the value 'permanent' need not allow write-access to any
1344 columnar objects in the row."
1345 DEFVAL { nonVolatile }
1346 ::= { diffServActionEntry 5 }
1348 diffServActionStatus OBJECT-TYPE
1350 MAX-ACCESS read-create
1353 "The status of this conceptual row. All writable objects in this
1354 row may be modified at any time. Setting this variable to
1355 'destroy' when the MIB contains one or more RowPointers pointing
1356 to it results in destruction being delayed until the row is no
1358 ::= { diffServActionEntry 6 }
1360 -- DSCP Mark Action Table
1362 -- Rows of this table are pointed to by diffServActionSpecific to
1363 -- provide detailed parameters specific to the DSCP Mark action.
1365 -- A single entry in this table can be shared by multiple
1369 -- diffServActionTable entries.
1372 diffServDscpMarkActTable OBJECT-TYPE
1373 SYNTAX SEQUENCE OF DiffServDscpMarkActEntry
1374 MAX-ACCESS not-accessible
1377 "This table enumerates specific DSCPs used for marking or
1378 remarking the DSCP field of IP packets. The entries of this table
1379 may be referenced by a diffServActionSpecific attribute."
1380 ::= { diffServAction 3 }
1382 diffServDscpMarkActEntry OBJECT-TYPE
1383 SYNTAX DiffServDscpMarkActEntry
1384 MAX-ACCESS not-accessible
1387 "An entry in the DSCP mark action table that describes a single
1388 DSCP used for marking."
1389 INDEX { diffServDscpMarkActDscp }
1390 ::= { diffServDscpMarkActTable 1 }
1392 DiffServDscpMarkActEntry ::= SEQUENCE {
1393 diffServDscpMarkActDscp Dscp
1396 diffServDscpMarkActDscp OBJECT-TYPE
1398 MAX-ACCESS read-only
1401 "The DSCP that this Action will store into the DSCP field of the
1402 subject. It is quite possible that the only packets subject to
1403 this Action are already marked with this DSCP. Note also that
1404 Differentiated Services processing may result in packet being
1405 marked on both ingress to a network and on egress from it, and
1406 that ingress and egress can occur in the same router."
1407 ::= { diffServDscpMarkActEntry 1 }
1410 -- Count Action Table
1412 -- Because the MIB structure allows multiple cascading
1413 -- diffServActionEntry be used to describe multiple actions for a data
1414 -- path, the counter became an optional action type. In normal
1415 -- implementation, either a data path has counters or it does not, as
1416 -- opposed to being configurable. The management entity may choose to
1420 -- read the counter or not. Hence it is recommended for implementation
1421 -- that have counters to always configure the count action as the first
1422 -- of multiple actions.
1425 diffServCountActNextFree OBJECT-TYPE
1426 SYNTAX IndexIntegerNextFree
1427 MAX-ACCESS read-only
1430 "This object contains an unused value for
1431 diffServCountActId, or a zero to indicate that none exist."
1432 ::= { diffServAction 4 }
1434 diffServCountActTable OBJECT-TYPE
1435 SYNTAX SEQUENCE OF DiffServCountActEntry
1436 MAX-ACCESS not-accessible
1439 "This table contains counters for all the traffic passing through
1441 ::= { diffServAction 5 }
1443 diffServCountActEntry OBJECT-TYPE
1444 SYNTAX DiffServCountActEntry
1445 MAX-ACCESS not-accessible
1448 "An entry in the count action table describes a single set of
1450 INDEX { diffServCountActId }
1451 ::= { diffServCountActTable 1 }
1453 DiffServCountActEntry ::= SEQUENCE {
1454 diffServCountActId IndexInteger,
1455 diffServCountActOctets Counter64,
1456 diffServCountActPkts Counter64,
1457 diffServCountActStorage StorageType,
1458 diffServCountActStatus RowStatus
1461 diffServCountActId OBJECT-TYPE
1463 MAX-ACCESS not-accessible
1466 "An index that enumerates the Count Action entries. Managers
1467 obtain new values for row creation in this table by reading
1471 diffServCountActNextFree."
1472 ::= { diffServCountActEntry 1 }
1474 diffServCountActOctets OBJECT-TYPE
1476 MAX-ACCESS read-only
1479 "The number of octets at the Action data path element.
1481 Discontinuities in the value of this counter can occur at re-
1482 initialization of the management system and at other times as
1483 indicated by the value of ifCounterDiscontinuityTime on the
1484 relevant interface."
1485 ::= { diffServCountActEntry 2 }
1487 diffServCountActPkts OBJECT-TYPE
1489 MAX-ACCESS read-only
1492 "The number of packets at the Action data path element.
1494 Discontinuities in the value of this counter can occur at re-
1495 initialization of the management system and at other times as
1496 indicated by the value of ifCounterDiscontinuityTime on the
1497 relevant interface."
1498 ::= { diffServCountActEntry 3 }
1500 diffServCountActStorage OBJECT-TYPE
1502 MAX-ACCESS read-create
1505 "The storage type for this conceptual row. Conceptual rows
1506 having the value 'permanent' need not allow write-access to any
1507 columnar objects in the row."
1508 DEFVAL { nonVolatile }
1509 ::= { diffServCountActEntry 4 }
1511 diffServCountActStatus OBJECT-TYPE
1513 MAX-ACCESS read-create
1516 "The status of this conceptual row. All writable objects in this
1517 row may be modified at any time. Setting this variable to
1518 'destroy' when the MIB contains one or more RowPointers pointing
1522 to it results in destruction being delayed until the row is no
1524 ::= { diffServCountActEntry 5 }
1527 -- Algorithmic Drop Table
1530 diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 6 }
1532 diffServAlgDropNextFree OBJECT-TYPE
1533 SYNTAX IndexIntegerNextFree
1534 MAX-ACCESS read-only
1537 "This object contains an unused value for diffServAlgDropId, or a
1538 zero to indicate that none exist."
1539 ::= { diffServAlgDrop 1 }
1541 diffServAlgDropTable OBJECT-TYPE
1542 SYNTAX SEQUENCE OF DiffServAlgDropEntry
1543 MAX-ACCESS not-accessible
1546 "The algorithmic drop table contains entries describing an
1547 element that drops packets according to some algorithm."
1548 ::= { diffServAlgDrop 2 }
1550 diffServAlgDropEntry OBJECT-TYPE
1551 SYNTAX DiffServAlgDropEntry
1552 MAX-ACCESS not-accessible
1555 "An entry describes a process that drops packets according to
1556 some algorithm. Further details of the algorithm type are to be
1557 found in diffServAlgDropType and with more detail parameter entry
1558 pointed to by diffServAlgDropSpecific when necessary."
1559 INDEX { diffServAlgDropId }
1560 ::= { diffServAlgDropTable 1 }
1562 DiffServAlgDropEntry ::= SEQUENCE {
1563 diffServAlgDropId IndexInteger,
1564 diffServAlgDropType INTEGER,
1565 diffServAlgDropNext RowPointer,
1566 diffServAlgDropQMeasure RowPointer,
1567 diffServAlgDropQThreshold Unsigned32,
1568 diffServAlgDropSpecific RowPointer,
1569 diffServAlgDropOctets Counter64,
1573 diffServAlgDropPkts Counter64,
1574 diffServAlgRandomDropOctets Counter64,
1575 diffServAlgRandomDropPkts Counter64,
1576 diffServAlgDropStorage StorageType,
1577 diffServAlgDropStatus RowStatus
1580 diffServAlgDropId OBJECT-TYPE
1582 MAX-ACCESS not-accessible
1585 "An index that enumerates the Algorithmic Dropper entries.
1586 Managers obtain new values for row creation in this table by
1587 reading diffServAlgDropNextFree."
1588 ::= { diffServAlgDropEntry 1 }
1590 diffServAlgDropType OBJECT-TYPE
1598 MAX-ACCESS read-create
1601 "The type of algorithm used by this dropper. The value other(1)
1602 requires further specification in some other MIB module.
1604 In the tailDrop(2) algorithm, diffServAlgDropQThreshold
1605 represents the maximum depth of the queue, pointed to by
1606 diffServAlgDropQMeasure, beyond which all newly arriving packets
1609 In the headDrop(3) algorithm, if a packet arrives when the
1610 current depth of the queue, pointed to by
1611 diffServAlgDropQMeasure, is at diffServAlgDropQThreshold, packets
1612 currently at the head of the queue are dropped to make room for
1613 the new packet to be enqueued at the tail of the queue.
1615 In the randomDrop(4) algorithm, on packet arrival, an Active
1616 Queue Management algorithm is executed which may randomly drop a
1617 packet. This algorithm may be proprietary, and it may drop either
1618 the arriving packet or another packet in the queue.
1619 diffServAlgDropSpecific points to a diffServRandomDropEntry that
1620 describes the algorithm. For this algorithm,
1624 diffServAlgDropQThreshold is understood to be the absolute
1625 maximum size of the queue and additional parameters are described
1626 in diffServRandomDropTable.
1628 The alwaysDrop(5) algorithm is as its name specifies; always
1629 drop. In this case, the other configuration values in this Entry
1630 are not meaningful; There is no useful 'next' processing step,
1631 there is no queue, and parameters describing the queue are not
1632 useful. Therefore, diffServAlgDropNext, diffServAlgDropMeasure,
1633 and diffServAlgDropSpecific are all zeroDotZero."
1634 ::= { diffServAlgDropEntry 2 }
1636 diffServAlgDropNext OBJECT-TYPE
1638 MAX-ACCESS read-create
1641 "This selects the next Differentiated Services Functional Data
1642 Path Element to handle traffic for this data path. This
1643 RowPointer should point to an instance of one of:
1649 A value of zeroDotZero in this attribute indicates no further
1650 Differentiated Services treatment is performed on traffic of this
1651 data path. The use of zeroDotZero is the normal usage for the
1652 last functional data path element of the current data path.
1654 When diffServAlgDropType is alwaysDrop(5), this object is
1657 Setting this to point to a target that does not exist results in
1658 an inconsistentValue error. If the row pointed to is removed or
1659 becomes inactive by other means, the treatment is as if this
1660 attribute contains a value of zeroDotZero."
1661 ::= { diffServAlgDropEntry 3 }
1663 diffServAlgDropQMeasure OBJECT-TYPE
1665 MAX-ACCESS read-create
1668 "Points to an entry in the diffServQTable to indicate the queue
1669 that a drop algorithm is to monitor when deciding whether to drop
1670 a packet. If the row pointed to does not exist, the algorithmic
1671 dropper element is considered inactive.
1675 Setting this to point to a target that does not exist results in
1676 an inconsistentValue error. If the row pointed to is removed or
1677 becomes inactive by other means, the treatment is as if this
1678 attribute contains a value of zeroDotZero."
1679 ::= { diffServAlgDropEntry 4 }
1681 diffServAlgDropQThreshold OBJECT-TYPE
1682 SYNTAX Unsigned32 (1..4294967295)
1684 MAX-ACCESS read-create
1687 "A threshold on the depth in bytes of the queue being measured at
1688 which a trigger is generated to the dropping algorithm, unless
1689 diffServAlgDropType is alwaysDrop(5) where this object is
1692 For the tailDrop(2) or headDrop(3) algorithms, this represents
1693 the depth of the queue, pointed to by diffServAlgDropQMeasure, at
1694 which the drop action will take place. Other algorithms will need
1695 to define their own semantics for this threshold."
1696 ::= { diffServAlgDropEntry 5 }
1698 diffServAlgDropSpecific OBJECT-TYPE
1700 MAX-ACCESS read-create
1703 "Points to a table entry that provides further detail regarding a
1706 Entries with diffServAlgDropType equal to other(1) may have this
1707 point to a table defined in another MIB module.
1709 Entries with diffServAlgDropType equal to randomDrop(4) must have
1710 this point to an entry in diffServRandomDropTable.
1712 For all other algorithms specified in this MIB, this should take
1713 the value zeroDotZero.
1715 The diffServAlgDropType is authoritative for the type of the drop
1716 algorithm and the specific parameters for the drop algorithm
1717 needs to be evaluated based on the diffServAlgDropType.
1719 Setting this to point to a target that does not exist results in
1720 an inconsistentValue error. If the row pointed to is removed or
1721 becomes inactive by other means, the treatment is as if this
1722 attribute contains a value of zeroDotZero."
1726 ::= { diffServAlgDropEntry 6 }
1728 diffServAlgDropOctets OBJECT-TYPE
1730 MAX-ACCESS read-only
1733 "The number of octets that have been deterministically dropped by
1736 Discontinuities in the value of this counter can occur at re-
1737 initialization of the management system and at other times as
1738 indicated by the value of ifCounterDiscontinuityTime on the
1739 relevant interface."
1740 ::= { diffServAlgDropEntry 7 }
1742 diffServAlgDropPkts OBJECT-TYPE
1744 MAX-ACCESS read-only
1747 "The number of packets that have been deterministically dropped
1748 by this drop process.
1750 Discontinuities in the value of this counter can occur at re-
1751 initialization of the management system and at other times as
1752 indicated by the value of ifCounterDiscontinuityTime on the
1753 relevant interface."
1754 ::= { diffServAlgDropEntry 8 }
1756 diffServAlgRandomDropOctets OBJECT-TYPE
1758 MAX-ACCESS read-only
1761 "The number of octets that have been randomly dropped by this
1762 drop process. This counter applies, therefore, only to random
1765 Discontinuities in the value of this counter can occur at re-
1766 initialization of the management system and at other times as
1767 indicated by the value of ifCounterDiscontinuityTime on the
1768 relevant interface."
1769 ::= { diffServAlgDropEntry 9 }
1771 diffServAlgRandomDropPkts OBJECT-TYPE
1773 MAX-ACCESS read-only
1779 "The number of packets that have been randomly dropped by this
1780 drop process. This counter applies, therefore, only to random
1783 Discontinuities in the value of this counter can occur at re-
1784 initialization of the management system and at other times as
1785 indicated by the value of ifCounterDiscontinuityTime on the
1786 relevant interface."
1787 ::= { diffServAlgDropEntry 10 }
1789 diffServAlgDropStorage OBJECT-TYPE
1791 MAX-ACCESS read-create
1794 "The storage type for this conceptual row. Conceptual rows
1795 having the value 'permanent' need not allow write-access to any
1796 columnar objects in the row."
1797 DEFVAL { nonVolatile }
1798 ::= { diffServAlgDropEntry 11 }
1800 diffServAlgDropStatus OBJECT-TYPE
1802 MAX-ACCESS read-create
1805 "The status of this conceptual row. All writable objects in this
1806 row may be modified at any time. Setting this variable to
1807 'destroy' when the MIB contains one or more RowPointers pointing
1808 to it results in destruction being delayed until the row is no
1810 ::= { diffServAlgDropEntry 12 }
1813 -- Random Drop Table
1816 diffServRandomDropNextFree OBJECT-TYPE
1817 SYNTAX IndexIntegerNextFree
1818 MAX-ACCESS read-only
1821 "This object contains an unused value for diffServRandomDropId,
1822 or a zero to indicate that none exist."
1823 ::= { diffServAlgDrop 3 }
1828 diffServRandomDropTable OBJECT-TYPE
1829 SYNTAX SEQUENCE OF DiffServRandomDropEntry
1830 MAX-ACCESS not-accessible
1833 "The random drop table contains entries describing a process that
1834 drops packets randomly. Entries in this table are pointed to by
1835 diffServAlgDropSpecific."
1836 ::= { diffServAlgDrop 4 }
1838 diffServRandomDropEntry OBJECT-TYPE
1839 SYNTAX DiffServRandomDropEntry
1840 MAX-ACCESS not-accessible
1843 "An entry describes a process that drops packets according to a
1845 INDEX { diffServRandomDropId }
1846 ::= { diffServRandomDropTable 1 }
1848 DiffServRandomDropEntry ::= SEQUENCE {
1849 diffServRandomDropId IndexInteger,
1850 diffServRandomDropMinThreshBytes Unsigned32,
1851 diffServRandomDropMinThreshPkts Unsigned32,
1852 diffServRandomDropMaxThreshBytes Unsigned32,
1853 diffServRandomDropMaxThreshPkts Unsigned32,
1854 diffServRandomDropProbMax Unsigned32,
1855 diffServRandomDropWeight Unsigned32,
1856 diffServRandomDropSamplingRate Unsigned32,
1857 diffServRandomDropStorage StorageType,
1858 diffServRandomDropStatus RowStatus
1861 diffServRandomDropId OBJECT-TYPE
1863 MAX-ACCESS not-accessible
1866 "An index that enumerates the Random Drop entries. Managers
1867 obtain new values for row creation in this table by reading
1868 diffServRandomDropNextFree."
1869 ::= { diffServRandomDropEntry 1 }
1871 diffServRandomDropMinThreshBytes OBJECT-TYPE
1872 SYNTAX Unsigned32 (1..4294967295)
1874 MAX-ACCESS read-create
1880 "The average queue depth in bytes, beyond which traffic has a
1881 non-zero probability of being dropped. Changes in this variable
1882 may or may not be reflected in the reported value of
1883 diffServRandomDropMinThreshPkts."
1884 ::= { diffServRandomDropEntry 2 }
1886 diffServRandomDropMinThreshPkts OBJECT-TYPE
1887 SYNTAX Unsigned32 (1..4294967295)
1889 MAX-ACCESS read-create
1892 "The average queue depth in packets, beyond which traffic has a
1893 non-zero probability of being dropped. Changes in this variable
1894 may or may not be reflected in the reported value of
1895 diffServRandomDropMinThreshBytes."
1896 ::= { diffServRandomDropEntry 3 }
1898 diffServRandomDropMaxThreshBytes OBJECT-TYPE
1899 SYNTAX Unsigned32 (1..4294967295)
1901 MAX-ACCESS read-create
1904 "The average queue depth beyond which traffic has a probability
1905 indicated by diffServRandomDropProbMax of being dropped or
1906 marked. Note that this differs from the physical queue limit,
1907 which is stored in diffServAlgDropQThreshold. Changes in this
1908 variable may or may not be reflected in the reported value of
1909 diffServRandomDropMaxThreshPkts."
1910 ::= { diffServRandomDropEntry 4 }
1912 diffServRandomDropMaxThreshPkts OBJECT-TYPE
1913 SYNTAX Unsigned32 (1..4294967295)
1915 MAX-ACCESS read-create
1918 "The average queue depth beyond which traffic has a probability
1919 indicated by diffServRandomDropProbMax of being dropped or
1920 marked. Note that this differs from the physical queue limit,
1921 which is stored in diffServAlgDropQThreshold. Changes in this
1922 variable may or may not be reflected in the reported value of
1923 diffServRandomDropMaxThreshBytes."
1924 ::= { diffServRandomDropEntry 5 }
1926 diffServRandomDropProbMax OBJECT-TYPE
1930 SYNTAX Unsigned32 (0..1000)
1931 MAX-ACCESS read-create
1934 "The worst case random drop probability, expressed in drops per
1937 For example, if in the worst case every arriving packet may be
1938 dropped (100%) for a period, this has the value 1000.
1939 Alternatively, if in the worst case only one percent (1%) of
1940 traffic may be dropped, it has the value 10."
1941 ::= { diffServRandomDropEntry 6 }
1943 diffServRandomDropWeight OBJECT-TYPE
1944 SYNTAX Unsigned32 (0..65536)
1945 MAX-ACCESS read-create
1948 "The weighting of past history in affecting the Exponentially
1949 Weighted Moving Average function that calculates the current
1950 average queue depth. The equation uses
1951 diffServRandomDropWeight/65536 as the coefficient for the new
1952 sample in the equation, and (65536 -
1953 diffServRandomDropWeight)/65536 as the coefficient of the old
1956 Implementations may limit the values of diffServRandomDropWeight
1957 to a subset of the possible range of values, such as powers of
1958 two. Doing this would facilitate implementation of the
1959 Exponentially Weighted Moving Average using shift instructions or
1961 ::= { diffServRandomDropEntry 7 }
1963 diffServRandomDropSamplingRate OBJECT-TYPE
1964 SYNTAX Unsigned32 (0..1000000)
1965 MAX-ACCESS read-create
1968 "The number of times per second the queue is sampled for queue
1969 average calculation. A value of zero is used to mean that the
1970 queue is sampled approximately each time a packet is enqueued (or
1972 ::= { diffServRandomDropEntry 8 }
1974 diffServRandomDropStorage OBJECT-TYPE
1976 MAX-ACCESS read-create
1982 "The storage type for this conceptual row. Conceptual rows
1983 having the value 'permanent' need not allow write-access to any
1984 columnar objects in the row."
1985 DEFVAL { nonVolatile }
1986 ::= { diffServRandomDropEntry 9 }
1988 diffServRandomDropStatus OBJECT-TYPE
1990 MAX-ACCESS read-create
1993 "The status of this conceptual row. All writable objects in this
1994 row may be modified at any time. Setting this variable to
1995 'destroy' when the MIB contains one or more RowPointers pointing
1996 to it results in destruction being delayed until the row is no
1998 ::= { diffServRandomDropEntry 10 }
2004 diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 7 }
2007 -- An entry of diffServQTable represents a FIFO queue Differentiated
2008 -- Services Functional Data Path element as described in the Informal
2009 -- Differentiated Services Model section 7.1.1. Note that the
2010 -- specification of scheduling parameters for a queue as part of the
2011 -- input to a scheduler functional data path element as described in
2012 -- the Informal Differentiated Services Model section 7.1.2. This
2013 -- allows building of hierarchical queuing/scheduling. A queue
2014 -- therefore has these attributes:
2016 -- 1. Which scheduler will service this queue, diffServQNext.
2017 -- 2. How the scheduler will service this queue, with respect
2018 -- to all the other queues the same scheduler needs to service,
2019 -- diffServQMinRate.
2021 -- Note that upstream Differentiated Services Functional Data Path
2022 -- elements may point to a shared diffServQTable entry as described
2023 -- in the Informal Differentiated Services Model section 7.1.1.
2026 diffServQNextFree OBJECT-TYPE
2027 SYNTAX IndexIntegerNextFree
2028 MAX-ACCESS read-only
2034 "This object contains an unused value for diffServQId, or a zero
2035 to indicate that none exist."
2036 ::= { diffServQueue 1 }
2038 diffServQTable OBJECT-TYPE
2039 SYNTAX SEQUENCE OF DiffServQEntry
2040 MAX-ACCESS not-accessible
2043 "The Queue Table enumerates the individual queues. Note that the
2044 MIB models queuing systems as composed of individual queues, one
2045 per class of traffic, even though they may in fact be structured
2046 as classes of traffic scheduled using a common calendar queue, or
2048 ::= { diffServQueue 2 }
2050 diffServQEntry OBJECT-TYPE
2051 SYNTAX DiffServQEntry
2052 MAX-ACCESS not-accessible
2055 "An entry in the Queue Table describes a single queue or class of
2057 INDEX { diffServQId }
2058 ::= { diffServQTable 1 }
2060 DiffServQEntry ::= SEQUENCE {
2061 diffServQId IndexInteger,
2062 diffServQNext RowPointer,
2063 diffServQMinRate RowPointer,
2064 diffServQMaxRate RowPointer,
2065 diffServQStorage StorageType,
2066 diffServQStatus RowStatus
2069 diffServQId OBJECT-TYPE
2071 MAX-ACCESS not-accessible
2074 "An index that enumerates the Queue entries. Managers obtain new
2075 values for row creation in this table by reading
2077 ::= { diffServQEntry 1 }
2079 diffServQNext OBJECT-TYPE
2084 MAX-ACCESS read-create
2087 "This selects the next Differentiated Services Scheduler. The
2088 RowPointer must point to a diffServSchedulerEntry.
2090 A value of zeroDotZero in this attribute indicates an incomplete
2091 diffServQEntry instance. In such a case, the entry has no
2092 operational effect, since it has no parameters to give it
2095 Setting this to point to a target that does not exist results in
2096 an inconsistentValue error. If the row pointed to is removed or
2097 becomes inactive by other means, the treatment is as if this
2098 attribute contains a value of zeroDotZero."
2099 ::= { diffServQEntry 2 }
2101 diffServQMinRate OBJECT-TYPE
2103 MAX-ACCESS read-create
2106 "This RowPointer indicates the diffServMinRateEntry that the
2107 scheduler, pointed to by diffServQNext, should use to service
2110 If the row pointed to is zeroDotZero, the minimum rate and
2111 priority is unspecified.
2113 Setting this to point to a target that does not exist results in
2114 an inconsistentValue error. If the row pointed to is removed or
2115 becomes inactive by other means, the treatment is as if this
2116 attribute contains a value of zeroDotZero."
2117 ::= { diffServQEntry 3 }
2119 diffServQMaxRate OBJECT-TYPE
2121 MAX-ACCESS read-create
2124 "This RowPointer indicates the diffServMaxRateEntry that the
2125 scheduler, pointed to by diffServQNext, should use to service
2128 If the row pointed to is zeroDotZero, the maximum rate is the
2129 line speed of the interface.
2134 Setting this to point to a target that does not exist results in
2135 an inconsistentValue error. If the row pointed to is removed or
2136 becomes inactive by other means, the treatment is as if this
2137 attribute contains a value of zeroDotZero."
2138 ::= { diffServQEntry 4 }
2140 diffServQStorage OBJECT-TYPE
2142 MAX-ACCESS read-create
2145 "The storage type for this conceptual row. Conceptual rows
2146 having the value 'permanent' need not allow write-access to any
2147 columnar objects in the row."
2148 DEFVAL { nonVolatile }
2149 ::= { diffServQEntry 5 }
2151 diffServQStatus OBJECT-TYPE
2153 MAX-ACCESS read-create
2156 "The status of this conceptual row. All writable objects in this
2157 row may be modified at any time. Setting this variable to
2158 'destroy' when the MIB contains one or more RowPointers pointing
2159 to it results in destruction being delayed until the row is no
2161 ::= { diffServQEntry 6 }
2167 diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 }
2170 -- A Scheduler Entry represents a packet scheduler, such as a priority
2171 -- scheduler or a WFQ scheduler. It provides flexibility for multiple
2172 -- scheduling algorithms, each servicing multiple queues, to be used on
2173 -- the same logical/physical interface.
2175 -- Note that upstream queues or schedulers specify several of the
2176 -- scheduler's parameters. These must be properly specified if the
2177 -- scheduler is to behave as expected.
2179 -- The diffServSchedulerMaxRate attribute specifies the parameters when
2180 -- a scheduler's output is sent to another scheduler. This is used in
2181 -- building hierarchical queues or schedulers.
2186 -- More discussion of the scheduler functional data path element is in
2187 -- the Informal Differentiated Services Model section 7.1.2.
2190 diffServSchedulerNextFree OBJECT-TYPE
2191 SYNTAX IndexIntegerNextFree
2192 MAX-ACCESS read-only
2195 "This object contains an unused value for diffServSchedulerId, or
2196 a zero to indicate that none exist."
2197 ::= { diffServScheduler 1 }
2199 diffServSchedulerTable OBJECT-TYPE
2200 SYNTAX SEQUENCE OF DiffServSchedulerEntry
2201 MAX-ACCESS not-accessible
2204 "The Scheduler Table enumerates packet schedulers. Multiple
2205 scheduling algorithms can be used on a given data path, with each
2206 algorithm described by one diffServSchedulerEntry."
2207 ::= { diffServScheduler 2 }
2209 diffServSchedulerEntry OBJECT-TYPE
2210 SYNTAX DiffServSchedulerEntry
2211 MAX-ACCESS not-accessible
2214 "An entry in the Scheduler Table describing a single instance of
2215 a scheduling algorithm."
2216 INDEX { diffServSchedulerId }
2217 ::= { diffServSchedulerTable 1 }
2219 DiffServSchedulerEntry ::= SEQUENCE {
2220 diffServSchedulerId IndexInteger,
2221 diffServSchedulerNext RowPointer,
2222 diffServSchedulerMethod AutonomousType,
2223 diffServSchedulerMinRate RowPointer,
2224 diffServSchedulerMaxRate RowPointer,
2225 diffServSchedulerStorage StorageType,
2226 diffServSchedulerStatus RowStatus
2229 diffServSchedulerId OBJECT-TYPE
2231 MAX-ACCESS not-accessible
2237 "An index that enumerates the Scheduler entries. Managers obtain
2238 new values for row creation in this table by reading
2239 diffServSchedulerNextFree."
2240 ::= { diffServSchedulerEntry 1 }
2242 diffServSchedulerNext OBJECT-TYPE
2244 MAX-ACCESS read-create
2247 "This selects the next Differentiated Services Functional Data
2248 Path Element to handle traffic for this data path. This normally
2249 is null (zeroDotZero), or points to a diffServSchedulerEntry or a
2252 However, this RowPointer may also point to an instance of:
2255 diffServActionEntry,
2256 diffServAlgDropEntry.
2258 It would point another diffServSchedulerEntry when implementing
2259 multiple scheduler methods for the same data path, such as having
2260 one set of queues scheduled by WRR and that group participating
2261 in a priority scheduling system in which other queues compete
2262 with it in that way. It might also point to a second scheduler
2263 in a hierarchical scheduling system.
2265 If the row pointed to is zeroDotZero, no further Differentiated
2266 Services treatment is performed on traffic of this data path.
2268 Setting this to point to a target that does not exist results in
2269 an inconsistentValue error. If the row pointed to is removed or
2270 becomes inactive by other means, the treatment is as if this
2271 attribute contains a value of zeroDotZero."
2272 DEFVAL { zeroDotZero }
2273 ::= { diffServSchedulerEntry 2 }
2275 diffServSchedulerMethod OBJECT-TYPE
2276 SYNTAX AutonomousType
2277 MAX-ACCESS read-create
2280 "The scheduling algorithm used by this Scheduler. zeroDotZero
2281 indicates that this is unknown. Standard values for generic
2282 algorithms: diffServSchedulerPriority, diffServSchedulerWRR, and
2283 diffServSchedulerWFQ are specified in this MIB; additional values
2287 may be further specified in other MIBs."
2288 ::= { diffServSchedulerEntry 3 }
2290 diffServSchedulerMinRate OBJECT-TYPE
2292 MAX-ACCESS read-create
2295 "This RowPointer indicates the entry in diffServMinRateTable
2296 which indicates the priority or minimum output rate from this
2297 scheduler. This attribute is used only when there is more than
2298 one level of scheduler.
2300 When it has the value zeroDotZero, it indicates that no minimum
2301 rate or priority is imposed.
2303 Setting this to point to a target that does not exist results in
2304 an inconsistentValue error. If the row pointed to is removed or
2305 becomes inactive by other means, the treatment is as if this
2306 attribute contains a value of zeroDotZero."
2307 DEFVAL { zeroDotZero }
2308 ::= { diffServSchedulerEntry 4 }
2310 diffServSchedulerMaxRate OBJECT-TYPE
2312 MAX-ACCESS read-create
2315 "This RowPointer indicates the entry in diffServMaxRateTable
2316 which indicates the maximum output rate from this scheduler.
2317 When more than one maximum rate applies (eg, when a multi-rate
2318 shaper is in view), it points to the first of those rate entries.
2319 This attribute is used only when there is more than one level of
2322 When it has the value zeroDotZero, it indicates that no maximum
2325 Setting this to point to a target that does not exist results in
2326 an inconsistentValue error. If the row pointed to is removed or
2327 becomes inactive by other means, the treatment is as if this
2328 attribute contains a value of zeroDotZero."
2329 DEFVAL { zeroDotZero }
2330 ::= { diffServSchedulerEntry 5 }
2332 diffServSchedulerStorage OBJECT-TYPE
2334 MAX-ACCESS read-create
2340 "The storage type for this conceptual row. Conceptual rows
2341 having the value 'permanent' need not allow write-access to any
2342 columnar objects in the row."
2343 DEFVAL { nonVolatile }
2344 ::= { diffServSchedulerEntry 6 }
2346 diffServSchedulerStatus OBJECT-TYPE
2348 MAX-ACCESS read-create
2351 "The status of this conceptual row. All writable objects in this
2352 row may be modified at any time. Setting this variable to
2353 'destroy' when the MIB contains one or more RowPointers pointing
2354 to it results in destruction being delayed until the row is no
2356 ::= { diffServSchedulerEntry 7 }
2359 -- OIDs for diffServTBParamType definitions.
2362 diffServSchedulers OBJECT IDENTIFIER ::= { diffServMIBAdmin 2 }
2364 diffServSchedulerPriority OBJECT-IDENTITY
2367 "For use with diffServSchedulerMethod to indicate the Priority
2368 scheduling method. This is defined as an algorithm in which the
2369 presence of data in a queue or set of queues absolutely precludes
2370 dequeue from another queue or set of queues of lower priority.
2371 Note that attributes from diffServMinRateEntry of the
2372 queues/schedulers feeding this scheduler are used when
2373 determining the next packet to schedule."
2374 ::= { diffServSchedulers 1 }
2376 diffServSchedulerWRR OBJECT-IDENTITY
2379 "For use with diffServSchedulerMethod to indicate the Weighted
2380 Round Robin scheduling method, defined as any algorithm in which
2381 a set of queues are visited in a fixed order, and varying amounts
2382 of traffic are removed from each queue in turn to implement an
2383 average output rate by class. Notice attributes from
2384 diffServMinRateEntry of the queues/schedulers feeding this
2385 scheduler are used when determining the next packet to schedule."
2389 ::= { diffServSchedulers 2 }
2391 diffServSchedulerWFQ OBJECT-IDENTITY
2394 "For use with diffServSchedulerMethod to indicate the Weighted
2395 Fair Queuing scheduling method, defined as any algorithm in which
2396 a set of queues are conceptually visited in some order, to
2397 implement an average output rate by class. Notice attributes from
2398 diffServMinRateEntry of the queues/schedulers feeding this
2399 scheduler are used when determining the next packet to schedule."
2400 ::= { diffServSchedulers 3 }
2403 -- Minimum Rate Parameters Table
2405 -- The parameters used by a scheduler for its inputs or outputs are
2406 -- maintained separately from the Queue or Scheduler table entries for
2407 -- reusability reasons and so that they may be used by both queues and
2408 -- schedulers. This follows the approach for separation of data path
2409 -- elements from parameterization that is used throughout this MIB.
2410 -- Use of these Minimum Rate Parameter Table entries by Queues and
2411 -- Schedulers allows the modeling of hierarchical scheduling systems.
2413 -- Specifically, a Scheduler has one or more inputs and one output.
2414 -- Any queue feeding a scheduler, or any scheduler which feeds a second
2415 -- scheduler, might specify a minimum transfer rate by pointing to an
2416 -- Minimum Rate Parameter Table entry.
2418 -- The diffServMinRatePriority/Abs/Rel attributes are used as
2419 -- parameters to the work-conserving portion of a scheduler:
2420 -- "work-conserving" implies that the scheduler can continue to emit
2421 -- data as long as there is data available at its input(s). This has
2422 -- the effect of guaranteeing a certain priority relative to other
2423 -- scheduler inputs and/or a certain minimum proportion of the
2424 -- available output bandwidth. Properly configured, this means a
2425 -- certain minimum rate, which may be exceeded should traffic be
2426 -- available should there be spare bandwidth after all other classes
2427 -- have had opportunities to consume their own minimum rates.
2430 diffServMinRateNextFree OBJECT-TYPE
2431 SYNTAX IndexIntegerNextFree
2432 MAX-ACCESS read-only
2435 "This object contains an unused value for diffServMinRateId, or a
2436 zero to indicate that none exist."
2440 ::= { diffServScheduler 3 }
2442 diffServMinRateTable OBJECT-TYPE
2443 SYNTAX SEQUENCE OF DiffServMinRateEntry
2444 MAX-ACCESS not-accessible
2447 "The Minimum Rate Parameters Table enumerates individual sets of
2448 scheduling parameter that can be used/reused by Queues and
2450 ::= { diffServScheduler 4 }
2452 diffServMinRateEntry OBJECT-TYPE
2453 SYNTAX DiffServMinRateEntry
2454 MAX-ACCESS not-accessible
2457 "An entry in the Minimum Rate Parameters Table describes a single
2458 set of scheduling parameters for use by one or more queues or
2460 INDEX { diffServMinRateId }
2461 ::= { diffServMinRateTable 1 }
2463 DiffServMinRateEntry ::= SEQUENCE {
2464 diffServMinRateId IndexInteger,
2465 diffServMinRatePriority Unsigned32,
2466 diffServMinRateAbsolute Unsigned32,
2467 diffServMinRateRelative Unsigned32,
2468 diffServMinRateStorage StorageType,
2469 diffServMinRateStatus RowStatus
2472 diffServMinRateId OBJECT-TYPE
2474 MAX-ACCESS not-accessible
2477 "An index that enumerates the Scheduler Parameter entries.
2478 Managers obtain new values for row creation in this table by
2479 reading diffServMinRateNextFree."
2480 ::= { diffServMinRateEntry 1 }
2482 diffServMinRatePriority OBJECT-TYPE
2483 SYNTAX Unsigned32 (1..4294967295)
2484 MAX-ACCESS read-create
2487 "The priority of this input to the associated scheduler, relative
2491 to the scheduler's other inputs. A queue or scheduler with a
2492 larger numeric value will be served before another with a smaller
2494 ::= { diffServMinRateEntry 2 }
2496 diffServMinRateAbsolute OBJECT-TYPE
2497 SYNTAX Unsigned32 (1..4294967295)
2498 UNITS "kilobits per second"
2499 MAX-ACCESS read-create
2502 "The minimum absolute rate, in kilobits/sec, that a downstream
2503 scheduler element should allocate to this queue. If the value is
2504 zero, then there is effectively no minimum rate guarantee. If the
2505 value is non-zero, the scheduler will assure the servicing of
2506 this queue to at least this rate.
2508 Note that this attribute value and that of
2509 diffServMinRateRelative are coupled: changes to one will affect
2510 the value of the other. They are linked by the following
2511 equation, in that setting one will change the other:
2513 diffServMinRateRelative =
2514 (diffServMinRateAbsolute*1000000)/ifSpeed
2518 diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"
2520 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
2521 ::= { diffServMinRateEntry 3 }
2523 diffServMinRateRelative OBJECT-TYPE
2524 SYNTAX Unsigned32 (1..4294967295)
2525 MAX-ACCESS read-create
2528 "The minimum rate that a downstream scheduler element should
2529 allocate to this queue, relative to the maximum rate of the
2530 interface as reported by ifSpeed or ifHighSpeed, in units of
2531 1/1000 of 1. If the value is zero, then there is effectively no
2532 minimum rate guarantee. If the value is non-zero, the scheduler
2533 will assure the servicing of this queue to at least this rate.
2535 Note that this attribute value and that of
2536 diffServMinRateAbsolute are coupled: changes to one will affect
2537 the value of the other. They are linked by the following
2538 equation, in that setting one will change the other:
2542 diffServMinRateRelative =
2543 (diffServMinRateAbsolute*1000000)/ifSpeed
2547 diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"
2549 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
2550 ::= { diffServMinRateEntry 4 }
2552 diffServMinRateStorage OBJECT-TYPE
2554 MAX-ACCESS read-create
2557 "The storage type for this conceptual row. Conceptual rows
2558 having the value 'permanent' need not allow write-access to any
2559 columnar objects in the row."
2560 DEFVAL { nonVolatile }
2561 ::= { diffServMinRateEntry 5 }
2563 diffServMinRateStatus OBJECT-TYPE
2565 MAX-ACCESS read-create
2568 "The status of this conceptual row. All writable objects in this
2569 row may be modified at any time. Setting this variable to
2570 'destroy' when the MIB contains one or more RowPointers pointing
2571 to it results in destruction being delayed until the row is no
2573 ::= { diffServMinRateEntry 6 }
2576 -- Maximum Rate Parameter Table
2578 -- The parameters used by a scheduler for its inputs or outputs are
2579 -- maintained separately from the Queue or Scheduler table entries for
2580 -- reusability reasons and so that they may be used by both queues and
2581 -- schedulers. This follows the approach for separation of data path
2582 -- elements from parameterization that is used throughout this MIB.
2583 -- Use of these Maximum Rate Parameter Table entries by Queues and
2584 -- Schedulers allows the modeling of hierarchical scheduling systems.
2586 -- Specifically, a Scheduler has one or more inputs and one output.
2587 -- Any queue feeding a scheduler, or any scheduler which feeds a second
2588 -- scheduler, might specify a maximum transfer rate by pointing to a
2589 -- Maximum Rate Parameter Table entry. Multi-rate shapers, such as a
2593 -- Dual Leaky Bucket algorithm, specify their rates using multiple
2594 -- Maximum Rate Parameter Entries with the same diffServMaxRateId but
2595 -- different diffServMaxRateLevels.
2597 -- The diffServMaxRateLevel/Abs/Rel attributes are used as
2598 -- parameters to the non-work-conserving portion of a scheduler:
2599 -- non-work-conserving implies that the scheduler may sometimes not
2600 -- emit a packet, even if there is data available at its input(s).
2601 -- This has the effect of limiting the servicing of the queue/scheduler
2602 -- input or output, in effect performing shaping of the packet stream
2603 -- passing through the queue/scheduler, as described in the Informal
2604 -- Differentiated Services Model section 7.2.
2607 diffServMaxRateNextFree OBJECT-TYPE
2608 SYNTAX IndexIntegerNextFree
2609 MAX-ACCESS read-only
2612 "This object contains an unused value for diffServMaxRateId, or a
2613 zero to indicate that none exist."
2614 ::= { diffServScheduler 5 }
2616 diffServMaxRateTable OBJECT-TYPE
2617 SYNTAX SEQUENCE OF DiffServMaxRateEntry
2618 MAX-ACCESS not-accessible
2621 "The Maximum Rate Parameter Table enumerates individual sets of
2622 scheduling parameter that can be used/reused by Queues and
2624 ::= { diffServScheduler 6 }
2626 diffServMaxRateEntry OBJECT-TYPE
2627 SYNTAX DiffServMaxRateEntry
2628 MAX-ACCESS not-accessible
2631 "An entry in the Maximum Rate Parameter Table describes a single
2632 set of scheduling parameters for use by one or more queues or
2634 INDEX { diffServMaxRateId, diffServMaxRateLevel }
2635 ::= { diffServMaxRateTable 1 }
2637 DiffServMaxRateEntry ::= SEQUENCE {
2638 diffServMaxRateId IndexInteger,
2639 diffServMaxRateLevel Unsigned32,
2640 diffServMaxRateAbsolute Unsigned32,
2644 diffServMaxRateRelative Unsigned32,
2645 diffServMaxRateThreshold BurstSize,
2646 diffServMaxRateStorage StorageType,
2647 diffServMaxRateStatus RowStatus
2650 diffServMaxRateId OBJECT-TYPE
2652 MAX-ACCESS not-accessible
2655 "An index that enumerates the Maximum Rate Parameter entries.
2656 Managers obtain new values for row creation in this table by
2657 reading diffServMaxRateNextFree."
2658 ::= { diffServMaxRateEntry 1 }
2660 diffServMaxRateLevel OBJECT-TYPE
2661 SYNTAX Unsigned32 (1..32)
2662 MAX-ACCESS not-accessible
2665 "An index that indicates which level of a multi-rate shaper is
2666 being given its parameters. A multi-rate shaper has some number
2667 of rate levels. Frame Relay's dual rate specification refers to a
2668 'committed' and an 'excess' rate; ATM's dual rate specification
2669 refers to a 'mean' and a 'peak' rate. This table is generalized
2670 to support an arbitrary number of rates. The committed or mean
2671 rate is level 1, the peak rate (if any) is the highest level rate
2672 configured, and if there are other rates they are distributed in
2673 monotonically increasing order between them."
2674 ::= { diffServMaxRateEntry 2 }
2676 diffServMaxRateAbsolute OBJECT-TYPE
2677 SYNTAX Unsigned32 (1..4294967295)
2678 UNITS "kilobits per second"
2679 MAX-ACCESS read-create
2682 "The maximum rate in kilobits/sec that a downstream scheduler
2683 element should allocate to this queue. If the value is zero, then
2684 there is effectively no maximum rate limit and that the scheduler
2685 should attempt to be work conserving for this queue. If the value
2686 is non-zero, the scheduler will limit the servicing of this queue
2687 to, at most, this rate in a non-work-conserving manner.
2689 Note that this attribute value and that of
2690 diffServMaxRateRelative are coupled: changes to one will affect
2691 the value of the other. They are linked by the following
2695 equation, in that setting one will change the other:
2697 diffServMaxRateRelative =
2698 (diffServMaxRateAbsolute*1000000)/ifSpeed
2702 diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"
2704 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
2705 ::= { diffServMaxRateEntry 3 }
2707 diffServMaxRateRelative OBJECT-TYPE
2708 SYNTAX Unsigned32 (1..4294967295)
2709 MAX-ACCESS read-create
2712 "The maximum rate that a downstream scheduler element should
2713 allocate to this queue, relative to the maximum rate of the
2714 interface as reported by ifSpeed or ifHighSpeed, in units of
2715 1/1000 of 1. If the value is zero, then there is effectively no
2716 maximum rate limit and the scheduler should attempt to be work
2717 conserving for this queue. If the value is non-zero, the
2718 scheduler will limit the servicing of this queue to, at most,
2719 this rate in a non-work-conserving manner.
2721 Note that this attribute value and that of
2722 diffServMaxRateAbsolute are coupled: changes to one will affect
2723 the value of the other. They are linked by the following
2724 equation, in that setting one will change the other:
2726 diffServMaxRateRelative =
2727 (diffServMaxRateAbsolute*1000000)/ifSpeed
2731 diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"
2733 "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
2734 ::= { diffServMaxRateEntry 4 }
2736 diffServMaxRateThreshold OBJECT-TYPE
2739 MAX-ACCESS read-create
2742 "The number of bytes of queue depth at which the rate of a
2746 multi-rate scheduler will increase to the next output rate. In
2747 the last conceptual row for such a shaper, this threshold is
2748 ignored and by convention is zero."
2750 "Adaptive rate Shaper, RFC 2963"
2751 ::= { diffServMaxRateEntry 5 }
2753 diffServMaxRateStorage OBJECT-TYPE
2755 MAX-ACCESS read-create
2758 "The storage type for this conceptual row. Conceptual rows
2759 having the value 'permanent' need not allow write-access to any
2760 columnar objects in the row."
2761 DEFVAL { nonVolatile }
2762 ::= { diffServMaxRateEntry 6 }
2764 diffServMaxRateStatus OBJECT-TYPE
2766 MAX-ACCESS read-create
2769 "The status of this conceptual row. All writable objects in this
2770 row may be modified at any time. Setting this variable to
2771 'destroy' when the MIB contains one or more RowPointers pointing
2772 to it results in destruction being delayed until the row is no
2774 ::= { diffServMaxRateEntry 7 }
2777 -- MIB Compliance statements.
2780 diffServMIBCompliances OBJECT IDENTIFIER ::=
2781 { diffServMIBConformance 1 }
2782 diffServMIBGroups OBJECT IDENTIFIER ::=
2783 { diffServMIBConformance 2 }
2785 diffServMIBFullCompliance MODULE-COMPLIANCE
2788 "When this MIB is implemented with support for read-create, then
2789 such an implementation can claim full compliance. Such devices
2790 can then be both monitored and configured with this MIB."
2792 MODULE IF-MIB -- The interfaces MIB, RFC2863
2797 ifCounterDiscontinuityGroup
2800 MODULE -- This Module
2802 diffServMIBDataPathGroup, diffServMIBClfrGroup,
2803 diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup,
2804 diffServMIBActionGroup, diffServMIBAlgDropGroup,
2805 diffServMIBQGroup, diffServMIBSchedulerGroup,
2806 diffServMIBMaxRateGroup, diffServMIBMinRateGroup,
2807 diffServMIBCounterGroup
2810 GROUP diffServMIBMeterGroup
2812 "This group is mandatory for devices that implement metering
2815 GROUP diffServMIBTBParamGroup
2817 "This group is mandatory for devices that implement token-bucket
2818 metering functions."
2820 GROUP diffServMIBDscpMarkActGroup
2822 "This group is mandatory for devices that implement DSCP-Marking
2825 GROUP diffServMIBRandomDropGroup
2827 "This group is mandatory for devices that implement Random Drop
2830 OBJECT diffServDataPathStatus
2831 SYNTAX RowStatus { active(1) }
2832 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2834 "Support for createAndWait and notInService is not required."
2836 OBJECT diffServClfrStatus
2837 SYNTAX RowStatus { active(1) }
2838 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2840 "Support for createAndWait and notInService is not required."
2842 OBJECT diffServClfrElementStatus
2843 SYNTAX RowStatus { active(1) }
2844 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2849 "Support for createAndWait and notInService is not required."
2851 OBJECT diffServMultiFieldClfrAddrType
2852 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
2854 "An implementation is only required to support IPv4 and IPv6
2857 OBJECT diffServMultiFieldClfrDstAddr
2858 SYNTAX InetAddress (SIZE(0|4|16))
2860 "An implementation is only required to support IPv4 and globally
2861 unique IPv6 addresses."
2863 OBJECT diffServAlgDropStatus
2864 SYNTAX RowStatus { active(1) }
2865 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2867 "Support for createAndWait and notInService is not required."
2869 OBJECT diffServRandomDropStatus
2870 SYNTAX RowStatus { active(1) }
2871 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2873 "Support for createAndWait and notInService is not required."
2875 OBJECT diffServQStatus
2876 SYNTAX RowStatus { active(1) }
2877 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2879 "Support for createAndWait and notInService is not required."
2881 OBJECT diffServSchedulerStatus
2882 SYNTAX RowStatus { active(1) }
2883 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2885 "Support for createAndWait and notInService is not required."
2887 OBJECT diffServMinRateStatus
2888 SYNTAX RowStatus { active(1) }
2889 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2891 "Support for createAndWait and notInService is not required."
2893 OBJECT diffServMaxRateStatus
2894 SYNTAX RowStatus { active(1) }
2895 WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
2900 "Support for createAndWait and notInService is not required."
2902 ::= { diffServMIBCompliances 1 }
2905 -- Read-Only Compliance
2908 diffServMIBReadOnlyCompliance MODULE-COMPLIANCE
2911 "When this MIB is implemented without support for read-create
2912 (i.e. in read-only mode), then such an implementation can claim
2913 read-only compliance. Such a device can then be monitored but can
2914 not be configured with this MIB."
2916 MODULE IF-MIB -- The interfaces MIB, RFC2863
2918 ifCounterDiscontinuityGroup
2921 MODULE -- This Module
2923 diffServMIBDataPathGroup, diffServMIBClfrGroup,
2924 diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup,
2925 diffServMIBActionGroup, diffServMIBAlgDropGroup,
2926 diffServMIBQGroup, diffServMIBSchedulerGroup,
2927 diffServMIBMaxRateGroup, diffServMIBMinRateGroup,
2928 diffServMIBCounterGroup
2931 GROUP diffServMIBMeterGroup
2933 "This group is mandatory for devices that implement metering
2936 GROUP diffServMIBTBParamGroup
2938 "This group is mandatory for devices that implement token-bucket
2939 metering functions."
2941 GROUP diffServMIBDscpMarkActGroup
2943 "This group is mandatory for devices that implement DSCP-Marking
2946 GROUP diffServMIBRandomDropGroup
2951 "This group is mandatory for devices that implement Random Drop
2954 OBJECT diffServDataPathStart
2955 MIN-ACCESS read-only
2957 "Write access is not required."
2959 OBJECT diffServDataPathStorage
2960 MIN-ACCESS read-only
2962 "Write access is not required."
2964 OBJECT diffServDataPathStatus
2965 SYNTAX RowStatus { active(1) }
2966 MIN-ACCESS read-only
2968 "Write access is not required, and active is the only status that
2969 needs to be supported."
2971 OBJECT diffServClfrNextFree
2972 MIN-ACCESS not-accessible
2974 "Object not needed when diffServClfrTable is implemented read-
2977 OBJECT diffServClfrStorage
2978 MIN-ACCESS read-only
2980 "Write access is not required."
2982 OBJECT diffServClfrStatus
2983 SYNTAX RowStatus { active(1) }
2984 MIN-ACCESS read-only
2986 "Write access is not required, and active is the only status that
2987 needs to be supported."
2989 OBJECT diffServClfrElementNextFree
2990 MIN-ACCESS not-accessible
2992 "Object not needed when diffServClfrelementTable is implemented
2995 OBJECT diffServClfrElementPrecedence
2996 MIN-ACCESS read-only
3001 "Write access is not required."
3003 OBJECT diffServClfrElementNext
3004 MIN-ACCESS read-only
3006 "Write access is not required."
3008 OBJECT diffServClfrElementSpecific
3009 MIN-ACCESS read-only
3011 "Write access is not required."
3013 OBJECT diffServClfrElementStorage
3014 MIN-ACCESS read-only
3016 "Write access is not required."
3018 OBJECT diffServClfrElementStatus
3019 SYNTAX RowStatus { active(1) }
3020 MIN-ACCESS read-only
3022 "Write access is not required, and active is the only status that
3023 needs to be supported."
3025 OBJECT diffServMultiFieldClfrNextFree
3026 MIN-ACCESS not-accessible
3028 "Object is not needed when diffServMultiFieldClfrTable is
3029 implemented in read-only mode."
3031 OBJECT diffServMultiFieldClfrAddrType
3032 SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
3033 MIN-ACCESS read-only
3035 "Write access is not required. An implementation is only required
3036 to support IPv4 and IPv6 addresses."
3038 OBJECT diffServMultiFieldClfrDstAddr
3039 SYNTAX InetAddress (SIZE(0|4|16))
3040 MIN-ACCESS read-only
3042 "Write access is not required. An implementation is only required
3043 to support IPv4 and globally unique IPv6 addresses."
3045 OBJECT diffServMultiFieldClfrDstPrefixLength
3046 MIN-ACCESS read-only
3048 "Write access is not required."
3052 OBJECT diffServMultiFieldClfrSrcAddr
3053 MIN-ACCESS read-only
3055 "Write access is not required. An implementation is only required
3056 to support IPv4 and globally unique IPv6 addresses."
3058 OBJECT diffServMultiFieldClfrSrcPrefixLength
3059 MIN-ACCESS read-only
3061 "Write access is not required."
3063 OBJECT diffServMultiFieldClfrDscp
3064 MIN-ACCESS read-only
3066 "Write access is not required."
3068 OBJECT diffServMultiFieldClfrFlowId
3069 MIN-ACCESS read-only
3071 "Write access is not required."
3073 OBJECT diffServMultiFieldClfrProtocol
3074 MIN-ACCESS read-only
3076 "Write access is not required."
3078 OBJECT diffServMultiFieldClfrDstL4PortMin
3079 MIN-ACCESS read-only
3081 "Write access is not required."
3083 OBJECT diffServMultiFieldClfrDstL4PortMax
3084 MIN-ACCESS read-only
3086 "Write access is not required."
3088 OBJECT diffServMultiFieldClfrSrcL4PortMin
3089 MIN-ACCESS read-only
3091 "Write access is not required."
3093 OBJECT diffServMultiFieldClfrSrcL4PortMax
3094 MIN-ACCESS read-only
3096 "Write access is not required."
3098 OBJECT diffServMultiFieldClfrStorage
3099 MIN-ACCESS read-only
3104 "Write access is not required."
3106 OBJECT diffServMultiFieldClfrStatus
3107 MIN-ACCESS read-only
3109 "Write access is not required, createAndWait and notInService
3110 support is not required."
3112 OBJECT diffServMeterNextFree
3113 MIN-ACCESS not-accessible
3115 "Object is not needed when diffServMultiFieldClfrTable is
3116 implemented in read-only mode."
3118 OBJECT diffServMeterSucceedNext
3119 MIN-ACCESS read-only
3121 "Write access is not required."
3123 OBJECT diffServMeterFailNext
3124 MIN-ACCESS read-only
3126 "Write access is not required."
3128 OBJECT diffServMeterSpecific
3129 MIN-ACCESS read-only
3131 "Write access is not required."
3133 OBJECT diffServMeterStorage
3134 MIN-ACCESS read-only
3136 "Write access is not required."
3138 OBJECT diffServMeterStatus
3139 SYNTAX RowStatus { active(1) }
3140 MIN-ACCESS read-only
3142 "Write access is not required, and active is the only status that
3143 needs to be supported."
3145 OBJECT diffServTBParamNextFree
3146 MIN-ACCESS not-accessible
3148 "Object is not needed when diffServTBParamTable is implemented in
3154 OBJECT diffServTBParamType
3155 MIN-ACCESS read-only
3157 "Write access is not required."
3159 OBJECT diffServTBParamRate
3160 MIN-ACCESS read-only
3162 "Write access is not required."
3164 OBJECT diffServTBParamBurstSize
3165 MIN-ACCESS read-only
3167 "Write access is not required."
3169 OBJECT diffServTBParamInterval
3170 MIN-ACCESS read-only
3172 "Write access is not required."
3174 OBJECT diffServTBParamStorage
3175 MIN-ACCESS read-only
3177 "Write access is not required."
3179 OBJECT diffServTBParamStatus
3180 SYNTAX RowStatus { active(1) }
3181 MIN-ACCESS read-only
3183 "Write access is not required, and active is the only status that
3184 needs to be supported."
3186 OBJECT diffServActionNextFree
3187 MIN-ACCESS not-accessible
3189 "Object is not needed when diffServActionTable is implemented in
3192 OBJECT diffServActionInterface
3193 MIN-ACCESS read-only
3195 "Write access is not required."
3197 OBJECT diffServActionNext
3198 MIN-ACCESS read-only
3200 "Write access is not required."
3205 OBJECT diffServActionSpecific
3206 MIN-ACCESS read-only
3208 "Write access is not required."
3210 OBJECT diffServActionStorage
3211 MIN-ACCESS read-only
3213 "Write access is not required."
3215 OBJECT diffServActionStatus
3216 SYNTAX RowStatus { active(1) }
3217 MIN-ACCESS read-only
3219 "Write access is not required, and active is the only status that
3220 needs to be supported."
3222 OBJECT diffServCountActNextFree
3223 MIN-ACCESS not-accessible
3225 "Object is not needed when diffServCountActTable is implemented
3228 OBJECT diffServCountActStorage
3229 MIN-ACCESS read-only
3231 "Write access is not required."
3233 OBJECT diffServCountActStatus
3234 SYNTAX RowStatus { active(1) }
3235 MIN-ACCESS read-only
3237 "Write access is not required, and active is the only status that
3238 needs to be supported."
3240 OBJECT diffServAlgDropNextFree
3241 MIN-ACCESS not-accessible
3243 "Object is not needed when diffServAlgDropTable is implemented in
3246 OBJECT diffServAlgDropType
3247 MIN-ACCESS read-only
3249 "Write access is not required."
3251 OBJECT diffServAlgDropNext
3252 MIN-ACCESS read-only
3257 "Write access is not required."
3259 OBJECT diffServAlgDropQMeasure
3260 MIN-ACCESS read-only
3262 "Write access is not required."
3264 OBJECT diffServAlgDropQThreshold
3265 MIN-ACCESS read-only
3267 "Write access is not required."
3269 OBJECT diffServAlgDropSpecific
3270 MIN-ACCESS read-only
3272 "Write access is not required."
3274 OBJECT diffServAlgDropStorage
3275 MIN-ACCESS read-only
3277 "Write access is not required."
3279 OBJECT diffServAlgDropStatus
3280 SYNTAX RowStatus { active(1) }
3281 MIN-ACCESS read-only
3283 "Write access is not required, and active is the only status that
3284 needs to be supported."
3286 OBJECT diffServRandomDropNextFree
3287 MIN-ACCESS not-accessible
3289 "Object is not needed when diffServRandomDropTable is implemented
3292 OBJECT diffServRandomDropMinThreshBytes
3293 MIN-ACCESS read-only
3295 "Write access is not required."
3297 OBJECT diffServRandomDropMinThreshPkts
3298 MIN-ACCESS read-only
3300 "Write access is not required."
3302 OBJECT diffServRandomDropMaxThreshBytes
3303 MIN-ACCESS read-only
3308 "Write access is not required."
3310 OBJECT diffServRandomDropMaxThreshPkts
3311 MIN-ACCESS read-only
3313 "Write access is not required."
3315 OBJECT diffServRandomDropProbMax
3316 MIN-ACCESS read-only
3318 "Write access is not required."
3320 OBJECT diffServRandomDropWeight
3321 MIN-ACCESS read-only
3323 "Write access is not required."
3325 OBJECT diffServRandomDropSamplingRate
3326 MIN-ACCESS read-only
3328 "Write access is not required."
3330 OBJECT diffServRandomDropStorage
3331 MIN-ACCESS read-only
3333 "Write access is not required."
3335 OBJECT diffServRandomDropStatus
3336 SYNTAX RowStatus { active(1) }
3337 MIN-ACCESS read-only
3339 "Write access is not required, and active is the only status that
3340 needs to be supported."
3342 OBJECT diffServQNextFree
3343 MIN-ACCESS not-accessible
3345 "Object is not needed when diffServQTable is implemented in
3348 OBJECT diffServQNext
3349 MIN-ACCESS read-only
3351 "Write access is not required."
3353 OBJECT diffServQMinRate
3354 MIN-ACCESS read-only
3359 "Write access is not required."
3361 OBJECT diffServQMaxRate
3362 MIN-ACCESS read-only
3364 "Write access is not required."
3366 OBJECT diffServQStorage
3367 MIN-ACCESS read-only
3369 "Write access is not required."
3371 OBJECT diffServQStatus
3372 SYNTAX RowStatus { active(1) }
3373 MIN-ACCESS read-only
3375 "Write access is not required, and active is the only status that
3376 needs to be supported."
3378 OBJECT diffServSchedulerNextFree
3379 MIN-ACCESS not-accessible
3381 "Object is not needed when diffServSchedulerTable is implemented
3384 OBJECT diffServSchedulerNext
3385 MIN-ACCESS read-only
3387 "Write access is not required."
3389 OBJECT diffServSchedulerMethod
3390 MIN-ACCESS read-only
3392 "Write access is not required."
3394 OBJECT diffServSchedulerMinRate
3395 MIN-ACCESS read-only
3397 "Write access is not required."
3399 OBJECT diffServSchedulerMaxRate
3400 MIN-ACCESS read-only
3402 "Write access is not required."
3404 OBJECT diffServSchedulerStorage
3405 MIN-ACCESS read-only
3410 "Write access is not required."
3412 OBJECT diffServSchedulerStatus
3413 SYNTAX RowStatus { active(1) }
3414 MIN-ACCESS read-only
3416 "Write access is not required, and active is the only status that
3417 needs to be supported."
3419 OBJECT diffServMinRateNextFree
3420 MIN-ACCESS not-accessible
3422 "Object is not needed when diffServMinRateTable is implemented in
3425 OBJECT diffServMinRatePriority
3426 MIN-ACCESS read-only
3428 "Write access is not required."
3430 OBJECT diffServMinRateAbsolute
3431 MIN-ACCESS read-only
3433 "Write access is not required."
3435 OBJECT diffServMinRateRelative
3436 MIN-ACCESS read-only
3438 "Write access is not required."
3440 OBJECT diffServMinRateStorage
3441 MIN-ACCESS read-only
3443 "Write access is not required."
3445 OBJECT diffServMinRateStatus
3446 SYNTAX RowStatus { active(1) }
3447 MIN-ACCESS read-only
3449 "Write access is not required, and active is the only status that
3450 needs to be supported."
3452 OBJECT diffServMaxRateNextFree
3453 MIN-ACCESS not-accessible
3455 "Object is not needed when diffServMaxrateTable is implemented in
3460 OBJECT diffServMaxRateAbsolute
3461 MIN-ACCESS read-only
3463 "Write access is not required."
3465 OBJECT diffServMaxRateRelative
3466 MIN-ACCESS read-only
3468 "Write access is not required."
3470 OBJECT diffServMaxRateThreshold
3471 MIN-ACCESS read-only
3473 "Write access is not required."
3475 OBJECT diffServMaxRateStorage
3476 MIN-ACCESS read-only
3478 "Write access is not required."
3480 OBJECT diffServMaxRateStatus
3481 SYNTAX RowStatus { active(1) }
3482 MIN-ACCESS read-only
3484 "Write access is not required, and active is the only status that
3485 needs to be supported."
3487 ::= { diffServMIBCompliances 2 }
3489 diffServMIBDataPathGroup OBJECT-GROUP
3491 diffServDataPathStart, diffServDataPathStorage,
3492 diffServDataPathStatus
3496 "The Data Path Group defines the MIB Objects that describe a
3497 functional data path."
3498 ::= { diffServMIBGroups 1 }
3500 diffServMIBClfrGroup OBJECT-GROUP
3502 diffServClfrNextFree, diffServClfrStorage,
3507 "The Classifier Group defines the MIB Objects that describe the
3511 list the starts of individual classifiers."
3512 ::= { diffServMIBGroups 2 }
3514 diffServMIBClfrElementGroup OBJECT-GROUP
3516 diffServClfrElementNextFree,
3517 diffServClfrElementPrecedence, diffServClfrElementNext,
3518 diffServClfrElementSpecific, diffServClfrElementStorage,
3519 diffServClfrElementStatus
3523 "The Classifier Element Group defines the MIB Objects that
3524 describe the classifier elements that make up a generic
3526 ::= { diffServMIBGroups 3 }
3528 diffServMIBMultiFieldClfrGroup OBJECT-GROUP
3530 diffServMultiFieldClfrNextFree,
3531 diffServMultiFieldClfrAddrType,
3532 diffServMultiFieldClfrDstAddr,
3533 diffServMultiFieldClfrDstPrefixLength,
3534 diffServMultiFieldClfrFlowId,
3535 diffServMultiFieldClfrSrcAddr,
3536 diffServMultiFieldClfrSrcPrefixLength,
3537 diffServMultiFieldClfrDscp,
3538 diffServMultiFieldClfrProtocol,
3539 diffServMultiFieldClfrDstL4PortMin,
3540 diffServMultiFieldClfrDstL4PortMax,
3541 diffServMultiFieldClfrSrcL4PortMin,
3542 diffServMultiFieldClfrSrcL4PortMax,
3543 diffServMultiFieldClfrStorage,
3544 diffServMultiFieldClfrStatus
3548 "The Multi-field Classifier Group defines the MIB Objects that
3549 describe a classifier element for matching on various fields of
3550 an IP and upper-layer protocol header."
3551 ::= { diffServMIBGroups 4 }
3553 diffServMIBMeterGroup OBJECT-GROUP
3555 diffServMeterNextFree, diffServMeterSucceedNext,
3556 diffServMeterFailNext, diffServMeterSpecific,
3557 diffServMeterStorage, diffServMeterStatus
3564 "The Meter Group defines the objects used in describing a generic
3566 ::= { diffServMIBGroups 5 }
3568 diffServMIBTBParamGroup OBJECT-GROUP
3570 diffServTBParamNextFree, diffServTBParamType,
3571 diffServTBParamRate, diffServTBParamBurstSize,
3572 diffServTBParamInterval, diffServTBParamStorage,
3573 diffServTBParamStatus
3577 "The Token-Bucket Meter Group defines the objects used in
3578 describing a token bucket meter element."
3579 ::= { diffServMIBGroups 6 }
3581 diffServMIBActionGroup OBJECT-GROUP
3583 diffServActionNextFree, diffServActionNext,
3584 diffServActionSpecific, diffServActionStorage,
3585 diffServActionInterface, diffServActionStatus
3589 "The Action Group defines the objects used in describing a
3590 generic action element."
3591 ::= { diffServMIBGroups 7 }
3593 diffServMIBDscpMarkActGroup OBJECT-GROUP
3595 diffServDscpMarkActDscp
3599 "The DSCP Mark Action Group defines the objects used in
3600 describing a DSCP Marking Action element."
3601 ::= { diffServMIBGroups 8 }
3603 diffServMIBCounterGroup OBJECT-GROUP
3605 diffServCountActOctets, diffServCountActPkts,
3606 diffServAlgDropOctets, diffServAlgDropPkts,
3607 diffServAlgRandomDropOctets, diffServAlgRandomDropPkts,
3608 diffServCountActStorage, diffServCountActStatus,
3609 diffServCountActNextFree
3616 "A collection of objects providing information specific to
3617 packet-oriented network interfaces."
3618 ::= { diffServMIBGroups 9 }
3620 diffServMIBAlgDropGroup OBJECT-GROUP
3622 diffServAlgDropNextFree, diffServAlgDropType,
3623 diffServAlgDropNext, diffServAlgDropQMeasure,
3624 diffServAlgDropQThreshold, diffServAlgDropSpecific,
3625 diffServAlgDropStorage, diffServAlgDropStatus
3629 "The Algorithmic Drop Group contains the objects that describe
3630 algorithmic dropper operation and configuration."
3631 ::= { diffServMIBGroups 10 }
3633 diffServMIBRandomDropGroup OBJECT-GROUP
3635 diffServRandomDropNextFree,
3636 diffServRandomDropMinThreshBytes,
3637 diffServRandomDropMinThreshPkts,
3638 diffServRandomDropMaxThreshBytes,
3639 diffServRandomDropMaxThreshPkts,
3640 diffServRandomDropProbMax,
3641 diffServRandomDropWeight,
3642 diffServRandomDropSamplingRate,
3643 diffServRandomDropStorage,
3644 diffServRandomDropStatus
3648 "The Random Drop Group augments the Algorithmic Drop Group for
3649 random dropper operation and configuration."
3650 ::= { diffServMIBGroups 11 }
3652 diffServMIBQGroup OBJECT-GROUP
3655 diffServQNextFree, diffServQNext, diffServQMinRate,
3656 diffServQMaxRate, diffServQStorage, diffServQStatus
3660 "The Queue Group contains the objects that describe an
3664 interface's queues."
3665 ::= { diffServMIBGroups 12 }
3667 diffServMIBSchedulerGroup OBJECT-GROUP
3669 diffServSchedulerNextFree, diffServSchedulerNext,
3670 diffServSchedulerMethod, diffServSchedulerMinRate,
3671 diffServSchedulerMaxRate, diffServSchedulerStorage,
3672 diffServSchedulerStatus
3676 "The Scheduler Group contains the objects that describe packet
3677 schedulers on interfaces."
3678 ::= { diffServMIBGroups 13 }
3680 diffServMIBMinRateGroup OBJECT-GROUP
3682 diffServMinRateNextFree, diffServMinRatePriority,
3683 diffServMinRateAbsolute, diffServMinRateRelative,
3684 diffServMinRateStorage, diffServMinRateStatus
3688 "The Minimum Rate Parameter Group contains the objects that
3689 describe packet schedulers' minimum rate or priority guarantees."
3690 ::= { diffServMIBGroups 14 }
3692 diffServMIBMaxRateGroup OBJECT-GROUP
3694 diffServMaxRateNextFree, diffServMaxRateAbsolute,
3695 diffServMaxRateRelative, diffServMaxRateThreshold,
3696 diffServMaxRateStorage, diffServMaxRateStatus
3700 "The Maximum Rate Parameter Group contains the objects that
3701 describe packet schedulers' maximum rate guarantees."
3702 ::= { diffServMIBGroups 15 }