-- =================================================================
-- Copyright (C) 2009 by H3C Technologies.  All rights reserved.
--
-- Description:
-- Reference:
-- Version: V1.3
-- History:
-- V1.0 created by liujingya.
--    Initial version of the MIB
-- V1.1 2008-1-29 Adjusted the structure of some tables by liujingya.
-- V1.2 2008-5-19 Added h3cHPEOCCltAutoUpgrade, h3cHPEOCCnuAnonymStatus and
--    h3cHPEOCBitPerSymbolTable, modified description of h3cHPEOCCnuBcastControl
--    by liujingya.
-- V1.3 2009-2-13 Added h3cHPEOCOnLineCnuNumber, h3cHPEOCCpuMacAddress,
--    h3cHPEOCOffLineCnuNumber, h3cHPEOCDownLoadCNUFWResult,
--    h3cHPEOCCltAutoUpgradeType, h3cHPEOCServerAddress, h3cHPEOCServerUser,
--    h3cHPEOCServerPassword and h3cHPEOCCnuMacLimit by liujingya.
-- =================================================================
H3C-HPEOC-MIB DEFINITIONS ::= BEGIN

IMPORTS
        h3cCommon
    FROM HUAWEI-3COM-OID-MIB
        ifIndex
    FROM IF-MIB
        Integer32, Unsigned32, Counter64, OBJECT-TYPE, MODULE-IDENTITY,
        IpAddress
    FROM SNMPv2-SMI
        DisplayString, TruthValue, MacAddress
    FROM SNMPv2-TC;


h3cHPEOC MODULE-IDENTITY
    LAST-UPDATED "200708281008Z"
    ORGANIZATION
        "Hangzhou H3C Tech. Co., Ltd."
    CONTACT-INFO
        "SMB EOC Team H3C Technologies Co., Ltd.
        310 Liuhe Road, Zhijiang Science Park, Hangzhou, P.R.China
        http://www.h3c.com
        Zip:310053."
    DESCRIPTION
        "
        The objects in this MIB module are used to manage and
        display current configuration of Ethernet Over Cable
        Network (EOC) which based on HomePlug(HP) AV Specification.
        "
    ::= { h3cCommon 84 }

--
-- h3cHPEOCSystem
--
h3cHPEOCSystem OBJECT IDENTIFIER ::= { h3cHPEOC 1 }

h3cHPEOCCltVlanType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            ieee8021q(1),
            portbased(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Control EOC CLT's VLAN type,
        ieee8021q : 802.1q VLAN mode,
        portbased : portbased VLAN mode.
        "
    ::= { h3cHPEOCSystem 1 }

--
-- h3cHPEOCCltVlanManTable
--
h3cHPEOCCltVlanManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCCltVlanManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the management of CLT(Coax Line Terminal)
        VLAN.
        "
    ::= { h3cHPEOCSystem 2 }

h3cHPEOCCltVlanManEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCCltVlanManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCCltVlanManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cHPEOCCltVlanManTable 1 }

H3cHPEOCCltVlanManEntry ::= SEQUENCE
    {
        h3cHPEOCCltEthPortType    INTEGER
    }

h3cHPEOCCltEthPortType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            normal(1),
            debug(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Control CLT ethernet ports' type,
        normal : port which used for normal translation,
        debug : port which used for debug.
        "
    ::= { h3cHPEOCCltVlanManEntry 1 }

--
-- h3cHPEOCCltSysManTable
--
h3cHPEOCCltSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCCltSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the management of CLT(Coax Line Terminal).
        "
    ::= { h3cHPEOCSystem 3 }

h3cHPEOCCltSysManEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCCltSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCCltSysManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cHPEOCCltSysManTable 1 }

H3cHPEOCCltSysManEntry ::= SEQUENCE
    {
        h3cHPEOCCltDescr        DisplayString,
        h3cHPEOCCltFwVersion    DisplayString
    }

h3cHPEOCCltDescr OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..126))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Set the description of CLT.
        "
    ::= { h3cHPEOCCltSysManEntry 1 }

h3cHPEOCCltFwVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        EOC firmware version.  If the object length is
        zero, it means the version is unknown.
        "
    ::= { h3cHPEOCCltSysManEntry 2 }

--
-- h3cHPEOCCnuSysManTable
--
h3cHPEOCCnuSysManTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCCnuSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table implements the management of CNUs.
        "
    ::= { h3cHPEOCSystem 4 }

h3cHPEOCCnuSysManEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCCnuSysManEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCCnuSysManTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cHPEOCCnuSysManTable 1 }

H3cHPEOCCnuSysManEntry ::= SEQUENCE
    {
        h3cHPEOCCnuBcastControl    TruthValue,
        h3cHPEOCCnuAnonymStatus    TruthValue,
        h3cHPEOCCnuMacLimit        Unsigned32
    }

h3cHPEOCCnuBcastControl OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Broadcast storm suppression status.
        true(1)  - Broadcast storm suppression enable.
        false(2) - Broadcast storm suppression disable.
        "
    ::= { h3cHPEOCCnuSysManEntry 1 }

h3cHPEOCCnuAnonymStatus OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        Anonymity status.
        true(1)  - the user which uses the CNU is anonymous.
        false(2) - the user which uses the CNU has an account.
        "
    ::= { h3cHPEOCCnuSysManEntry 2 }

h3cHPEOCCnuMacLimit OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Configure the max number of MAC address entries which can access
        through the CNU, it ranges from 1 to 8.
        Otherwise,
        If configure 0, the CNU won't limit the MAC address entry.
        If configure 0xFF, it means no MAC address entry can access the CNU.
        "
    ::= { h3cHPEOCCnuSysManEntry 3 }

h3cHPEOCCltAutoUpgrade OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Auto upgrade Status.
        true(1) - The firmware of the CNU will be auto changed by CLT.
        false(2)- The firmware of the CNU will not be auto changed.
        "
    DEFVAL
        {
            false
        }
    ::= { h3cHPEOCSystem 5 }

h3cHPEOCOnLineCnuNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of the online CNU(s).
        "
    ::= { h3cHPEOCSystem 6 }

h3cHPEOCCpuMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        EOC CPU's MAC address.
        "
    ::= { h3cHPEOCSystem 7 }

h3cHPEOCOffLineCnuNumber OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of the offline CNU(s).
        "
    ::= { h3cHPEOCSystem 8 }

h3cHPEOCDownLoadCNUFWResult OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "
        Download CNU firmware result.
        "
    ::= { h3cHPEOCSystem 9 }

h3cHPEOCCltAutoUpgradeType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            flash(1),
            ftp(2),
            tftp(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Type of auto upgrade status.
        It depends on h3cHPEOCCltAutoUpgrade status.
        flash - The CLT auto upgrade the firmware inside its flash
                   to the CNUs.
        ftp    - First download the firmware from FTP server to the CLT,
                   then the CLT auto upgrade the firmware to the CNUs.
        tftp   - First download the firmware from TFTP server to the CLT,
                   then the CLT auto upgrade the firmware to the CNUs.
        "
    ::= { h3cHPEOCSystem 10 }

h3cHPEOCAutoUpObjects OBJECT IDENTIFIER ::= { h3cHPEOCSystem 11 }

h3cHPEOCServerAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The address of remote host acting as server for operation.
        The default value is 0.0.0.0
        "
    ::= { h3cHPEOCAutoUpObjects 1 }

h3cHPEOCServerUser OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        When using ftp to transfer files, the user name must be
        specified through this node.  It contains 1 to 30 characters.
        "
    ::= { h3cHPEOCAutoUpObjects 2 }

h3cHPEOCServerPassword OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        Remote user password for copying via ftp protocol. Optionally,
        this object may be ignored for protocols other than ftp.
        It contains 1 to 31 characters.
        "
    ::= { h3cHPEOCAutoUpObjects 3 }

--
-- h3cHPEOCCableInfo
--
h3cHPEOCCableInfo OBJECT IDENTIFIER ::= { h3cHPEOC 2 }


--
-- h3cHPEOCCableInfoTable
--

h3cHPEOCCableInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCCableInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines the primary parameters of the
        cable information.
        "
    ::= { h3cHPEOCCableInfo 1 }

h3cHPEOCCableInfoEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCCableInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCCableInfoTable.
        "
    INDEX
        {
            ifIndex
        }
    ::= { h3cHPEOCCableInfoTable 1 }


H3cHPEOCCableInfoEntry ::= SEQUENCE
    {
        h3cHPEOCFECErrors            Counter64,
        h3cHPEOCAvgBitsPerCarrier    Unsigned32,
        h3cHPEOCAvgSNRPerCarrier     Integer32,
        h3cHPEOCAvgInPBCRCErrors     Unsigned32,
        h3cHPEOCInTotalPkts          Counter64,
        h3cHPEOCAvgOutPower          Integer32,
        h3cHPEOCAvgOutPBCRCErrors    Unsigned32,
        h3cHPEOCOutTotalPkts         Counter64
    }

h3cHPEOCFECErrors OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The cable port's FEC bits errors ratio.  FEC means the
        payload Forward Error Correction.  It's a technology of
        controlling errors.  Packets in transmission is checked by
        the receiver, if error occurs, the receiver will announce
        the sender to resend.
        "
    ::= { h3cHPEOCCableInfoEntry 1 }

h3cHPEOCAvgBitsPerCarrier OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The cable port's average bits per carrier.
        "
    ::= { h3cHPEOCCableInfoEntry 2 }

h3cHPEOCAvgSNRPerCarrier OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The cable port's signal noise ratio(SNR) bits per carrier.
        "
    ::= { h3cHPEOCCableInfoEntry 3 }

h3cHPEOCAvgInPBCRCErrors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The input PB CRC errors on average.
        "
    ::= { h3cHPEOCCableInfoEntry 4 }

h3cHPEOCInTotalPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total number of packets(including bad packets)
        received on this interface.
        "
    ::= { h3cHPEOCCableInfoEntry 5 }

h3cHPEOCAvgOutPower OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The cable port's power sent on average, the unit is db.
        "
    ::= { h3cHPEOCCableInfoEntry 6 }

h3cHPEOCAvgOutPBCRCErrors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The cable port's physical block(PB) cyclic redundancy
        check(CRC) errors sent on average.
        "
    ::= { h3cHPEOCCableInfoEntry 7 }

h3cHPEOCOutTotalPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        The total count of the packets(including bad packets)
        sent on this interface.
        "
    ::= { h3cHPEOCCableInfoEntry 8 }

--
-- h3cHPEOCBitPerSymbolTable
--

h3cHPEOCBitPerSymbolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCBitPerSymbolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines the bits per symbol parameters of the
        cable line.
        "
    ::= { h3cHPEOCCableInfo 2 }

h3cHPEOCBitPerSymbolEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCBitPerSymbolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCBitPerSymbolTable.
        "
    INDEX
        {
            ifIndex,
            h3cHPEOCBitPerSymbolIndex
        }
    ::= { h3cHPEOCBitPerSymbolTable 1 }

H3cHPEOCBitPerSymbolEntry ::= SEQUENCE
    {
        h3cHPEOCBitPerSymbolIndex      Unsigned32,
        h3cHPEOCBitPerSymbol           OCTET STRING
    }

h3cHPEOCBitPerSymbolIndex OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "
        The index of the h3cHPEOCBitPerSymbolTable.
        "
    ::= { h3cHPEOCBitPerSymbolEntry 1 }

h3cHPEOCBitPerSymbol OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        h3cHPEOCBitPerSymbol returns all the bits per symbol on the fixed
        frequency.  Each 4 bits stand for one value, all the values
        picking-up will make up a cable bit map.
        "
    ::= { h3cHPEOCBitPerSymbolEntry 2 }

END
