1   TIME-AGGREGATE-MIB DEFINITIONS ::= BEGIN
2    IMPORTS
3      MODULE-IDENTITY,  experimental,
4      OBJECT-TYPE,      Opaque, Integer32
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  tAggrMIB MODULE-IDENTITY
16       LAST-UPDATED "200604270000Z"        --  27 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          DESCRIPTION
30
31
32
33                  "The MIB for servicing Time-Based aggregate
34                    objects.
35
36                    Copyright (C) The Internet Society (2006).  This
37                    version of this MIB module is part of RFC 4498;
38                    see the RFC itself for full legal notices.
39                  "
40          REVISION    "200604270000Z"      -- 27th April, 2006
41          DESCRIPTION "Initial version, published as RFC 4498."
42               ::= { experimental 124 }
43
44   TAggrMOErrorStatus ::= TEXTUAL-CONVENTION
45     STATUS       current
46     DESCRIPTION
47       "This data type is used to model the error status of the
48        sampled MO instance.  The error status for a sampled MO
49        instance is given in terms of two elements:
50          o The moIndex, which indicates the sample number of the MO
51            instance (starting at 1) in the value of the time-
52            aggregated MO instance.
53          o The moError, which indicates the error that was
54            encountered in sampling that MO instance.
55        The syntax in ASN.1 Notation will be
56        ErrorStatus :: = SEQUENCE {
57           moIndex  Integer32,
58           moError  SnmpPduErrorStatus
59        }
60        TAggrMOErrorStatus ::= SEQUENCE OF {
61           ErrorStatus
62        }
63        Note1: The command responder will supply values for all
64               the samples of the MO instance.  If an error is
65               encountered for a sample, then the corresponding
66               value will have an ASN.1 value NULL, and an error
67               will be flagged in the corresponding
68               TAggrMOErrorStatus object.
69               Only MOs for which errors have been encountered will
70               the corresponding moIndex and moError values be 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       "
75     SYNTAX      Opaque (SIZE (0..1024))
76
77   TimeAggrMOValue ::= TEXTUAL-CONVENTION
78     STATUS       current
79     DESCRIPTION
80       "This data type is used to model the time-aggregated MOs.  It
81
82
83        will be a sequence of values.  The syntax in ASN.1 Notation
84        will be
85        MOSampleValue :: = SEQUENCE {
86             value ObjectSyntax
87        }
88        TimeAggrMOValue ::= SEQUENCE OF {
89             MOSampleValue
90        }
91        where the first MOSampleValue, if any, will always be the
92        timestamp of the first sample in the aggregated object.  The
93        subsequent values are the values of the MO instance sampled
94        at the specified intervals for the specified number of times.
95        Note: The command generator will need to know the
96              constituent MO instance and the sampling interval to
97              correctly interpret TimeAggrMOValue.
98       "
99     SYNTAX      Opaque (SIZE (0..1024))
100
101   CompressedTimeAggrMOValue ::= TEXTUAL-CONVENTION
102     STATUS       current
103     DESCRIPTION
104       "This data type is used to model the compressed
105        TAgMOs."
106     SYNTAX      Opaque (SIZE (0..1024))
107
108--
109-- The Time-Based aggregation control table
110--
111   tAggrCtlTable OBJECT-TYPE
112        SYNTAX  SEQUENCE OF TAggrCtlEntry
113        MAX-ACCESS  not-accessible
114        STATUS current
115        DESCRIPTION
116           "The Time-Based aggregation control table.  It controls
117            the aggregation of the samples of MO instances.  There
118            will be a row for each TAgMO.
119           "
120        ::= {tAggrMIB 1}
121
122    tAggrCtlEntry OBJECT-TYPE
123        SYNTAX  TAggrCtlEntry
124        MAX-ACCESS  not-accessible
125        STATUS  current
126        DESCRIPTION
127          "A row of the control table that defines one Time-Based
128           aggregate MO (TAgMO)."
129        INDEX {tAggrCtlEntryID }
130        ::= {tAggrCtlTable 1 }
131
132
133    TAggrCtlEntry ::= SEQUENCE {
134       tAggrCtlEntryID
135                     SnmpAdminString,
136       tAggrCtlMOInstance
137                     OBJECT IDENTIFIER,
138       tAggrCtlAgMODescr
139                     SnmpAdminString,
140       tAggrCtlInterval
141                     Integer32,
142       tAggrCtlSamples
143                     Integer32,
144       tAggrCtlCompressionAlgorithm
145                     INTEGER,
146       tAggrCtlEntryOwner
147                     OwnerString,
148       tAggrCtlEntryStorageType
149                     StorageType,
150       tAggrCtlEntryStatus
151                     RowStatus
152    }
153
154   tAggrCtlEntryID OBJECT-TYPE
155        SYNTAX SnmpAdminString (SIZE(1..32))
156        MAX-ACCESS not-accessible
157        STATUS current
158        DESCRIPTION
159          "A locally unique, administratively assigned name
160            for this aggregated MO.  It is used as an index to
161            uniquely identify this row in the table."
162        ::= { tAggrCtlEntry 1 }
163
164   tAggrCtlMOInstance OBJECT-TYPE
165        SYNTAX OBJECT IDENTIFIER
166        MAX-ACCESS read-create
167        STATUS current
168        DESCRIPTION
169           "The sampled values of this MO instance will be
170            aggregated by the TAgMO.
171            "
172        ::= { tAggrCtlEntry 2 }
173
174   tAggrCtlAgMODescr OBJECT-TYPE
175        SYNTAX SnmpAdminString (SIZE(0..64))
176        MAX-ACCESS read-create
177        STATUS current
178        DESCRIPTION
179           "A textual description of the aggregate object."
180        ::= {tAggrCtlEntry 3}
181
182
183   tAggrCtlInterval OBJECT-TYPE
184        SYNTAX Integer32
185        UNITS  "micro seconds"
186        MAX-ACCESS read-create
187        STATUS current
188        DESCRIPTION
189           "The interval, in microseconds, at which the MO instance
190            pointed at by tAggrInstance will be sampled for
191            Time-Based aggregation.
192          "
193        ::= {tAggrCtlEntry 4}
194
195   tAggrCtlSamples OBJECT-TYPE
196        SYNTAX Integer32
197        MAX-ACCESS read-create
198        STATUS current
199        DESCRIPTION
200           "The number of times at which the MO instance referred
201            to by tAggrInstance will be sampled for Time-Based
202            aggregation."
203        ::= {tAggrCtlEntry 5}
204
205   -- only one compression algorithm is defined as of now.
206   tAggrCtlCompressionAlgorithm OBJECT-TYPE
207        SYNTAX INTEGER {
208               none      (1),
209               deflate   (2)
210        }
211        MAX-ACCESS read-create
212        STATUS current
213        DESCRIPTION
214           "The compression algorithm that will be used by
215            the agent to compress the value of the TAgMO.
216            The deflate algorithm and corresponding data format
217            specification is described in RFC 1951.  It is
218            compatible with the widely used gzip utility.
219          "
220        REFERENCE
221          "RFC1951 : DEFLATE Compressed Data Format Specification
222           version 1.3
223          "
224        DEFVAL { none }
225        ::= {tAggrCtlEntry 6}
226
227   tAggrCtlEntryOwner OBJECT-TYPE
228        SYNTAX OwnerString
229        MAX-ACCESS read-create
230        STATUS current
231
232
233
234        DESCRIPTION
235           "A textual description of the entity that created
236            this entry.
237          "
238        ::= {tAggrCtlEntry 7}
239
240
241   tAggrCtlEntryStorageType OBJECT-TYPE
242        SYNTAX StorageType
243        MAX-ACCESS read-create
244        STATUS current
245        DESCRIPTION
246           "This object defines whether the parameters defined in
247            this row are kept in volatile storage and lost upon
248            reboot or backed up by non-volatile (permanent)
249            storage.
250            Conceptual rows having the value 'permanent' need not
251            allow write-access to any columnar objects in the row.
252           "
253        ::= {tAggrCtlEntry 8}
254
255   tAggrCtlEntryStatus OBJECT-TYPE
256        SYNTAX RowStatus
257        MAX-ACCESS read-create
258        STATUS current
259        DESCRIPTION
260           "The row status variable, used according to row
261            installation and removal conventions.
262            Objects in a row can be modified only when the value of
263            this object in the corresponding conceptual row is not
264            'active'.
265            Thus, to modify one or more of the objects in this
266            conceptual row,
267              a. change the row status to 'notInService',
268              b. change the values of the row, and
269              c. change the row status to 'active'.
270            The tAggrCtlEntryStatus may be changed to 'active' iff
271            all the MOs in the conceptual row have been assigned
272            valid values.
273           "
274        ::= {tAggrCtlEntry 9}
275
276
277   --
278   -- tAggrDataTable: The data table.
279   --
280   tAggrDataTable OBJECT-TYPE
281        SYNTAX  SEQUENCE OF TAggrDataEntry
282
283
284
285        MAX-ACCESS  not-accessible
286        STATUS  current
287        DESCRIPTION
288           "This is the data table.  Each row of this table contains
289            information about a TAgMO indexed by tAggrCtlEntryID.
290            tAggrCtlEntryID is the key to the table.  It is used to
291            identify instances of the TAgMO that are present in the
292            table.
293          "
294        ::= {tAggrMIB 2}
295
296   tAggrDataEntry OBJECT-TYPE
297        SYNTAX  TAggrDataEntry
298        MAX-ACCESS  not-accessible
299        STATUS  current
300        DESCRIPTION
301          "Entry containing information pertaining
302            to a TAgMO."
303        INDEX {tAggrCtlEntryID}
304        ::= {tAggrDataTable 1 }
305
306   TAggrDataEntry ::= SEQUENCE {
307      tAggrDataRecord
308                 TimeAggrMOValue,
309      tAggrDataRecordCompressed
310                 CompressedTimeAggrMOValue,
311      tAggrDataErrorRecord
312                 TAggrMOErrorStatus
313      }
314
315   tAggrDataRecord OBJECT-TYPE
316        SYNTAX TimeAggrMOValue
317        MAX-ACCESS read-only
318        STATUS current
319        DESCRIPTION
320          "The snapshot value of the TAgMO."
321        ::= { tAggrDataEntry 1}
322
323   tAggrDataRecordCompressed OBJECT-TYPE
324        SYNTAX CompressedTimeAggrMOValue
325        MAX-ACCESS read-only
326        STATUS current
327        DESCRIPTION
328          "The compressed value of the TAgMO.
329           The compression algorithm will depend on the
330           tAggrCtlCompressionAlgorithm given in the corresponding
331           tAggrCtlEntry.  If the value of the corresponding
332           tAggrCtlCompressionAlgorithm is (1) 'none', then the
333
334
335
336           value of all instances of this object will be a string
337           of zero length.
338           Note that the access privileges to this object will be
339           governed by the access privileges of the corresponding MO
340           instance.  Thus, an entity attempting to access an
341           instance of this MO MUST have access rights to the
342           instance object pointed at by tAggrCtlMOInstance and this
343           MO instance.
344          "
345        ::= { tAggrDataEntry 2}
346
347   tAggrDataErrorRecord OBJECT-TYPE
348        SYNTAX TAggrMOErrorStatus
349        MAX-ACCESS read-only
350        STATUS current
351        DESCRIPTION
352           "The error status corresponding to the MO instance
353            samples aggregated in tAggrDataRecord (and
354            tAggrDataRecordCompressed)."
355        ::= { tAggrDataEntry 3}
356
357
358    -- Conformance information
359   tAggrConformance OBJECT IDENTIFIER ::= { tAggrMIB 3 }
360   tAggrGroups      OBJECT IDENTIFIER ::= { tAggrConformance 1 }
361   tAggrCompliances OBJECT IDENTIFIER ::= { tAggrConformance 2 }
362
363    -- Compliance statements
364   tAggrMibCompliance MODULE-COMPLIANCE
365        STATUS  current
366        DESCRIPTION
367                "The compliance statement for SNMP entities
368                 that implement the TIME-AGGREGATE-MIB."
369        MODULE  -- this module
370            MANDATORY-GROUPS { tAggrMibBasicGroup }
371        ::= { tAggrCompliances 1 }
372
373    -- Units of conformance
374   tAggrMibBasicGroup    OBJECT-GROUP
375        OBJECTS {
376                   tAggrCtlMOInstance,
377                   tAggrCtlAgMODescr,
378                   tAggrCtlInterval,
379                   tAggrCtlSamples,
380                   tAggrCtlCompressionAlgorithm,
381                   tAggrCtlEntryOwner,
382                   tAggrCtlEntryStorageType,
383                   tAggrCtlEntryStatus,
384
385
386
387                   tAggrDataRecord,
388                   tAggrDataRecordCompressed,
389                   tAggrDataErrorRecord
390       }
391        STATUS  current
392        DESCRIPTION
393                 "A collection of objects for Time-Based aggregation
394                  of MOs."
395        ::= { tAggrGroups 1 }
396   END
397