-- =================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description:
-- Reference:
-- Version: V1.5
-- 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 hpnicfHPEOCCltAutoUpgrade, hpnicfHPEOCCnuAnonymStatus and
--    hpnicfHPEOCBitPerSymbolTable, modified description of hpnicfHPEOCCnuBcastControl
--    by liujingya.
-- V1.3 2009-2-13 Added hpnicfHPEOCOnLineCnuNumber, hpnicfHPEOCCpuMacAddress,
--    hpnicfHPEOCOffLineCnuNumber, hpnicfHPEOCDownLoadCNUFWResult,
--    hpnicfHPEOCCltAutoUpgradeType, hpnicfHPEOCServerAddress, hpnicfHPEOCServerUser,
--    hpnicfHPEOCServerPassword and hpnicfHPEOCCnuMacLimit by liujingya.
-- V1.4 2011-12-28 Added hpnicfHPEOCCltLinkState by gaoguangping.
--      2012-03-14 Added hpnicfHPEOCCltLoopbackDetect by gaoguangping.
-- V1.5 2013-08-20 Added hpnicfHPEOCTemplate,hpnicfHPEOCCnuAccess by xujun
--      2013-09-16 Added hpnicfHPEOCTemplateEnable by xujun 
-- =================================================================
HPN-ICF-HPEOC-MIB DEFINITIONS ::= BEGIN

IMPORTS
        hpnicfCommon
    FROM HPN-ICF-OID-MIB
        ifIndex
    FROM IF-MIB
        Integer32, Unsigned32, Counter64, OBJECT-TYPE, MODULE-IDENTITY,
        IpAddress
    FROM SNMPv2-SMI
        DisplayString, TruthValue, MacAddress, RowStatus
    FROM SNMPv2-TC;


hpnicfHPEOC MODULE-IDENTITY
    LAST-UPDATED "200708281008Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    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.
        "
    ::= { hpnicfCommon 84 }

--
-- hpnicfHPEOCSystem
--
hpnicfHPEOCSystem OBJECT IDENTIFIER ::= { hpnicfHPEOC 1 }

hpnicfHPEOCCltVlanType 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.
        "
    ::= { hpnicfHPEOCSystem 1 }

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

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

HpnicfHPEOCCltVlanManEntry ::= SEQUENCE
    {
        hpnicfHPEOCCltEthPortType    INTEGER
    }

hpnicfHPEOCCltEthPortType 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.
        "
    ::= { hpnicfHPEOCCltVlanManEntry 1 }

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

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

HpnicfHPEOCCltSysManEntry ::= SEQUENCE
    {
        hpnicfHPEOCCltDescr        DisplayString,
        hpnicfHPEOCCltFwVersion    DisplayString,
        hpnicfHPEOCCltLinkState    INTEGER
    }

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

hpnicfHPEOCCltFwVersion 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.
        "
    ::= { hpnicfHPEOCCltSysManEntry 2 }

hpnicfHPEOCCltLinkState 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.
        "
    ::= { hpnicfHPEOCCltSysManEntry 3 }

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

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

HpnicfHPEOCCnuSysManEntry ::= SEQUENCE
    {
        hpnicfHPEOCCnuBcastControl    TruthValue,
        hpnicfHPEOCCnuAnonymStatus    TruthValue,
        hpnicfHPEOCCnuMacLimit        Unsigned32
    }

hpnicfHPEOCCnuBcastControl 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.
        "
    ::= { hpnicfHPEOCCnuSysManEntry 1 }

hpnicfHPEOCCnuAnonymStatus 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.
        "
    ::= { hpnicfHPEOCCnuSysManEntry 2 }

hpnicfHPEOCCnuMacLimit 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.
        "
    ::= { hpnicfHPEOCCnuSysManEntry 3 }

hpnicfHPEOCCltAutoUpgrade 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
        }
    ::= { hpnicfHPEOCSystem 5 }

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

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

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

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

hpnicfHPEOCCltAutoUpgradeType 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 hpnicfHPEOCCltAutoUpgrade 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.
        "
    ::= { hpnicfHPEOCSystem 10 }

hpnicfHPEOCAutoUpObjects OBJECT IDENTIFIER ::= { hpnicfHPEOCSystem 11 }

hpnicfHPEOCServerAddress 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
        "
    ::= { hpnicfHPEOCAutoUpObjects 1 }

hpnicfHPEOCServerUser 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.
        "
    ::= { hpnicfHPEOCAutoUpObjects 2 }

hpnicfHPEOCServerPassword 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.
        "
    ::= { hpnicfHPEOCAutoUpObjects 3 }

hpnicfHPEOCCltLoopbackDetect 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.
        "
    ::= { hpnicfHPEOCSystem 12 }

hpnicfHPEOCTemplateEnable 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.
        "
    ::= { hpnicfHPEOCSystem 13 }

--
-- hpnicfHPEOCCableInfo
--
hpnicfHPEOCCableInfo OBJECT IDENTIFIER ::= { hpnicfHPEOC 2 }


--
-- hpnicfHPEOCCableInfoTable
--

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

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


HpnicfHPEOCCableInfoEntry ::= SEQUENCE
    {
        hpnicfHPEOCFECErrors            Counter64,
        hpnicfHPEOCAvgBitsPerCarrier    Unsigned32,
        hpnicfHPEOCAvgSNRPerCarrier     Integer32,
        hpnicfHPEOCAvgInPBCRCErrors     Unsigned32,
        hpnicfHPEOCInTotalPkts          Counter64,
        hpnicfHPEOCAvgOutPower          Integer32,
        hpnicfHPEOCAvgOutPBCRCErrors    Unsigned32,
        hpnicfHPEOCOutTotalPkts         Counter64
    }

hpnicfHPEOCFECErrors 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.
        "
    ::= { hpnicfHPEOCCableInfoEntry 1 }

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

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

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

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

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

hpnicfHPEOCAvgOutPBCRCErrors 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.
        "
    ::= { hpnicfHPEOCCableInfoEntry 7 }

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

--
-- hpnicfHPEOCBitPerSymbolTable
--

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

hpnicfHPEOCBitPerSymbolEntry OBJECT-TYPE
    SYNTAX      HpnicfHPEOCBitPerSymbolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfHPEOCBitPerSymbolTable.
        "
    INDEX
        {
            ifIndex,
            hpnicfHPEOCBitPerSymbolIndex
        }
    ::= { hpnicfHPEOCBitPerSymbolTable 1 }

HpnicfHPEOCBitPerSymbolEntry ::= SEQUENCE
    {
        hpnicfHPEOCBitPerSymbolIndex      Unsigned32,
        hpnicfHPEOCBitPerSymbol           OCTET STRING
    }

hpnicfHPEOCBitPerSymbolIndex OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "
        The index of the hpnicfHPEOCBitPerSymbolTable.
        "
    ::= { hpnicfHPEOCBitPerSymbolEntry 1 }

hpnicfHPEOCBitPerSymbol OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "
        hpnicfHPEOCBitPerSymbol 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.
        "
    ::= { hpnicfHPEOCBitPerSymbolEntry 2 }

--
-- hpnicfHPEOCTemplate
--

hpnicfHPEOCTemplate OBJECT IDENTIFIER ::= { hpnicfHPEOC 3 }

--
-- hpnicfHPEOCTemplateGlobalTable
--

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

hpnicfHPEOCTemplateGlobalEntry OBJECT-TYPE
    SYNTAX      hpnicfHPEOCTemplateGlobalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfHPEOCTemplateGlobalTable.
        "
    INDEX
        {
            hpnicfHPEOCTemplateIndex
        }
    ::= { hpnicfHPEOCTemplateGlobalTable 1 }

hpnicfHPEOCTemplateGlobalEntry ::= SEQUENCE
    {
        hpnicfHPEOCTemplateIndex            Integer32,
        hpnicfHPEOCTemplateType             Integer32,
        hpnicfHPEOCTemplateName             DisplayString,
        hpnicfHPEOCTemplateDescr            DisplayString,
        hpnicfHPEOCTemplateCnuMaxDownBW     Integer32,
        hpnicfHPEOCTemplateCnuMaxUpBW       Integer32,
        hpnicfHPEOCTemplateCnuBcastControl  TruthValue,
        hpnicfHPEOCTemplateCnuMacLimit      Unsigned32,
        hpnicfHPEOCTemplateCb201VlanEn      TruthValue,
        hpnicfHPEOCTemplateRowStatus        RowStatus
    }

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

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

hpnicfHPEOCTemplateName 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.
        "
    ::= { hpnicfHPEOCTemplateGlobalEntry 3 }

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

hpnicfHPEOCTemplateCnuMaxDownBW 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.
        "
    ::= { hpnicfHPEOCTemplateGlobalEntry 5 }

hpnicfHPEOCTemplateCnuMaxUpBW 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.
        "
    ::= { hpnicfHPEOCTemplateGlobalEntry 6 }

hpnicfHPEOCTemplateCnuBcastControl 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.
        "
    ::= { hpnicfHPEOCTemplateGlobalEntry 7 }

hpnicfHPEOCTemplateCnuMacLimit 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.
        "
    ::= { hpnicfHPEOCTemplateGlobalEntry 8 }

hpnicfHPEOCTemplateCb201VlanEn 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.
        "
    ::= { hpnicfHPEOCTemplateGlobalEntry 9 }

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

--
-- hpnicfHPEOCTemplateSwitchTable
--

hpnicfHPEOCTemplateSwitchTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF hpnicfHPEOCTemplateSwitchEntry
    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.
        "
    ::= { hpnicfHPEOCTemplate 2 }

hpnicfHPEOCTemplateSwitchEntry OBJECT-TYPE
    SYNTAX      hpnicfHPEOCTemplateSwitchEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfHPEOCTemplateSwitchTable.
        "
    INDEX
        {
            hpnicfHPEOCTemplateIndex,
            hpnicfHPEOCTemplateUniIndex      
        }
    ::= { hpnicfHPEOCTemplateSwitchTable 1 }

hpnicfHPEOCTemplateSwitchEntry ::= SEQUENCE
    {
        hpnicfHPEOCTemplateUniIndex            Integer32,
        hpnicfHPEOCTemplateUniSpeed            INTEGER,
        hpnicfHPEOCTemplateUniDuplex           INTEGER,
        hpnicfHPEOCTemplateUniPriority         Integer32,
        hpnicfHPEOCTemplateUniFlowControl      TruthValue,
        hpnicfHPEOCTemplateUniUpLineRate       Unsigned32,
        hpnicfHPEOCTemplateUniDownLineRate     Unsigned32,
        hpnicfHPEOCTemplateUniAdminStatus      INTEGER,
        hpnicfHPEOCTemplateUniVLANType         INTEGER,
        hpnicfHPEOCTemplateUniPvid             Integer32,
        hpnicfHPEOCTemplateUniVlanTag          INTEGER
    }

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

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

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

hpnicfHPEOCTemplateUniPriority 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.
        "
    ::= { hpnicfHPEOCTemplateSwitchEntry 4 }

hpnicfHPEOCTemplateUniFlowControl 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
        }
    ::= { hpnicfHPEOCTemplateSwitchEntry 5 }

hpnicfHPEOCTemplateUniUpLineRate 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.
        "
    ::= { hpnicfHPEOCTemplateSwitchEntry 6 }

hpnicfHPEOCTemplateUniDownLineRate 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.
        "
    ::= { hpnicfHPEOCTemplateSwitchEntry 7 }

hpnicfHPEOCTemplateUniAdminStatus 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.
        "
    ::= { hpnicfHPEOCTemplateSwitchEntry 8 }

hpnicfHPEOCTemplateUniVLANType 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.
        "
    ::= { hpnicfHPEOCTemplateSwitchEntry 9 }

hpnicfHPEOCTemplateUniPvid 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
        }
    ::= { hpnicfHPEOCTemplateSwitchEntry 10 }

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

--
-- hpnicfHPEOCCnuAccess
--
hpnicfHPEOCCnuAccess OBJECT IDENTIFIER ::= { hpnicfHPEOC 4 }

--
-- hpnicfHPEOCCnuAccessTable
--

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

hpnicfHPEOCCnuAccessEntry OBJECT-TYPE
    SYNTAX      hpnicfHPEOCCnuAccessEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "
        The entry of the table hpnicfHPEOCCnuAccessTable.
        "
    INDEX
        {
            hpnicfHPEOCCnuAccessIndex
        }
    ::= { hpnicfHPEOCCnuAccessTable 1 }


hpnicfHPEOCCnuAccessEntry ::= SEQUENCE
    {
        hpnicfHPEOCCnuAccessIndex        Integer32,
        hpnicfHPEOCCnuHFID               DisplayString,
        hpnicfHPEOCManuInfo              DisplayString,
        hpnicfHPEOCCnuType               Integer32,
        hpnicfHPEOCCnuSwitchType         Integer32,
        hpnicfHPEOCCnuUniNum             Integer32,
        hpnicfHPEOCCnuPhy2Uni            OCTET STRING,
        hpnicfHPEOCCnuAccessRowStatus    RowStatus
    }

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

hpnicfHPEOCCnuHFID 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.
        "
    ::= { hpnicfHPEOCCnuAccessEntry 2 }

hpnicfHPEOCManuInfo OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "
        The Cnu's manufactory infofamiont. 
        Length: 0 to 63 characters.
        "
    ::= { hpnicfHPEOCCnuAccessEntry 3 }
    
hpnicfHPEOCCnuType OBJECT-TYPE
    SYNTAX      Integer32
        {
            switch(1),
            gateway(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "
        The Cnu's function type.
        "
    ::= { hpnicfHPEOCCnuAccessEntry 4 }   
   
hpnicfHPEOCCnuSwitchType OBJECT-TYPE
    SYNTAX      Integer32
        {
            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.
        "
    ::= { hpnicfHPEOCCnuAccessEntry 5 }

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

hpnicfHPEOCCnuPhy2Uni 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}
        "
    ::= { hpnicfHPEOCCnuAccessEntry 7 }

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

END
