1 AGGREGATE-MIB DEFINITIONS ::= BEGIN
3 MODULE-IDENTITY, experimental, Unsigned32,
8 RowStatus, StorageType, TEXTUAL-CONVENTION
10 MODULE-COMPLIANCE, OBJECT-GROUP
13 FROM SNMP-FRAMEWORK-MIB;
15 aggrMIB MODULE-IDENTITY
16 LAST-UPDATED "200604270000Z" -- 27th April, 2006
17 ORGANIZATION "Cyber Solutions Inc. NetMan Working Group"
19 " Glenn Mansfield Keeni
20 Postal: Cyber Solutions Inc.
21 6-6-3, Minami Yoshinari
22 Aoba-ku, Sendai, Japan 989-3204.
25 E-mail: glenn@cysols.com
27 Support Group E-mail: mibsupport@cysols.com"
32 "The MIB for servicing aggregate objects.
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.
38 REVISION "200604270000Z" -- 27th April, 2006
39 DESCRIPTION "Initial version, published as RFC 4498."
40 ::= { experimental 123 }
42 AggrMOErrorStatus ::= TEXTUAL-CONVENTION
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
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 {
56 moError SnmpPduErrorStatus
58 AggrMOErrorStatus ::= SEQUENCE OF {
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
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.
78 SYNTAX Opaque (SIZE (0..1024))
82 AggrMOValue ::= TEXTUAL-CONVENTION
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
89 MOValue :: = SEQUENCE {
92 where 'value' is the value of a constituent MO instance.
93 AggrMOValue :: = SEQUENCE OF {
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))
102 AggrMOCompressedValue ::= TEXTUAL-CONVENTION
105 "This data type is used to model the compressed
107 SYNTAX OCTET STRING (SIZE (0..1024))
110 -- The aggregation control table
111 -- There will be a row for each aggregate MO
113 aggrCtlTable OBJECT-TYPE
114 SYNTAX SEQUENCE OF AggrCtlEntry
115 MAX-ACCESS not-accessible
118 "A table that controls the aggregation of the MOs."
121 aggrCtlEntry OBJECT-TYPE
123 MAX-ACCESS not-accessible
126 "A row of the control table that defines one aggregated
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.
137 INDEX {aggrCtlEntryID }
138 ::= {aggrCtlTable 1 }
140 AggrCtlEntry ::= SEQUENCE {
147 aggrCtlCompressionAlgorithm
151 aggrCtlEntryStorageType
157 aggrCtlEntryID OBJECT-TYPE
158 SYNTAX SnmpAdminString (SIZE(1..32))
159 MAX-ACCESS not-accessible
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 }
167 aggrCtlMOIndex OBJECT-TYPE
168 SYNTAX Unsigned32 (1..2147483647)
169 MAX-ACCESS read-create
172 "A pointer to a group of MOs identified by aggrMOEntryID
173 in the aggrMOTable. This is the group of MOs that will
175 ::= { aggrCtlEntry 2 }
177 aggrCtlMODescr OBJECT-TYPE
178 SYNTAX SnmpAdminString (SIZE(0..64))
179 MAX-ACCESS read-create
185 "A textual description of the object that is
189 -- only one compression algorithm is defined as of now.
190 aggrCtlCompressionAlgorithm OBJECT-TYPE
195 MAX-ACCESS read-create
198 "The compression algorithm that will be used by
199 the agent to compress the value of the aggregated
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.
206 "RFC1951 : DEFLATE Compressed Data Format Specification
212 aggrCtlEntryOwner OBJECT-TYPE
214 MAX-ACCESS read-create
217 "The entity that created this entry."
220 aggrCtlEntryStorageType OBJECT-TYPE
222 MAX-ACCESS read-create
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)
230 Conceptual rows having the value 'permanent' need not
231 allow write-access to any columnar objects in the row.
238 aggrCtlEntryStatus OBJECT-TYPE
240 MAX-ACCESS read-create
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
248 Thus, to modify one or more of the objects in this
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
260 -- The Table of primary(simple) MOs
262 aggrMOTable OBJECT-TYPE
263 SYNTAX SEQUENCE OF AggrMOEntry
264 MAX-ACCESS not-accessible
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.
278 aggrMOEntry OBJECT-TYPE
280 MAX-ACCESS not-accessible
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.
291 INDEX { aggrMOEntryID, aggrMOEntryMOID }
294 AggrMOEntry ::= SEQUENCE {
303 aggrMOEntryStorageType
309 aggrMOEntryID OBJECT-TYPE
310 SYNTAX Unsigned32 (1..2147483647)
311 MAX-ACCESS not-accessible
314 "An index uniquely identifying a group of MOs
315 that will be aggregated."
316 ::= { aggrMOEntry 1 }
318 aggrMOEntryMOID OBJECT-TYPE
319 SYNTAX Unsigned32 (1..65535)
320 MAX-ACCESS not-accessible
323 "An index to uniquely identify an MO instance in the
324 group of MO instances that will be aggregated."
325 ::= { aggrMOEntry 2 }
327 aggrMOInstance OBJECT-TYPE
328 SYNTAX OBJECT IDENTIFIER
329 MAX-ACCESS read-create
332 "The OID of the MO instance, the value of which will
333 be sampled by the agent."
337 ::= { aggrMOEntry 3 }
339 aggrMODescr OBJECT-TYPE
340 SYNTAX SnmpAdminString (SIZE(0..64))
341 MAX-ACCESS read-create
344 "A textual description of the object that will
348 aggrMOEntryStorageType OBJECT-TYPE
350 MAX-ACCESS read-create
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)
357 Conceptual rows having the value 'permanent' need not
358 allow write-access to any columnar objects in the row.
362 aggrMOEntryStatus OBJECT-TYPE
364 MAX-ACCESS read-create
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
372 Thus, to modify one or more of the objects in this
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
384 -- aggrDataTable: The Table of Data. Each row represents a Data
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.
392 aggrDataTable OBJECT-TYPE
393 SYNTAX SEQUENCE OF AggrDataEntry
394 MAX-ACCESS not-accessible
397 "Each row of this table contains information
398 about an aggregateMO indexed by aggrCtlEntryID."
401 aggrDataEntry OBJECT-TYPE
403 MAX-ACCESS not-accessible
406 "Entry containing information pertaining to
408 INDEX {aggrCtlEntryID}
409 ::= {aggrDataTable 1 }
411 AggrDataEntry ::= SEQUENCE {
414 aggrDataRecordCompressed
415 AggrMOCompressedValue,
420 aggrDataRecord OBJECT-TYPE
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.
432 ::= { aggrDataEntry 1}
434 aggrDataRecordCompressed OBJECT-TYPE
435 SYNTAX AggrMOCompressedValue
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
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.
455 ::= { aggrDataEntry 2}
457 aggrDataErrorRecord OBJECT-TYPE
458 SYNTAX AggrMOErrorStatus
462 "The error status corresponding to the MO instances
463 aggregated in aggrDataRecord (and
464 aggrDataRecordCompressed)."
465 ::= { aggrDataEntry 3}
467 -- Conformance information
468 aggrConformance OBJECT IDENTIFIER ::= { aggrMIB 4 }
469 aggrGroups OBJECT IDENTIFIER ::= { aggrConformance 1 }
470 aggrCompliances OBJECT IDENTIFIER ::= { aggrConformance 2 }
472 -- Compliance statements
473 aggrMibCompliance MODULE-COMPLIANCE
476 "The compliance statement for SNMP entities
477 that implement the AGGREGATE-MIB."
478 MODULE -- this module
479 MANDATORY-GROUPS { aggrMibBasicGroup }
480 ::= { aggrCompliances 1 }
482 -- Units of conformance
483 aggrMibBasicGroup OBJECT-GROUP
490 aggrCtlCompressionAlgorithm,
492 aggrCtlEntryStorageType,
496 aggrMOEntryStorageType,
499 aggrDataRecordCompressed,
504 "A collection of objects for aggregation of MOs."