-- MIB file created 18-Sep-2009 10:14:47, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-CABLE-DIAG-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-CABLE-DIAG-MIB.my"
-- Compile options "4 7 F H N O W 03 06 0B 0G 0N 0T"

IMPORTS
    TruthValue, TimeStamp
            FROM SNMPv2-TC-v1
    ifIndex
            FROM IF-MIB
    ciscoMgmt
            FROM CISCO-SMI
    Gauge
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212;

ciscoCableDiagMIB OBJECT IDENTIFIER ::= { ciscoMgmt 390 }
-- MODULE-IDENTITY
--  LastUpdated
--    200409130000Z
--  OrgName
--    Cisco Systems Inc. 
--  ContactInfo
--    Cisco Systems
--    Customer Service
--    
--    Postal: 170 W Tasman Drive
--        San Jose, CA 95134
--        USA
--    
--    Tel: +1 800 553-NETS
--    
--    E-mail: cs-lan-switch-snmp@cisco.com
--  Descr
--    This MIB module defines objects for managing cable 
--    diagnostic test capabilites supported by the Cisco devices.
--    
--    Cable diagnostic tests are tests intended to exercise 
--    the functional integrity of the cable attached to a 
--    physical interface.
--    
--    Examples of cable diagnostic test methods are: PRBS
--    (Pesudo Random Binary Sequence), TDR (Time Domain 
--    reflectometery), etc..
--  RevDate
--    200409130000Z
--  RevDescr
--    Added a new enum value indeterminate(9) in
--     ccdTdrIfResultPairStatus.
--  RevDate
--    200401150000Z
--  RevDescr
--    Initial version of this MIB module.

ciscoCableDiagMIBNotifs OBJECT IDENTIFIER ::= { ciscoCableDiagMIB 0 }
ciscoCableDiagMIBObjects OBJECT IDENTIFIER ::= { ciscoCableDiagMIB 1 }
ciscoCableDiagMIBConform OBJECT IDENTIFIER ::= { ciscoCableDiagMIB 2 }
ccdPrbsObjects  OBJECT IDENTIFIER ::= { ciscoCableDiagMIBObjects 1 }
ccdTdrObjects   OBJECT IDENTIFIER ::= { ciscoCableDiagMIBObjects 2 }
ciscoCableDiagMIBCompliances OBJECT IDENTIFIER ::= { ciscoCableDiagMIBConform 1 }
ciscoCableDiagMIBGroups OBJECT IDENTIFIER ::= { ciscoCableDiagMIBConform 2 }

ccdPrbsIfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcdPrbsIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table containing information about PRBS (Pesudo 
        Random Binary Sequence) test on the device's 
        interfaces. An entry appears in this table for each 
        interface which is capable to run PRBS test."
    ::= { ccdPrbsObjects 1 }

ccdPrbsIfEntry OBJECT-TYPE
    SYNTAX CcdPrbsIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the ccdPrbsIfTable, containing the information
        about PRBS test on an interface."
    INDEX { ifIndex }
    ::= { ccdPrbsIfTable 1 }

CcdPrbsIfEntry ::= SEQUENCE {
    ccdPrbsIfAction INTEGER,
    ccdPrbsIfActionStatus INTEGER,
    ccdPrbsIfTestErrors Gauge,
    ccdPrbsIfTestErrorsResetTime TimeStamp,
    ccdPrbsIfTestErrorsMaxValue Gauge
    }

ccdPrbsIfAction OBJECT-TYPE
    SYNTAX INTEGER {
        start(1),
        stop(2),
        errorReset(3),
        running(4),
        notRunning(5)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Indicates the PRBS test action to be executed on the interface
        and whether the test is currently running or not.
        
        'start' -- start the PRBS test on the interface.
        
        'stop'  -- stop the PRBS test on the interface.
        
        'errorReset' -- reset the object value of
                   ccdPrbsIfTestErrors to zero on the interface.
        
        'running' -- the PRBS test is currently running on the
                   interface. This value is a read-only value
                   and can not be set on the interface.
        
        'notRunning' -- the PRBS test is currently not running
                   on the interface. This value is a read-only
                   value and can not be set on the interface."
    ::= { ccdPrbsIfEntry 1 }

ccdPrbsIfActionStatus OBJECT-TYPE
    SYNTAX INTEGER {
        succeeded(1),
        failedDueToUnknownReason(2),
        failedDueToResourceUnavailable(3),
        failedDueToInternalError(4),
        failedDueToTestAlreadyStarted(5),
        failedDueToTestAlreadyStopped(6),
        failedDueToInterfaceDisabled(7)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Indicates the status of the last PRBS test action set on the
        interface."
    ::= { ccdPrbsIfEntry 2 }

ccdPrbsIfTestErrors OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Indicates the number of errors which occurred during the 
        current or most recent running of a test. This Gauge is reset
        to zero each time a test starts (e.g., when ccdPrbsIfAction
        is set to 'start') or each time ccdPrbsIfAction is set
        to 'errorReset' on an interface.
        
        If and when an instance of ccdPrbsIfTestErrors reaches its
        maximum value as indicated by the corresponding instance of
        ccdPrbsIfTestErrorsMaxValue, its value will be less or equal
        to the actual number of errors."
    ::= { ccdPrbsIfEntry 3 }

ccdPrbsIfTestErrorsResetTime OBJECT-TYPE
    SYNTAX TimeStamp
--    Rsyntax TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Indicates the most recent time that the corresponding 
        instance of ccdPrbsIfTestErrors is reset to zero. If the
        the corresponding instance of ccdPrbsIfTestErrors is
        never reset to zero, then the instance value for
        ccdPrbsIfTestErrorsResetTime will be zero."
    ::= { ccdPrbsIfEntry 4 }

ccdPrbsIfTestErrorsMaxValue OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Indicates the maximum value of the corresponding instance
        of ccdPrbsIfTestErrors."
    ::= { ccdPrbsIfEntry 5 }

ccdTdrIfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcdTdrIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table containing information about TDR 
        (Time Domain Reflectometery) test on the device's 
        interfaces. An entry appears in this table for each
        interface which is capable to run TDR test."
    ::= { ccdTdrObjects 1 }

ccdTdrIfEntry OBJECT-TYPE
    SYNTAX CcdTdrIfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the ccdTdrIfTable, containing the information 
        about TDR test on an interface."
    INDEX { ifIndex }
    ::= { ccdTdrIfTable 1 }

CcdTdrIfEntry ::= SEQUENCE {
    ccdTdrIfAction INTEGER,
    ccdTdrIfActionStatus INTEGER,
    ccdTdrIfLastTestTime TimeStamp,
    ccdTdrIfResultValid TruthValue
    }

ccdTdrIfAction OBJECT-TYPE
    SYNTAX INTEGER {
        start(1),
        clear(2),
        running(3),
        notRunning(4)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Indicates the TDR test action to be executed on the interface
        and whether the test is currently running or not.
        
        'start' -- start the TDR test on the interface.
        
        'clear' -- clear all the TDR test results on the interface.
                   After this action is executed on an interface,
                   the object value of ccdTdrIfResultValid for the
                   corresponding interface will be false(2).
        
        'running' -- the TDR test is currently running on the
                   interface. This value is a read-only value
                   and can not be set on the interface.
        
        'notRunning' -- the TDR test is currently not running
                   on the interface. This value is a read-only
                   value and can not be set on the interface."
    ::= { ccdTdrIfEntry 1 }

ccdTdrIfActionStatus OBJECT-TYPE
    SYNTAX INTEGER {
        succeeded(1),
        failedDueToUnknownReason(2),
        failedDueToResourceUnavailable(3),
        failedDueToInternalError(4),
        failedDueToTestAlreadyRunning(5),
        failedDueToInterfaceDisabled(6)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Indicates the status of the last TDR test action set on the
        interface."
    ::= { ccdTdrIfEntry 2 }

ccdTdrIfLastTestTime OBJECT-TYPE
    SYNTAX TimeStamp
--    Rsyntax TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Indicates the timestamp when TDR test is last run 
        on the interface. If TDR test is never run on an 
        interface, then this object value will be zero."
    ::= { ccdTdrIfEntry 3 }

ccdTdrIfResultValid OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Indicates whether the TDR test result on the interface
        is valid for the user to retrieve or not."
    ::= { ccdTdrIfEntry 4 }

ccdTdrIfResultTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CcdTdrIfResultEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A table containing information about TDR 
        test result on the device's interfaces. An entry 
        appears in this table for each cable pair on an interface 
        which has valid TDR test result, i.e., the value of 
        ccdTdrIfResultValid for the interface is true(1)."
    ::= { ccdTdrObjects 2 }

ccdTdrIfResultEntry OBJECT-TYPE
    SYNTAX CcdTdrIfResultEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the ccdTdrIfResultTable, containing 
        the information about TDR test on an interface."
    INDEX { ifIndex, ccdTdrIfResultPairIndex }
    ::= { ccdTdrIfResultTable 1 }

CcdTdrIfResultEntry ::= SEQUENCE {
    ccdTdrIfResultPairIndex INTEGER,
    ccdTdrIfResultPairChannel INTEGER,
    ccdTdrIfResultPairLength INTEGER,
    ccdTdrIfResultPairLenAccuracy INTEGER,
    ccdTdrIfResultPairDistToFault INTEGER,
    ccdTdrIfResultPairDistAccuracy INTEGER,
    ccdTdrIfResultPairLengthUnit INTEGER,
    ccdTdrIfResultPairStatus INTEGER
    }

ccdTdrIfResultPairIndex OBJECT-TYPE
    SYNTAX INTEGER {
        pair1to2(1),
        pair3to6(2),
        pair4to5(3),
        pair7to8(4)
        }
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The local cable pair index.
        
        'pair1to2' -- the pair with cable connectors 1 and 2.
        
        'pair3to6' -- the pair with cable connectors 3 and 6.
        
        'pair4to5' -- the pair with cable connectors 4 and 5.
        
        'pair7to8' -- the pair with cable connectors 7 and 8."
    REFERENCE
        "IEEE 802.3-2002: Sections 40.8.1"
    ::= { ccdTdrIfResultEntry 1 }

ccdTdrIfResultPairChannel OBJECT-TYPE
    SYNTAX INTEGER {
        other(1),
        channelA(2),
        channelB(3),
        channelC(4),
        channelD(5)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The channels that the cable pair is connected to.
        
        'other' -- none of the following.
        
        'channelA' -- channel A.
        
        'channelB' -- channel B.
        
        'channelC' -- channel C.
        
        'channelD' -- channel D."
    ::= { ccdTdrIfResultEntry 2 }

ccdTdrIfResultPairLength OBJECT-TYPE
    SYNTAX INTEGER(-1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The length of the cable pair. A value of -1 indicates 
        the length value is invalid. The unit of this value 
        is indicated by ccdTdrIfResultPairLengthUnit of the same 
        cable pair."
    ::= { ccdTdrIfResultEntry 3 }

ccdTdrIfResultPairLenAccuracy OBJECT-TYPE
    SYNTAX INTEGER(-1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The length accuracy of the cable pair. This value 
        should be added to and deducted from the value of
        ccdTdrIfResultPairLength of the same cable pair to
        form the upper and lower range of the cable pair length.
        A value of -1 indicates the length accuracy value
        is invalid. The unit of this value is indicated by 
        ccdTdrIfResultPairLengthUnit of the same cable pair. "
    ::= { ccdTdrIfResultEntry 4 }

ccdTdrIfResultPairDistToFault OBJECT-TYPE
    SYNTAX INTEGER(-1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The distance to the fault point of the cable pair. 
        A value of -1 indicates this value is invalid. 
        The unit of this value is indicated by 
        ccdTdrIfResultPairLengthUnit of the same cable pair."
    ::= { ccdTdrIfResultEntry 5 }

ccdTdrIfResultPairDistAccuracy OBJECT-TYPE
    SYNTAX INTEGER(-1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The accuracy of the distance to the fault point for 
        the cable pair. This value should be added to and 
        deducted from the value of ccdTdrIfResultPairDistToFault 
        of the same cable pair to form the upper and lower range 
        of the distance to fault point for the cable pair. 
        A value of -1 indicates this value is invalid. 
        The unit of this value is indicated by 
        ccdTdrIfResultPairLengthUnit of the same cable pair."
    ::= { ccdTdrIfResultEntry 6 }

ccdTdrIfResultPairLengthUnit OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(1),
        meter(2),
        centimeter(3),
        kilometer(4)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The measurement unit on the length or the distance to fault
        point for the cable pair.
        
        'unknown' -- none of the following.
        
        'meter' -- the unit is meter. 
        
        'centimeter' -- the unit is centimeter.
        
        'kilometer' -- the unit is kilometer."
    ::= { ccdTdrIfResultEntry 7 }

ccdTdrIfResultPairStatus OBJECT-TYPE
    SYNTAX INTEGER {
        unknown(1),
        terminated(2),
        notCompleted(3),
        notSupported(4),
        open(5),
        shorted(6),
        impedanceMismatch(7),
        broken(8),
        indeterminate(9)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The status of the cable pair. 
        
        'unknown'      --  none of the  following.
        
        'terminated'   --  the pair is properly terminated at the 
                           remote end.
        
        'notCompleted' --  the test on this pair is not completed.
        
        'notSupported' --  the test on this pair is not supported.
        
        'open'         --  the pair is open. 
        
        'shorted'      --  the pair is shorted.
        
        'impedanceMismatch' -- the impedance of the pair is 
                               mismatched.
        
        'broken'       -- the pair is broken.
        
        'indeterminate' -- the status of the pair is indeterminate."
    ::= { ccdTdrIfResultEntry 8 }

ccdPrbsGroup OBJECT IDENTIFIER ::= { ciscoCableDiagMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects to support PRBS 
--    cable diagnotic test on the interfaces of the device.
--  objects
--    ccdPrbsIfAction, ccdPrbsIfActionStatus, ccdPrbsIfTestErrors, 
--    ccdPrbsIfTestErrorsResetTime, ccdPrbsIfTestErrorsMaxValue

ccdTdrGroup OBJECT IDENTIFIER ::= { ciscoCableDiagMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of managed objects to support TDR 
--    cable diagnotic test on the interfaces of the device.
--  objects
--    ccdTdrIfAction, ccdTdrIfActionStatus, ccdTdrIfLastTestTime, 
--    ccdTdrIfResultValid, ccdTdrIfResultPairChannel, 
--    ccdTdrIfResultPairLength, ccdTdrIfResultPairLenAccuracy, 
--    ccdTdrIfResultPairDistToFault, ccdTdrIfResultPairDistAccuracy, 
--    ccdTdrIfResultPairLengthUnit, ccdTdrIfResultPairStatus

ciscoCableDiagMIBComplianceRev1 OBJECT IDENTIFIER ::= { ciscoCableDiagMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for SNMP entities that implement the
--    CISCO-CABLE-DIAG-MIB.
--  Module
--    >>current<<
--   OptGroup
--    ccdPrbsGroup
--   OptGroup
--    ccdTdrGroup


END

