[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A Data collection MIB
"Carl W. Kalbfleisch" wrote:
>
> 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
Yes, I did take a look at usrHistory, the differences are:
1) As you mention it supports only INTEGER derived types.
2) Only fully instantiated objects can be specified, no support for
ranges, sub-trees etc.
3) No support to handle sparse objects.
4) OTOH (again as u mention) it supports a useful feature in history
collection, this is something that might make sense for the data
collection MIB too.
5) Supports collection of both delta and absolute values.
-Nalin
> 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
--
Nalinaksh Pai
Software Engineer
Cisco Systems
Phone: 91-080-5321300 Ext: 6354
Email: npai@cisco.com
Epage: nalpai@cbinpage.cisco.com