EXTREME-CABLE-MIB DEFINITIONS ::= BEGIN

    IMPORTS  
        MODULE-IDENTITY     FROM SNMPv2-SMI
                OBJECT-TYPE         FROM SNMPv2-SMI
        TruthValue          FROM SNMPv2-TC
                extremeAgent        FROM EXTREME-BASE-MIB
                extremeV2Traps          FROM EXTREME-BASE-MIB
        extremenetworks         FROM EXTREME-BASE-MIB
                DisplayString       FROM RFC1213-MIB
                NOTIFICATION-TYPE       FROM SNMPv2-SMI;
            
    extremeCable MODULE-IDENTITY
                LAST-UPDATED "0007240000Z"
                ORGANIZATION "Extreme Networks, Inc."
                CONTACT-INFO "www.extremenetworks.com"
                DESCRIPTION "Extreme-specific Cable objects"
        ::= { extremeAgent 24 }

        extremeDiagConfigGroup OBJECT IDENTIFIER
        ::= { extremeCable 1 }

        extremeDiagConfigTime OBJECT-TYPE
                SYNTAX DisplayString  (SIZE(16))
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "Indicates the time at which the Diagnostics information 
                 will be collected for the ports which have 
                 Auto-Diagnostics configured. Time must be given in hh:mm:ss format
                 where hh, mm and ss are in decimals"
                ::= { extremeDiagConfigGroup 1  }
                
        extremeDiagConfigRoF OBJECT-TYPE
                SYNTAX INTEGER {true (1), false (2)}
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "Indicates whether a port should return to INIT state on 
                 Diagnostics Failure. If TRUE the port will be restarted 
                 even if the Diagnostics indicate a Failure. If FALSE the 
                 port will be moved to DIAG_FAIL state"
                ::= { extremeDiagConfigGroup 2  }

        extremeDiagPortConfigTable OBJECT-TYPE
                SYNTAX SEQUENCE OF ExtremeDiagPortCfgEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Table, which contains the diagnostic configuration 
                 information for the ports"
                ::= { extremeCable 2  }

        extremeDiagPortConfigEntry OBJECT-TYPE
                SYNTAX ExtremeDiagPortCfgEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Each row represents port related diagnostics 
                 configuration"
                INDEX { extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode }
                ::= { extremeDiagPortConfigTable 1  }

        ExtremeDiagPortCfgEntry ::=
                SEQUENCE {
                                extremeDiagPortCfgPortIfIndex
                                        INTEGER,
                                extremeDiagPortCfgMode
                                        INTEGER,
                                extremeDiagPortCfgStatus
                                        INTEGER 
                        }

        extremeDiagPortCfgPortIfIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "IfIndex of the Port for which the information in this row applies"
                ::= { extremeDiagPortConfigEntry 1  }

        extremeDiagPortCfgMode OBJECT-TYPE
                SYNTAX INTEGER {auto (1), manual (2)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The mode of operation. The port can be configured to have
                 either manual diagnostics or auto-diagnostics collected."
                ::= { extremeDiagPortConfigEntry 2 }

        extremeDiagPortCfgStatus OBJECT-TYPE
                SYNTAX INTEGER {enable (1), disable (2), run (3), diagfail(4)}
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                "Specifies whether Diagnostics are enabled or disabled for 
                 the port. In the manual mode, enable and disable will disable the
                 corresponding bit in the manual Diag portmask. Once the run command is
                 given the Manual Diagnostics starts running. <diagfail> indicates the
                 diagnostics for the port has failed. <diagfail> is a read-only value and
                 cannot be used for setting the status of the port"
                ::= { extremeDiagPortConfigEntry 3  }

    extremeDiagPortDiagTable OBJECT-TYPE
                SYNTAX SEQUENCE OF ExtremeDiagPortDiagEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                 "Table contains the diagnostic information for the ports"
                ::= { extremeCable 3  }

        extremeDiagPortDiagEntry OBJECT-TYPE
                SYNTAX ExtremeDiagPortDiagEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                 "Each row represents port related diagnostics information"
                INDEX { extremeDiagPortDiagPortIfIndex, extremeDiagPortDiagMode }
                ::= { extremeDiagPortDiagTable 1 }

        ExtremeDiagPortDiagEntry ::=
                SEQUENCE {
                                extremeDiagPortDiagPortIfIndex
                                        INTEGER,
                                extremeDiagPortDiagMode
                                        INTEGER,
                                extremeDiagPortSpeed
                                    INTEGER,
                                extremeDiagPortSwapAB
                                        INTEGER,
                                extremeDiagPortSwapCD
                                        INTEGER,
                                extremeDiagPortPairAPol
                                        INTEGER,
                                extremeDiagPortPairAFlen
                                        INTEGER,
                                extremeDiagPortPairALen
                                        INTEGER,
                                extremeDiagPortPairASkew
                                        INTEGER,
                                extremeDiagPortPairAStatus
                                        INTEGER,
                                extremeDiagPortPairBPol
                                        INTEGER,
                                extremeDiagPortPairBFlen
                                        INTEGER,
                                extremeDiagPortPairBLen
                                        INTEGER,
                                extremeDiagPortPairBSkew
                                        INTEGER,
                                extremeDiagPortPairBStatus
                                        INTEGER,
                                extremeDiagPortPairCPol
                                        INTEGER,
                                extremeDiagPortPairCFlen
                                        INTEGER,
                                extremeDiagPortPairCLen
                                        INTEGER,
                                extremeDiagPortPairCSkew
                                        INTEGER,
                                extremeDiagPortPairCStatus
                                        INTEGER,
                                extremeDiagPortPairDPol
                                        INTEGER,
                                extremeDiagPortPairDFlen
                                        INTEGER,
                                extremeDiagPortPairDLen
                                        INTEGER,
                                extremeDiagPortPairDSkew
                                        INTEGER,
                                extremeDiagPortPairDStatus
                                        INTEGER,
                                extremeDiagPortDateTime
                                    DisplayString       
                        }

        extremeDiagPortDiagPortIfIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "IfIndex of the Port for which the information in this row applies"
                ::= { extremeDiagPortDiagEntry 1  }

        extremeDiagPortDiagMode OBJECT-TYPE
                SYNTAX INTEGER {auto (1), manual (2)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The mode of operation. The port can be configured to have
                 either manual diagnostics or auto-diagnostics collected."
                ::= { extremeDiagPortDiagEntry 2 }

        extremeDiagPortSpeed OBJECT-TYPE
                SYNTAX INTEGER { speed10 (1), speed100 (2), speed1000 (3), unknown (4)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the speed of the port"
                ::= { extremeDiagPortDiagEntry 3  }

        extremeDiagPortSwapAB OBJECT-TYPE
                SYNTAX INTEGER {swap(1), noswap(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies whether pairA pairB cables are swapped"
                ::= { extremeDiagPortDiagEntry 4  }

        extremeDiagPortSwapCD OBJECT-TYPE
                SYNTAX INTEGER {swap(1), noswap(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies whether pairC and pairD cables are swapped"
                ::= { extremeDiagPortDiagEntry 5  }

        extremeDiagPortPairAPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairA cables"
                ::= { extremeDiagPortDiagEntry 6  }

        extremeDiagPortPairAFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairA cables"
                ::= { extremeDiagPortDiagEntry 7  }

        extremeDiagPortPairALen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairA cables"
                ::= { extremeDiagPortDiagEntry 8  }

        extremeDiagPortPairASkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairA cables with respect to the fastest pair"
                ::= { extremeDiagPortDiagEntry 9  }

        extremeDiagPortPairAStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairA cables are properly terminated, 
                 short or open"
                ::= { extremeDiagPortDiagEntry 10  }

        extremeDiagPortPairBPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairB cables"
                ::= { extremeDiagPortDiagEntry 11  }

        extremeDiagPortPairBFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairB cables"
                ::= { extremeDiagPortDiagEntry 12  }

        extremeDiagPortPairBLen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairB cables"
                ::= { extremeDiagPortDiagEntry 13  }

        extremeDiagPortPairBSkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairB cables with respect to the fastest pair"
                ::= {  extremeDiagPortDiagEntry 14 }

        extremeDiagPortPairBStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairB cables are properly terminated, 
                 short or open"
                ::= { extremeDiagPortDiagEntry 15 }

        extremeDiagPortPairCPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairC cables"
                ::= { extremeDiagPortDiagEntry 16  }

        extremeDiagPortPairCFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairC cables"
                ::= { extremeDiagPortDiagEntry 17  }

        extremeDiagPortPairCLen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairC cables"
                ::= { extremeDiagPortDiagEntry 18 }

        extremeDiagPortPairCSkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairC cables with respect to the fastest pair"
                ::= { extremeDiagPortDiagEntry 19 }

        extremeDiagPortPairCStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairC cables are properly terminated, 
                 short or open"
                ::= {  extremeDiagPortDiagEntry 20}

        extremeDiagPortPairDPol OBJECT-TYPE
                SYNTAX INTEGER {positive(1), negative(2), unknown(3)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the polarity of pairD cables"
                ::= { extremeDiagPortDiagEntry 21  }

        extremeDiagPortPairDFlen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the distance of Fault in the pairD cables"
                ::= { extremeDiagPortDiagEntry 22  }

        extremeDiagPortPairDLen OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Specifies the length of the pairD cables"
                ::= { extremeDiagPortDiagEntry 23 }

        extremeDiagPortPairDSkew OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Skew of pairD cables with respect to the fastest pair"
                ::= { extremeDiagPortDiagEntry 24 }

        extremeDiagPortPairDStatus OBJECT-TYPE
                SYNTAX INTEGER {open(1), short(2), terminated(3), imperror(4), unknown(5)}
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Indicates whether pairD cables are properly terminated, 
                 short or open"
                ::= { extremeDiagPortDiagEntry 25 }

        extremeDiagPortDateTime OBJECT-TYPE
                SYNTAX DisplayString  (SIZE(64))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Date and time at which the Diagnostic information was 
                 collected"
                ::= { extremeDiagPortDiagEntry 26 }

        extremeDiagPortStatsTable  OBJECT-TYPE
                SYNTAX SEQUENCE OF ExtremeDiagPortStatsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Table, which contains the diagnostic statistic information
                 for the ports"
                ::= { extremeCable 4  }

        extremeDiagPortStatsEntry OBJECT-TYPE
                SYNTAX ExtremeDiagPortStatsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                "Each row represents port related diagnostics statistics
                 information"
                INDEX { extremeDiagPortStatsPortIfIndex }
                ::= { extremeDiagPortStatsTable 1 }

        ExtremeDiagPortStatsEntry ::=
                SEQUENCE {
                                extremeDiagPortStatsPortIfIndex
                                        INTEGER,
                                extremeDiagPortStatsNumDiag
                                        INTEGER,
                                extremeDiagPortStatsNumSuccess
                                        INTEGER,
                                extremeDiagPortStatsNumFail
                                        INTEGER,
                                extremeDiagPortStatsNumChange
                                        INTEGER,
                                extremeDiagPortStatsNumAbort
                                        INTEGER
                        }

        extremeDiagPortStatsPortIfIndex OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "IfIndex of the Port for which the information in this row applies"
                ::= { extremeDiagPortStatsEntry 1  }

        extremeDiagPortStatsNumDiag OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics information collected for this
                 port"
                ::= {   extremeDiagPortStatsEntry 2 }

        extremeDiagPortStatsNumSuccess OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics for this port completed 
                 successfully without any errors"
                ::= {   extremeDiagPortStatsEntry 3 }

        extremeDiagPortStatsNumFail OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics for this port Failed due to 
                 errors in the cable pairs"
                ::= {   extremeDiagPortStatsEntry 4 }

        extremeDiagPortStatsNumChange OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics Changed for this port"
                ::= {   extremeDiagPortStatsEntry 5 }

        extremeDiagPortStatsNumAbort OBJECT-TYPE
                SYNTAX INTEGER
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "Number of times Diagnostics was aborted by the user for this port"
                ::= {   extremeDiagPortStatsEntry 6 }

--TRAPS MIB Definitions for CDM
  
--   extremeTrapDiagPortDiagnostics     TRAP-TYPE
--   ENTERPRISE  extremenetworks
--   VARIABLES   {extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode, extremeDiagPortCfgStatus}
--   DESCRIPTION
--        "Indicates the status of Diagnostics for a port. The status indicates 
--        whether Diagnostics for a particular port failed"
--   ::= 22

   extremeCableTraps    OBJECT IDENTIFIER
        ::= { extremeV2Traps 13 }

   extremeCableTrapsPrefix   OBJECT IDENTIFIER
        ::= { extremeCableTraps 0 }

   extremeTrapDiagPortDiagnostics       NOTIFICATION-TYPE
        OBJECTS   {extremeDiagPortCfgPortIfIndex, extremeDiagPortCfgMode, extremeDiagPortCfgStatus}
      STATUS current
      DESCRIPTION
          "Indicates the status of Diagnostics for a port. The status indicates 
          whether Diagnostics for a particular port failed"
      ::= { extremeCableTrapsPrefix 1 }

END

-- ################################################################################

