Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / AGGREGATE-MIB
1    AGGREGATE-MIB DEFINITIONS ::= BEGIN
2     IMPORTS
3       MODULE-IDENTITY,  experimental, Unsigned32,
4       OBJECT-TYPE, Opaque
5                  FROM SNMPv2-SMI
6       OwnerString
7                  FROM RMON-MIB
8       RowStatus, StorageType, TEXTUAL-CONVENTION
9                  FROM SNMPv2-TC
10       MODULE-COMPLIANCE, OBJECT-GROUP
11                  FROM SNMPv2-CONF
12       SnmpAdminString
13                  FROM SNMP-FRAMEWORK-MIB;
14
15   aggrMIB MODULE-IDENTITY
16        LAST-UPDATED "200604270000Z"        --  27th April, 2006
17        ORGANIZATION "Cyber Solutions Inc. NetMan Working Group"
18        CONTACT-INFO
19       "                      Glenn Mansfield Keeni
20                      Postal: Cyber Solutions Inc.
21                              6-6-3, Minami Yoshinari
22                              Aoba-ku, Sendai, Japan 989-3204.
23                         Tel: +81-22-303-4012
24                         Fax: +81-22-303-4015
25                      E-mail: glenn@cysols.com
26
27           Support Group E-mail: mibsupport@cysols.com"
28
29
30
31           DESCRIPTION
32                   "The MIB for servicing aggregate objects.
33
34                    Copyright (C) The Internet Society (2006).  This
35                    version of this MIB module is part of RFC 4498;
36                    see the RFC itself for full legal notices.
37                   "
38           REVISION    "200604270000Z"      -- 27th April, 2006
39           DESCRIPTION "Initial version, published as RFC 4498."
40                ::= { experimental 123 }
41
42    AggrMOErrorStatus ::= TEXTUAL-CONVENTION
43      STATUS       current
44      DESCRIPTION
45        "This data type is used to model the error status of the
46         constituent MO instances.  The error status for a
47         constituent MO instance is given in terms of two elements:
48           o The moIndex, which indicates the position of the MO
49             instance (starting at 1) in the value of the aggregated
50             MO instance.
51           o The moError, which indicates the error that was
52             encountered in fetching that MO instance.
53         The syntax in ASN.1 Notation will be
54         ErrorStatus :: = SEQUENCE {
55            moIndex  Integer32,
56            moError  SnmpPduErrorStatus
57         }
58         AggrMOErrorStatus ::= SEQUENCE OF {
59            ErrorStatus
60         }
61         Note1: The command responder will supply values for all
62                constituent MO instances, in the same order in
63                which the MO instances are specified for the AgMO.
64                If an error is encountered for an MO instance, then
65                the corresponding value will have an ASN.1 value NULL,
66                and an error will be flagged in the corresponding
67                AggrMOErrorStatus object.
68                Only MOs for which errors have been encountered will
69                have their corresponding moIndex and moError values
70                set.
71         Note2: The error code for the component MO instances will be
72                in accordance with the SnmpPduErrorStatus TC defined
73                in the DISMAN-SCHEDULE-MIB [RFC3231].
74         Note3: The command generator will need to know
75                constituent MO instances and their order to correctly
76                interpret AggrMOErrorStatus.
77        "
78      SYNTAX      Opaque (SIZE (0..1024))
79
80
81
82    AggrMOValue ::= TEXTUAL-CONVENTION
83      STATUS       current
84      DESCRIPTION
85        "This data type is used to model the aggregate
86         MOs.  It will have a format dependent on the constituent
87         MOs, a sequence of values.  The syntax in ASN.1 Notation will
88         be
89         MOValue :: = SEQUENCE {
90              value ObjectSyntax
91         }
92         where 'value' is the value of a constituent MO instance.
93         AggrMOValue :: = SEQUENCE OF {
94             MOValue
95         }
96
97         Note: The command generator will need to know the
98         constituent MO instances and their order to
99         correctly interpret AggrMOValue."
100      SYNTAX      Opaque (SIZE (0..1024))
101
102    AggrMOCompressedValue ::= TEXTUAL-CONVENTION
103      STATUS       current
104      DESCRIPTION
105        "This data type is used to model the compressed
106         aggregate MOs."
107      SYNTAX      OCTET STRING (SIZE (0..1024))
108
109 --
110 -- The aggregation control table
111 -- There will be a row for each aggregate MO
112 --
113    aggrCtlTable OBJECT-TYPE
114         SYNTAX  SEQUENCE OF AggrCtlEntry
115         MAX-ACCESS  not-accessible
116         STATUS current
117         DESCRIPTION
118           "A table that controls the aggregation of the MOs."
119         ::= {aggrMIB 1}
120
121     aggrCtlEntry OBJECT-TYPE
122         SYNTAX  AggrCtlEntry
123         MAX-ACCESS  not-accessible
124         STATUS  current
125         DESCRIPTION
126           "A row of the control table that defines one aggregated
127            MO.
128
129
130
131
132
133            Entries in this table are required to survive a reboot
134            of the managed entity depending on the value of the
135            corresponding aggrCtlEntryStorageType instance.
136           "
137         INDEX {aggrCtlEntryID }
138         ::= {aggrCtlTable 1 }
139
140     AggrCtlEntry ::= SEQUENCE {
141        aggrCtlEntryID
142                      SnmpAdminString,
143        aggrCtlMOIndex
144                      Unsigned32,
145        aggrCtlMODescr
146                      SnmpAdminString,
147        aggrCtlCompressionAlgorithm
148                      INTEGER,
149        aggrCtlEntryOwner
150                      OwnerString,
151        aggrCtlEntryStorageType
152                      StorageType,
153        aggrCtlEntryStatus
154                      RowStatus
155     }
156
157    aggrCtlEntryID OBJECT-TYPE
158         SYNTAX SnmpAdminString (SIZE(1..32))
159         MAX-ACCESS not-accessible
160         STATUS current
161         DESCRIPTION
162           "A locally unique, administratively assigned name
163            for this aggregated MO.  It is used as an index to
164            uniquely identify this row in the table."
165         ::= { aggrCtlEntry 1 }
166
167    aggrCtlMOIndex OBJECT-TYPE
168         SYNTAX Unsigned32 (1..2147483647)
169         MAX-ACCESS read-create
170         STATUS current
171         DESCRIPTION
172           "A pointer to a group of MOs identified by aggrMOEntryID
173            in the aggrMOTable.  This is the group of MOs that will
174            be aggregated."
175         ::= { aggrCtlEntry 2 }
176
177    aggrCtlMODescr OBJECT-TYPE
178         SYNTAX SnmpAdminString (SIZE(0..64))
179         MAX-ACCESS read-create
180         STATUS current
181
182
183
184         DESCRIPTION
185           "A textual description of the object that is
186            being aggregated."
187         ::= {aggrCtlEntry 3}
188
189    -- only one compression algorithm is defined as of now.
190    aggrCtlCompressionAlgorithm OBJECT-TYPE
191         SYNTAX INTEGER {
192                none      (1),
193                deflate   (2)
194         }
195         MAX-ACCESS read-create
196         STATUS current
197         DESCRIPTION
198           "The compression algorithm that will be used by
199            the agent to compress the value of the aggregated
200            object.
201            The deflate algorithm and corresponding data format
202            specification is described in RFC 1951.  It is
203            compatible with the widely used gzip utility.
204           "
205         REFERENCE
206           "RFC1951 : DEFLATE Compressed Data Format Specification
207            version 1.3
208           "
209         DEFVAL { none }
210         ::= {aggrCtlEntry 4}
211
212    aggrCtlEntryOwner OBJECT-TYPE
213         SYNTAX OwnerString
214         MAX-ACCESS read-create
215         STATUS current
216         DESCRIPTION
217           "The entity that created this entry."
218         ::= {aggrCtlEntry 5}
219
220    aggrCtlEntryStorageType OBJECT-TYPE
221         SYNTAX StorageType
222         MAX-ACCESS read-create
223         STATUS current
224         DESCRIPTION
225            "This object defines whether the parameters defined in
226             this row are kept in volatile storage and lost upon
227             reboot or backed up by non-volatile (permanent)
228             storage.
229
230             Conceptual rows having the value 'permanent' need not
231             allow write-access to any columnar objects in the row.
232
233
234
235            "
236         ::= {aggrCtlEntry 6}
237
238    aggrCtlEntryStatus OBJECT-TYPE
239         SYNTAX RowStatus
240         MAX-ACCESS read-create
241         STATUS current
242         DESCRIPTION
243            "The row status variable, used according to row
244             installation and removal conventions.
245             Objects in a row can be modified only when the value of
246             this object in the corresponding conceptual row is not
247             'active'.
248             Thus, to modify one or more of the objects in this
249             conceptual row,
250               a. change the row status to 'notInService',
251               b. change the values of the row, and
252               c. change the row status to 'active'.
253             The aggrCtlEntryStatus may be changed to 'active' if
254             all the MOs in the conceptual row have been assigned
255             valid values.
256            "
257         ::= {aggrCtlEntry 7}
258
259 --
260 -- The Table of primary(simple) MOs
261 --
262    aggrMOTable OBJECT-TYPE
263         SYNTAX  SEQUENCE OF AggrMOEntry
264         MAX-ACCESS  not-accessible
265         STATUS current
266         DESCRIPTION
267            "The table of primary(simple) MOs that will be aggregated.
268             Each row in this table represents a MO that will be
269             aggregated.  The aggrMOEntryID index is used to identify
270             the group of MOs that will be aggregated.  The
271             aggrMOIndex instance in the corresponding row of the
272             aggrCtlTable will have a value equal to the value of
273             aggrMOEntryID.  The aggrMOEntryMOID index is used to
274             identify an MO in the group.
275            "
276         ::= {aggrMIB 2}
277
278     aggrMOEntry OBJECT-TYPE
279         SYNTAX  AggrMOEntry
280         MAX-ACCESS  not-accessible
281         STATUS  current
282         DESCRIPTION
283
284
285
286            "A row of the table that specifies one MO.
287             Entries in this table are required to survive a reboot
288             of the managed entity depending on the value of the
289             corresponding aggrMOEntryStorageType instance.
290            "
291         INDEX { aggrMOEntryID, aggrMOEntryMOID }
292         ::= {aggrMOTable 1 }
293
294     AggrMOEntry ::= SEQUENCE {
295        aggrMOEntryID
296                      Unsigned32,
297        aggrMOEntryMOID
298                      Unsigned32,
299        aggrMOInstance
300                      OBJECT IDENTIFIER,
301        aggrMODescr
302                      SnmpAdminString,
303        aggrMOEntryStorageType
304                      StorageType,
305        aggrMOEntryStatus
306                      RowStatus
307     }
308
309    aggrMOEntryID OBJECT-TYPE
310         SYNTAX Unsigned32 (1..2147483647)
311         MAX-ACCESS not-accessible
312         STATUS current
313         DESCRIPTION
314           "An index uniquely identifying a group of MOs
315            that will be aggregated."
316         ::= { aggrMOEntry 1 }
317
318    aggrMOEntryMOID OBJECT-TYPE
319         SYNTAX Unsigned32 (1..65535)
320         MAX-ACCESS not-accessible
321         STATUS current
322         DESCRIPTION
323           "An index to uniquely identify an MO instance in the
324            group of MO instances that will be aggregated."
325         ::= { aggrMOEntry 2 }
326
327    aggrMOInstance OBJECT-TYPE
328         SYNTAX OBJECT IDENTIFIER
329         MAX-ACCESS read-create
330         STATUS current
331         DESCRIPTION
332           "The OID of the MO instance, the value of which will
333            be sampled by the agent."
334
335
336
337         ::= { aggrMOEntry 3 }
338
339    aggrMODescr OBJECT-TYPE
340         SYNTAX SnmpAdminString (SIZE(0..64))
341         MAX-ACCESS read-create
342         STATUS current
343         DESCRIPTION
344            "A textual description of the object that will
345             be aggregated."
346         ::= {aggrMOEntry 4}
347
348    aggrMOEntryStorageType OBJECT-TYPE
349         SYNTAX StorageType
350         MAX-ACCESS read-create
351         STATUS current
352         DESCRIPTION
353            "This object defines whether the parameters defined in
354             this row are kept in volatile storage and lost upon
355             reboot or backed up by non-volatile (permanent)
356             storage.
357             Conceptual rows having the value 'permanent' need not
358             allow write-access to any columnar objects in the row.
359            "
360         ::= {aggrMOEntry 5}
361
362    aggrMOEntryStatus OBJECT-TYPE
363         SYNTAX RowStatus
364         MAX-ACCESS read-create
365         STATUS current
366         DESCRIPTION
367            "The row status variable, used according to row
368             installation and removal conventions.
369             Objects in a row can be modified only when the value of
370             this object in the corresponding conceptual row is not
371             'active'.
372             Thus, to modify one or more of the objects in this
373             conceptual row,
374               a. change the row status to 'notInService',
375               b. change the values of the row, and
376               c. change the row status to 'active'.
377             The aggrMOEntryStatus may be changed to 'active' iff
378             all the MOs in the conceptual row have been assigned
379             valid values.
380            "
381         ::= {aggrMOEntry 6}
382
383    --
384    -- aggrDataTable: The Table of Data.  Each row represents a Data
385
386
387
388    --                set.  aggrCtlEntryID is the key to the table.
389    --                It is used to identify instances of the
390    --                aggregated MO that are present in the table.
391    --
392    aggrDataTable OBJECT-TYPE
393         SYNTAX  SEQUENCE OF AggrDataEntry
394         MAX-ACCESS  not-accessible
395         STATUS  current
396         DESCRIPTION
397            "Each row of this table contains information
398             about an aggregateMO indexed by aggrCtlEntryID."
399         ::= {aggrMIB 3}
400
401    aggrDataEntry OBJECT-TYPE
402         SYNTAX  AggrDataEntry
403         MAX-ACCESS  not-accessible
404         STATUS  current
405         DESCRIPTION
406            "Entry containing information pertaining to
407             an aggregate MO."
408         INDEX {aggrCtlEntryID}
409         ::= {aggrDataTable 1 }
410
411    AggrDataEntry ::= SEQUENCE {
412       aggrDataRecord
413                  AggrMOValue,
414       aggrDataRecordCompressed
415                  AggrMOCompressedValue,
416       aggrDataErrorRecord
417                  AggrMOErrorStatus
418       }
419
420    aggrDataRecord OBJECT-TYPE
421         SYNTAX AggrMOValue
422         MAX-ACCESS read-only
423         STATUS current
424         DESCRIPTION
425           "The snapshot value of the aggregated MO.
426            Note that the access privileges to this object will be
427            governed by the access privileges of the component
428            objects.  Thus, an entity attempting to access an
429            instance of this MO MUST have access rights to all the
430            component instance objects and this MO instance.
431           "
432         ::= { aggrDataEntry 1}
433
434    aggrDataRecordCompressed OBJECT-TYPE
435         SYNTAX AggrMOCompressedValue
436
437
438
439         MAX-ACCESS read-only
440         STATUS current
441         DESCRIPTION
442           "The compressed value of the aggregated MO.
443            The compression algorithm will depend on the
444            aggrCtlCompressionAlgorithm given in the corresponding
445            aggrCtlEntry.  If the value of the corresponding
446            aggrCtlCompressionAlgorithm is (1) 'none', then the value
447            of all instances of this object will be a string of zero
448            length.
449            Note that the access privileges to this object will be
450            governed by the access privileges of the component
451            objects.  Thus, an entity attempting to access an instance
452            of this MO MUST have access rights to all the component
453            instance objects and this MO instance.
454           "
455         ::= { aggrDataEntry 2}
456
457    aggrDataErrorRecord OBJECT-TYPE
458         SYNTAX AggrMOErrorStatus
459         MAX-ACCESS read-only
460         STATUS current
461         DESCRIPTION
462            "The error status corresponding to the MO instances
463             aggregated in aggrDataRecord (and
464             aggrDataRecordCompressed)."
465         ::= { aggrDataEntry 3}
466
467     -- Conformance information
468    aggrConformance OBJECT IDENTIFIER ::= { aggrMIB 4 }
469    aggrGroups      OBJECT IDENTIFIER ::= { aggrConformance 1 }
470    aggrCompliances OBJECT IDENTIFIER ::= { aggrConformance 2 }
471
472     -- Compliance statements
473    aggrMibCompliance MODULE-COMPLIANCE
474         STATUS  current
475         DESCRIPTION
476                 "The compliance statement for SNMP entities
477                  that implement the AGGREGATE-MIB."
478         MODULE  -- this module
479             MANDATORY-GROUPS { aggrMibBasicGroup }
480         ::= { aggrCompliances 1 }
481
482     -- Units of conformance
483    aggrMibBasicGroup    OBJECT-GROUP
484         OBJECTS {
485                    aggrCtlMOIndex,
486                    aggrCtlMODescr,
487
488
489
490                    aggrCtlCompressionAlgorithm,
491                    aggrCtlEntryOwner,
492                    aggrCtlEntryStorageType,
493                    aggrCtlEntryStatus,
494                    aggrMOInstance,
495                    aggrMODescr,
496                    aggrMOEntryStorageType,
497                    aggrMOEntryStatus,
498                    aggrDataRecord,
499                    aggrDataRecordCompressed,
500                    aggrDataErrorRecord
501        }
502         STATUS  current
503         DESCRIPTION
504                 "A collection of objects for aggregation of MOs."
505         ::= { aggrGroups 1 }
506    END