[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