smilint output for ./DIFF-SERV-MIB
Message Severities |
Severity | Count |
error | 2 |
Message Types |
Type | Count |
range-bounds (error) | 2 |
Messages:
DIFF-SERV-MIB
1: -- extracted from draft-ietf-diffserv-mib-06.txt
2: -- at Tue Dec 5 10:05:26 2000
3:
4: DIFF-SERV-MIB DEFINITIONS ::= BEGIN
5:
6:
7: IMPORTS
8: Integer32, Unsigned32, Counter32, Counter64,
9: MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
10: zeroDotZero, mib-2
11: FROM SNMPv2-SMI
12: TEXTUAL-CONVENTION, RowStatus, RowPointer, TimeStamp
13: FROM SNMPv2-TC
14: MODULE-COMPLIANCE, OBJECT-GROUP
15: FROM SNMPv2-CONF
16: ifIndex
17: FROM IF-MIB
18: InetAddressType, InetAddress
19: FROM INET-ADDRESS-MIB
20: BurstSize
21: FROM INTEGRATED-SERVICES-MIB;
22:
23:
24: diffServMib MODULE-IDENTITY
25: LAST-UPDATED "200011190000Z"
26: ORGANIZATION "IETF Diffserv WG"
27: CONTACT-INFO
28: " Fred Baker
29: Cisco Systems
30: 519 Lado Drive
31: Santa Barbara, CA 93111, USA
32: E-mail: fred@cisco.com
33:
34:
35: Kwok Ho Chan
36: Nortel Networks
37: 600 Technology Park Drive
38: Billerica, MA 01821, USA
39: E-mail: khchan@nortelnetworks.com
40:
41:
42: Andrew Smith
43: Allegro Networks
44: 6399 San Ignacio Ave
45: San Jose, CA 95119, USA
46: E-mail: andrew@allegronetworks.com"
47:
48: DESCRIPTION
49: "This MIB defines the objects necessary to manage a
50: device that uses the Differentiated Services Archi-
51: tecture described in RFC 2475 and the Informal
52: Management Model for DiffServ Routers in draft-ietf-
53: diffserv-model-05.txt."
54: REVISION "200011190000Z"
55: DESCRIPTION
56: "Initial version, published as RFC xxxx."
57:
58: ::= { mib-2 12345 } -- anybody who uses this unassigned
59: -- number deserves the wrath of IANA
60:
61:
62: diffServMIBObjects OBJECT IDENTIFIER ::= { diffServMib 1 }
63: diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 }
64:
65:
66:
67: -- These textual conventions have no effect on either the syntax
68: -- nor the semantics of any managed object. Objects defined
69: -- using this convention are always encoded by means of the
70: -- rules that define their primitive type.
71:
72:
73: Dscp ::= TEXTUAL-CONVENTION
74: DISPLAY-HINT "d"
75: STATUS current
76: DESCRIPTION
77: "The IP header Diffserv Code-Point that may be used
78: for discriminating or marking a traffic stream. The
79: value -1 ( 4294967295 for Integer32 ) is used to
80: indicate a wildcard i.e. any value."
81: SYNTAX Integer32 (4294967295 | 0..63)
81: error -
range limit exceeds underlying basetype
81: error -
range limit exceeds underlying basetype
82:
83:
84: SixTupleClfrL4Port ::= TEXTUAL-CONVENTION
85: DISPLAY-HINT "d"
86: STATUS current
87: DESCRIPTION
88: "A value indicating a Layer-4 protocol port number."
89: SYNTAX Unsigned32 (0..65535)
90:
91:
92: IfDirection ::= TEXTUAL-CONVENTION
93: STATUS current
94: DESCRIPTION
95: "Specifies a direction of data travel on an inter-
96: face. 'inbound' traffic is operated on during recep-
97: tion from the interface, while 'outbound' traffic is
98: operated on prior to transmission on the interface."
99: SYNTAX INTEGER {
100: inbound(1), -- ingress interface
101: outbound(2) -- egress interface
102: }
103:
104:
105: -- The following textual convention, StaticRowPointer,
106: -- is similiar to the RowPointer textual convention,
107: -- but embody additional semantics to indicate whether
108: -- a single instance of the target object can be pointed
109: -- to by more than one parent objects.
110: -- This textual convention allows a clearer definition
111: -- of parameterization table entries, as compared to
112: -- datapath linking table entries.
113: -- Objects pointed to by StaticRowPointers, parameterization
114: -- table entries, can be reused by one or more data path
115: -- functional elements in one or more TCBs, belonging to one
116: -- or more data paths.
117: -- This textual convention also allow easier reuse of
118: -- data definitions in this MIB by higher level configuration
119: -- and provisioning mechanisms.
120:
121:
122: StaticRowPointer ::= TEXTUAL-CONVENTION
123: STATUS current
124: DESCRIPTION
125: "Like a RowPointer, this textual convention
126: represents a pointer to a conceptual row. The value
127: is the name of the instance of the first accessible
128: columnar object in the conceptual row.
129:
130: The additional semantics of this textual convention,
131: relative to RowPointer, are related to the object the
132: pointer is pointing to. The pointed-to object may
133: have more than one parent object pointing to it,
134: indicating the pointed-to object can be shared by one
135: or more parent objects.
136:
137: This additional semantics facilitates the creation of
138: instance-specific objects by cloning, used by higher
139: level configuration/provisioning mechanisms. The
140: objects being cloned may either be special ones that
141: express configuration information at the
142: implementation-specific level, or simply instance-
143: specific ones that already exist at the time the
144: cloning is done. When an object with the syntax Sta-
145: ticRowPointer is cloned, the StaticRowPointer in the
146: newly cloned object is set to point to the same con-
147: ceptual row that the StaticRowPointer in the cloned-
148: from object pointed to. The cloning operations may be
149: accomplished either with the script-based technique
150: defined by SNMP Configuration, or by ordinary SNMP
151: Get and Set operations, or other mechanisms.
152:
153: Support of this additional semantics and cloning
154: functionality is not required for conformance to this
155: MIB. When the additional semantics is not supported,
156: this textual convention behaves identically to the
157: RowPointer textual convention."
158: SYNTAX OBJECT IDENTIFIER
159:
160:
161: --
162: -- Data Path
163: --
164:
165: diffServDataPath OBJECT IDENTIFIER ::= { diffServMIBObjects 1 }
166:
167: --
168: -- Data Path Table
169: --
170: -- The Data Path Table enumerates the Differentiated Services
171: -- Data Paths within this device. Each entry in this table
172: -- is indexed by ifIndex and ifDirection. Each entry provides
173: -- the first diffserv functional datapath element to process data
174: -- flow for each specific datapath. This table should have at most
175: -- two entries for each DiffServ capable interface on this device;
176: -- ingress and egress.
177: --
178: -- Notice all diffserv functional datapath elements linked together
179: -- using their individual next pointers and anchored by an entry
180: -- of the diffServDataPathTable must belong to the same datapath.
181: -- The use of next pointer to point to diffserv functional datapath
182: -- element of a different datapath is not allowed.
183: --
184:
185:
186: diffServDataPathTable OBJECT-TYPE
187: SYNTAX SEQUENCE OF DiffServDataPathEntry
188: MAX-ACCESS not-accessible
189: STATUS current
190: DESCRIPTION
191: "The data path table defines the data paths in this
192: device. Each data path is defined by the interface
193: and traffic direction. The first diffserv functional
194: datapath element to handle traffic for this data path
195: is defined by a RowPointer, diffServDataPathStart, in
196: the entries of this table."
197: ::= { diffServDataPath 1 }
198:
199:
200: diffServDataPathEntry OBJECT-TYPE
201: SYNTAX DiffServDataPathEntry
202: MAX-ACCESS not-accessible
203: STATUS current
204: DESCRIPTION
205: "An entry in the data path table describes a single
206: diffserv datapath in this device."
207: INDEX { ifIndex, diffServDataPathIfDirection }
208: ::= { diffServDataPathTable 1 }
209:
210:
211: DiffServDataPathEntry ::= SEQUENCE {
212: diffServDataPathIfDirection IfDirection,
213: diffServDataPathStart RowPointer,
214: diffServDataPathStatus RowStatus
215: }
216:
217:
218: diffServDataPathIfDirection OBJECT-TYPE
219: SYNTAX IfDirection
220: MAX-ACCESS not-accessible
221: STATUS current
222: DESCRIPTION
223: "Specifies the direction for which this data path
224: entry applies on this interface."
225: ::= { diffServDataPathEntry 1 }
226:
227:
228: diffServDataPathStart OBJECT-TYPE
229: SYNTAX RowPointer
230: MAX-ACCESS read-create
231: STATUS current
232: DESCRIPTION
233: "This selects the first diffserv functional datapath
234: element to handle traffic for this data path. This
235: RowPointer should point to an instance of one of:
236: diffServClfrEntry
237: diffServMeterEntry
238: diffServActionEntry
239: diffServAlgDropEntry
240: diffServQEntry
241:
242: A value of zeroDotZero in this attribute indicates no
243: further Diffserv treatment is performed on traffic of
244: this datapath. The use of zeroDotZero is the normal
245: usage for the last functional datapath element of the
246: current data path.
247:
248: If the row pointed to does not exist, the treatment
249: is as if this attribute contains a value of zero-
250: DotZero."
251: ::= { diffServDataPathEntry 2 }
252:
253:
254: diffServDataPathStatus OBJECT-TYPE
255: SYNTAX RowStatus
256: MAX-ACCESS read-create
257: STATUS current
258: DESCRIPTION
259: "The RowStatus variable controls the activation,
260: deactivation, or deletion of a row/entry. Any writ-
261: able variable may be modified whether the row is
262: active or notInService."
263: ::= { diffServDataPathEntry 3 }
264:
265:
266: --
267: -- Classifiers
268: --
269:
270: diffServClassifier OBJECT IDENTIFIER ::= { diffServMIBObjects 2 }
271:
272: --
273: -- Classifier Table
274: --
275: -- Classifier allows multiple classifier elements, of same or different
276: -- types, to be used together.
277: -- A classifier must completely classify all packets presented to it,
278: -- this means all traffic handled by a classifier must match
279: -- at least one classifier element within the classifier,
280: -- with the classifier element parameters specified by a filter.
281: --
282: -- If there is ambiguity between classifier elements of different
283: -- classifier, the precedence is indicated by the order the classifiers
284: -- are linked, the first classifier in the link is applied to the
285: -- traffic first.
286: --
287:
288:
289: diffServClfrNextFree OBJECT-TYPE
290: SYNTAX Unsigned32
291: MAX-ACCESS read-only
292: STATUS current
293: DESCRIPTION
294: "This object yields a value when read that is
295: currently unused for a diffServClfrId instance. If a
296: configuring system attempts to create a new row in
297: the diffServClfrTable using this value, that opera-
298: tion will fail if the value has, in the meantime,
299: been used to create another row that is currently
300: valid."
301: ::= { diffServClassifier 1 }
302:
303:
304: diffServClfrTable OBJECT-TYPE
305: SYNTAX SEQUENCE OF DiffServClfrEntry
306: MAX-ACCESS not-accessible
307: STATUS current
308: DESCRIPTION
309: "This table enumerates all the diffserv classifier
310: functional datapath elements of this device. The
311: actual classification definitions are defined in
312: diffServClfrElementTable entries belonging to each
313: classifier."
314: REFERENCE
315: "[MODEL] section 4.1"
316: ::= { diffServClassifier 2 }
317:
318:
319: diffServClfrEntry OBJECT-TYPE
320: SYNTAX DiffServClfrEntry
321: MAX-ACCESS not-accessible
322: STATUS current
323: DESCRIPTION
324: "An entry in the classifier table describes a single
325: classifier. All classifier elements belonging to the
326: same classifier uses the classifier's diffServClfrId
327: in thier diffServClfrElementClfrId attribute."
328: INDEX { diffServClfrId }
329: ::= { diffServClfrTable 1 }
330:
331: DiffServClfrEntry ::= SEQUENCE {
332: diffServClfrId Unsigned32,
333: diffServClfrStatus RowStatus
334: }
335:
336:
337: diffServClfrId OBJECT-TYPE
338: SYNTAX Unsigned32
339: MAX-ACCESS not-accessible
340: STATUS current
341: DESCRIPTION
342: "An index that enumerates the classifier entries. The
343: set of such identifiers spans the whole agent.
344: Managers should obtain new values for row creation in
345: this table by reading diffServClfrNextFree."
346: ::= { diffServClfrEntry 1 }
347:
348:
349: diffServClfrStatus OBJECT-TYPE
350: SYNTAX RowStatus
351: MAX-ACCESS read-create
352: STATUS current
353: DESCRIPTION
354: "The RowStatus variable controls the activation,
355: deactivation, or deletion of a classifier. Any writ-
356: able variable may be modified whether the row is
357: active or notInService."
358: ::= { diffServClfrEntry 2 }
359:
360:
361: --
362: -- Classifier Element Table
363: --
364: -- Entries in the classifier element table serves as
365: -- the anchor for each classification pattern, defined
366: -- in filter table entries. Each classifier element
367: -- table entry also specifies the subsequent downstream
368: -- diffserv functional datapath element when the
369: -- classification pattern is satisfied.
370: -- Each entry in the classifier element table describes
371: -- one branch of the fan-out characteristic of a classifier
372: -- indicated in [MODEL] section 4.1. A classifier is madeup
373: -- of one or more classifier elements.
374: --
375:
376:
377: diffServClfrElementNextFree OBJECT-TYPE
378: SYNTAX Unsigned32
379: MAX-ACCESS read-only
380: STATUS current
381: DESCRIPTION
382: "This object yields a value when read that is
383: currently unused for a diffServClfrElementId
384: instance. If a configuring system attempts to create
385: a new row in the diffServClfrElementTable using this
386: value, that opera- tion will fail if the value has,
387: in the meantime, been used to create another
388: row that is currently valid."
389: ::= { diffServClassifier 3 }
390:
391:
392: diffServClfrElementTable OBJECT-TYPE
393: SYNTAX SEQUENCE OF DiffServClfrElementEntry
394: MAX-ACCESS not-accessible
395: STATUS current
396: DESCRIPTION
397: "The classifier element table enumerates the rela-
398: tionship between classification patterns and subse-
399: quent downstream diffserv functional datapath ele-
400: ments. Classification parameters are defined by
401: entries of filter tables pointed to by
402: diffServClfrElementSpecific. There can be filter
403: tables of different types, and they can be inter-
404: mixed and used within a classifier. An example of a
405: filter table defined in this MIB is diffServSixTu-
406: pleClfrTable, for IP Multi-Field Classifiers (MFCs).
407: Filter tables for other filter types may be defined
408: elsewhere."
409: REFERENCE
410: "[MODEL] section 4.1"
411: ::= { diffServClassifier 4 }
412:
413:
414: diffServClfrElementEntry OBJECT-TYPE
415: SYNTAX DiffServClfrElementEntry
416: MAX-ACCESS not-accessible
417: STATUS current
418: DESCRIPTION
419: "An entry in the classifier element table describes a
420: single element of the classifier."
421: INDEX { diffServClfrElementClfrId, diffServClfrElementId }
422: ::= { diffServClfrElementTable 1 }
423:
424: DiffServClfrElementEntry ::= SEQUENCE {
425: diffServClfrElementId Unsigned32,
426: diffServClfrElementClfrId Unsigned32,
427: diffServClfrElementOrder Unsigned32,
428: diffServClfrElementNext RowPointer,
429: diffServClfrElementSpecific StaticRowPointer,
430: diffServClfrElementStatus RowStatus
431: }
432:
433:
434: diffServClfrElementId OBJECT-TYPE
435: SYNTAX Unsigned32
436: MAX-ACCESS not-accessible
437: STATUS current
438: DESCRIPTION
439: "An index that enumerates the Classifier Element
440: entries. The set of such identifiers spans the whole
441: agent. Managers should obtain new values for row
442: creation in this table by reading
443: diffServClfrElementNextFree."
444: ::= { diffServClfrElementEntry 1 }
445:
446:
447: diffServClfrElementClfrId OBJECT-TYPE
448: SYNTAX Unsigned32
449: MAX-ACCESS not-accessible
450: STATUS current
451: DESCRIPTION
452: "A classifier Id identifies which classifier this
453: classifier element is a part of. This needs to be
454: the value of diffServClfrId attribute for an existing
455: row in diffServClfrTable."
456: ::= { diffServClfrElementEntry 2 }
457:
458:
459: diffServClfrElementOrder OBJECT-TYPE
460: SYNTAX Unsigned32
461: MAX-ACCESS read-create
462: STATUS current
463: DESCRIPTION
464: "The relative order in which classifier elements are
465: applied: higher numbers represent classifier ele-
466: ment with higher precedence. Classifier elements
467: with the same order must be unambiguous i.e. they
468: must define non-overlapping patterns, and are con-
469: sidered to be applied simultaneously to the
470: traffic stream. Clas- sifier elements with different
471: order may overlap in their filters: the classif-
472: ier element with the highest order that matches is
473: taken.
474:
475: On a given interface, there must be a complete clas-
476: sifier in place at all times in the ingress
477: direction. This means that there will always be one
478: or more filters that match every possible pat- tern
479: that could be presented in an incoming packet.
480: There is no such requirement in the egress direc-
481: tion."
482: DEFVAL { 0 }
483: ::= { diffServClfrElementEntry 3 }
484:
485:
486: diffServClfrElementNext OBJECT-TYPE
487: SYNTAX RowPointer
488: MAX-ACCESS read-create
489: STATUS current
490: DESCRIPTION
491: "This attribute provides one branch of the fan-out
492: functionality of a classifier described in [MODEL]
493: section 4.1.
494:
495: This selects the next diffserv functional datapath
496: element to handle traffic for this data path. This
497: RowPointer should point to an instance of one of:
498: diffServClfrEntry
499: diffServMeterEntry
500: diffServActionEntry
501: diffServAlgDropEntry
502: diffServQEntry
503:
504: A value of zeroDotZero in this attribute indicates no
505: further Diffserv treatment is performed on traffic of
506: this datapath. The use of zeroDotZero is the normal
507: usage for the last functional datapath element of the
508: current data path.
509:
510: If the row pointed to does not exist, the treatment
511: is as if this attribute contains a value of zero-
512: DotZero."
513: ::= { diffServClfrElementEntry 4 }
514:
515:
516: diffServClfrElementSpecific OBJECT-TYPE
517: SYNTAX StaticRowPointer
518: MAX-ACCESS read-create
519: STATUS current
520: DESCRIPTION
521: "A pointer to a valid entry in another table,
522: filter table, that describes the applicable classif-
523: ication parameters, e.g. an entry in diffServSixTu-
524: pleClfrTable.
525:
526: If the row pointed to does not exist, the classifier
527: element is ignored.
528:
529: The value zeroDotZero is interpreted to match
530: anything not matched by another classifier element -
531: only one such entry may exist for each classifier."
532: DEFVAL { zeroDotZero }
533: ::= { diffServClfrElementEntry 5 }
534:
535:
536: diffServClfrElementStatus OBJECT-TYPE
537: SYNTAX RowStatus
538: MAX-ACCESS read-create
539: STATUS current
540: DESCRIPTION
541: "The RowStatus variable controls the activation,
542: deactivation, or deletion of a classifier element.
543: Any writ- able variable may be modified whether
544: the row is active or notInService."
545: ::= { diffServClfrElementEntry 6 }
546:
547:
548: --
549: -- IP Six-Tuple Classification Table
550: --
551: -- Classification based on 6 different fields in the IP
552: -- header. This is intended to be IP-version-independent.
553: -- Filters, entries in this table, may be shared, pointed to,
554: -- by multiple diffServClfrElementEntry, of same or different
555: -- datapaths in the same system.
556: --
557:
558:
559: diffServSixTupleClfrNextFree OBJECT-TYPE
560: SYNTAX Unsigned32
561: MAX-ACCESS read-only
562: STATUS current
563: DESCRIPTION
564: "This object yields a value when read that is currently unused
565: for a diffServSixTupleClfrId instance.
566: If a configuring system attempts to create a new row
567: in the diffServSixTupleClfrTable using this value, that operation
568: will fail if the value has, in the meantime, been used
569: to create another row that is currently valid."
570: ::= { diffServClassifier 5 }
571:
572:
573: diffServSixTupleClfrTable OBJECT-TYPE
574: SYNTAX SEQUENCE OF DiffServSixTupleClfrEntry
575: MAX-ACCESS not-accessible
576: STATUS current
577: DESCRIPTION
578: "A table of IP Six-Tuple Classifier filter entries
579: that a system may use to identify IP traffic."
580: REFERENCE
581: "[MODEL] section 4.2.2"
582: ::= { diffServClassifier 6 }
583:
584:
585: diffServSixTupleClfrEntry OBJECT-TYPE
586: SYNTAX DiffServSixTupleClfrEntry
587: MAX-ACCESS not-accessible
588: STATUS current
589: DESCRIPTION
590: "An IP Six-Tuple Classifier entry describes a single
591: filter."
592: INDEX { diffServSixTupleClfrId }
593: ::= { diffServSixTupleClfrTable 1 }
594:
595:
596: DiffServSixTupleClfrEntry ::= SEQUENCE {
597: diffServSixTupleClfrId Unsigned32,
598: diffServSixTupleClfrDstAddrType InetAddressType,
599: diffServSixTupleClfrDstAddr InetAddress,
600: diffServSixTupleClfrDstAddrMask Unsigned32,
601: diffServSixTupleClfrSrcAddrType InetAddressType,
602: diffServSixTupleClfrSrcAddr InetAddress,
603: diffServSixTupleClfrSrcAddrMask Unsigned32,
604: diffServSixTupleClfrDscp Dscp,
605: diffServSixTupleClfrProtocol Unsigned32,
606: diffServSixTupleClfrDstL4PortMin SixTupleClfrL4Port,
607: diffServSixTupleClfrDstL4PortMax SixTupleClfrL4Port,
608: diffServSixTupleClfrSrcL4PortMin SixTupleClfrL4Port,
609: diffServSixTupleClfrSrcL4PortMax SixTupleClfrL4Port,
610: diffServSixTupleClfrStatus RowStatus
611: }
612: diffServSixTupleClfrId OBJECT-TYPE
613: SYNTAX Unsigned32
614: MAX-ACCESS not-accessible
615: STATUS current
616: DESCRIPTION
617: "An index that enumerates the Six Tuple Classifier
618: filter entries. The set of such identifiers spans
619: the whole agent. Managers should obtain new values
620: for row creation in this table by reading
621: diffServSixTupleClfrNextFree."
622: ::= { diffServSixTupleClfrEntry 1 }
623:
624:
625: diffServSixTupleClfrDstAddrType OBJECT-TYPE
626: SYNTAX InetAddressType
627: MAX-ACCESS read-create
628: STATUS current
629: DESCRIPTION
630: "The type of IP destination address used by this
631: classifier entry."
632: ::= { diffServSixTupleClfrEntry 2 }
633:
634:
635: diffServSixTupleClfrDstAddr OBJECT-TYPE
636: SYNTAX InetAddress
637: MAX-ACCESS read-create
638: STATUS current
639: DESCRIPTION
640: "The IP address to match against the packet's desti-
641: nation IP address."
642: ::= { diffServSixTupleClfrEntry 3 }
643:
644:
645: diffServSixTupleClfrDstAddrMask OBJECT-TYPE
646: SYNTAX Unsigned32
647: UNITS "bits"
648: MAX-ACCESS read-create
649: STATUS current
650: DESCRIPTION
651: "The length of a mask for the matching of the desti-
652: nation IP address. Masks are constructed by setting
653: bits in sequence from the most-significant bit down-
654: wards for diffServSixTupleClfrDstAddrMask bits
655: length. All other bits in the mask, up to the number
656: needed to fill the length of the address diffServSix-
657: TupleClfrDstAddr are cleared to zero. A zero bit in
658: the mask then means that the corresponding bit in the
659: address always matches."
660: DEFVAL {0}
661: ::= { diffServSixTupleClfrEntry 4 }
662:
663:
664: diffServSixTupleClfrSrcAddrType OBJECT-TYPE
665: SYNTAX InetAddressType
666: MAX-ACCESS read-create
667: STATUS current
668: DESCRIPTION
669: "The type of IP source address used by this classif-
670: ier entry."
671: ::= { diffServSixTupleClfrEntry 5 }
672:
673:
674: diffServSixTupleClfrSrcAddr OBJECT-TYPE
675: SYNTAX InetAddress
676: MAX-ACCESS read-create
677: STATUS current
678: DESCRIPTION
679: "The IP address to match against the source IP
680: address of each packet."
681: ::= { diffServSixTupleClfrEntry 6 }
682:
683:
684: diffServSixTupleClfrSrcAddrMask OBJECT-TYPE
685: SYNTAX Unsigned32
686: UNITS "bits"
687: MAX-ACCESS read-create
688: STATUS current
689: DESCRIPTION
690: "The length of a mask for the matching of the source
691: IP address. Masks are constructed by setting bits in
692: sequence from the most-significant bit downwards for
693: diffServSixTupleClfrSrcAddrMask bits length. All
694: other bits in the mask, up to the number needed to
695: fill the length of the address diffServSixTu-
696: pleClfrSrcAddr are cleared to zero. A zero bit in
697: the mask then means that the corresponding bit in the
698: address always matches."
699: DEFVAL {0}
700: ::= { diffServSixTupleClfrEntry 7 }
701:
702:
703: diffServSixTupleClfrDscp OBJECT-TYPE
704: SYNTAX Dscp
705: MAX-ACCESS read-create
706: STATUS current
707: DESCRIPTION
708: "The value that the DSCP in the packet must have to
709: match this entry. A value of -1 indicates that a
710: specific DSCP value has not been defined and thus all
711: DSCP values are considered a match."
712: DEFVAL {-1}
713: ::= { diffServSixTupleClfrEntry 8 }
714:
715:
716: diffServSixTupleClfrProtocol OBJECT-TYPE
717: SYNTAX Unsigned32 (0..255)
718: MAX-ACCESS read-create
719: STATUS current
720: DESCRIPTION
721: "The IP protocol to match against the IPv4 protocol
722: number or the IPv6 Next-Header number in the packet.
723: A value of 255 means match all. Note the protocol
724: number of 255 is reserved by IANA, and Next-Header
725: number of 0 is used in IPv6."
726: DEFVAL {255}
727: ::= { diffServSixTupleClfrEntry 9 }
728:
729:
730: diffServSixTupleClfrDstL4PortMin OBJECT-TYPE
731: SYNTAX SixTupleClfrL4Port
732: MAX-ACCESS read-create
733: STATUS current
734: DESCRIPTION
735: "The minimum value that the layer-4 destination port
736: number in the packet must have in order to match this
737: classifier entry."
738: DEFVAL {0}
739: ::= { diffServSixTupleClfrEntry 10 }
740:
741:
742: diffServSixTupleClfrDstL4PortMax OBJECT-TYPE
743: SYNTAX SixTupleClfrL4Port
744: MAX-ACCESS read-create
745: STATUS current
746: DESCRIPTION
747: "The maximum value that the layer-4 destination port
748: number in the packet must have in order to match this
749: classifier entry. This value must be equal to or
750: greater than the value specified for this entry in
751: diffServSixTupleClfrDstL4PortMin."
752: DEFVAL {65535}
753: ::= { diffServSixTupleClfrEntry 11 }
754:
755:
756: diffServSixTupleClfrSrcL4PortMin OBJECT-TYPE
757: SYNTAX SixTupleClfrL4Port
758: MAX-ACCESS read-create
759: STATUS current
760: DESCRIPTION
761: "The minimum value that the layer-4 source port
762: number in the packet must have in order to match this
763: classifier entry."
764: DEFVAL {0}
765: ::= { diffServSixTupleClfrEntry 12 }
766:
767:
768: diffServSixTupleClfrSrcL4PortMax OBJECT-TYPE
769: SYNTAX SixTupleClfrL4Port
770: MAX-ACCESS read-create
771: STATUS current
772: DESCRIPTION
773: "The maximum value that the layer-4 source port
774: number in the packet must have in oder to match this
775: classifier entry. This value must be equal to or
776: greater than the value specified for this entry in
777: diffServSixTupleClfrSrcL4PortMin."
778: DEFVAL {65535}
779: ::= { diffServSixTupleClfrEntry 13 }
780:
781:
782: diffServSixTupleClfrStatus OBJECT-TYPE
783: SYNTAX RowStatus
784: MAX-ACCESS read-create
785: STATUS current
786: DESCRIPTION
787: "The RowStatus variable controls the activation,
788: deactivation, or deletion of a classifier. Any writ-
789: able variable may be modified whether the row is
790: active or notInService."
791: ::= { diffServSixTupleClfrEntry 14 }
792:
793:
794: --
795: -- Meters
796: --
797:
798: diffServMeter OBJECT IDENTIFIER ::= { diffServMIBObjects 3 }
799: --
800: -- This MIB supports a variety of Meters. It includes a
801: -- specific definition for Meters whose parameter set can
802: -- be modelled using Token Bucket parameters.
803: -- Other metering parameter sets can be defined and used
804: -- when necessary.
805: --
806: -- Multiple meter elements may be logically cascaded using
807: -- their diffServMeterSucceedNext and diffServMeterFailNext
808: -- pointers if required.
809: -- One example of this might be for an AF PHB implementation
810: -- that uses multiple level conformance meters.
811: --
812: -- Cascading of individual meter elements in the MIB is
813: -- intended to be functionally equivalent to multiple level
814: -- conformance determination of a packet. The sequential
815: -- nature of the representation is merely a notational
816: -- convenience for this MIB.
817: --
818: -- For example:
819: -- Conforming to RFC 2697, srTCM can be parameterized using
820: -- two sets of diffServMeterEntry and diffServTBMeterEntry.
821: -- With the first set parameterizing the Committed Burst Size
822: -- token-bucket, second set parameterizing the Excess Burst Size
823: -- token-bucket. With both set's diffServTBMeterRate parameters
824: -- being used to reflect the Committed Information Rate value.
825: --
826: -- Conforming to RFC 2698, trTCM can be parameterized using
827: -- two sets of diffServMeterEntry and diffServTBMeterEntry.
828: -- With the first set parameterizing the Peak Information Rate
829: -- and Peak Burst Size token-bucket, second set parameterizing
830: -- the Committed Information Rate and Committed Burst Size
831: -- token-bucket.
832: --
833: -- Conforming to RFC 2859, tswTCM can be parameterized using
834: -- two sets of diffServMeterEntry and diffServTBMeterEntry.
835: -- With the first set parameterizing the Committed Target Rate,
836: -- second set parametering the Peak Target Rate.
837: -- With both set's diffServTBMeterInterval being used to
838: -- reflect the Average Interval as specified by RFC 2859.
839: --
840:
841:
842: diffServMeterNextFree OBJECT-TYPE
843: SYNTAX Unsigned32
844: MAX-ACCESS read-only
845: STATUS current
846: DESCRIPTION
847: "This object yields a value when read that is
848: currently unused for a diffServMeterId instance. If
849: a configuring system attempts to create a new row in
850: the diffServMeterTable using this value, that opera-
851: tion will fail if the value has, in the meantime,
852: been used to create another row that is currently
853: valid."
854: ::= { diffServMeter 1 }
855:
856:
857: diffServMeterTable OBJECT-TYPE
858: SYNTAX SEQUENCE OF DiffServMeterEntry
859: MAX-ACCESS not-accessible
860: STATUS current
861: DESCRIPTION
862: "This table enumerates specific meters that a system
863: may use to police, or shape, a stream of traffic. The
864: traffic stream to be metered is determined by the
865: diffserv functional datapath element(s) upstream of
866: the meter i.e. by the object(s) that point to each
867: entry in this table. This may include all traffic on
868: an interface.
869:
870: Specific meter details are to be found in table entry
871: referenced by diffServMeterSpecific."
872: REFERENCE
873: "[MODEL] section 5.1"
874: ::= { diffServMeter 2 }
875:
876:
877: diffServMeterEntry OBJECT-TYPE
878: SYNTAX DiffServMeterEntry
879: MAX-ACCESS not-accessible
880: STATUS current
881: DESCRIPTION
882: "An entry in the meter table describes a single con-
883: formance level of a meter."
884: INDEX { diffServMeterId }
885: ::= { diffServMeterTable 1 }
886:
887:
888: DiffServMeterEntry ::= SEQUENCE {
889: diffServMeterId Unsigned32,
890: diffServMeterSucceedNext RowPointer,
891: diffServMeterFailNext RowPointer,
892: diffServMeterSpecific StaticRowPointer,
893: diffServMeterStatus RowStatus
894: }
895:
896:
897: diffServMeterId OBJECT-TYPE
898: SYNTAX Unsigned32
899: MAX-ACCESS not-accessible
900: STATUS current
901: DESCRIPTION
902: "An index that enumerates the Meter entries. The set
903: of such identifiers spans the whole agent. Managers
904: should obtain new values for row creation in this
905: table by reading diffServMeterNextFree."
906: ::= { diffServMeterEntry 1 }
907:
908:
909: diffServMeterSucceedNext OBJECT-TYPE
910: SYNTAX RowPointer
911: MAX-ACCESS read-create
912: STATUS current
913: DESCRIPTION
914: "If the traffic does conform, this selects the next
915: diffserv functional datapath element to handle
916: traffic for this data path. This RowPointer should
917: point to an instance of one of:
918: diffServClfrEntry
919: diffServMeterEntry
920: diffServActionEntry
921: diffServAlgDropEntry
922: diffServQEntry
923:
924: A value of zeroDotZero in this attribute indicates no
925: further Diffserv treatment is performed on traffic of
926: this datapath. The use of zeroDotZero is the normal
927: usage for the last functional datapath element of the
928: current data path.
929:
930: If the row pointed to does not exist, the treatment
931: is as if this attribute contains a value of zero-
932: DotZero."
933: DEFVAL { zeroDotZero }
934: ::= { diffServMeterEntry 2 }
935:
936:
937: diffServMeterFailNext OBJECT-TYPE
938: SYNTAX RowPointer
939: MAX-ACCESS read-create
940: STATUS current
941: DESCRIPTION
942: "If the traffic does not conform, this selects the
943: next diffserv functional datapath element to handle
944: traffic for this data path. This RowPointer should
945: point to an instance of one of:
946: diffServClfrEntry
947: diffServMeterEntry
948: diffServActionEntry
949: diffServAlgDropEntry
950: diffServQEntry
951:
952: A value of zeroDotZero in this attribute indicates no
953: further Diffserv treatment is performed on traffic of
954: this datapath. The use of zeroDotZero is the normal
955: usage for the last functional datapath element of the
956: current data path.
957:
958: If the row pointed to does not exist, the treatment
959: is as if this attribute contains a value of zero-
960: DotZero."
961: DEFVAL { zeroDotZero }
962: ::= { diffServMeterEntry 3 }
963:
964:
965: diffServMeterSpecific OBJECT-TYPE
966: SYNTAX StaticRowPointer
967: MAX-ACCESS read-create
968: STATUS current
969: DESCRIPTION
970: "This indicates the behaviour of the meter by point-
971: ing to an entry containing detailed parameters. Note
972: that entries in that specific table must be managed
973: explicitly.
974:
975: For example, diffServMeterSpecific may point to an
976: entry in diffServTBMeterTable, which contains an
977: instance of a single set of Token Bucket parameters."
978: ::= { diffServMeterEntry 4 }
979:
980:
981: diffServMeterStatus OBJECT-TYPE
982: SYNTAX RowStatus
983: MAX-ACCESS read-create
984: STATUS current
985: DESCRIPTION
986: "The RowStatus variable controls the activation,
987: deactivation, or deletion of a meter. Any writable
988: variable may be modified whether the row is active or
989: notInService."
990: ::= { diffServMeterEntry 5 }
991:
992:
993: --
994: -- Token Bucket Meter Table
995: --
996: -- Each entry in the Token Bucket Meter Table parameterize
997: -- a single token bucket. Multiple token buckets can be
998: -- used together to parameterize multiple levels of
999: -- conformance.
1000: --
1001: -- Note that an entry in the Token Bucket Meter Table can
1002: -- be shared, pointed to, by multiple diffServMeterTable
1003: -- entries.
1004: --
1005:
1006:
1007: diffServTBMeterNextFree OBJECT-TYPE
1008: SYNTAX Unsigned32
1009: MAX-ACCESS read-only
1010: STATUS current
1011: DESCRIPTION
1012: "This object yields a value when read that is
1013: currently unused for a diffServTBMeterId instance.
1014: If a configuring system attempts to create a new row
1015: in the diffServTBMeterTable using this value, that
1016: operation will fail if the value has, in the mean-
1017: time, been used to create another row that is
1018: currently valid."
1019: ::= { diffServMeter 3 }
1020:
1021:
1022: diffServTBMeterTable OBJECT-TYPE
1023: SYNTAX SEQUENCE OF DiffServTBMeterEntry
1024: MAX-ACCESS not-accessible
1025: STATUS current
1026: DESCRIPTION
1027: "This table enumerates a single set of token bucket
1028: meter parameters that a system may use to police a
1029: stream of traffic. Such meters are modelled here as
1030: having a single rate and a single burst size."
1031: REFERENCE
1032: "[MODEL] section 5.1"
1033: ::= { diffServMeter 4 }
1034:
1035: diffServTBMeterEntry OBJECT-TYPE
1036: SYNTAX DiffServTBMeterEntry
1037: MAX-ACCESS not-accessible
1038: STATUS current
1039: DESCRIPTION
1040: "An entry that describes a single set of token bucket
1041: meter parameters."
1042: INDEX { diffServTBMeterId }
1043: ::= { diffServTBMeterTable 1 }
1044:
1045:
1046: DiffServTBMeterEntry ::= SEQUENCE {
1047: diffServTBMeterId Unsigned32,
1048: diffServTBMeterType INTEGER,
1049: diffServTBMeterRate Unsigned32,
1050: diffServTBMeterBurstSize BurstSize,
1051: diffServTBMeterInterval Unsigned32,
1052: diffServTBMeterStatus RowStatus
1053: }
1054:
1055:
1056: diffServTBMeterId OBJECT-TYPE
1057: SYNTAX Unsigned32
1058: MAX-ACCESS not-accessible
1059: STATUS current
1060: DESCRIPTION
1061: "An index that enumerates the TBMeter entries. The
1062: set of such identifiers spans the whole agent.
1063: Managers should obtain new values for row creation in
1064: this table by reading diffServTBMeterNextFree."
1065: ::= { diffServTBMeterEntry 1 }
1066:
1067:
1068: diffServTBMeterType OBJECT-TYPE
1069: SYNTAX INTEGER {
1070: other(1), -- not listed here
1071: tokenBucket(2), -- Simple Token Bucket
1072: avgRate(3), -- Average Rate
1073: srTCMBlind(4), -- srTCM, Color-blind
1074: srTCMAware(5), -- srTCM, Color-aware
1075: trTCMBlind(6), -- trTCM, Color-blind
1076: trTCMAware(7), -- trTCM, Color-aware
1077: tswTCM(8) -- tswTCM
1078: }
1079: MAX-ACCESS read-create
1080: STATUS current
1081: DESCRIPTION
1082: "The type of meter using parameters specified by this
1083: TBMeter entry.
1084:
1085: Value of tokenBucket(2) indicates the use of Two
1086: Parameter Token Bucket Meter as described in [MODEL]
1087: section 5.2.3.
1088:
1089: Value of avgRate(3) indicates the use of Average Rate
1090: Meter as described in [MODEL] section 5.2.1.
1091:
1092: Value of srTCMBlind(4) and srTCMAware(5) indicates
1093: the use of Single Rate Three Color Marker Metering as
1094: defined by RFC 2697, with `Color Blind' and `Color
1095: Aware' mode as described by the RFC.
1096:
1097: Value of trTCMBlind(6) and trTCMAware(7) indicates
1098: the use of Two Rate Three Color Marker Metering as
1099: defined by RFC 2698, with `Color Blind' and `Color
1100: Aware' mode as described by the RFC.
1101:
1102: Value of tswTCM(8) indicates the use of Time Sliding
1103: Window Three Color Marker Metering as defined by RFC
1104: 2859."
1105: REFERENCE
1106: "[MODEL] section 5"
1107: ::= { diffServTBMeterEntry 2 }
1108:
1109:
1110: diffServTBMeterRate OBJECT-TYPE
1111: SYNTAX Unsigned32
1112: UNITS "kilobits per second"
1113: MAX-ACCESS read-create
1114: STATUS current
1115: DESCRIPTION
1116: "The token-bucket rate, in kilobits per second
1117: (kbps). This attribute is used for: 1. CIR in RFC
1118: 2697 for srTCM 2. PIR and CIR in RFC 2698 for trTCM
1119: 3. CTR and PTR in RFC 2859 for TSWTCM 4. AverageRate
1120: used in [MODEL] section 5."
1121: ::= { diffServTBMeterEntry 3 }
1122:
1123:
1124: diffServTBMeterBurstSize OBJECT-TYPE
1125: SYNTAX BurstSize
1126: UNITS "Bytes"
1127: MAX-ACCESS read-create
1128: STATUS current
1129: DESCRIPTION
1130: "The maximum number of bytes in a single transmission
1131: burst. This attribute is used for: 1. CBS and EBS in
1132: RFC 2697 for srTCM 2. CBS and PBS in RFC 2698 for
1133: trTCM 3. Burst Size used in [MODEL] section 5."
1134: ::= { diffServTBMeterEntry 4 }
1135:
1136:
1137: diffServTBMeterInterval OBJECT-TYPE
1138: SYNTAX Unsigned32
1139: UNITS "microseconds"
1140: MAX-ACCESS read-create
1141: STATUS current
1142: DESCRIPTION
1143: "The time interval used with the token bucket. For:
1144: 1. Average Rate Meter, [MODEL] section 5.2.1, -
1145: Delta. 2. Simple Token Bucket Meter, [MODEL] section
1146: 5.1,
1147: - time interval t. 3. RFC 2859 TSWTCM, -
1148: AVG_INTERVAL. 4. RFC 2697 srTCM, RFC 2698 trTCM, -
1149: token bucket
1150: update time interval."
1151: ::= { diffServTBMeterEntry 5 }
1152:
1153:
1154: diffServTBMeterStatus OBJECT-TYPE
1155: SYNTAX RowStatus
1156: MAX-ACCESS read-create
1157: STATUS current
1158: DESCRIPTION
1159: "The RowStatus variable controls the activation,
1160: deactivation, or deletion of a meter. Any writable
1161: variable may be modified whether the row is active or
1162: notInService."
1163: ::= { diffServTBMeterEntry 6 }
1164:
1165:
1166: --
1167: -- Actions
1168: --
1169:
1170: diffServAction OBJECT IDENTIFIER ::= { diffServMIBObjects 4 }
1171:
1172: --
1173: -- The Action Table allows enumeration of the different
1174: -- types of actions to be applied to a traffic flow.
1175: --
1176: diffServActionNextFree OBJECT-TYPE
1177: SYNTAX Unsigned32
1178: MAX-ACCESS read-only
1179: STATUS current
1180: DESCRIPTION
1181: "This object yields a value when read that is
1182: currently unused for a diffServActionId instance. If
1183: a configuring system attempts to create a new row in
1184: the diffServActionTable using this value, that opera-
1185: tion will fail if the value has, in the meantime,
1186: been used to create another row that is currently
1187: valid."
1188: ::= { diffServAction 1 }
1189:
1190:
1191: diffServActionTable OBJECT-TYPE
1192: SYNTAX SEQUENCE OF DiffServActionEntry
1193: MAX-ACCESS not-accessible
1194: STATUS current
1195: DESCRIPTION
1196: "The Action Table enumerates actions that can be per-
1197: formed to a stream of traffic. Multiple actions can
1198: be concatenated. For example, after marking a stream
1199: of traffic exiting from a meter, a device can then
1200: perform a count action of the conforming or non-
1201: conforming traffic.
1202:
1203: Specific actions are indicated by diffServAction-
1204: Specific which points to an entry of a specific
1205: action type parameterizing the action in detail."
1206: REFERENCE
1207: "[MODEL] section 6."
1208: ::= { diffServAction 2 }
1209:
1210:
1211: diffServActionEntry OBJECT-TYPE
1212: SYNTAX DiffServActionEntry
1213: MAX-ACCESS not-accessible
1214: STATUS current
1215: DESCRIPTION
1216: "Each entry in the action table allows description of
1217: one specific action to be applied to traffic."
1218: INDEX { diffServActionId }
1219: ::= { diffServActionTable 1 }
1220:
1221:
1222: DiffServActionEntry ::= SEQUENCE {
1223: diffServActionId Unsigned32,
1224: diffServActionNext RowPointer,
1225: diffServActionSpecific StaticRowPointer,
1226: diffServActionType INTEGER,
1227: diffServActionStatus RowStatus
1228: }
1229:
1230:
1231: diffServActionId OBJECT-TYPE
1232: SYNTAX Unsigned32
1233: MAX-ACCESS not-accessible
1234: STATUS current
1235: DESCRIPTION
1236: "An index that enumerates the Action entries. The set
1237: of such identifiers spans the whole agent. Managers
1238: should obtain new values for row creation in this
1239: table by reading diffServActionNextFree."
1240: ::= { diffServActionEntry 1 }
1241:
1242:
1243: diffServActionNext OBJECT-TYPE
1244: SYNTAX RowPointer
1245: MAX-ACCESS read-create
1246: STATUS current
1247: DESCRIPTION
1248: "This selects the next diffserv functional datapath
1249: element to handle traffic for this data path. This
1250: RowPointer should point to an instance of one of:
1251: diffServClfrEntry
1252: diffServMeterEntry
1253: diffServActionEntry
1254: diffServAlgDropEntry
1255: diffServQEntry
1256:
1257: A value of zeroDotZero in this attribute indicates no
1258: further Diffserv treatment is performed on traffic of
1259: this datapath. The use of zeroDotZero is the normal
1260: usage for the last functional datapath element of the
1261: current data path.
1262:
1263: If the row pointed to does not exist, the treatment
1264: is as if this attribute contains a value of zero-
1265: DotZero."
1266: DEFVAL { zeroDotZero }
1267: ::= { diffServActionEntry 2 }
1268:
1269: diffServActionSpecific OBJECT-TYPE
1270: SYNTAX StaticRowPointer
1271: MAX-ACCESS read-create
1272: STATUS current
1273: DESCRIPTION
1274: "A pointer to an object instance providing additional
1275: information for the type of action indicated by this
1276: action table entry.
1277:
1278: For the standard actions defined by this MIB module,
1279: this should point to one of the following: a
1280: diffServDscpMarkActEntry, a diffServCountActEntry.
1281: For other actions, it may point to an object instance
1282: defined in some other MIB."
1283: ::= { diffServActionEntry 3 }
1284:
1285:
1286: diffServActionType OBJECT-TYPE
1287: SYNTAX INTEGER {
1288: other(1), -- types not specified here
1289: specific(2), -- follow the Specific pointer
1290: absoluteDrop(3) -- disallow traffic
1291: }
1292: MAX-ACCESS read-create
1293: STATUS current
1294: DESCRIPTION
1295: "Indicates the type of action. The values specific(2)
1296: must be associated with additional information,
1297: pointed to by diffServActionSpecific, with the actual
1298: action type indicated by the object being pointed to.
1299: The value absoluteDrop(3) has no associated informa-
1300: tion and will have a diffServActionSpecific value of
1301: zeroDotZero. The use of other(1) is outside the
1302: scope of this definition, although the diffServAc-
1303: tionSpecific pointer may be used in this case, to
1304: indicate other information."
1305: ::= { diffServActionEntry 4 }
1306:
1307:
1308: diffServActionStatus OBJECT-TYPE
1309: SYNTAX RowStatus
1310: MAX-ACCESS read-create
1311: STATUS current
1312: DESCRIPTION
1313: "The RowStatus variable controls the activation,
1314: deactivation or deletion of an action element. Any
1315: writable variable may be modified whether the row is
1316: active or notInService."
1317: ::= { diffServActionEntry 5 }
1318:
1319:
1320: --
1321: -- DSCP Mark Action Table
1322: --
1323: -- Rows of this table are pointed to by diffServActionSpecific
1324: -- to provide detailed parameters specific to the DSCP
1325: -- Mark action.
1326: --
1327: -- A single entry in this table can be shared, pointed to, by
1328: -- multiple diffServActionTable entries, of same or different
1329: -- datapaths.
1330: --
1331:
1332:
1333: diffServDscpMarkActTable OBJECT-TYPE
1334: SYNTAX SEQUENCE OF DiffServDscpMarkActEntry
1335: MAX-ACCESS not-accessible
1336: STATUS current
1337: DESCRIPTION
1338: "This table enumerates specific DSCPs used for mark-
1339: ing or remarking the DSCP field of IP packets. The
1340: entries of this table may be referenced by a diffSer-
1341: vActionSpecific attribute."
1342: REFERENCE
1343: "[MODEL] section 6.1"
1344: ::= { diffServAction 3 }
1345:
1346:
1347: diffServDscpMarkActEntry OBJECT-TYPE
1348: SYNTAX DiffServDscpMarkActEntry
1349: MAX-ACCESS not-accessible
1350: STATUS current
1351: DESCRIPTION
1352: "An entry in the DSCP mark action table that
1353: describes a single DSCP used for marking."
1354: INDEX { diffServDscpMarkActDscp }
1355: ::= { diffServDscpMarkActTable 1 }
1356:
1357:
1358: DiffServDscpMarkActEntry ::= SEQUENCE {
1359: diffServDscpMarkActDscp Dscp
1360: }
1361: diffServDscpMarkActDscp OBJECT-TYPE
1362: SYNTAX Dscp
1363: MAX-ACCESS read-only
1364: STATUS current
1365: DESCRIPTION
1366: "The DSCP that this Action uses for marking/remarking
1367: traffic. Note that a DSCP value of -1 is not permit-
1368: ted in this table. It is quite possible that the
1369: only packets subject to this Action are already
1370: marked with this DSCP. Note also that Diffserv may
1371: result in packet remarking both on ingress to a net-
1372: work and on egress from it and it is quite possible
1373: that ingress and egress would occur in the same
1374: router."
1375: ::= { diffServDscpMarkActEntry 1 }
1376:
1377:
1378: --
1379: -- Count Action Table
1380: --
1381: -- Due to the fact that the MIB structure allows multiple
1382: -- cascading diffServActionEntry be used to describe
1383: -- multiple actions for a datapath, the counter became an
1384: -- optional action type. In normal implementation, a
1385: -- datapath either have counters or it doesn't, it is not
1386: -- an element the management entity can add or remove.
1387: -- The management entity can choose to read the counter or
1388: -- not. Hence it is recommended for implementation that
1389: -- have counters to always configure the count action as
1390: -- the first of multiple actions, for example before the
1391: -- the absolute drop action.
1392: --
1393:
1394:
1395: diffServCountActNextFree OBJECT-TYPE
1396: SYNTAX Unsigned32
1397: MAX-ACCESS read-only
1398: STATUS current
1399: DESCRIPTION
1400: "This object yields a value when read that is currently unused
1401: for a diffServCountActId instance.
1402: If a configuring system attempts to create a new row
1403: in the diffServCountActTable using this value, that operation
1404: will fail if the value has, in the meantime, been used
1405: to create another row that is currently valid."
1406: ::= { diffServAction 4 }
1407:
1408: diffServCountActTable OBJECT-TYPE
1409: SYNTAX SEQUENCE OF DiffServCountActEntry
1410: MAX-ACCESS not-accessible
1411: STATUS current
1412: DESCRIPTION
1413: "This table contains counters for all the traffic
1414: passing through an action element."
1415: REFERENCE
1416: "[MODEL] section 6.4"
1417: ::= { diffServAction 5 }
1418:
1419:
1420: diffServCountActEntry OBJECT-TYPE
1421: SYNTAX DiffServCountActEntry
1422: MAX-ACCESS not-accessible
1423: STATUS current
1424: DESCRIPTION
1425: "An entry in the count action table describes a sin-
1426: gle set of traffic counters."
1427: INDEX { diffServCountActId }
1428: ::= { diffServCountActTable 1 }
1429:
1430:
1431: DiffServCountActEntry ::= SEQUENCE {
1432: diffServCountActId Unsigned32,
1433: diffServCountActOctets Counter32,
1434: diffServCountActHCOctets Counter64,
1435: diffServCountActPkts Counter32,
1436: diffServCountActHCPkts Counter64,
1437: diffServCountActDiscontTime TimeStamp,
1438: diffServCountActStatus RowStatus
1439: }
1440:
1441:
1442: diffServCountActId OBJECT-TYPE
1443: SYNTAX Unsigned32
1444: MAX-ACCESS not-accessible
1445: STATUS current
1446: DESCRIPTION
1447: "An index that enumerates the Count Action entries.
1448: The set of such identifiers spans the whole agent.
1449: Managers should obtain new values for row creation in
1450: this table by reading diffServCountActNextFree."
1451: ::= { diffServCountActEntry 1 }
1452:
1453:
1454: diffServCountActOctets OBJECT-TYPE
1455: SYNTAX Counter32
1456: MAX-ACCESS read-only
1457: STATUS current
1458: DESCRIPTION
1459: "The number of octets at the Action datapath element.
1460: On high speed devices, this object implements the
1461: least significant 32 bits of diffServCountActHCOc-
1462: tets.
1463:
1464: Discontinuities in the value of this counter can
1465: occur at re-initialization of the management system
1466: and at other times as indicated by the value of
1467: diffServCountActDiscontTime for this entry."
1468: ::= { diffServCountActEntry 2 }
1469:
1470:
1471: diffServCountActHCOctets OBJECT-TYPE
1472: SYNTAX Counter64
1473: MAX-ACCESS read-only
1474: STATUS current
1475: DESCRIPTION
1476: "The number of octets at the Action datapath element.
1477: This object should be used on high speed interfaces.
1478: Discontinuities in the value of this counter can
1479: occur at re-initialization of the management system
1480: and at other times as indicated by the value of
1481: diffServCountActDiscontTime for this entry."
1482: ::= { diffServCountActEntry 3 }
1483:
1484:
1485: diffServCountActPkts OBJECT-TYPE
1486: SYNTAX Counter32
1487: MAX-ACCESS read-only
1488: STATUS current
1489: DESCRIPTION
1490: "The number of packets at the Action datapath ele-
1491: ment. On high speed devices, this object implements
1492: the least significant 32 bits of diffServCoun-
1493: tActHCPkts.
1494:
1495: Discontinuities in the value of this counter can
1496: occur at re-initialization of the management system
1497: and at other times as indicated by the value of
1498: diffServCountActDiscontTime for this entry."
1499: ::= { diffServCountActEntry 4 }
1500:
1501: diffServCountActHCPkts OBJECT-TYPE
1502: SYNTAX Counter64
1503: MAX-ACCESS read-only
1504: STATUS current
1505: DESCRIPTION
1506: "The number of packets at the Action datapath ele-
1507: ment. This object should be used on high speed
1508: interfaces.
1509:
1510: Discontinuities in the value of this counter can
1511: occur at re-initialization of the management system
1512: and at other times as indicated by the value of
1513: diffServCountActDiscontTime for this entry."
1514: ::= { diffServCountActEntry 5 }
1515:
1516:
1517: diffServCountActDiscontTime OBJECT-TYPE
1518: SYNTAX TimeStamp
1519: MAX-ACCESS read-only
1520: STATUS current
1521: DESCRIPTION
1522: "The value of sysUpTime on the most recent occasion
1523: at which any one or more of this entry's counters
1524: suffered a discontinuity. If no such discontinuities
1525: have occurred since the last re-initialization of the
1526: local management subsystem, then this object contains
1527: a zero value."
1528: ::= { diffServCountActEntry 6 }
1529:
1530:
1531: diffServCountActStatus OBJECT-TYPE
1532: SYNTAX RowStatus
1533: MAX-ACCESS read-create
1534: STATUS current
1535: DESCRIPTION
1536: "The RowStatus variable controls the activation,
1537: deactivation, or deletion of this entry. Any writable
1538: variable may be modified whether the row is active or
1539: notInService."
1540: ::= { diffServCountActEntry 7 }
1541:
1542:
1543: --
1544: -- Algorithmic Drop Table
1545: --
1546:
1547: diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 5 }
1548: diffServAlgDropNextFree OBJECT-TYPE
1549: SYNTAX Unsigned32
1550: MAX-ACCESS read-only
1551: STATUS current
1552: DESCRIPTION
1553: "This object yields a value when read that is
1554: currently unused for a diffServAlgDropId instance.
1555: If a configuring system attempts to create a new row
1556: in the diffServAlgDropTable using this value, that
1557: operation will fail if the value has, in the mean-
1558: time, been used to create another row that is
1559: currently valid."
1560: ::= { diffServAlgDrop 1 }
1561:
1562:
1563: diffServAlgDropTable OBJECT-TYPE
1564: SYNTAX SEQUENCE OF DiffServAlgDropEntry
1565: MAX-ACCESS not-accessible
1566: STATUS current
1567: DESCRIPTION
1568: "The algorithmic drop table contains entries describ-
1569: ing an element that drops packets according to some
1570: algorithm."
1571: REFERENCE
1572: "[MODEL] section 7.1.3"
1573: ::= { diffServAlgDrop 2 }
1574:
1575:
1576: diffServAlgDropEntry OBJECT-TYPE
1577: SYNTAX DiffServAlgDropEntry
1578: MAX-ACCESS not-accessible
1579: STATUS current
1580: DESCRIPTION
1581: "An entry describes a process that drops packets
1582: according to some algorithm. Further details of the
1583: algorithm type are to be found in diffServAlgDropType
1584: and with more detail parameter entry pointed to by
1585: diffServAlgDropSpecific when necessary."
1586: INDEX { diffServAlgDropId }
1587: ::= { diffServAlgDropTable 1 }
1588:
1589:
1590: DiffServAlgDropEntry ::= SEQUENCE {
1591: diffServAlgDropId Unsigned32,
1592: diffServAlgDropType INTEGER,
1593: diffServAlgDropNext RowPointer,
1594: diffServAlgDropQMeasure RowPointer,
1595: diffServAlgDropQThreshold Unsigned32,
1596: diffServAlgDropSpecific StaticRowPointer,
1597: diffServAlgDropOctets Counter32,
1598: diffServAlgDropHCOctets Counter64,
1599: diffServAlgDropPkts Counter32,
1600: diffServAlgDropHCPkts Counter64,
1601: diffServAlgDropStatus RowStatus
1602: }
1603:
1604:
1605: diffServAlgDropId OBJECT-TYPE
1606: SYNTAX Unsigned32
1607: MAX-ACCESS not-accessible
1608: STATUS current
1609: DESCRIPTION
1610: "An index that enumerates the Algorithmic Dropper
1611: entries. The set of such identifiers spans the whole
1612: agent. Managers should obtain new values for row
1613: creation in this table by reading diffServAlgDrop-
1614: NextFree."
1615: ::= { diffServAlgDropEntry 1 }
1616:
1617:
1618: diffServAlgDropType OBJECT-TYPE
1619: SYNTAX INTEGER {
1620: other(1),
1621: tailDrop(2),
1622: headDrop(3),
1623: randomDrop(4)
1624: }
1625: MAX-ACCESS read-create
1626: STATUS current
1627: DESCRIPTION
1628: "The type of algorithm used by this dropper. A value
1629: of tailDrop(2) or headDrop(3) represents an algorithm
1630: that is completely specified by this MIB. A value of
1631: other(1) requires further specification in some other
1632: MIB module.
1633:
1634: The tailDrop(2) algorithm is described as follows:
1635: diffServAlgDropQThreshold represents the depth of the
1636: queue, pointed to by diffServAlgDropQMeasure, at
1637: which all newly arriving packets will be dropped.
1638:
1639: The headDrop(3) algorithm is described as follows: if
1640: a packet arrives when the current depth of the queue,
1641: pointed to by diffServAlgDropQMeasure, is at diffSer-
1642: vAlgDropQThreshold, packets currently at the head of
1643: the queue are dropped to make room for the new packet
1644: to be enqueued at the tail of the queue.
1645:
1646: The randomDrop(4) algorithm is described as follows:
1647: on packet arrival, an algorithm is executed which may
1648: randomly drop the packet, or drop other packet(s)
1649: from the queue in its place. The specifics of the
1650: algorithm may be proprietary. For this algorithm,
1651: diffServAlgDropSpecific points to a diffServRandom-
1652: DropEntry that describes the algorithm. For this
1653: algorithm, diffServAlgQThreshold is understood to be
1654: the absolute maximum size of the queue and additional
1655: parameters are described in diffServRandomDropTable."
1656: ::= { diffServAlgDropEntry 2 }
1657:
1658:
1659: diffServAlgDropNext OBJECT-TYPE
1660: SYNTAX RowPointer
1661: MAX-ACCESS read-create
1662: STATUS current
1663: DESCRIPTION
1664: "This selects the next diffserv functional datapath
1665: element to handle traffic for this data path. This
1666: RowPointer should point to an instance of one of:
1667: diffServClfrEntry
1668: diffServMeterEntry
1669: diffServActionEntry
1670: diffServAlgDropEntry
1671: diffServQEntry
1672:
1673: A value of zeroDotZero in this attribute indicates no
1674: further Diffserv treatment is performed on traffic of
1675: this datapath. The use of zeroDotZero is the normal
1676: usage for the last functional datapath element of the
1677: current data path.
1678:
1679: If the row pointed to does not exist, the treatment
1680: is as if this attribute contains a value of zero-
1681: DotZero."
1682: ::= { diffServAlgDropEntry 3 }
1683:
1684:
1685: diffServAlgDropQMeasure OBJECT-TYPE
1686: SYNTAX RowPointer
1687: MAX-ACCESS read-create
1688: STATUS current
1689: DESCRIPTION
1690: "Points to an entry in the diffServQTable to indicate
1691: the queue that a drop algorithm is to monitor when
1692: deciding whether to drop a packet. If the row
1693: pointed to does not exist, the algorithmic dropper
1694: element is considered inactive."
1695: ::= { diffServAlgDropEntry 4 }
1696:
1697:
1698: diffServAlgDropQThreshold OBJECT-TYPE
1699: SYNTAX Unsigned32
1700: UNITS "Bytes"
1701: MAX-ACCESS read-create
1702: STATUS current
1703: DESCRIPTION
1704: "A threshold on the depth in bytes of the queue being
1705: measured at which a trigger is generated to the drop-
1706: ping algorithm.
1707:
1708: For the tailDrop(2) or headDrop(3) algorithms, this
1709: represents the depth of the queue, pointed to by
1710: diffServAlgDropQMeasure, at which the drop action
1711: will take place. Other algorithms will need to define
1712: their own semantics for this threshold."
1713: ::= { diffServAlgDropEntry 5 }
1714:
1715:
1716: diffServAlgDropSpecific OBJECT-TYPE
1717: SYNTAX StaticRowPointer
1718: MAX-ACCESS read-create
1719: STATUS current
1720: DESCRIPTION
1721: "Points to a table entry that provides further detail
1722: regarding a drop algorithm.
1723:
1724: Entries with diffServAlgDropType equal to other(1)
1725: may have this point to a table defined in another MIB
1726: module.
1727:
1728: Entries with diffServAlgDropType equal to random-
1729: Drop(4) must have this point to an entry in diffSer-
1730: vRandomDropTable.
1731:
1732: For all other algorithms, this should take the value
1733: zeroDotzero."
1734: ::= { diffServAlgDropEntry 6 }
1735:
1736: diffServAlgDropOctets OBJECT-TYPE
1737: SYNTAX Counter32
1738: MAX-ACCESS read-only
1739: STATUS current
1740: DESCRIPTION
1741: "The number of octets that have been dropped by this
1742: drop process. On high speed devices, this object
1743: implements the least significant 32 bits of diffSer-
1744: vAlgDropHCOctets.
1745:
1746: Discontinuities in the value of this counter can
1747: occur at re-initialization of the management system
1748: and at other times as indicated by the value of
1749: ifCounterDiscontinuityTime appropriate to this inter-
1750: face."
1751: ::= { diffServAlgDropEntry 7 }
1752:
1753:
1754: diffServAlgDropHCOctets OBJECT-TYPE
1755: SYNTAX Counter64
1756: MAX-ACCESS read-only
1757: STATUS current
1758: DESCRIPTION
1759: "The number of octets that have been dropped by this
1760: drop process. This object should be used on high
1761: speed interfaces.
1762:
1763: Discontinuities in the value of this counter can
1764: occur at re-initialization of the management system
1765: and at other times as indicated by the value of
1766: ifCounterDiscontinuityTime appropriate to this inter-
1767: face."
1768: ::= { diffServAlgDropEntry 8 }
1769:
1770:
1771: diffServAlgDropPkts OBJECT-TYPE
1772: SYNTAX Counter32
1773: MAX-ACCESS read-only
1774: STATUS current
1775: DESCRIPTION
1776: "The number of packets that have been dropped by this
1777: drop process. On high speed devices, this object
1778: implements the least significant 32 bits of diffSer-
1779: vAlgDropHCPkts.
1780:
1781: Discontinuities in the value of this counter can
1782: occur at re-initialization of the management system
1783: and at other times as indicated by the value of
1784: ifCounterDiscontinuityTime appropriate to this inter-
1785: face."
1786: ::= { diffServAlgDropEntry 9 }
1787:
1788:
1789: diffServAlgDropHCPkts OBJECT-TYPE
1790: SYNTAX Counter64
1791: MAX-ACCESS read-only
1792: STATUS current
1793: DESCRIPTION
1794: "The number of packets that have been dropped by this
1795: drop process. This object should be used on high
1796: speed interfaces.
1797:
1798: Discontinuities in the value of this counter can
1799: occur at re-initialization of the management system
1800: and at other times as indicated by the value of
1801: ifCounterDiscontinuityTime appropriate to this inter-
1802: face."
1803: ::= { diffServAlgDropEntry 10 }
1804:
1805:
1806: diffServAlgDropStatus OBJECT-TYPE
1807: SYNTAX RowStatus
1808: MAX-ACCESS read-create
1809: STATUS current
1810: DESCRIPTION
1811: "The RowStatus variable controls the activation,
1812: deactivation, or deletion of this entry. Any writable
1813: variable may be modified whether the row is active or
1814: notInService."
1815: ::= { diffServAlgDropEntry 11 }
1816:
1817:
1818: --
1819: -- Random Drop Table
1820: --
1821:
1822:
1823: diffServRandomDropNextFree OBJECT-TYPE
1824: SYNTAX Unsigned32
1825: MAX-ACCESS read-only
1826: STATUS current
1827: DESCRIPTION
1828: "This object yields a value when read that is
1829: currently unused for a diffServRandomDropId instance.
1830: If a configuring system attempts to create a new row
1831: in the diffServRandomDropTable using this value, that
1832: operation will fail if the value has, in the mean-
1833: time, been used to create another row that is
1834: currently valid."
1835: ::= { diffServAlgDrop 3 }
1836:
1837:
1838: diffServRandomDropTable OBJECT-TYPE
1839: SYNTAX SEQUENCE OF DiffServRandomDropEntry
1840: MAX-ACCESS not-accessible
1841: STATUS current
1842: DESCRIPTION
1843: "The random drop table contains entries describing a
1844: process that drops packets randomly. Entries in this
1845: table is intended to be pointed to by diffSer-
1846: vAlgDropSpecific."
1847: REFERENCE
1848: "[MODEL] section 7.1.3"
1849: ::= { diffServAlgDrop 4 }
1850:
1851:
1852: diffServRandomDropEntry OBJECT-TYPE
1853: SYNTAX DiffServRandomDropEntry
1854: MAX-ACCESS not-accessible
1855: STATUS current
1856: DESCRIPTION
1857: "An entry describes a process that drops packets
1858: according to a random algorithm."
1859: INDEX { diffServRandomDropId }
1860: ::= { diffServRandomDropTable 1 }
1861:
1862:
1863: DiffServRandomDropEntry ::= SEQUENCE {
1864: diffServRandomDropId Unsigned32,
1865: diffServRandomDropMinThreshBytes Unsigned32,
1866: diffServRandomDropMinThreshPkts Unsigned32,
1867: diffServRandomDropMaxThreshBytes Unsigned32,
1868: diffServRandomDropMaxThreshPkts Unsigned32,
1869: diffServRandomDropInvProbMax Unsigned32,
1870: diffServRandomDropInvWeight Unsigned32,
1871: diffServRandomDropSamplingRate Unsigned32,
1872: diffServRandomDropStatus RowStatus
1873: }
1874:
1875:
1876: diffServRandomDropId OBJECT-TYPE
1877: SYNTAX Unsigned32
1878: MAX-ACCESS not-accessible
1879: STATUS current
1880: DESCRIPTION
1881: "An index that enumerates the Random Drop entries.
1882: The set of such identifiers spans the whole agent.
1883: Managers should obtain new values for row creation in
1884: this table by reading diffServRandomDropNextFree."
1885: ::= { diffServRandomDropEntry 1 }
1886:
1887:
1888: diffServRandomDropMinThreshBytes OBJECT-TYPE
1889: SYNTAX Unsigned32
1890: UNITS "bytes"
1891: MAX-ACCESS read-create
1892: STATUS current
1893: DESCRIPTION
1894: "The average queue depth in bytes, beyond which
1895: traffic has a non-zero probability of being dropped.
1896: Changes in this variable may or may not be reflected
1897: in the reported value of diffServRandomDrop-
1898: MinThreshPkts."
1899: ::= { diffServRandomDropEntry 2 }
1900:
1901:
1902: diffServRandomDropMinThreshPkts OBJECT-TYPE
1903: SYNTAX Unsigned32
1904: UNITS "packets"
1905: MAX-ACCESS read-create
1906: STATUS current
1907: DESCRIPTION
1908: "The average queue depth in packets, beyond which
1909: traffic has a non-zero probability of being dropped.
1910: Changes in this variable may or may not be reflected
1911: in the reported value of diffServRandomDropMinThresh-
1912: Bytes."
1913: ::= { diffServRandomDropEntry 3 }
1914:
1915:
1916: diffServRandomDropMaxThreshBytes OBJECT-TYPE
1917: SYNTAX Unsigned32
1918: UNITS "bytes"
1919: MAX-ACCESS read-create
1920: STATUS current
1921: DESCRIPTION
1922: "The average queue depth beyond which traffic has a
1923: probability indicated by diffServRandomDropInvProbMax
1924: of being dropped or marked. Note that this differs
1925: from the physical queue limit, which is stored in
1926: diffServAlgDropQThreshold. Changes in this variable
1927: may or may not be reflected in the reported value of
1928: diffServRandomDropMaxThreshPkts."
1929: ::= { diffServRandomDropEntry 4 }
1930:
1931:
1932: diffServRandomDropMaxThreshPkts OBJECT-TYPE
1933: SYNTAX Unsigned32
1934: UNITS "packets"
1935: MAX-ACCESS read-create
1936: STATUS current
1937: DESCRIPTION
1938: "The average queue depth beyond which traffic has a
1939: probability indicated by diffServRandomDropInvProbMax
1940: of being dropped or marked. Note that this differs
1941: from the physical queue limit, which is stored in
1942: diffServAlgDropQThreshold. Changes in this variable
1943: may or may not be reflected in the reported value of
1944: diffServRandomDropMaxThreshBytes."
1945: ::= { diffServRandomDropEntry 5 }
1946:
1947:
1948: diffServRandomDropInvProbMax OBJECT-TYPE
1949: SYNTAX Unsigned32
1950: MAX-ACCESS read-create
1951: STATUS current
1952: DESCRIPTION
1953: "The worst case random drop probability, expressed as
1954: the inverse of the drop probability. With special
1955: case of the value zero meaning zero probability of
1956: drop.
1957:
1958: For example, if every packet may be dropped in the
1959: worst case (100%), this has the value of
1960: 4,294,967,295."
1961: ::= { diffServRandomDropEntry 6 }
1962:
1963:
1964: diffServRandomDropInvWeight OBJECT-TYPE
1965: SYNTAX Unsigned32
1966: MAX-ACCESS read-create
1967: STATUS current
1968: DESCRIPTION
1969: "The weighting of past history in affecting the cal-
1970: culation of the current queue average. The moving
1971: average of the queue depth uses the inverse of this
1972: value as the factor for the new queue depth, and one
1973: minus that inverse as the factor for the historical
1974: average.
1975:
1976: Implementations may choose to limit the acceptable
1977: set of values to a specified set, such as powers of
1978: 2."
1979: ::= { diffServRandomDropEntry 7 }
1980:
1981:
1982: diffServRandomDropSamplingRate OBJECT-TYPE
1983: SYNTAX Unsigned32
1984: MAX-ACCESS read-create
1985: STATUS current
1986: DESCRIPTION
1987: "The number of times per second the queue is sampled
1988: for queue average calculation. A value of zero means
1989: the queue is sampled approximately each time a packet
1990: is enqueued (or dequeued)."
1991: ::= { diffServRandomDropEntry 8 }
1992:
1993:
1994: diffServRandomDropStatus OBJECT-TYPE
1995: SYNTAX RowStatus
1996: MAX-ACCESS read-create
1997: STATUS current
1998: DESCRIPTION
1999: "The RowStatus variable controls the activation,
2000: deactivation, or deletion of this entry. Any writable
2001: variable may be modified whether the row is active or
2002: notInService."
2003: ::= { diffServRandomDropEntry 9 }
2004:
2005:
2006: --
2007: -- Queue Table
2008: --
2009:
2010: diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 6 }
2011:
2012: --
2013: -- An entry of diffServQTable represents a FIFO queue diffserv
2014: -- functional datapath element as described in [MODEL] section
2015: -- 7.1.1.
2016: -- Notice the specification of scheduling parameters for a queue
2017: -- as part of the input to a scheduler functional datapath
2018: -- element as described in [MODEL] section 7.1.2. This allows
2019: -- building of hierarchical queueing/scheduling.
2020: -- A queue therefore is parameterized by:
2021: -- 1. Which scheduler will service this queue, diffServQNext.
2022: -- 2. How the scheduler will service this queue, with respect
2023: -- to all the other queues the same scheduler needs to service,
2024: -- diffServQSchdParam.
2025: --
2026: -- Notice one or more upstream diffserv datapath element may share,
2027: -- point to, a diffServQTable entry as described in [MODEL] section
2028: -- 7.1.1.
2029: --
2030: -- Each entry of the diffServQTable belongs to one and only one
2031: -- datapath.
2032: --
2033:
2034:
2035: diffServQNextFree OBJECT-TYPE
2036: SYNTAX Unsigned32
2037: MAX-ACCESS read-only
2038: STATUS current
2039: DESCRIPTION
2040: "This object yields a value when read that is
2041: currently unused for a diffServQId instance. If a
2042: configuring system attempts to create a new row in
2043: the diffServQTable using this value, that operation
2044: will fail if the value has, in the meantime, been
2045: used to create another row that is currently valid."
2046: ::= { diffServQueue 1 }
2047:
2048:
2049: diffServQTable OBJECT-TYPE
2050: SYNTAX SEQUENCE OF DiffServQEntry
2051: MAX-ACCESS not-accessible
2052: STATUS current
2053: DESCRIPTION
2054: "The Queue Table enumerates the individual queues."
2055: REFERENCE
2056: "[MODEL] section 7.1.1"
2057: ::= { diffServQueue 2 }
2058:
2059:
2060: diffServQEntry OBJECT-TYPE
2061: SYNTAX DiffServQEntry
2062: MAX-ACCESS not-accessible
2063: STATUS current
2064: DESCRIPTION
2065: "An entry in the Queue Table describes a single
2066: queue. With each entry belonging to one and only one
2067: datapath."
2068: INDEX { diffServQId }
2069: ::= { diffServQTable 1 }
2070:
2071:
2072: DiffServQEntry ::= SEQUENCE {
2073: diffServQId Unsigned32,
2074: diffServQNext RowPointer,
2075: diffServQSchdParam StaticRowPointer,
2076: diffServQStatus RowStatus
2077: }
2078:
2079:
2080: diffServQId OBJECT-TYPE
2081: SYNTAX Unsigned32
2082: MAX-ACCESS not-accessible
2083: STATUS current
2084: DESCRIPTION
2085: "An index that enumerates the Queue entries. The set
2086: of such identifiers spans the whole agent. Managers
2087: should obtain new values for row creation in this
2088: table by reading diffServQNextFree."
2089: ::= { diffServQEntry 1 }
2090:
2091:
2092: diffServQNext OBJECT-TYPE
2093: SYNTAX RowPointer
2094: MAX-ACCESS read-create
2095: STATUS current
2096: DESCRIPTION
2097: "This selects the next diffserv functional datapath
2098: element to handle traffic for this data path. This
2099: RowPointer must point to an instance of one of:
2100: diffServSchedulerEntry
2101:
2102: A value of zeroDotZero in this attribute indicates an
2103: incomplete diffServQEntry instance. An illegal con-
2104: figuration.
2105:
2106: If the row pointed to does not exist, the treatment
2107: is as if this attribute contains a value of zero-
2108: DotZero."
2109: ::= { diffServQEntry 2 }
2110:
2111: diffServQSchdParam OBJECT-TYPE
2112: SYNTAX StaticRowPointer
2113: MAX-ACCESS read-create
2114: STATUS current
2115: DESCRIPTION
2116: "This StaticRowPointer indicates the entry in
2117: diffServSchdParamTable the scheduler, pointed to by
2118: diffServQNext, should use to service this queue.
2119:
2120: A value of zeroDotZero in this attribute indicates an
2121: incomplete diffServQEntry instance. An illegal con-
2122: figuration.
2123:
2124: If the row pointed to does not exist, the treatment
2125: is as if this attribute contains a value of zero-
2126: DotZero."
2127: ::= { diffServQEntry 3 }
2128:
2129:
2130: diffServQStatus OBJECT-TYPE
2131: SYNTAX RowStatus
2132: MAX-ACCESS read-create
2133: STATUS current
2134: DESCRIPTION
2135: "The RowStatus variable controls the activation,
2136: deactivation, or deletion of a queue. Any writable
2137: variable may be modified whether the row is active or
2138: notInService."
2139: ::= { diffServQEntry 4 }
2140:
2141:
2142: --
2143: -- Scheduler Table
2144: --
2145:
2146: diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 7 }
2147:
2148: --
2149: -- The Scheduler Table is used for representing packet schedulers:
2150: -- it provides flexibility for multiple scheduling algorithms, each
2151: -- servicing multiple queues, to be used on the same logical/physical
2152: -- interface.
2153: -- Notice the servicing parameters the scheduler uses is
2154: -- specified by each of its upstream functional datapath elements,
2155: -- most likely queues or schedulers.
2156: -- The coordination and coherency between the servicing parameters
2157: -- of the scheduler's upstream functional datapath elements must
2158: -- be maintained for the scheduler to function correctly.
2159: --
2160: -- The diffServSchedulerSchdParam attribute is used for specifying
2161: -- the servicing parameters for output of a scheduler when its
2162: -- downstream functional datapath element is another scheduler.
2163: -- This is used for building hierarchical queue/scheduler.
2164: --
2165: -- More discussion of the scheduler functional datapath element
2166: -- is in [MODEL] section 7.1.2.
2167: --
2168:
2169:
2170: diffServSchedulerPriority OBJECT-IDENTITY
2171: STATUS current
2172: DESCRIPTION
2173: "For use with diffServSchedulerMethod to indicate
2174: Priority scheduling method, defined as an algorithm
2175: in which the presence of data in a queue or set of
2176: queues absolutely precludes dequeue from another
2177: queue or set of queues. Notice attributes from
2178: diffServSchdParamEntry of the queues/schedulers feed-
2179: ing this scheduler are used when determining the next
2180: packet to schedule."
2181: REFERENCE
2182: "[MODEL] section 7.1.2"
2183: ::= { diffServScheduler 1 }
2184:
2185:
2186: diffServSchedulerWRR OBJECT-IDENTITY
2187: STATUS current
2188: DESCRIPTION
2189: "For use with diffServSchedulerMethod to indicate
2190: Weighted Round Robin scheduling method, defined as
2191: any algorithm in which a set of queues are visited in
2192: a fixed order, and varying amounts of traffic are
2193: removed from each queue in turn to implement an aver-
2194: age output rate by class. Notice attributes from
2195: diffServSchdParamEntry of the queues/schedulers feed-
2196: ing this scheduler are used when determining the next
2197: packet to schedule."
2198: REFERENCE
2199: "[MODEL] section 7.1.2"
2200: ::= { diffServScheduler 2 }
2201:
2202:
2203: diffServSchedulerWFQ OBJECT-IDENTITY
2204: STATUS current
2205: DESCRIPTION
2206: "For use with diffServSchedulerMethod to indicate
2207: Weighted Fair Queueing scheduling method, defined as
2208: any algorithm in which a set of queues are conceptu-
2209: ally visited in some order, to implement an average
2210: output rate by class. Notice attributes from
2211: diffServSchdParamEntry of the queues/schedulers feed-
2212: ing this scheduler are used when determining the next
2213: packet to schedule."
2214: REFERENCE
2215: "[MODEL] section 7.1.2"
2216: ::= { diffServScheduler 3 }
2217:
2218:
2219: diffServSchedulerShaping OBJECT-IDENTITY
2220: STATUS current
2221: DESCRIPTION
2222: "For use with diffServSchedulerMethod to indicate the
2223: scheduler is being used for shaping. Notice attri-
2224: butes from diffServSchdParamEntry of the
2225: queues/schedulers feeding this scheduler are used
2226: when determining the next packet to schedule."
2227: REFERENCE
2228: "[MODEL] section 7.1.2"
2229: ::= { diffServScheduler 4 }
2230:
2231:
2232: diffServSchedulerNextFree OBJECT-TYPE
2233: SYNTAX Unsigned32
2234: MAX-ACCESS read-only
2235: STATUS current
2236: DESCRIPTION
2237: "This object yields a value when read that is
2238: currently unused for a diffServSchedulerId instance.
2239: If a configuring system attempts to create a new row
2240: in the diffServSchedulerTable using this value, that
2241: operation will fail if the value has, in the mean-
2242: time, been used to create another row that is
2243: currently valid."
2244: ::= { diffServScheduler 5 }
2245:
2246:
2247: diffServSchedulerTable OBJECT-TYPE
2248: SYNTAX SEQUENCE OF DiffServSchedulerEntry
2249: MAX-ACCESS not-accessible
2250: STATUS current
2251: DESCRIPTION
2252: "The Scheduler Table enumerates packet schedulers.
2253: Multiple scheduling algorithms can be used on a given
2254: datapath, with each algorithm described by one
2255: diffServSchedulerEntry."
2256: REFERENCE
2257: "[MODEL] section 7.1.2"
2258: ::= { diffServScheduler 6 }
2259:
2260:
2261: diffServSchedulerEntry OBJECT-TYPE
2262: SYNTAX DiffServSchedulerEntry
2263: MAX-ACCESS not-accessible
2264: STATUS current
2265: DESCRIPTION
2266: "An entry in the Scheduler Table describing a single
2267: instance of a scheduling algorithm."
2268: INDEX { diffServSchedulerId }
2269: ::= { diffServSchedulerTable 1 }
2270:
2271:
2272: DiffServSchedulerEntry ::= SEQUENCE {
2273: diffServSchedulerId Unsigned32,
2274: diffServSchedulerNext RowPointer,
2275: diffServSchedulerMethod OBJECT IDENTIFIER,
2276: diffServSchedulerSchdParam StaticRowPointer,
2277: diffServSchedulerStatus RowStatus
2278: }
2279:
2280:
2281: diffServSchedulerId OBJECT-TYPE
2282: SYNTAX Unsigned32
2283: MAX-ACCESS not-accessible
2284: STATUS current
2285: DESCRIPTION
2286: "An index that enumerates the Scheduler entries. The
2287: set of such identifiers spans the whole agent.
2288: Managers should obtain new values for row creation in
2289: this table by reading diffServSchedulerNextFree."
2290: ::= { diffServSchedulerEntry 1 }
2291:
2292:
2293: diffServSchedulerNext OBJECT-TYPE
2294: SYNTAX RowPointer
2295: MAX-ACCESS read-create
2296: STATUS current
2297: DESCRIPTION
2298: "This selects the next diffserv functional datapath
2299: element to handle traffic for this data path. This
2300: RowPointer should point to an instance of one of:
2301: diffServSchedulerEntry
2302: diffServQEntry As indicated by [MODEL] section
2303: 7.1.4.
2304:
2305: But this RowPointer can also point to an instance of:
2306: diffServClfrEntry
2307: diffServMeterEntry
2308: diffServActionEntry
2309: diffServAlgDropEntry For building of multiple TCBs
2310: for the same data path.
2311:
2312: This should point to another diffServSchedulerEntry
2313: for implementation of multiple scheduler methods for
2314: the same datapath, and for implementation of
2315: hierarchical schedulers.
2316:
2317: A value of zeroDotZero in this attribute indicates no
2318: further Diffserv treatment is performed on traffic of
2319: this datapath. The use of zeroDotZero is the normal
2320: usage for the last functional datapath element of the
2321: current data path.
2322:
2323: If the row pointed to does not exist, the treatment
2324: is as if this attribute contains a value of
2325: zeroDotZero."
2326: DEFVAL { zeroDotZero }
2327: ::= { diffServSchedulerEntry 2 }
2328:
2329:
2330: diffServSchedulerMethod OBJECT-TYPE
2331: SYNTAX OBJECT IDENTIFIER
2332: MAX-ACCESS read-create
2333: STATUS current
2334: DESCRIPTION
2335: "The scheduling algorithm used by this Scheduler. {0
2336: 0} indicates this is unknown. Standard values for
2337: generic algorithms: diffServSchedulerPriority,
2338: diffServSchedulerWRR, and diffServSchedulerWFQ are
2339: specified in this MIB; additional values may be
2340: further specified in other MIBs."
2341: REFERENCE
2342: "[MODEL] section 7.1.2"
2343: ::= { diffServSchedulerEntry 3 }
2344:
2345: diffServSchedulerSchdParam OBJECT-TYPE
2346: SYNTAX StaticRowPointer
2347: MAX-ACCESS read-create
2348: STATUS current
2349: DESCRIPTION
2350: "This StaticRowPointer indicates the entry in
2351: diffServSchdParamTable the higher level scheduler,
2352: pointed to by diffServSchedulerNext, should use to
2353: service the output of this scheduler. This attribute
2354: is only used when there is more than one level of
2355: scheduler. And should have the value of zeroDotZero
2356: when not used."
2357: DEFVAL { zeroDotZero }
2358: ::= { diffServSchedulerEntry 4 }
2359:
2360:
2361: diffServSchedulerStatus OBJECT-TYPE
2362: SYNTAX RowStatus
2363: MAX-ACCESS read-create
2364: STATUS current
2365: DESCRIPTION
2366: "The RowStatus variable controls the activation,
2367: deactivation, or deletion of a queue. Any writable
2368: variable may be modified whether the row is active or
2369: notInService."
2370: ::= { diffServSchedulerEntry 5 }
2371:
2372:
2373: --
2374: -- Scheduling Parameter Table
2375: --
2376: -- The scheduling parameters are separate from the Queue Entries
2377: -- for reusability and for usage by both queues and schedulers,
2378: -- and this follows the separation of datapath elements from
2379: -- parameterization approach used throught out this MIB.
2380: -- Usage of scheduling parameter table entry by schedulers allow
2381: -- building of hierarchical scheduling.
2382: --
2383: -- The diffServSchdParamMaxRateAbs/Rel attributes are used to
2384: -- construct non-work-conserving scheduler for the purpose of
2385: -- traffic shaping. These attributes limits the servicing of
2386: -- the queue/scheduler, in affect, shaping the output of the
2387: -- queue/scheduler, as described in [MODEL] section 7.2.
2388: --
2389:
2390:
2391: diffServSchdParamNextFree OBJECT-TYPE
2392: SYNTAX Unsigned32
2393: MAX-ACCESS read-only
2394: STATUS current
2395: DESCRIPTION
2396: "This object yields a value when read that is
2397: currently unused for a diffServSchdParamId instance.
2398: If a configuring system attempts to create a new row
2399: in the diffServSchdParamTable using this value, that
2400: operation will fail if the value has, in the mean-
2401: time, been used to create another row that is
2402: currently valid."
2403: ::= { diffServScheduler 7 }
2404:
2405:
2406: diffServSchdParamTable OBJECT-TYPE
2407: SYNTAX SEQUENCE OF DiffServSchdParamEntry
2408: MAX-ACCESS not-accessible
2409: STATUS current
2410: DESCRIPTION
2411: "The Scheduling Parameter Table enumerates individual
2412: sets of scheduling parameter that can be used/reused
2413: by Queues and Schedulers."
2414: ::= { diffServScheduler 8 }
2415:
2416:
2417: diffServSchdParamEntry OBJECT-TYPE
2418: SYNTAX DiffServSchdParamEntry
2419: MAX-ACCESS not-accessible
2420: STATUS current
2421: DESCRIPTION
2422: "An entry in the Scheduling Parameter Table describes
2423: a single set of scheduling parameter for use by
2424: queues and schedulers.
2425:
2426: Notice multiple inter-mixed of Queue and Scheduler
2427: entries can use the same Scheduler Parameter entry."
2428: INDEX { diffServSchdParamId }
2429: ::= { diffServSchdParamTable 1 }
2430:
2431:
2432: DiffServSchdParamEntry ::= SEQUENCE {
2433: diffServSchdParamId Unsigned32,
2434: diffServSchdParamPriority Unsigned32,
2435: diffServSchdParamMinRateAbs Unsigned32,
2436: diffServSchdParamMinRateRel Unsigned32,
2437: diffServSchdParamMaxRateAbs Unsigned32,
2438: diffServSchdParamMaxRateRel Unsigned32,
2439: diffServSchdParamBurstSize BurstSize,
2440: diffServSchdParamStatus RowStatus
2441: }
2442:
2443:
2444: diffServSchdParamId OBJECT-TYPE
2445: SYNTAX Unsigned32
2446: MAX-ACCESS not-accessible
2447: STATUS current
2448: DESCRIPTION
2449: "An index that enumerates the Scheduler Parameter
2450: entries. The set of such identifiers spans the whole
2451: agent. Managers should obtain new values for row
2452: creation in this table by reading diffServSchdParam-
2453: NextFree."
2454: ::= { diffServSchdParamEntry 1 }
2455:
2456:
2457: diffServSchdParamPriority OBJECT-TYPE
2458: SYNTAX Unsigned32
2459: MAX-ACCESS read-create
2460: STATUS current
2461: DESCRIPTION
2462: "The priority of this queue, to be used as a parame-
2463: ter to the next scheduler element downstream from
2464: this one. A higher value means higher priority and
2465: should be serviced first."
2466: ::= { diffServSchdParamEntry 2 }
2467:
2468:
2469: diffServSchdParamMinRateAbs OBJECT-TYPE
2470: SYNTAX Unsigned32
2471: UNITS "kilobits per second"
2472: MAX-ACCESS read-create
2473: STATUS current
2474: DESCRIPTION
2475: "The minimum absolute rate, in kilobits/sec, that a
2476: downstream scheduler element should allocate to this
2477: queue. If the value is zero, then there is effec-
2478: tively no minimum rate guarantee. If the value is
2479: non-zero, the scheduler will assure the servicing of
2480: this queue to at least this rate.
2481:
2482: Note that this attribute's value is coupled to that
2483: of diffServSchdParamMinRateRel: changes to one will
2484: affect the value of the other. They are linked by the
2485: following equation:
2486: diffServSchdParamMinRateRel = diffServSchdParamMinRateAbs
2487: * 10,000,000/ifSpeed
2488:
2489: or, if appropriate:
2490:
2491: diffServSchdParamMinRateRel = diffServSchdParamMinRateAbs
2492: * 10 / ifHighSpeed"
2493: REFERENCE
2494: "ifSpeed, ifHighSpeed from [IFMIB]"
2495: ::= { diffServSchdParamEntry 3 }
2496:
2497:
2498: diffServSchdParamMinRateRel OBJECT-TYPE
2499: SYNTAX Unsigned32
2500: MAX-ACCESS read-create
2501: STATUS current
2502: DESCRIPTION
2503: "The minimum rate that a downstream scheduler element
2504: should allocate to this queue, relative to the max-
2505: imum rate of the interface as reported by ifSpeed or
2506: ifHighSpeed, in units of 1/10,000 of 1. If the value
2507: is zero, then there is effectively no minimum rate
2508: guarantee. If the value is non-zero, the scheduler
2509: will assure the servicing of this queue to at least
2510: this rate.
2511:
2512: Note that this attribute's value is coupled to that
2513: of diffServSchdParamMinRateAbs: changes to one will
2514: affect the value of the other. They are linked by the
2515: following equation:
2516:
2517: diffServSchdParamMinRateAbs = ifSpeed *
2518: diffServSchdParamMinRateRel/10,000,000
2519:
2520: or, if appropriate:
2521:
2522: diffServSchdParamMinRateAbs = ifHighSpeed *
2523: diffServSchdParamMinRateRel / 10"
2524: REFERENCE
2525: "ifSpeed, ifHighSpeed from [IFMIB]"
2526: ::= { diffServSchdParamEntry 4 }
2527:
2528:
2529: diffServSchdParamMaxRateAbs OBJECT-TYPE
2530: SYNTAX Unsigned32
2531: UNITS "kilobits per second"
2532: MAX-ACCESS read-create
2533: STATUS current
2534: DESCRIPTION
2535: "The maximum rate in kilobits/sec that a downstream
2536: scheduler element should allocate to this queue. If
2537: the value is zero, then there is effectively no max-
2538: imum rate limit and that the scheduler should attempt
2539: to be work-conserving for this queue. If the value
2540: is non-zero, the scheduler will limit the servicing
2541: of this queue to, at most, this rate in a non-work-
2542: conserving manner.
2543:
2544: Note that this attribute's value is coupled to that
2545: of diffServSchdParamMaxRateRel: changes to one will
2546: affect the value of the other. They are linked by the
2547: following equation:
2548:
2549: diffServSchdParamMaxRateRel = diffServSchdParamMaxRateAbs
2550: * 10,000,000/ifSpeed
2551:
2552: or, if appropriate:
2553:
2554: diffServSchdParamMaxRateRel = diffServSchdParamMaxRateAbs
2555: * 10 / ifHighSpeed"
2556: REFERENCE
2557: "ifSpeed, ifHighSpeed from [IFMIB]"
2558: ::= { diffServSchdParamEntry 5 }
2559:
2560:
2561: diffServSchdParamMaxRateRel OBJECT-TYPE
2562: SYNTAX Unsigned32
2563: MAX-ACCESS read-create
2564: STATUS current
2565: DESCRIPTION
2566: "The maximum rate that a downstream scheduler element
2567: should allocate to this queue, relative to the max-
2568: imum rate of the interface as reported by ifSpeed or
2569: ifHighSpeed, in units of 1/10,000 of 1. If the value
2570: is zero, then there is effectively no maximum rate
2571: limit and the scheduler should attempt to be work-
2572: conserving for this queue. If the value is non-zero,
2573: the scheduler will limit the servicing of this queue
2574: to, at most, this rate in a non-work-conserving
2575: manner.
2576:
2577: Note that this attribute's value is coupled to that
2578: of diffServSchdParamMaxRateAbs: changes to one will
2579: affect the value of the other. They are linked by the
2580: following equation:
2581:
2582: diffServSchdParamMaxRateAbs = ifSpeed *
2583: diffServSchdParamMaxRateRel/10,000,000
2584:
2585: or, if appropriate:
2586:
2587: diffServSchdParamMaxRateAbs = ifHighSpeed *
2588: diffServSchdParamMaxRateRel / 10"
2589: REFERENCE
2590: "ifSpeed, ifHighSpeed from [IFMIB]"
2591: ::= { diffServSchdParamEntry 6 }
2592:
2593:
2594: diffServSchdParamBurstSize OBJECT-TYPE
2595: SYNTAX BurstSize
2596: UNITS "Bytes"
2597: MAX-ACCESS read-create
2598: STATUS current
2599: DESCRIPTION
2600: "The maximum number of bytes in a single transmission
2601: burst. This attribute is used when diffServSchedu-
2602: lerMethod of a downstream Scheduler element is used
2603: for shaping traffic exiting this queue/scheduler."
2604: ::= { diffServSchdParamEntry 7 }
2605:
2606:
2607: diffServSchdParamStatus OBJECT-TYPE
2608: SYNTAX RowStatus
2609: MAX-ACCESS read-create
2610: STATUS current
2611: DESCRIPTION
2612: "The RowStatus variable controls the activation,
2613: deactivation, or deletion of a queue. Any writable
2614: variable may be modified whether the row is active or
2615: notInService."
2616: ::= { diffServSchdParamEntry 8 }
2617:
2618:
2619: --
2620: -- MIB Compliance statements.
2621: --
2622:
2623:
2624: diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 }
2625: diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 }
2626: diffServMIBCompliance MODULE-COMPLIANCE
2627: STATUS current
2628: DESCRIPTION
2629: "This MIB may be implemented as a read-only or as a
2630: read-create MIB. As a result, it may be used for mon-
2631: itoring or for configuration."
2632: MODULE -- This Module
2633: MANDATORY-GROUPS {
2634: diffServMIBDataPathGroup,
2635: diffServMIBClfrGroup,
2636: diffServMIBClfrElementGroup,
2637: diffServMIBSixTupleClfrGroup,
2638: diffServMIBActionGroup,
2639: diffServMIBAlgDropGroup,
2640: diffServMIBQGroup, diffServMIBSchedulerGroup,
2641: diffServMIBSchdParamGroup }
2642:
2643:
2644: -- The groups:
2645: -- diffServMIBCounterGroup
2646: -- diffServMIBHCCounterGroup
2647: -- diffServMIBVHCCounterGroup
2648: --
2649: -- are mutually exclusive; at most one of these groups is implemented
2650: -- for a particular interface. When any of these groups is implemented
2651: -- for a particular interface, then ifCounterDiscontinuityGroup from
2652: -- [IFMIB] must also be implemented for that interface.
2653:
2654:
2655: -- note that the diffServMIBStaticGroup is
2656: -- mandatory for implementations that implement a
2657: -- read-write or read-create mode.
2658:
2659:
2660: GROUP diffServMIBCounterGroup
2661: DESCRIPTION
2662: "This group is mandatory for table objects indexed by
2663: ifIndex for which the value of the corresponding
2664: instance of ifSpeed is less than or equal to
2665: 20,000,000 bits/second."
2666:
2667:
2668: GROUP diffServMIBHCCounterGroup
2669: DESCRIPTION
2670: "This group is mandatory for table objects indexed by
2671: ifIndex for which the value of the corresponding
2672: instance of ifSpeed is greater than 20,000,000
2673: bits/second."
2674:
2675:
2676: GROUP diffServMIBVHCCounterGroup
2677: DESCRIPTION
2678: "This group is mandatory for table objects indexed by
2679: ifIndex for which the value of the corresponding
2680: instance of ifSpeed is greater than 650,000,000
2681: bits/second."
2682:
2683:
2684: GROUP diffServMIBMeterGroup
2685: DESCRIPTION
2686: "This group is mandatory for devices that implement
2687: metering functions."
2688:
2689:
2690: GROUP diffServMIBTBMeterGroup
2691: DESCRIPTION
2692: "This group is mandatory for devices that implement
2693: token-bucket metering functions."
2694:
2695:
2696: GROUP diffServMIBDscpMarkActGroup
2697: DESCRIPTION
2698: "This group is mandatory for devices that implement
2699: DSCP-Marking functions."
2700:
2701:
2702: GROUP diffServMIBRandomDropGroup
2703: DESCRIPTION
2704: "This group is mandatory for devices that implement
2705: Random Drop functions."
2706:
2707:
2708: GROUP diffServMIBStaticGroup
2709: DESCRIPTION
2710: "This group is mandatory for devices that allow crea-
2711: tion of rows in any of the writable tables of this
2712: MIB."
2713:
2714:
2715: OBJECT diffServClfrStatus
2716: MIN-ACCESS read-only
2717: DESCRIPTION
2718: "Write access is not required."
2719:
2720: OBJECT diffServClfrElementOrder
2721: MIN-ACCESS read-only
2722: DESCRIPTION
2723: "Write access is not required."
2724:
2725:
2726: OBJECT diffServClfrElementNext
2727: MIN-ACCESS read-only
2728: DESCRIPTION
2729: "Write access is not required."
2730:
2731:
2732: OBJECT diffServClfrElementSpecific
2733: MIN-ACCESS read-only
2734: DESCRIPTION
2735: "Write access is not required."
2736:
2737:
2738: OBJECT diffServClfrElementStatus
2739: MIN-ACCESS read-only
2740: DESCRIPTION
2741: "Write access is not required."
2742:
2743:
2744: OBJECT diffServSixTupleClfrDstAddrType
2745: MIN-ACCESS read-only
2746: DESCRIPTION
2747: "Write access is not required."
2748:
2749:
2750: OBJECT diffServSixTupleClfrDstAddr
2751: MIN-ACCESS read-only
2752: DESCRIPTION
2753: "Write access is not required."
2754:
2755:
2756: OBJECT diffServSixTupleClfrDstAddrMask
2757: MIN-ACCESS read-only
2758: DESCRIPTION
2759: "Write access is not required."
2760:
2761:
2762: OBJECT diffServSixTupleClfrSrcAddrType
2763: MIN-ACCESS read-only
2764: DESCRIPTION
2765: "Write access is not required."
2766:
2767: OBJECT diffServSixTupleClfrSrcAddr
2768: MIN-ACCESS read-only
2769: DESCRIPTION
2770: "Write access is not required."
2771:
2772:
2773: OBJECT diffServSixTupleClfrSrcAddrMask
2774: MIN-ACCESS read-only
2775: DESCRIPTION
2776: "Write access is not required."
2777:
2778:
2779: OBJECT diffServSixTupleClfrDscp
2780: MIN-ACCESS read-only
2781: DESCRIPTION
2782: "Write access is not required."
2783:
2784:
2785: OBJECT diffServSixTupleClfrProtocol
2786: MIN-ACCESS read-only
2787: DESCRIPTION
2788: "Write access is not required."
2789:
2790:
2791: OBJECT diffServSixTupleClfrSrcL4PortMin
2792: MIN-ACCESS read-only
2793: DESCRIPTION
2794: "Write access is not required."
2795:
2796:
2797: OBJECT diffServSixTupleClfrSrcL4PortMax
2798: MIN-ACCESS read-only
2799: DESCRIPTION
2800: "Write access is not required."
2801:
2802:
2803: OBJECT diffServSixTupleClfrDstL4PortMin
2804: MIN-ACCESS read-only
2805: DESCRIPTION
2806: "Write access is not required."
2807:
2808:
2809: OBJECT diffServSixTupleClfrDstL4PortMax
2810: MIN-ACCESS read-only
2811: DESCRIPTION
2812: "Write access is not required."
2813:
2814: OBJECT diffServSixTupleClfrStatus
2815: MIN-ACCESS read-only
2816: DESCRIPTION
2817: "Write access is not required."
2818:
2819:
2820: OBJECT diffServMeterSucceedNext
2821: MIN-ACCESS read-only
2822: DESCRIPTION
2823: "Write access is not required."
2824:
2825:
2826: OBJECT diffServMeterFailNext
2827: MIN-ACCESS read-only
2828: DESCRIPTION
2829: "Write access is not required."
2830:
2831:
2832: OBJECT diffServMeterSpecific
2833: MIN-ACCESS read-only
2834: DESCRIPTION
2835: "Write access is not required."
2836:
2837:
2838: OBJECT diffServMeterStatus
2839: MIN-ACCESS read-only
2840: DESCRIPTION
2841: "Write access is not required."
2842:
2843:
2844: OBJECT diffServTBMeterType
2845: MIN-ACCESS read-only
2846: DESCRIPTION
2847: "Write access is not required."
2848:
2849:
2850: OBJECT diffServTBMeterRate
2851: MIN-ACCESS read-only
2852: DESCRIPTION
2853: "Write access is not required."
2854:
2855:
2856: OBJECT diffServTBMeterBurstSize
2857: MIN-ACCESS read-only
2858: DESCRIPTION
2859: "Write access is not required."
2860:
2861: OBJECT diffServTBMeterInterval
2862: MIN-ACCESS read-only
2863: DESCRIPTION
2864: "Write access is not required."
2865:
2866:
2867: OBJECT diffServTBMeterStatus
2868: MIN-ACCESS read-only
2869: DESCRIPTION
2870: "Write access is not required."
2871:
2872:
2873: OBJECT diffServActionNext
2874: MIN-ACCESS read-only
2875: DESCRIPTION
2876: "Write access is not required."
2877:
2878:
2879: OBJECT diffServActionSpecific
2880: MIN-ACCESS read-only
2881: DESCRIPTION
2882: "Write access is not required."
2883:
2884:
2885: OBJECT diffServActionType
2886: MIN-ACCESS read-only
2887: DESCRIPTION
2888: "Write access is not required."
2889:
2890:
2891: OBJECT diffServActionStatus
2892: MIN-ACCESS read-only
2893: DESCRIPTION
2894: "Write access is not required."
2895:
2896:
2897: OBJECT diffServCountActStatus
2898: MIN-ACCESS read-only
2899: DESCRIPTION
2900: "Write access is not required."
2901:
2902:
2903: OBJECT diffServAlgDropType
2904: MIN-ACCESS read-only
2905: DESCRIPTION
2906: "Write access is not required."
2907:
2908: OBJECT diffServAlgDropNext
2909: MIN-ACCESS read-only
2910: DESCRIPTION
2911: "Write access is not required."
2912:
2913:
2914: OBJECT diffServAlgDropQMeasure
2915: MIN-ACCESS read-only
2916: DESCRIPTION
2917: "Write access is not required."
2918:
2919:
2920: OBJECT diffServAlgDropQThreshold
2921: MIN-ACCESS read-only
2922: DESCRIPTION
2923: "Write access is not required."
2924:
2925:
2926: OBJECT diffServAlgDropSpecific
2927: MIN-ACCESS read-only
2928: DESCRIPTION
2929: "Write access is not required."
2930:
2931:
2932: OBJECT diffServAlgDropStatus
2933: MIN-ACCESS read-only
2934: DESCRIPTION
2935: "Write access is not required."
2936:
2937:
2938: OBJECT diffServRandomDropMinThreshBytes
2939: MIN-ACCESS read-only
2940: DESCRIPTION
2941: "Write access is not required."
2942:
2943:
2944: OBJECT diffServRandomDropMinThreshPkts
2945: MIN-ACCESS read-only
2946: DESCRIPTION
2947: "Write access is not required."
2948:
2949:
2950: OBJECT diffServRandomDropMaxThreshBytes
2951: MIN-ACCESS read-only
2952: DESCRIPTION
2953: "Write access is not required."
2954:
2955: OBJECT diffServRandomDropMaxThreshPkts
2956: MIN-ACCESS read-only
2957: DESCRIPTION
2958: "Write access is not required."
2959:
2960:
2961: OBJECT diffServRandomDropInvProbMax
2962: MIN-ACCESS read-only
2963: DESCRIPTION
2964: "Write access is not required."
2965:
2966:
2967: OBJECT diffServRandomDropInvWeight
2968: MIN-ACCESS read-only
2969: DESCRIPTION
2970: "Write access is not required."
2971:
2972:
2973: OBJECT diffServRandomDropSamplingRate
2974: MIN-ACCESS read-only
2975: DESCRIPTION
2976: "Write access is not required."
2977:
2978:
2979: OBJECT diffServRandomDropStatus
2980: MIN-ACCESS read-only
2981: DESCRIPTION
2982: "Write access is not required."
2983:
2984:
2985: OBJECT diffServQNext
2986: MIN-ACCESS read-only
2987: DESCRIPTION
2988: "Write access is not required."
2989:
2990:
2991: OBJECT diffServQSchdParam
2992: MIN-ACCESS read-only
2993: DESCRIPTION
2994: "Write access is not required."
2995:
2996:
2997: OBJECT diffServQStatus
2998: MIN-ACCESS read-only
2999: DESCRIPTION
3000: "Write access is not required."
3001:
3002: OBJECT diffServSchedulerNext
3003: MIN-ACCESS read-only
3004: DESCRIPTION
3005: "Write access is not required."
3006:
3007:
3008: OBJECT diffServSchedulerMethod
3009: MIN-ACCESS read-only
3010: DESCRIPTION
3011: "Write access is not required."
3012:
3013:
3014: OBJECT diffServSchedulerSchdParam
3015: MIN-ACCESS read-only
3016: DESCRIPTION
3017: "Write access is not required."
3018:
3019:
3020: OBJECT diffServSchedulerStatus
3021: MIN-ACCESS read-only
3022: DESCRIPTION
3023: "Write access is not required."
3024:
3025:
3026: OBJECT diffServSchdParamPriority
3027: MIN-ACCESS read-only
3028: DESCRIPTION
3029: "Write access is not required."
3030:
3031:
3032: OBJECT diffServSchdParamMinRateAbs
3033: MIN-ACCESS read-only
3034: DESCRIPTION
3035: "Write access is not required."
3036:
3037:
3038: OBJECT diffServSchdParamMinRateRel
3039: MIN-ACCESS read-only
3040: DESCRIPTION
3041: "Write access is not required."
3042:
3043:
3044: OBJECT diffServSchdParamMaxRateAbs
3045: MIN-ACCESS read-only
3046: DESCRIPTION
3047: "Write access is not required."
3048:
3049: OBJECT diffServSchdParamMaxRateRel
3050: MIN-ACCESS read-only
3051: DESCRIPTION
3052: "Write access is not required."
3053:
3054:
3055: OBJECT diffServSchdParamBurstSize
3056: MIN-ACCESS read-only
3057: DESCRIPTION
3058: "Write access is not required."
3059:
3060:
3061: OBJECT diffServSchdParamStatus
3062: MIN-ACCESS read-only
3063: DESCRIPTION
3064: "Write access is not required."
3065:
3066:
3067: ::= { diffServMIBCompliances 1 }
3068:
3069:
3070: diffServMIBDataPathGroup OBJECT-GROUP
3071: OBJECTS {
3072: diffServDataPathStart, diffServDataPathStatus
3073: }
3074: STATUS current
3075: DESCRIPTION
3076: "The Data Path Group defines the MIB Objects that
3077: describe a data path."
3078: ::= { diffServMIBGroups 1 }
3079:
3080:
3081: diffServMIBClfrGroup OBJECT-GROUP
3082: OBJECTS {
3083: diffServClfrStatus
3084: }
3085: STATUS current
3086: DESCRIPTION
3087: "The Classifier Group defines the MIB Objects that
3088: describe a generic classifier."
3089: ::= { diffServMIBGroups 2 }
3090:
3091:
3092: diffServMIBClfrElementGroup OBJECT-GROUP
3093: OBJECTS {
3094: diffServClfrElementOrder, diffServClfrElementNext,
3095: diffServClfrElementSpecific, diffServClfrElementStatus
3096:
3097: }
3098: STATUS current
3099: DESCRIPTION
3100: "The Classifier Element Group defines the MIB Objects
3101: that describe the classifier elements that make up a
3102: generic classifier."
3103: ::= { diffServMIBGroups 3 }
3104:
3105:
3106: diffServMIBSixTupleClfrGroup OBJECT-GROUP
3107: OBJECTS {
3108: diffServSixTupleClfrDstAddrType, diffServSixTupleClfrDstAddr,
3109: diffServSixTupleClfrDstAddrMask,
3110: diffServSixTupleClfrSrcAddrType, diffServSixTupleClfrSrcAddr,
3111: diffServSixTupleClfrSrcAddrMask,
3112: diffServSixTupleClfrDscp, diffServSixTupleClfrProtocol,
3113: diffServSixTupleClfrDstL4PortMin,
3114: diffServSixTupleClfrDstL4PortMax,
3115: diffServSixTupleClfrSrcL4PortMin,
3116: diffServSixTupleClfrSrcL4PortMax,
3117: diffServSixTupleClfrStatus
3118: }
3119: STATUS current
3120: DESCRIPTION
3121: "The Six-tuple Classifier Group defines the MIB
3122: Objects that describe a classifier element for match-
3123: ing on 6 fields of an IP and upper-layer protocol
3124: header."
3125: ::= { diffServMIBGroups 4 }
3126:
3127:
3128: diffServMIBMeterGroup OBJECT-GROUP
3129: OBJECTS {
3130: diffServMeterSucceedNext, diffServMeterFailNext,
3131: diffServMeterSpecific, diffServMeterStatus
3132: }
3133: STATUS current
3134: DESCRIPTION
3135: "The Meter Group defines the objects used in describ-
3136: ing a generic meter element."
3137: ::= { diffServMIBGroups 5 }
3138:
3139:
3140: diffServMIBTBMeterGroup OBJECT-GROUP
3141: OBJECTS {
3142: diffServTBMeterType,
3143: diffServTBMeterRate, diffServTBMeterBurstSize,
3144: diffServTBMeterInterval, diffServTBMeterStatus
3145: }
3146: STATUS current
3147: DESCRIPTION
3148: "The Token-Bucket Meter Group defines the objects
3149: used in describing a token bucket meter element."
3150: ::= { diffServMIBGroups 6 }
3151:
3152:
3153: diffServMIBActionGroup OBJECT-GROUP
3154: OBJECTS {
3155: diffServActionNext, diffServActionSpecific,
3156: diffServActionType, diffServActionStatus
3157: }
3158: STATUS current
3159: DESCRIPTION
3160: "The Action Group defines the objects used in
3161: describing a generic action element."
3162: ::= { diffServMIBGroups 7 }
3163:
3164:
3165: diffServMIBDscpMarkActGroup OBJECT-GROUP
3166: OBJECTS {
3167: diffServDscpMarkActDscp
3168: }
3169: STATUS current
3170: DESCRIPTION
3171: "The DSCP Mark Action Group defines the objects used
3172: in describing a DSCP Marking Action element."
3173: ::= { diffServMIBGroups 8 }
3174:
3175:
3176: diffServMIBCounterGroup OBJECT-GROUP
3177: OBJECTS {
3178: diffServCountActOctets,
3179: diffServCountActPkts,
3180: diffServCountActDiscontTime,
3181: diffServCountActStatus,
3182: diffServAlgDropOctets,
3183: diffServAlgDropPkts
3184: }
3185: STATUS current
3186: DESCRIPTION
3187: "A collection of objects providing information
3188: specific to non-high speed (non-high speed interfaces
3189: transmit and receive at speeds less than or equal to
3190: 20,000,000 bits/second) packet-oriented network
3191: interfaces."
3192: ::= { diffServMIBGroups 9 }
3193:
3194:
3195: diffServMIBHCCounterGroup OBJECT-GROUP
3196: OBJECTS {
3197: diffServCountActOctets, diffServCountActHCOctets,
3198: diffServCountActPkts,
3199: diffServCountActDiscontTime,
3200: diffServCountActStatus,
3201: diffServAlgDropOctets, diffServAlgDropHCOctets,
3202: diffServAlgDropPkts
3203: }
3204: STATUS current
3205: DESCRIPTION
3206: "A collection of objects providing information
3207: specific to high speed (high speed interfaces
3208: transmit and receive at speeds greater than
3209: 20,000,000 but less than or equals to 650,000,000
3210: bits/second) packet-oriented network interfaces."
3211: ::= { diffServMIBGroups 10 }
3212:
3213:
3214: diffServMIBVHCCounterGroup OBJECT-GROUP
3215: OBJECTS {
3216: diffServCountActOctets, diffServCountActHCOctets,
3217: diffServCountActPkts, diffServCountActHCPkts,
3218: diffServCountActDiscontTime,
3219: diffServCountActStatus,
3220: diffServAlgDropOctets, diffServAlgDropHCOctets,
3221: diffServAlgDropPkts, diffServAlgDropHCPkts
3222: }
3223: STATUS current
3224: DESCRIPTION
3225: "A collection of objects providing information
3226: specific to very-high speed (very-high speed inter-
3227: faces transmit and receive at speeds greater than
3228: 650,000,000 bits/second) packet-oriented network
3229: interfaces."
3230: ::= { diffServMIBGroups 11 }
3231:
3232:
3233: diffServMIBAlgDropGroup OBJECT-GROUP
3234: OBJECTS {
3235: diffServAlgDropType, diffServAlgDropNext,
3236: diffServAlgDropQMeasure, diffServAlgDropQThreshold,
3237: diffServAlgDropSpecific, diffServAlgDropStatus
3238:
3239: }
3240: STATUS current
3241: DESCRIPTION
3242: "The Algorithmic Drop Group contains the objects that
3243: describe algorithmic dropper operation and configura-
3244: tion."
3245: ::= { diffServMIBGroups 12 }
3246:
3247:
3248: diffServMIBRandomDropGroup OBJECT-GROUP
3249: OBJECTS {
3250: diffServRandomDropMinThreshBytes,
3251: diffServRandomDropMinThreshPkts,
3252: diffServRandomDropMaxThreshBytes,
3253: diffServRandomDropMaxThreshPkts,
3254: diffServRandomDropInvProbMax,
3255: diffServRandomDropInvWeight,
3256: diffServRandomDropSamplingRate,
3257: diffServRandomDropStatus
3258: }
3259: STATUS current
3260: DESCRIPTION
3261: "The Random Drop Group augments the Algorithmic Drop Group for
3262: random dropper operation and configuration."
3263: ::= { diffServMIBGroups 13 }
3264:
3265:
3266: diffServMIBQGroup OBJECT-GROUP
3267: OBJECTS {
3268: diffServQNext, diffServQSchdParam,
3269: diffServQStatus
3270: }
3271: STATUS current
3272: DESCRIPTION
3273: "The Queue Group contains the objects that describe
3274: an interface's queues."
3275: ::= { diffServMIBGroups 14 }
3276:
3277:
3278: diffServMIBSchedulerGroup OBJECT-GROUP
3279: OBJECTS {
3280: diffServSchedulerNext, diffServSchedulerMethod,
3281: diffServSchedulerSchdParam, diffServSchedulerStatus
3282: }
3283: STATUS current
3284: DESCRIPTION
3285: "The Scheduler Group contains the objects that
3286: describe packet schedulers on interfaces."
3287: ::= { diffServMIBGroups 15 }
3288:
3289:
3290: diffServMIBSchdParamGroup OBJECT-GROUP
3291: OBJECTS {
3292: diffServSchdParamPriority,
3293: diffServSchdParamMinRateAbs, diffServSchdParamMinRateRel,
3294: diffServSchdParamMaxRateAbs, diffServSchdParamMaxRateRel,
3295: diffServSchdParamBurstSize, diffServSchdParamStatus
3296: }
3297: STATUS current
3298: DESCRIPTION
3299: "The Scheduler Parameter Group contains the objects
3300: that describe packet schedulers' parameters on inter-
3301: faces."
3302: ::= { diffServMIBGroups 16 }
3303:
3304:
3305: diffServMIBStaticGroup OBJECT-GROUP
3306: OBJECTS {
3307: diffServClfrNextFree, diffServClfrElementNextFree,
3308: diffServSixTupleClfrNextFree,
3309: diffServMeterNextFree, diffServTBMeterNextFree,
3310: diffServActionNextFree, diffServCountActNextFree,
3311: diffServAlgDropNextFree, diffServRandomDropNextFree,
3312: diffServQNextFree, diffServSchedulerNextFree,
3313: diffServSchdParamNextFree
3314: }
3315: STATUS current
3316: DESCRIPTION
3317: "The Static Group contains readable scalar objects
3318: used in creating unique identifiers for classifiers,
3319: meters, actions and queues. These are required when-
3320: ever row creation operations on such tables are sup-
3321: ported."
3322: ::= { diffServMIBGroups 17 }
3323:
3324:
3325: END