-- *****************************************************************
-- DOCS-TEST-MIB.my: Data Over Cable Test MIB file
--
-- Aug 2003 Sajeev Jos
--
-- This MIB is from SP-TestMIBv2.0-D02-030530
--
-- Copyright (c) 1999-2003, 2007-2008 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

DOCS-TEST-MIB DEFINITIONS ::= BEGIN

  IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        -- do not import BITS,
        Integer32,
        enterprises
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION,
        TruthValue
                FROM SNMPv2-TC
        OBJECT-GROUP,
        MODULE-COMPLIANCE
                FROM SNMPv2-CONF;

-- These are the defined Cablelabs OID paths. Not all are needed for the Test MIB,
-- but included here for sake of completeness.
cableLabs OBJECT IDENTIFIER ::= { enterprises 4491 }
clabFunction OBJECT IDENTIFIER ::= { cableLabs 1 }
clabFuncMib2 OBJECT IDENTIFIER ::= { clabFunction 1 }
clabFuncProprietary OBJECT IDENTIFIER ::= { clabFunction 2 }
clabProject OBJECT IDENTIFIER ::= { cableLabs 2 }
clabProjDocsis OBJECT IDENTIFIER ::= { clabProject 1 }
clabProjPacketCable OBJECT IDENTIFIER ::= { clabProject 2 }
clabProjOpenCable OBJECT IDENTIFIER ::= { clabProject 3 }
clabProjCableHome OBJECT IDENTIFIER ::= { clabProject 4 }

docsTestMIB MODULE-IDENTITY
          LAST-UPDATED     "0203150000Z" -- March 15, 2002
          ORGANIZATION     "DOCSIS 2.0 ATP Working Group"
          CONTACT-INFO
              "        David Raftus
               Postal: Terayon Canada Ltd
                       340 Terry Fox Drive, Suite 202
                       Ottawa Ontario
                       Canada
               Phone:  +1 613 592 1052
               E-mail: david.raftus@terayon.com

               DOCSIS 2.0 ATP Working Group
               General Discussion: docsis-20@cablelabs.com,
               docsis-20-atp@cablelabs.com"
          DESCRIPTION
              "This is the MIB Module supporting programmable test features
               for DOCSIS 2.0 compliant Cable Modems (CM) and Cable Modem
               Termination Systems (CMTS)."
-- 4491 is the IANA Cablelabs enterprise number
          ::= { clabProjDocsis 12 }

-- Textual Conventions
-- none required yet - dave - leave as a placeholder
-- Mapping path to the test mib.
--

docsTestMibObjects OBJECT IDENTIFIER ::= { docsTestMIB 1 }
docsTestBaseObjects OBJECT IDENTIFIER ::= { docsTestMibObjects 1 }
docsTestSetupObjects OBJECT IDENTIFIER ::= { docsTestMibObjects 2 }

--
-- docsTestBaseObjects
--
-- These objects indicate the capability and current status of the
-- programmable test features on the CM/CMTS.
--

docsTestCapability OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Indicates the ability of this device to support the
             programmable features identified by the TYPE field from
             the CM/CMTS TLV table in [17].
             Each octet within this octet string represents eight tests.
             For example, the first octet represents tests one through eight
             (with the msb representing test one) as identified by the TYPE
             field."
        ::= { docsTestBaseObjects 1 }

docsTestStatus OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Indicates the current operating status of tests initiated
             through the docsTestSetupObjects. The octet representation is
             identical to that used by docsTestCapability. A bit representation
             of one indicates that a test is currently active, while zero
             indicates the test is inactive or has completed."
        ::= { docsTestBaseObjects 2 }

--
-- docsTestSetupObjects
--
-- These objects setup the test parameters ands initiate the test.

docsTestType OBJECT-TYPE
        SYNTAX Integer32 (0..1023)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Corresponds to the TYPE field from the CM/CMTS TLV Table
             in [17]. The default value of zero indicates
             no test has yet been initiated.
             A WrongValueError should be returned in response to a write
             request for a test not supported by the device. A read request
             will return the docsTestType value last successfully written,
             whether that test is active or inactive."
        DEFVAL { 0 }
        ::= { docsTestSetupObjects 1 }

docsTestData OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The OCTET STRING length and value correspond to the
             LENGTH and VALUE fields from the CM/CMTS TLV
             Table in [17]. A read request will return the
             docsTestData value last successfully written, whether that test
             is active or inactive."

        ::= { docsTestSetupObjects 2 }

docsTestEnable OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Used to initiate or stop the tests setup through the docsTestType
             and docsTestData objects.
             A CommitFailedError should be returned in response to a TRUE
             Write request if the values in docsTestType and docsTestData are
             incompatible, or a test could not be initiated for any other
             reason."
        ::= { docsTestSetupObjects 3 }

-- Compliance statements
docsTestConformance OBJECT IDENTIFIER ::= { docsTestMIB 2 }
docsTestCompliances OBJECT IDENTIFIER ::= { docsTestConformance 1 }
docsTestGroups OBJECT IDENTIFIER ::= { docsTestConformance 2 }

docsTestBasicCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
            "The compliance statement for devices that implement
             the DOCSIS compliant programmable test features."
        MODULE -- docsTestMib
-- unconditionally mandatory groups
        MANDATORY-GROUPS { docsTestGroup }
        ::= { docsTestCompliances 1 }

docsTestGroup OBJECT-GROUP
        OBJECTS {
            docsTestCapability,
            docsTestStatus,
            docsTestType,
            docsTestData,
            docsTestEnable
        }
        STATUS current
        DESCRIPTION
            "Group of objects implemented in both Cable Modems and
             Cable Modem Termination Systems."
        ::= { docsTestGroups 1 }
END
