[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A Data collection MIB
Hi, all. I have a couple of observations about the thread. First, the idea of
aggregating data on a device is a good one. Collecting data based on specific
instances of object types such as ifInOctets is also helpful.
The second observation is that some of this could accomplished with policies
that use the same selection functions that they would use for the policy
condition in the SNMPCONF work. These data could then be aggregated in
special purpose MIB Objects.
The third observation is that there is already a lot of work on the EOS plate
and nothing should be taken up until the items on the current to do list are
done.
/jon
>
>
>
> Nalin,
>
>
> I think this is an interesting idea. It has some similarities with the
> RMON-II usrHistory as defined in RFC-2021. You might want to investigate
> that MIB as a source of reference for this as well. The RMON_II table
> does not support monitoring of anything that is not an integer base like
> your MIB does. But it has the advantage that it can support a history of
> information. Thus you can configure the agent to go monitor the
> attribute at five minute intervals, then once an hour use get-bulk or
> the file transfer to extract the data from the agent.
> Carl
>
> Nalin Pai wrote:
> >
> > Folks,
> >
> > Hoping to kick off a discussion on a MIB idea that I have been playing
> > around with for sometime now. I have been in touch with Bryan Levin
> > and David Battle regarding merging this idea with theirs
> > (draft-ietf-eos-snmp-bulkdata-00.txt)
> >
> > We thought it would be best to throw this open to eos.
> >
> > This MIB is intended to help periodic data retrievals, when the data
> > itself is a set of discontiguous rows spread across multiple tables.
> > Likely applications are performance and accounting applications.
> >
> > For e.g.
> > The user wants to periodically fetch
> > - ifInOctets, ifOutOctets from ifTable
> > - ifHCInOctets, ifHCOutOctets from ifXTable
> > - dot3StatsLateCollisions, dot3StatsSingleCollisionFrames from
> > dot3StatsTable.
> >
> > and is interested only in a set of interfaces, lets say
> > having ifIndex
> > 1,5,10-12,23-25.
> >
> > The use of get-bulk to fetch the required object instances would be
> > inefficient since a lot of unnecessary object instances would also be
> > retrieved. Also since all 3 tables need not have the same number of
> > rows, it again may not be possible to use a single get-bulk
> > request to fetch rows from all 3 tables simultaneously.
> >
> > The other option is to use get-exact request PDUs specifying the
> > exact instances *everytime* the user is interested in the data. Also
> > this does not take advantage of any sequential ifIndex ranges.
> >
> > Both of the above options are not too efficient.
> >
> > The idea here is to design a MIB that has the following properties.
> >
> > 1) Allows user to specify objects (columns) of interest.
> > The objects can belong to different tables, as long as they are
> > semantically related.
> > This is a one time operation.
> >
> > 2) Allows user to specify object instances of interest (rows)
> > Multiple row instances can be specified for maximum flexibility.
> > This is a one time operation.
> >
> > 3) Row instances can be single indexed or multi-indexed.
> >
> > 4) Has an access table which is more like a "view" that contains
> > exactly what the user has requested. The user can then issue
> > get-bulk requests on the access table to retrieve the data.
> >
> > 5) Supports a file transfer kind of a mechanism as defined in the
> > current draft-ietf-eos-snmp-bulkdata-00.txt. This gives the
> > flexibility of either using SNMP requests on the access table
> > or populating a file which can then be transferred off the device.
> >
> > 6) The access table has a mechanism to indicate sparse object
> > instances (holes). Holes would be plugged in with a dummy instance
> > and the same would be indicated using a bit map for each row.
> >
> > This MIB according to me has the following advantages.
> >
> > 1) The access table will contain only those object instances that the
> > user interested in. This will encourage use of get-bulks and make
> > the use of a get-bulk PDU to retrieve discontiguous object instances
> > more efficient.
> >
> > 2) The access table provides a conceptual view based
> > on multiple MIB tables. Again the use of a get-bulk allows the user
> > to retrieve objects from multiple tables as if they belong to the
> > same table. For e.g the user is interested in retrieving objects
> > for ethernet interfaces from the IF-MIB and the ETHER-LIKE-MIB.
> >
> > 3) Since the user will typically use a get-bulk to retrieve entries
> > from the access table, MIB implementation optimizations can be
> > done to increase efficiency of data access for frequently polled
> > MIBS like IF-MIB etc.
> > (For e.g by pre-fetching a set of rows, knowing that the get-bulk
> > will require them)
> >
> > 4) It is possible to support sparse objects, by having a sparse object
> > indicator for every row in the access table. This object is a bit
> > map that indicates whether an object instance in the row is valid
> > or not. By plugging NULL object instances with a dummy, we can
> > avoid re-ordering and maintain row semantics.
> >
> > 5) When combined with the file transfer mechanism defined in
> > draft-ietf-eos-snmp-bulkdata-00.txt, the user has the flexibility
> > of using SNMP requests or file transfers to get the required data.
> >
> > I am attaching a rough and a basic MIB draft. It also contains some
> > text recommending a way for NMS's to fetch data from the access table.
> > I have not included the file transfer mechanism as supported by
> > draft-ietf-eos-snmp-bulkdata-00.txt.
> >
> > Hoping to receive responses.
> >
> > Thanks,
> > Nalin
> >
> > ------------------------------------------------------------------------
> > --
> > -- MIB description
> > --
> > --
> > -- This MIB module facilitates data retrieval of tabular objects.
> > -- This MIB can be used for performance/accounting purposes, where
> > -- several row instances of a set of objects are polled over a
> > -- period of time.
> > --
> > -- The MIB provides the user a way to specify which objects and which
> > -- instances are required. In addition the MIB provides 2 ways in
> > -- which this data can be retrieved.
> > --
> > -- Access tables.
> > -- --------------
> > -- The MIB provides access tables (dcmAccessRowTable &
> > -- dcmAccessObjectTable) which can be queried to retrieve the set
> > -- of required varbinds.
> > -- The access tables provide a 'view' of exactly what the user wants.
> > -- This makes it possible for the user to retrieve the contents of the
> > -- access table using existing bulk mechanisms like the get-bulk PDU.
> > --
> > -- The access tables support the notion of 'data rows'. The objects
> > -- specified in the dcmObjectsTable & dcmObjectInstanceTable, should
> > -- belong to the same conceptual table. The conceptual table can contain
> > -- attributes (columns) belonging to different MIB tables, but it should
> > -- be semantically possible to relate these columns in a tabular
> > -- relationship. Each data row has a corresponding sparse object indicator,
> > -- dcmAccessRowSparseInd. This object indicates which object instance of
> > -- the row is valid/invalid. This guarantees that each data row in the
> > -- access tables contains objects qualified by the same instance.
> > --
> > --
> > --
> > -- E.g dcmObjectsTable (objects of interest):
> > -- -----------------------------------------
> > -- dcmObjectsIndex dcmObjectsOid
> > -- --------------------------------
> > -- 1 ifInOctets
> > -- 2 ifOutOctets
> > -- 3 ifHCInOctets
> > -- 4 ifHCOutOctets
> > --
> > -- dcmObjectInstanceTable (objects of interest):
> > -- ----------------------------------------------
> > -- dcmObject dcmObject dcmObject dcmObject
> > -- InstanceIndex InstanceType InstanceOid InstanceOidEnd
> > -- (ifIndex) (ifIndex)
> > -- 1 individual 1
> > -- 2 individual 5
> > -- 3 range 10 12
> > -- 4 range 23 25
> > --
> > -- dcmAccessRowTable (objects of interest):
> > -- ----------------------------------------------
> > -- dcmAccessRowIndex dcmAccessRowSparseInd dcmAccessRowInstOid
> > -- 1 0 1
> > -- 2 0 5
> > -- 3 24 10
> > -- 4 24 11
> > -- 5 24 12
> > -- 6 0 23
> > -- 7 0 24
> > -- 8 0 25
> > --
> > -- dcmAccessObjectTable (objects of interest):
> > -- ----------------------------------------------
> > -- dcmAccess dcmAccess dcmAccess dcmAccess
> > -- ObjectIndex ObjectRowIndex ObjectCounter32Val ObjectCounter64Val
> > -- ------------------------------------------------------------------
> > -- ####### ifInOctets
> > -- 1 1 356
> > -- 1 2 400
> > -- cont..
> > -- 1 8 4566
> > -- ####### ifOutOctets
> > -- 2 1 2000
> > -- 2 2 3000
> > -- cont..
> > -- 2 8 4000
> > -- ####### ifHCInOctets
> > -- 3 1 356
> > -- 3 2 400
> > -- 3 3 (invalid)
> > -- 3 4 (invalid)
> > -- cont..
> > -- 3 8 4566
> > -- ####### ifHCOutOctets
> > -- 3 1 2000
> > -- 3 2 3000
> > -- 3 3 (invalid)
> > -- 3 4 (invalid)
> > -- cont..
> > -- 3 8 4000
> > --
> > --
> > -- To retrieve the objects 'row wise' the NMS can issue a get-bulk
> > -- as shown:
> > -- getbulk -v2c 0 8 dcmAccessRowSparseInd ### sparse indicator
> > -- dcmAccessRowInstanceOid ### ifIndex
> > -- dcmAccessObjectCounter32Val.1 \ ### ifInOctets
> > -- dcmAccessObjectCounter32Val.2 \ ### ifOutOctets
> > -- dcmAccessObjectCounter64Val.3 \ ### ifHCInOctets
> > -- dcmAccessObjectCounter64Val.4 ### ifHCOutOctets
> > --
> > -- After retrieving the required rows, the
> > -- NMS has to simply replace all occurences of
> > -- dcmAccessObjectCounter32Val.1 by ifInOctets,
> > -- dcmAccessObjectCounter32Val.2 by ifOutOctets,
> > -- dcmAccessObjectCounter64Val.3 by ifHCInOctets,
> > -- dcmAccessObjectCounter64Val.4 by ifHCOutOctets
> > -- and for all the objects,
> > -- replace dcmAccessObjectRowIndex by the value of dcmAccessRowInstanceOid.
> > --
> > -- File mode:
> > -- ----------
> > -- The MIB also provides a mechanism by which the object instances
> > -- specified in dcmObjectsTable & dcmObjectInstanceTable are retrieved
> > -- and populated in a file. This MIB also supports transfer of this
> > -- file to off the box locations.
> > -- This idea is similar to that described in
> > -- draft-ietf-eos-snmp-bulkdata-00.txt
> > --
> > -- The MIB shown below does not have objects to support file transfer
> > -- yet. These objects have already been defined in
> > -- draft-ietf-eos-snmp-bulkdata-00.txt, and the design can be reused
> > -- here.
> > --
> >
> > DATA-COLLECTION-MIB DEFINITIONS ::= BEGIN
> >
> > IMPORTS
> > MODULE-IDENTITY, OBJECT-TYPE,
> > Counter32, Integer32,
> > Unsigned32, Counter64,
> > IpAddress FROM SNMPv2-SMI
> > RowStatus FROM SNMPv2-TC
> > MODULE-COMPLIANCE,
> > OBJECT-GROUP FROM SNMPv2-CONF
> > SnmpAdminString FROM SNMP-FRAMEWORK-MIB
> > ciscoMgmt FROM CISCO-SMI;
> >
> > dataCollMIB MODULE-IDENTITY
> > LAST-UPDATED "200111041420Z"
> > ORGANIZATION "Cisco Systems, Inc."
> > CONTACT-INFO "Cisco Systems
> > Customer Service
> >
> > Postal: 170 W Tasman Drive
> > San Jose, CA 95134
> > USA
> >
> > Tel: +1 800 553-NETS
> >
> > E-mail:"
> > DESCRIPTION
> > "The MIB module for facilitating periodic collection of bulk
> > and performance/accounting data."
> >
> > ::= { ciscoMgmt 1099 }
> >
> > dataCollMIBObjects OBJECT IDENTIFIER ::= { dataCollMIB 1 }
> >
> > dcmConfig OBJECT IDENTIFIER ::= { dataCollMIBObjects 1 }
> > dcmAccess OBJECT IDENTIFIER ::= { dataCollMIBObjects 2 }
> > dcmStatus OBJECT IDENTIFIER ::= { dataCollMIBObjects 3 }
> >
> > nullOID OBJECT IDENTIFIER ::= { 0 0 }
> >
> > dcmConfigTable OBJECT-TYPE
> > SYNTAX SEQUENCE OF DcmConfigEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "A table of data collection configuration entries. Each entry
> > represents a set of objects whose values need to fetched for
> > the specified instances."
> > ::= { dcmConfig 1 }
> >
> > dcmConfigEntry OBJECT-TYPE
> > SYNTAX DcmConfigEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An individual entry in the dcmConfigTable."
> > INDEX { dcmConfigIndex }
> > ::= { dcmConfigTable 1 }
> >
> > DcmConfigEntry ::= SEQUENCE {
> > dcmConfigIndex Unsigned32,
> > dcmConfigComment SnmpAdminString,
> > dcmConfigRowStatus RowStatus
> > }
> >
> > dcmConfigIndex OBJECT-TYPE
> > SYNTAX Unsigned32 (1..4294967295)
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An arbitrary integer to uniquely identify this entry. To
> > create an entry a management application should pick a
> > random number."
> > ::= { dcmConfigEntry 1 }
> >
> > dcmConfigComment OBJECT-TYPE
> > SYNTAX SnmpAdminString
> > MAX-ACCESS read-create
> > STATUS current
> > DESCRIPTION
> > "A writable string, useful for administrative purposes."
> > ::= { dcmConfigEntry 2 }
> >
> > dcmConfigRowStatus OBJECT-TYPE
> > SYNTAX RowStatus
> > MAX-ACCESS read-create
> > STATUS current
> > DESCRIPTION
> > "Control row creation/deletion operations. This object also
> > controls row operations for dcmObjectsTable &
> > dcmObjectInstanceTable."
> > ::= { dcmConfigEntry 3 }
> >
> > dcmObjectsTable OBJECT-TYPE
> > SYNTAX SEQUENCE OF DcmObjectsEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "A table to specify the objects whose values need to be
> > collected."
> > ::= { dcmConfig 2 }
> >
> > dcmObjectsEntry OBJECT-TYPE
> > SYNTAX DcmObjectsEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An individual entry in the dcmObjectsTable."
> > INDEX { dcmConfigIndex, dcmObjectsIndex }
> > ::= { dcmObjectsTable 1 }
> >
> > DcmObjectsEntry ::= SEQUENCE {
> > dcmObjectsIndex Unsigned32,
> > dcmObjectsOid OBJECT IDENTIFIER
> > }
> >
> > dcmObjectsIndex OBJECT-TYPE
> > SYNTAX Unsigned32 (1..2039)
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An arbitrary small integer for the purpose of identifying
> > individual objects within a data collection group identified
> > by dcmConfigIndex. The range is so specified to
> > match the range of dcmAccessRowSparseInd."
> > ::= { dcmObjectsEntry 1 }
> >
> > dcmObjectsOid OBJECT-TYPE
> > SYNTAX OBJECT IDENTIFIER
> > MAX-ACCESS read-create
> > STATUS current
> > DESCRIPTION
> > "The OBJECT IDENTIFIER (OID) of the object represented by this
> > entry. The OID must be the complete OID of the object."
> > ::= { dcmObjectsEntry 2 }
> >
> > dcmObjectInstanceTable OBJECT-TYPE
> > SYNTAX SEQUENCE OF DcmObjectInstanceEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "Table containing the row instance OIDs of objects whose
> > values need to be fetched. Row instance OIDs can be specified
> > as individual instances, range instances or subTree instances."
> > ::= { dcmConfig 3 }
> >
> > dcmObjectInstanceEntry OBJECT-TYPE
> > SYNTAX DcmObjectInstanceEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An individual entry in the dcmObjectInstanceTable."
> > INDEX { dcmConfigIndex, dcmObjectInstanceIndex }
> > ::= { dcmObjectInstanceTable 1 }
> >
> > DcmObjectInstanceEntry ::= SEQUENCE {
> > dcmObjectInstanceIndex Unsigned32,
> > dcmObjectInstanceType INTEGER,
> > dcmObjectInstanceOid OBJECT IDENTIFIER,
> > dcmObjectInstanceOidEnd OBJECT IDENTIFIER,
> > dcmObjectInstanceNumRepitions Unsigned32
> > }
> >
> > dcmObjectInstanceIndex OBJECT-TYPE
> > SYNTAX Unsigned32 (1..4294967295)
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An arbitrary small integer for the purpose of identifying
> > individual row instances for a data collection group
> > identified by dcmConfigIndex."
> > ::= { dcmObjectInstanceEntry 1 }
> >
> > dcmObjectInstanceType OBJECT-TYPE
> > SYNTAX INTEGER { individual(1), range(2), subTree(3) }
> > MAX-ACCESS read-create
> > STATUS current
> > DESCRIPTION
> > "Specifies whether the instance represented by this entry is
> > an individual instance or a instance range or an instance
> > subTree."
> > DEFVAL { subTree }
> > ::= { dcmObjectInstanceEntry 2 }
> >
> > dcmObjectInstanceOid OBJECT-TYPE
> > SYNTAX OBJECT IDENTIFIER
> > MAX-ACCESS read-create
> > STATUS current
> > DESCRIPTION
> > "The instance OID identifying the row(s) to be fetched.
> > If dcmObjectInstanceType is 'individual' then this object
> > should contain the complete instance OID of the row.
> > If dcmObjectInstanceType is 'range' then this object
> > contains the start OID of the range. The value need not be
> > fully instantiated.
> > If dcmObjectInstanceType is 'subTree' then this object
> > contains a partially instantiated row instance. It can
> > contain a NULL OID which indicates that the entire subTree
> > (all instances of each object) should be fetched.
> >
> > SMIv2 mandates the OBJECT IDENTIFIER types should
> > have atleast 2 sub-ids and the first sub-id has to be one of
> > 0,1,2. To satisfy this requirement the first 2 sub-ids of
> > cdcObjectInstanceOid will always be 0.0."
> > DEFVAL { nullOID }
> > ::= { dcmObjectInstanceEntry 3 }
> >
> > dcmObjectInstanceOidEnd OBJECT-TYPE
> > SYNTAX OBJECT IDENTIFIER
> > MAX-ACCESS read-create
> > STATUS current
> > DESCRIPTION
> > "This object is used when dcmObjectInstanceType is set to
> > range. This object contains the end OID of a range of rows
> > that need to be fetched. This OID has to be lexicographically
> > higher than dcmObjectInstanceOid.
> >
> > SMIv2 mandates the OBJECT IDENTIFIER types should
> > have atleast 2 sub-ids and the first sub-id has to be one of
> > 0,1,2. To satisfy this requirement the first 2 sub-ids of
> > cdcObjectInstanceEndOid will always be 0.0."
> >
> > DEFVAL { nullOID }
> > ::= { dcmObjectInstanceEntry 4 }
> >
> > dcmObjectInstanceNumRepitions OBJECT-TYPE
> > SYNTAX Unsigned32
> > MAX-ACCESS read-create
> > STATUS current
> > DESCRIPTION
> > "This object provides an alternative method of specifying a
> > range. It specifies the number of lexicographically next
> > instances to fetch, starting from dcmObjectInstanceOid."
> > DEFVAL { 0 }
> > ::= { dcmObjectInstanceEntry 5 }
> >
> > dcmAccessRowTable OBJECT-TYPE
> > SYNTAX SEQUENCE OF DcmAccessRowEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "Table containing instances of objects as specified
> > in dcmObjectsTable & dcmObjectInstanceTable."
> > ::= { dcmAccess 1 }
> >
> > dcmAccessRowEntry OBJECT-TYPE
> > SYNTAX DcmAccessRowEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An entry describing a row instance."
> > INDEX { dcmConfigIndex, dcmAccessRowIndex }
> > ::= { dcmAccessRowTable 1 }
> >
> > DcmAccessRowEntry ::= SEQUENCE {
> > dcmAccessRowIndex Unsigned32,
> > dcmAccessRowSparseInd OCTET STRING,
> > dcmAccessRowInstOid OBJECT IDENTIFIER
> > }
> >
> > dcmAccessRowIndex OBJECT-TYPE
> > SYNTAX Unsigned32 (1..4294967295)
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An index uniquely identifying an instance of a row for the
> > data collection group identified by dcmConfigIndex. This is
> > a running counter starting from 1, for each data collection
> > group."
> > ::= { dcmAccessRowEntry 1 }
> >
> > dcmAccessRowSparseInd OBJECT-TYPE
> > SYNTAX OCTET STRING (SIZE (1..255))
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "Indicates which objects of this row instance are valid and
> > which are invalid. The Octet String is treated as a bit
> > string, if a bit is set then the corresponding bit position
> > identifies the (object) dcmObjectsIndex which is sparse for
> > this row. Bit position '0' is not used, owing to the fact the
> > dcmObjectsIndex is never 0."
> > ::= { dcmAccessRowEntry 2 }
> >
> > dcmAccessRowInstOid OBJECT-TYPE
> > SYNTAX OBJECT IDENTIFIER
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The instance OID of a row. This is the OID representation of
> > the index of the object instances."
> > ::= { dcmAccessRowEntry 3 }
> >
> > dcmAccessObjectTable OBJECT-TYPE
> > SYNTAX SEQUENCE OF DcmAccessObjectEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "A table containing object instances of a row. Applications can
> > retrieve values row-wise by using the index combination of
> > { dcmConfigIndex, dcmObjectIndex, * }."
> > ::= { dcmAccess 2 }
> >
> > dcmAccessObjectEntry OBJECT-TYPE
> > SYNTAX DcmAccessObjectEntry
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "An entry containing a single object's value."
> > INDEX { dcmConfigIndex, dcmAccessObjectIndex, dcmAccessObjectRowIndex }
> > ::= { dcmAccessObjectTable 1 }
> >
> > DcmAccessObjectEntry ::= SEQUENCE {
> > dcmAccessObjectIndex Unsigned32,
> > dcmAccessObjectRowIndex Unsigned32,
> > dcmAccessObjectCounter32Val Counter32,
> > dcmAccessObjectUnsigned32Val Unsigned32,
> > dcmAccessObjectInteger32Val Integer32,
> > dcmAccessObjectIpAddressVal IpAddress,
> > dcmAccessObjectOctetStringVal OCTET STRING,
> > dcmAccessObjectOidVal OBJECT IDENTIFIER,
> > dcmAccessObjectCounter64Val Counter64
> > }
> >
> > dcmAccessObjectIndex OBJECT-TYPE
> > SYNTAX Unsigned32 (1..4294967295)
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "The dcmObjectsIndex which is represented by one of
> > the value objects instances in this table."
> > ::= { dcmAccessObjectEntry 1 }
> >
> > dcmAccessObjectRowIndex OBJECT-TYPE
> > SYNTAX Unsigned32 (1..4294967295)
> > MAX-ACCESS not-accessible
> > STATUS current
> > DESCRIPTION
> > "The dcmAccessRowIndex which is represented by one of
> > the value object instances in this table."
> > ::= { dcmAccessObjectEntry 2 }
> >
> > dcmAccessObjectCounter32Val OBJECT-TYPE
> > SYNTAX Counter32
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The value of a Counter32 type object."
> > ::= { dcmAccessObjectEntry 3 }
> >
> > dcmAccessObjectUnsigned32Val OBJECT-TYPE
> > SYNTAX Unsigned32
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The value of a Unsigned32 type object."
> > ::= { dcmAccessObjectEntry 4 }
> >
> > dcmAccessObjectInteger32Val OBJECT-TYPE
> > SYNTAX Integer32
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The value of a Integer32 type object."
> > ::= { dcmAccessObjectEntry 5 }
> >
> > dcmAccessObjectIpAddressVal OBJECT-TYPE
> > SYNTAX IpAddress
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The value of a IpAddress type object."
> > ::= { dcmAccessObjectEntry 6 }
> >
> > dcmAccessObjectOctetStringVal OBJECT-TYPE
> > SYNTAX OCTET STRING (SIZE (0..65536))
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The value of a OCTET STRING type object."
> > ::= { dcmAccessObjectEntry 7 }
> >
> > dcmAccessObjectOidVal OBJECT-TYPE
> > SYNTAX OBJECT IDENTIFIER
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The value of a OBJECT IDENTIFIER type object."
> > ::= { dcmAccessObjectEntry 8 }
> >
> > dcmAccessObjectCounter64Val OBJECT-TYPE
> > SYNTAX Counter64
> > MAX-ACCESS read-only
> > STATUS current
> > DESCRIPTION
> > "The value of a Counter64 type object."
> > ::= { dcmAccessObjectEntry 9 }
> >
> > --
> > -- Conformance
> > --
> >
> > dataCollMIBConformance OBJECT IDENTIFIER ::= { dataCollMIB 3 }
> > dataCollMIBCompliances OBJECT IDENTIFIER ::= { dataCollMIBConformance 1 }
> > dataCollMIBGroups OBJECT IDENTIFIER ::= { dataCollMIBConformance 2 }
> >
> > -- Compliance
> > dataCollMIBCompliance MODULE-COMPLIANCE
> > STATUS current
> > DESCRIPTION
> > "The compliance statement for entities which implement
> > the Data Collection MIB."
> > MODULE -- this module
> > MANDATORY-GROUPS {
> > dcmConfigGroup,
> > dcmAccessGroup
> > }
> >
> > ::= { dataCollMIBCompliances 1 }
> >
> > -- Units of Conformance
> > dcmConfigGroup OBJECT-GROUP
> > OBJECTS {
> > dcmConfigComment,
> > dcmConfigRowStatus,
> > dcmObjectsOid,
> > dcmObjectInstanceType,
> > dcmObjectInstanceOid,
> > dcmObjectInstanceOidEnd,
> > dcmObjectInstanceNumRepitions
> > }
> > STATUS current
> > DESCRIPTION
> > "MIB configuration objects."
> > ::= { dataCollMIBGroups 1 }
> >
> > dcmAccessGroup OBJECT-GROUP
> > OBJECTS {
> > dcmAccessRowSparseInd,
> > dcmAccessRowInstOid,
> > dcmAccessObjectCounter32Val,
> > dcmAccessObjectUnsigned32Val,
> > dcmAccessObjectInteger32Val,
> > dcmAccessObjectIpAddressVal,
> > dcmAccessObjectOctetStringVal,
> > dcmAccessObjectOidVal,
> > dcmAccessObjectCounter64Val
> > }
> > STATUS current
> > DESCRIPTION
> > "Access related objects."
> > ::= { dataCollMIBGroups 2 }
> >
> > END
>
> --
> Carl W. Kalbfleisch
> www.verio.net
>
>
Thanks,
/jon
--
Jon Saperia saperia@jdscons.com
Phone: 617-744-1079
Fax: 617-249-0874
http://www.jdscons.com/