-- =================================================================
-- Copyright (c) 2004-2016 Hangzhou H3C Tech. Co., Ltd. All rights reserved.
--
-- Description:
-- Reference:
-- Version: V1.7
-- 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.
-- V1.4 2011-12-28 Added h3cHPEOCCltLinkState by gaoguangping.
--      2012-03-14 Added h3cHPEOCCltLoopbackDetect by gaoguangping.
-- V1.5 2013-08-20 Added h3cHPEOCTemplate,h3cHPEOCCnuAccess by xujun
--      2013-09-16 Added h3cHPEOCTemplateEnable by xujun
-- V1.6 2015-04-30 Bug fixed by songhao
-- V1.7 2016-09-02 Bug fixed by gaoguangping
-- =================================================================
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, RowStatus
    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,
        h3cHPEOCCltLinkState    INTEGER
    }

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 }

h3cHPEOCCltLinkState OBJECT-TYPE
    SYNTAX     INTEGER
        {
            physicaldown(1),
            linkdown(2),
            linkup(3),
            loopback(4)
        }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "
        The cable port's link state.  The physicaldown(1) state indicates
        that the CLT is not powered on.  The linkdown(2) state indicates
        that the CLT is powered on, but registers fail.  The linkup(3)
        state indicates that the CLT is powered on, and registers
        successful.  The loopback(4) state indecates that the CLT is
        powered on and registers successful, but loopback has detected.
        "
    ::= { h3cHPEOCCltSysManEntry 3 }

--
-- 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 }

h3cHPEOCCltLoopbackDetect OBJECT-TYPE
    SYNTAX      INTEGER
        {
            false(0),
            true(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Loopback detect Status.
        true(1) - The loopback detect is enabled.
        false(0)- The loopback detect is disabled.
        "
    ::= { h3cHPEOCSystem 12 }

h3cHPEOCTemplateEnable OBJECT-TYPE
    SYNTAX      INTEGER
        {
            false(0),
            true(1)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Use template for white-list cnu.
        true(1) - Use template is enabled.
        false(0)- Use template detect is disabled.
        "
    ::= { h3cHPEOCSystem 13 }

--
-- 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 }

--
-- h3cHPEOCTemplate
--

h3cHPEOCTemplate OBJECT IDENTIFIER ::= { h3cHPEOC 3 }

--
-- h3cHPEOCTemplateGlobalTable
--

h3cHPEOCTemplateGlobalTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCTemplateGlobalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines the global parameters of the
        Template information.
        "
    ::= { h3cHPEOCTemplate 1 }

h3cHPEOCTemplateGlobalEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCTemplateGlobalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCTemplateGlobalTable.
        "
    INDEX
        {
            h3cHPEOCTemplateIndex
        }
    ::= { h3cHPEOCTemplateGlobalTable 1 }

H3cHPEOCTemplateGlobalEntry ::= SEQUENCE
    {
        h3cHPEOCTemplateIndex            Integer32,
        h3cHPEOCTemplateType             Integer32,
        h3cHPEOCTemplateName             DisplayString,
        h3cHPEOCTemplateDescr            DisplayString,
        h3cHPEOCTemplateCnuMaxDownBW     Integer32,
        h3cHPEOCTemplateCnuMaxUpBW       Integer32,
        h3cHPEOCTemplateCnuBcastControl  TruthValue,
        h3cHPEOCTemplateCnuMacLimit      Unsigned32,
        h3cHPEOCTemplateCb201VlanEn      TruthValue,
        h3cHPEOCTemplateRowStatus        RowStatus
    }

h3cHPEOCTemplateIndex OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The index of cable Template.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 1 }

h3cHPEOCTemplateType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            switch(1),
            gateway(2)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "
        The cable Template's type, can not change after create it.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 2 }

h3cHPEOCTemplateName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The cable Template's name, it's recommended to set it
        uniquely and understandably. Length: 1 to 15 characters.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 3 }

h3cHPEOCTemplateDescr OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The cable Template's description. Length: 0 to 63 characters.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 4 }

h3cHPEOCTemplateCnuMaxDownBW OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        Maximum downstream bandwidth allowed for the CNU,
        measured in Kbit/s, ranges from 0 to 16384, and must be multiples of 64.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 5 }

h3cHPEOCTemplateCnuMaxUpBW OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        Maximum upstream bandwidth allowed for the CNU,
        measured in Kbit/s, ranges from 0 to 16384, and must be multiples of 64.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 6 }

h3cHPEOCTemplateCnuBcastControl 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.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 7 }

h3cHPEOCTemplateCnuMacLimit 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.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 8 }

h3cHPEOCTemplateCb201VlanEn OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Use for Cb201 cnu only.
        true(1)  - Enable vlan insert function.
        false(2) - Disable vlan insert function.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 9 }

h3cHPEOCTemplateRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "
        Operation status.
        "
    ::= { h3cHPEOCTemplateGlobalEntry 10 }

--
-- h3cHPEOCTemplateSwitchTable
--

h3cHPEOCTemplateSwitchTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCTemplateSwitchEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines the port parameters of the
        switch type cnu. it's not affect on the type of gateway Template.
        "
    ::= { h3cHPEOCTemplate 2 }

h3cHPEOCTemplateSwitchEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCTemplateSwitchEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCTemplateSwitchTable.
        "
    INDEX
        {
            h3cHPEOCTemplateIndex,
            h3cHPEOCTemplateUniIndex
        }
    ::= { h3cHPEOCTemplateSwitchTable 1 }

H3cHPEOCTemplateSwitchEntry ::= SEQUENCE
    {
        h3cHPEOCTemplateUniIndex            Integer32,
        h3cHPEOCTemplateUniSpeed            INTEGER,
        h3cHPEOCTemplateUniDuplex           INTEGER,
        h3cHPEOCTemplateUniPriority         Integer32,
        h3cHPEOCTemplateUniFlowControl      TruthValue,
        h3cHPEOCTemplateUniUpLineRate       Unsigned32,
        h3cHPEOCTemplateUniDownLineRate     Unsigned32,
        h3cHPEOCTemplateUniAdminStatus      INTEGER,
        h3cHPEOCTemplateUniVLANType         INTEGER,
        h3cHPEOCTemplateUniPvid             Integer32,
        h3cHPEOCTemplateUniVlanTag          INTEGER
    }

h3cHPEOCTemplateUniIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "
        The index value which uniquely identifies the FE
        interface of the CNU.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 1 }

h3cHPEOCTemplateUniSpeed OBJECT-TYPE
    SYNTAX     INTEGER
        {
            auto(1),
            s10M(10),
            s100M(100)
        }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        User network interface speed.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 2 }

h3cHPEOCTemplateUniDuplex OBJECT-TYPE
    SYNTAX     INTEGER
        {
            full(1),
            half(2),
            auto(3)
        }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        User network interface mode.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 3 }

h3cHPEOCTemplateUniPriority OBJECT-TYPE
    SYNTAX     Integer32 (0..7)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The default ingress User Priority for this port.  This
        only has effect on media, such as Ethernet, that do not
        support native User Priority.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 4 }

h3cHPEOCTemplateUniFlowControl OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Flow control status.
        true(1)  - Flow control status enable.
        false(2) - Flow control status disable."
    DEFVAL
        {
            false
        }
    ::= { h3cHPEOCTemplateSwitchEntry 5 }

h3cHPEOCTemplateUniUpLineRate OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The max speed upload in units of 1,024 bits per second
        on this interface.  The value should between 0 and 8Mbps.
        If the value is 0, it means that the upload speed is only
        restricted by the physical line.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 6 }

h3cHPEOCTemplateUniDownLineRate OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The max speed download in units of 1,024 bits per second
        on this interface.  The value should between 0 and 8Mbps.
        If the value is 0, it means that the download speed is only
        restricted by the physical line.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 7 }

h3cHPEOCTemplateUniAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER
        {
            up(1),
            down(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Control if open or close the UNI.  If choose up(1), means the UNI is
        opened and packets can pass it.  If choose down(2), means the UNI is
        closed and all packets will be discard.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 8 }

h3cHPEOCTemplateUniVLANType OBJECT-TYPE
    SYNTAX     INTEGER
        {
            access(1),
            trunk(2),
            hybrid(3)
        }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "port vlan types.
        hybrid (3) port can carry multiple VLANs.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 9 }

h3cHPEOCTemplateUniPvid OBJECT-TYPE
    SYNTAX     Integer32 (1..4094)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The PVID, the VLAN ID assigned to untagged frames or
        Priority-Tagged frames received on this port.
        "
    REFERENCE
        "
        IEEE 802.1Q/D11 Section 12.10.1.1
        "
    DEFVAL
        {
            1
        }
    ::= { h3cHPEOCTemplateSwitchEntry 10 }

h3cHPEOCTemplateUniVlanTag OBJECT-TYPE
    SYNTAX     INTEGER
        {
            tagged(1),
            untagged(2)
        }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        VLAN is set tagged or untagged.
        "
    ::= { h3cHPEOCTemplateSwitchEntry 11 }

--
-- h3cHPEOCCnuAccess
--
h3cHPEOCCnuAccess OBJECT IDENTIFIER ::= { h3cHPEOC 4 }

--
-- h3cHPEOCCnuAccessTable
--

h3cHPEOCCnuAccessTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF H3cHPEOCCnuAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        This table defines the global parameters of the
        cnu type permitting to access.
        "
    ::= { h3cHPEOCCnuAccess 1 }

h3cHPEOCCnuAccessEntry OBJECT-TYPE
    SYNTAX      H3cHPEOCCnuAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table h3cHPEOCCnuAccessTable.
        "
    INDEX
        {
            h3cHPEOCCnuAccessIndex
        }
    ::= { h3cHPEOCCnuAccessTable 1 }


H3cHPEOCCnuAccessEntry ::= SEQUENCE
    {
        h3cHPEOCCnuAccessIndex        Integer32,
        h3cHPEOCCnuHFID               DisplayString,
        h3cHPEOCManuInfo              DisplayString,
        h3cHPEOCCnuType               Integer32,
        h3cHPEOCCnuSwitchType         Integer32,
        h3cHPEOCCnuUniNum             Integer32,
        h3cHPEOCCnuPhy2Uni            OCTET STRING,
        h3cHPEOCCnuAccessRowStatus    RowStatus
    }

h3cHPEOCCnuAccessIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "
        The index value which uniquely identifies the
        manuinfo of the CNU.
        "
    ::= { h3cHPEOCCnuAccessEntry 1 }

h3cHPEOCCnuHFID OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The Cnu's HFID. Every type Cnu has it's unique HFID.
        Length: 1 to 64 characters.
        "
    ::= { h3cHPEOCCnuAccessEntry 2 }

h3cHPEOCManuInfo OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The Cnu's manufactory infofamiont.
        Length: 0 to 63 characters.
        "
    ::= { h3cHPEOCCnuAccessEntry 3 }

h3cHPEOCCnuType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            switch(1),
            gateway(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The Cnu's function type.
        "
    ::= { h3cHPEOCCnuAccessEntry 4 }

h3cHPEOCCnuSwitchType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            rtl8306e(1),
            ar8236(2),
            mv6061(3),
            mv6031(4)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The Cnu's switch chip type. It's useless for gataway type cnu.
        "
    ::= { h3cHPEOCCnuAccessEntry 5 }

h3cHPEOCCnuUniNum OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Uni number of the Cnu. It's useless for gataway type cnu.
        "
    ::= { h3cHPEOCCnuAccessEntry 6 }

h3cHPEOCCnuPhy2Uni OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        Reflection from phy port to uni port of the cnu.
        It's useless for gataway type cnu.
        For example, phy port 0,1,2,3 is reflect to uni port
        1,2,3,4, then the value of this mib is {0,1,2,3}
        "
    ::= { h3cHPEOCCnuAccessEntry 7 }

h3cHPEOCCnuAccessRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "
        Operation status.
        "
    ::= { h3cHPEOCCnuAccessEntry 8 }

END
