-- ===========================================================
-- Copyright (c) 2004-2018 Hangzhou H3C Tech. Co., Ltd.  All rights reserved.
--
-- Description:  Transceiver MIB
-- Reference:  IF-MIB
-- Version:  V1.7
-- History:
-- V1.0 created by liuhongxu and zoudian.
--   Initial version 2006-01-10
-- V1.1 2006-06-08 Updated by chenzhaojie
--   Change description of h3cTransceiverWaveLength
-- V1.2 2009-12-29 Updated by jinyi
--   Add the objects of h3cTransceiverDiagnostic, h3cTransceiverCurTXPower,
--   h3cTransceiverMaxTXPower, h3cTransceiverMinTXPower, h3cTransceiverCurRXPower,
--   h3cTransceiverMaxRXPower, h3cTransceiverMinRXPower, h3cTransceiverTemperature,
--   h3cTransceiverVoltage, h3cTransceiverBiasCurrent
-- V1.3 2012-06-06 Updated by jixugang
--   Add the objects of h3cTransceiverTempHiAlarm, h3cTransceiverTempLoAlarm,
--   h3cTransceiverTempHiWarn, h3cTransceiverTempLoWarn, h3cTransceiverVccHiAlarm,
--   h3cTransceiverVccLoAlarm, h3cTransceiverVccHiWarn, h3cTransceiverVccLoWarn,
--   h3cTransceiverBiasHiAlarm, h3cTransceiverBiasLoAlarm, h3cTransceiverBiasHiWarn,
--   h3cTransceiverBiasLoWarn, h3cTransceiverPwrOutHiAlarm, h3cTransceiverPwrOutLoAlarm,
--   h3cTransceiverPwrOutHiWarn, h3cTransceiverPwrOutLoWarn, h3cTransceiverRcvPwrHiAlarm,
--   h3cTransceiverRcvPwrLoAlarm, h3cTransceiverRcvPwrHiWarn, h3cTransceiverRcvPwrLoWarn,
--   h3cTransceiverErrors
-- V1.4 2013-06-06 Updated by chenyixian
--   Add h3cTransceiverChannelTable to transceiver channel statistics.
-- V1.5 2014-08-11 Updated by SongHao
--   Add h3cTransceiverVendorOUI and h3cTransceiverRevisionNumber.
-- V1.6 2015-12-25 Updated by zhouliping
--   Added h3cTransceiverFrequency and h3cTransceiverActiveITUChannel to h3cTransceiverInfoTable.
--   Added h3cTransceiverITUChanTable for ITU channel information.
-- V1.7 2016-03-09 Updated by zhouliping
--   Added h3cTransceiverCurWaveErr, h3cTransceiverWaveErrHiAlarm, h3cTransceiverWaveErrLoAlarm,
--   h3cTransceiverCurFreqErr, h3cTransceiverFreqErrHiAlarm and h3cTransceiverFreqErrLoAlarm
--   to h3cTransceiverInfoTable.
--     2018-01-03 Updated by zhouliping
--   Added h3cTransceiverChannelBiasHiAm, h3cTransceiverChannelBiasLoAm,
--   h3cTransceiverChannelTXPwrHiAm, h3cTransceiverChannelTXPwrLoAm
--   to h3cTransceiverChannelTable.
-- =================================================================
H3C-TRANSCEIVER-INFO-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32
        FROM SNMPv2-SMI
    TruthValue
        FROM SNMPv2-TC
    ifIndex
        FROM IF-MIB
    h3cCommon
        FROM HUAWEI-3COM-OID-MIB;

    h3cTransceiver MODULE-IDENTITY
        LAST-UPDATED "201801030000Z"
        ORGANIZATION
            "Hangzhou H3C Technologies Co., Ltd."
        CONTACT-INFO
            "Platform Team Hangzhou H3C Technologies Co., Ltd.
            Hai-Dian District Beijing P.R. China
            http://www.h3c.com
            Zip:100085"
        DESCRIPTION
            "The objects in this MIB module are used to display the
            information of transceiver on interface."
        REVISION "201801030000Z"
        DESCRIPTION
            "Added h3cTransceiverChannelBiasHiAm, h3cTransceiverChannelBiasLoAm,
            h3cTransceiverChannelTXPwrHiAm, h3cTransceiverChannelTXPwrLoAm
            to h3cTransceiverChannelTable."
        REVISION "201603090000Z"
        DESCRIPTION
            "Added h3cTransceiverCurWaveErr, h3cTransceiverWaveErrHiAlarm, h3cTransceiverWaveErrLoAlarm,
            h3cTransceiverCurFreqErr, h3cTransceiverFreqErrHiAlarm and h3cTransceiverFreqErrLoAlarm
            to h3cTransceiverInfoTable."
        REVISION "201512250000Z"
        DESCRIPTION
            "Added h3cTransceiverFrequency and h3cTransceiverActiveITUChannel to h3cTransceiverInfoTable.
            Added h3cTransceiverITUChanTable for ITU channel information."
        REVISION "201408111050Z"
        DESCRIPTION
            "Add h3cTransceiverVendorOUI and h3cTransceiverRevisionNumber."
        REVISION "201306060000Z"
        DESCRIPTION
            "Add h3cTransceiverChannelTable to transceiver channel statistics."
        REVISION "201206060000Z"
        DESCRIPTION
            "Add the objects of h3cTransceiverTempHiAlarm, h3cTransceiverTempLoAlarm,
            h3cTransceiverTempHiWarn, h3cTransceiverTempLoWarn, h3cTransceiverVccHiAlarm,
            h3cTransceiverVccLoAlarm, h3cTransceiverVccHiWarn, h3cTransceiverVccLoWarn,
            h3cTransceiverBiasHiAlarm, h3cTransceiverBiasLoAlarm, h3cTransceiverBiasHiWarn,
            h3cTransceiverBiasLoWarn, h3cTransceiverPwrOutHiAlarm, h3cTransceiverPwrOutLoAlarm,
            h3cTransceiverPwrOutHiWarn, h3cTransceiverPwrOutLoWarn, h3cTransceiverRcvPwrHiAlarm,
            h3cTransceiverRcvPwrLoAlarm, h3cTransceiverRcvPwrHiWarn, h3cTransceiverRcvPwrLoWarn,
            h3cTransceiverErrors."
        REVISION "200912290000Z"
        DESCRIPTION
            "Add the objects of h3cTransceiverDiagnostic, h3cTransceiverCurTXPower,
            h3cTransceiverMaxTXPower, h3cTransceiverMinTXPower, h3cTransceiverCurRXPower,
            h3cTransceiverMaxRXPower, h3cTransceiverMinRXPower, h3cTransceiverTemperature,
            h3cTransceiverVoltage, h3cTransceiverBiasCurrent."
        REVISION "200606080000Z"
        DESCRIPTION
            "Change description of h3cTransceiverWaveLength."
        REVISION "200601100000Z"
        DESCRIPTION
            "The initial revision of this MIB module."
            ::= { h3cCommon 70 }

    h3cTransceiverInfoAdm OBJECT IDENTIFIER ::= { h3cTransceiver 1 }

    h3cTransceiverInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cTransceiverInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table shows transceiver information on an interface."
        ::= { h3cTransceiverInfoAdm 1 }

    h3cTransceiverInfoEntry OBJECT-TYPE
        SYNTAX H3cTransceiverInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of the h3cTransceiverInfoTable."
        INDEX { ifIndex }
        ::= { h3cTransceiverInfoTable 1 }

    H3cTransceiverInfoEntry ::=
        SEQUENCE {
            h3cTransceiverHardwareType      OCTET STRING,
            h3cTransceiverType              OCTET STRING,
            h3cTransceiverWaveLength        Integer32,
            h3cTransceiverVendorName        OCTET STRING,
            h3cTransceiverSerialNumber      OCTET STRING,
            h3cTransceiverFiberDiameterType INTEGER,
            h3cTransceiverTransferDistance  Integer32,
            h3cTransceiverDiagnostic        TruthValue,
            h3cTransceiverCurTXPower        Integer32,
            h3cTransceiverMaxTXPower        Integer32,
            h3cTransceiverMinTXPower        Integer32,
            h3cTransceiverCurRXPower        Integer32,
            h3cTransceiverMaxRXPower        Integer32,
            h3cTransceiverMinRXPower        Integer32,
            h3cTransceiverTemperature       Integer32,
            h3cTransceiverVoltage           Integer32,
            h3cTransceiverBiasCurrent       Integer32,
            h3cTransceiverTempHiAlarm       Integer32,
            h3cTransceiverTempLoAlarm       Integer32,
            h3cTransceiverTempHiWarn        Integer32,
            h3cTransceiverTempLoWarn        Integer32,
            h3cTransceiverVccHiAlarm        Integer32,
            h3cTransceiverVccLoAlarm        Integer32,
            h3cTransceiverVccHiWarn         Integer32,
            h3cTransceiverVccLoWarn         Integer32,
            h3cTransceiverBiasHiAlarm       Integer32,
            h3cTransceiverBiasLoAlarm       Integer32,
            h3cTransceiverBiasHiWarn        Integer32,
            h3cTransceiverBiasLoWarn        Integer32,
            h3cTransceiverPwrOutHiAlarm     Integer32,
            h3cTransceiverPwrOutLoAlarm     Integer32,
            h3cTransceiverPwrOutHiWarn      Integer32,
            h3cTransceiverPwrOutLoWarn      Integer32,
            h3cTransceiverRcvPwrHiAlarm     Integer32,
            h3cTransceiverRcvPwrLoAlarm     Integer32,
            h3cTransceiverRcvPwrHiWarn      Integer32,
            h3cTransceiverRcvPwrLoWarn      Integer32,
            h3cTransceiverErrors            BITS,
            h3cTransceiverVendorOUI         OCTET STRING,
            h3cTransceiverRevisionNumber    OCTET STRING,
            h3cTransceiverFrequency         Integer32,
            h3cTransceiverActiveITUChannel  Unsigned32,
            h3cTransceiverCurWaveErr        Integer32,
            h3cTransceiverWaveErrHiAlarm    Integer32,
            h3cTransceiverWaveErrLoAlarm    Integer32,
            h3cTransceiverCurFreqErr        Integer32,
            h3cTransceiverFreqErrHiAlarm    Integer32,
            h3cTransceiverFreqErrLoAlarm    Integer32
        }

    h3cTransceiverHardwareType OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Hardware type of the interface, such as SM(single mode)."
        ::= { h3cTransceiverInfoEntry 1 }

    h3cTransceiverType OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Type of the interface, such as SFP/XFP/GBIC."
        ::= { h3cTransceiverInfoEntry 2 }

    h3cTransceiverWaveLength OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Wave length of the interface, measured in nanometer.
            The unit is nm."
        ::= { h3cTransceiverInfoEntry 3 }

    h3cTransceiverVendorName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vendor name of the interface."
        ::= { h3cTransceiverInfoEntry 4 }

    h3cTransceiverSerialNumber OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Serial number of the interface."
        ::= { h3cTransceiverInfoEntry 5 }

    h3cTransceiverFiberDiameterType OBJECT-TYPE
        SYNTAX INTEGER
            {
              fiber9(1),
              fiber50(2),
              fiber625(3),
              copper(4),
              unknown(65535)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The diameter of the fiber, measured in micron.
            fiber9 - 9 micron multi-mode fiber
            fiber50 - 50 micron multi-mode fiber
            fiber625 - 62.5 micron multi-mode fiber
            copper - copper cable."
        ::= { h3cTransceiverInfoEntry 6 }

    h3cTransceiverTransferDistance OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The maximum distance which the interface can transmit,
            measured in meter."
        ::= { h3cTransceiverInfoEntry 7 }

    h3cTransceiverDiagnostic OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the digital diagnostic monitoring function."
        ::= { h3cTransceiverInfoEntry 8 }

    h3cTransceiverCurTXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current transmitted power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 9 }

    h3cTransceiverMaxTXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the maximum transmitted power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 10 }

    h3cTransceiverMinTXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the minimum transmitted power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 11 }

    h3cTransceiverCurRXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current received power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 12 }

    h3cTransceiverMaxRXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the maximum received power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 13 }

    h3cTransceiverMinRXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the minimum received power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverInfoEntry 14 }

    h3cTransceiverTemperature OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current temperature.
             The unit is Celsius centigrade."
        ::= { h3cTransceiverInfoEntry 15 }

    h3cTransceiverVoltage OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current voltage.
            The unit is in hundredths of V"
        ::= { h3cTransceiverInfoEntry 16 }

    h3cTransceiverBiasCurrent OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current bias electric current.
            The unit is in hundredths of mA"
        ::= { h3cTransceiverInfoEntry 17 }

    h3cTransceiverTempHiAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver temperature high alarm threshold
             in thousandths of degrees Celsius.
             As an example: 49120 is 49.120 degrees Celsius."
        ::= { h3cTransceiverInfoEntry 18 }

    h3cTransceiverTempLoAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver temperature low alarm threshold
             in thousandths of degrees Celsius.
             As an example: 49120 is 49.120 degrees Celsius."
        ::= { h3cTransceiverInfoEntry 19 }

    h3cTransceiverTempHiWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver temperature high warning threshold
             in thousandths of degrees Celsius.
             As an example: 49120 is 49.120 degrees Celsius."
        ::= { h3cTransceiverInfoEntry 20 }

    h3cTransceiverTempLoWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver temperature low warning threshold
             in thousandths of degrees Celsius.
             As an example: 49120 is 49.120 degrees Celsius."
        ::= { h3cTransceiverInfoEntry 21 }

    h3cTransceiverVccHiAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver VCC high alarm threshold
             in hundreds of microvolts.
             As an example: 32928 is 3.2928 volts.
             Returns zero if not supported on the transceiver."
        ::= { h3cTransceiverInfoEntry 22 }

    h3cTransceiverVccLoAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver VCC low alarm threshold
             in hundreds of microvolts.
             As an example: 32928 is 3.2928 volts.
             Returns zero if not supported on the transceiver."
        ::= { h3cTransceiverInfoEntry 23 }

    h3cTransceiverVccHiWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver VCC high warning threshold
             in hundreds of microvolts.
             As an example: 32928 is 3.2928 volts.
             Returns zero if not supported on the transceiver."
        ::= { h3cTransceiverInfoEntry 24 }

    h3cTransceiverVccLoWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver VCC low warning threshold
             in hundreds of microvolts.
             As an example: 32928 is 3.2928 volts.
             Returns zero if not supported on the transceiver."
        ::= { h3cTransceiverInfoEntry 25 }

    h3cTransceiverBiasHiAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver bias high alarm threshold in microamps."
        ::= { h3cTransceiverInfoEntry 26 }

    h3cTransceiverBiasLoAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver bias low alarm threshold in microamps."
        ::= { h3cTransceiverInfoEntry 27 }

    h3cTransceiverBiasHiWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver bias high warning threshold in microamps."
        ::= { h3cTransceiverInfoEntry 28 }

    h3cTransceiverBiasLoWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver bias low warning threshold in microamps."
        ::= { h3cTransceiverInfoEntry 29 }

    h3cTransceiverPwrOutHiAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver transmit power high alarm
             threshold in tenths of microwatts.
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 30 }

    h3cTransceiverPwrOutLoAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver transmit power low alarm
             threshold in tenths of microwatts.
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 31 }

    h3cTransceiverPwrOutHiWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver transmit power high warning
             threshold in tenths of microwatts
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 32 }

    h3cTransceiverPwrOutLoWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver transmit power low warning
             threshold in tenths of microwatts.
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 33 }

    h3cTransceiverRcvPwrHiAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver receive power high alarm
             threshold in tenths of microwatts.
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 34 }

    h3cTransceiverRcvPwrLoAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver receive power low alarm
             threshold in tenths of microwatts.
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 35 }

    h3cTransceiverRcvPwrHiWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver receive power high warning
             threshold in tenths of microwatts.
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 36 }

    h3cTransceiverRcvPwrLoWarn OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver receive power low warning
             threshold in tenths of microwatts.
             As an example: 10000 is 1 milliwatt."
        ::= { h3cTransceiverInfoEntry 37 }

    h3cTransceiverErrors OBJECT-TYPE
        SYNTAX      BITS
            {
                xcvrIOError(0),
                xcvrChecksum(1),
                xcvrTypeAndPortConfigMismatch(2),
                xcvrTypeNotSupported(3),
                wisLocalFault(4),
                rcvOpticalPowerFault(5),
                pmapmdReceiverLocalFault(6),
                pcsReceiveLocalFault(7),
                phyXSReceiveLocalFault(8),
                laserBiasCurrentFault(9),
                laserTemperatureFault(10),
                laserOutputPowerFault(11),
                txFault(12),
                pmapmdTransmitterLocalFault(13),
                pcsTransmitLocalFault(14),
                phyXSTransmitLocalFault(15),
                rxLossOfSignal(16),
                tecError(17),
                wavelengthUnlocked(18),
                txIsNotReadyDueToTuning(19)
            }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Bitmask indicating transceiver errors.
             Transceiver information I/O error(0)
             Transceiver information checksum error(1)
             Transceiver type and port configuration mismatch(2)
             Transceiver type not supported by port hardware(3)
             WIS local fault(4)
             Receive optical power fault(5)
             PMA/PMD receiver local fault(6)
             PCS receive local fault(7)
             PHY XS receive local fault(8)
             Laser bias current fault(9)
             Laser temperature fault(10)
             Laser output power fault(11)
             TX fault(12)
             PMA/PMD transmitter local fault(13)
             PCS transmit local fault(14)
             PHY XS Transmit Local Fault(15)
             RX loss of signal(16)
             TEC error(17)
             Wavelength unlocked(18)
             Tx is not ready due to tuning(19)
             Unused(20-31)"
        ::= { h3cTransceiverInfoEntry 38 }

    h3cTransceiverVendorOUI OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vendor OUI of the interface."
        ::= { h3cTransceiverInfoEntry 39 }

    h3cTransceiverRevisionNumber OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..255))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Revision number of the interface."
        ::= { h3cTransceiverInfoEntry 40 }

    h3cTransceiverFrequency OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The frequency of the current ITU channel on the connected transceiver.
            The unit is hundredths of THz."
        ::= { h3cTransceiverInfoEntry 41 }

    h3cTransceiverActiveITUChannel OBJECT-TYPE
        SYNTAX      Unsigned32 (1..4294967295)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The index of the current ITU channel on the connected transceiver.
            The maximum index number for the ITU channel might vary by transceiver model.
            The value of this node depends on the h3cTransceiverITUChanIdx node of h3cTransceiverITUChanTable.
            The value of this node affects the frequency or wavelength."
        ::= { h3cTransceiverInfoEntry 42 }

    h3cTransceiverCurWaveErr OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current wavelength error of the current ITU channel
            on the connected transceiver.
            The unit is thousandths of nm."
        ::= { h3cTransceiverInfoEntry 43 }

    h3cTransceiverWaveErrHiAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The high wavelength error alarm threshold of the
            current ITU channel on the connected transceiver.
            The unit is thousandths of nm."
        ::= { h3cTransceiverInfoEntry 44 }

    h3cTransceiverWaveErrLoAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The low wavelength error alarm threshold of the
            current ITU channel on the connected transceiver.
            The unit is thousandths of nm."
        ::= { h3cTransceiverInfoEntry 45 }

    h3cTransceiverCurFreqErr OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current frequency error of the current ITU channel
            on the connected transceiver.
            The unit is tenths of GHz."
        ::= { h3cTransceiverInfoEntry 46 }

    h3cTransceiverFreqErrHiAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The high frequency error alarm threshold of the current
            ITU channel on the connected transceiver.
            The unit is tenths of GHz."
        ::= { h3cTransceiverInfoEntry 47 }

    h3cTransceiverFreqErrLoAlarm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The low frequency error alarm threshold of the current
            ITU channel on the connected transceiver.
            The unit is tenths of GHz."
        ::= { h3cTransceiverInfoEntry 48 }

-- Transceiver Channel Table

    h3cTransceiverChannelTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cTransceiverChannelEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table provides statistics about transceiver with multi-channel."
        ::= { h3cTransceiverInfoAdm 2 }

    h3cTransceiverChannelEntry OBJECT-TYPE
        SYNTAX H3cTransceiverChannelEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of the h3cTransceiverChannelTable."
        INDEX { ifIndex, h3cTransceiverChannelIndex }
        ::= { h3cTransceiverChannelTable 1 }

    H3cTransceiverChannelEntry ::=
        SEQUENCE {
            h3cTransceiverChannelIndex             Integer32,
            h3cTransceiverChannelCurTXPower        Integer32,
            h3cTransceiverChannelCurRXPower        Integer32,
            h3cTransceiverChannelTemperature       Integer32,
            h3cTransceiverChannelBiasCurrent       Integer32,
            h3cTransceiverChannelBiasHiAm          Integer32,
            h3cTransceiverChannelBiasLoAm          Integer32,
            h3cTransceiverChannelTXPwrHiAm         Integer32,
            h3cTransceiverChannelTXPwrLoAm         Integer32
        }

    h3cTransceiverChannelIndex OBJECT-TYPE
        SYNTAX      Integer32(1..2147483647)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The channel index of transceiver.
            Indicating one channel of the interface."
        ::= { h3cTransceiverChannelEntry 1 }

    h3cTransceiverChannelCurTXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current transmission power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverChannelEntry 2 }

    h3cTransceiverChannelCurRXPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current received power.
            The unit is in hundredths of dBM."
        ::= { h3cTransceiverChannelEntry 3 }

    h3cTransceiverChannelTemperature OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current temperature.
            The unit is Celsius centigrade."
        ::= { h3cTransceiverChannelEntry 4 }

    h3cTransceiverChannelBiasCurrent OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Indicating the current bias electric current.
            The unit is in hundredths of mA."
        ::= { h3cTransceiverChannelEntry 5 }

    h3cTransceiverChannelBiasHiAm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver bias high alarm threshold in microamps."
        ::= { h3cTransceiverChannelEntry 6 }

    h3cTransceiverChannelBiasLoAm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver bias low alarm threshold in microamps."
        ::= { h3cTransceiverChannelEntry 7 }

    h3cTransceiverChannelTXPwrHiAm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver transmit power high alarm threshold in tenths of microwatts."
        ::= { h3cTransceiverChannelEntry 8 }

    h3cTransceiverChannelTXPwrLoAm OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Transceiver transmit power low alarm threshold in tenths of microwatts."
        ::= { h3cTransceiverChannelEntry 9 }

-- Transceiver ITUChannel Table

    h3cTransceiverITUChanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF H3cTransceiverITUChanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table provides information about ITU channels supported on the transceiver that is connected to this interface."
        ::= { h3cTransceiverInfoAdm 3 }

    h3cTransceiverITUChanEntry OBJECT-TYPE
        SYNTAX H3cTransceiverITUChanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of the h3cTransceiverITUChanTable."
        INDEX { ifIndex, h3cTransceiverITUChanIdx }
        ::= { h3cTransceiverITUChanTable 1 }

    H3cTransceiverITUChanEntry ::=
        SEQUENCE {
            h3cTransceiverITUChanIdx            Unsigned32,
            h3cTransceiverITUChanFreq          Integer32,
            h3cTransceiverITUChanWaveLth        Integer32
        }

    h3cTransceiverITUChanIdx OBJECT-TYPE
        SYNTAX      Unsigned32 (1..4294967295)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The index of the specified ITU channel on the transceiver that is connected to this interface."
        ::= { h3cTransceiverITUChanEntry 1 }

    h3cTransceiverITUChanFreq OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The frequency of the specified ITU channel on the transceiver that is connected to this interface.
            The unit is hundredths of THz."
        ::= { h3cTransceiverITUChanEntry 2 }

    h3cTransceiverITUChanWaveLth OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The wave length of the specified ITU channel on the transceiver that is connected to this interface.
            The unit is pm."
        ::= { h3cTransceiverITUChanEntry 3 }

END
