-- ==================================================================
-- Copyright (c) 2004-2016 Hangzhou H3C Tech. Co., Ltd.  All rights reserved.
--
-- Description: Interface Management MIB
-- Reference:
-- Version: V3.8
-- History:
--      V1.0 (1) Created by Zhangshilin, 2001.06.29
--           (2) Revised by Qizhenglin, 2002.01.08
--      V1.1 2004/7/20 Add PortList and VlanIndex define
--      V1.2 2004/8/05 Add hwifEthernetIsolate and hwIsolateGroupMax
--                     by Chenshixing
--      V1.3 2004/9/08 add fabric value to hwifVLANType object and
--                     change the DESCRIPTION by chenshixing
--           2004/9/08 1.change the DESCRIPTION and the range of
--                       SYNTAX  INTEGER  from (5..100) to (1..100)
--                       in hwifMcastControl object by wangyingxia
--                     2.add the hwifPpsMcastControl object
--                       by wangyingxia
--                     3.change the status  in hwLswVlanMngObject
--                       to current by gaolong
--      V1.4 2004-10-12 updated by gaolong
--           Import TEXTUAL-CONVENTION, OBJECT-IDENTITY, Unsigned32.
--           Relocate hwLswL2InfMib MODULE-IDENTITY clause.
--           Change SYNTAX clause type of VlanIndex from INTEGER to Unsigned32.
--           Change MAX-ACCESS clause vlaue of hwifClearStat and hwifEthernetTest
--           from write-only to read-write.
--           Change value of hwifAggregateModel, hwdot1qVlanType, hwVlanInterfaceFrameType
--           and hwifEthernetMdi from underscores to hyphens.
--           Change value of hwifMacAddrLearnMode, beginning with lowercase.
--      V1.5 2004-11-15
--           Add the object hwdot1qVlanBcastSuppressionPPS by lihaijun
--           Adjust the format of the description of hwdot1qVlanBroadcastSuppression
--      V1.6 2004-12-2
--           Add the object hwGlobalBroadcastMaxPps by zhanggang
--           Add the object hwGlobalBroadcastMaxRatio by zhanggang
--           Add hwifVlanVPNStatus and hwBpduTunnelStatus by caiqiang
--           Add hwVlanInterfaceIpMethod by wangchao
--      V1.7 2005-01-22
--           Remove the content of hwLswVlan from this MIB to HUAWEI-LswVLAN-MIB
--           Remove SnmpAdminString
--      V1.8 2005-2-2
--           Add the object hwifPpsBcastDisValControl by zhangjianwei
--      V1.9 2005-03-08
--           Add hwifUniSuppressionStep, hwifPpsUniSuppressionMax, hwifMulSuppressionStep,
--           hwifPpsMulSuppressionMax, hwifUniSuppression, hwifPpsUniSuppression,
--           hwifMulSuppression, hwifPpsMulSuppression by wanghaisheng
--      V2.0 2005-06-14
--           Add the object hwifComboActivePort by majun and adjust format
--      V2.1 2005-06-30
--           Add the object hwifVlanVPNUplinkStatus, hwifVlanVPNTPID,
--           hwVlanVPNTPIDMode and hwVlanVPNTPID by hejunwei
--           Add hwifUnknownPacketDropMul, hwifUnknownPacketDropUni by wangyupeng
--           Add hwifBMbpsMulSuppressionMax, hwifBMbpsMulSuppression,
--           hwifBKbpsMulSuppressionMax, hwifBKbpsMulSuppressionStep
--           and hwifBKbpsMulSuppression by lichunyan
--           Update decription of MIB objects by gaolong
--      V2.2 2005-09-05
--           Add the object hwifIsolateGroupID, hwifisUplinkPort,
--           hwPortIsolateGroupTable, hwPortIsolateGroupEntry,
--           hwPortIsolateGroupIndex, hwPortIsolateUplinkIfIndex,
--           hwPortIsolateGroupRowStatus by huzinan
--      V2.3 2005-10-13
--           Add the object hwPortIsolateGroupDescription by hejunwei
--      V2.4 2005-11-15
--           Add the value 24000M to hwifEthernetSpeed by wanglirong
--      V2.5 2006-01-16
--           Add hwMaxMacLearnRange by zhangyinfei
--           Change the DESCRIPTION and the range of hwMaxMacLearn by zhangyinfei
--      V2.6 2006-01-03
--           Remove the value range from the definition of hwifXXBasePortIndex
--           by wangzhaoyan
--      V2.7 2006-02-11
--           Modify description of hwifXXBasePortIndex and hwifXXDevPortIndex
--           Modify description of hwifHybridTaggedVlanListLow, hwifHybridTaggedVlanListHigh,
--           hwifHybridUnTaggedVlanListLow and hwifHybridUnTaggedVlanListHigh
--           Modify some wrong format of the description
--      V2.8 2006-03-14
--           Add hwifEthernetAutoSpeedMask, hwifEthernetAutoSpeed in
--           hwethernetTable and SpeedModeFlag definition by Jin Yongfeng.
--      V2.9 2006-04-24
--           Remove value range of hwifEthernetMTU by Chenxi.
--      V3.0 2006-04-30
--           Add hwifBMbpsUniSuppressionMax, hwifBMbpsUniSuppression,
--           hwifBKbpsUniSuppressionMax, hwifBKbpsUniSuppressionStep
--           and hwifBKbpsUniSuppression by lichunyan.
--      V3.1 2006-09-27
--           hwifComboActivePort is obsoleted in hwifXXTable.
--           hwifComboPortTable is added for combo interface.
--           hwifComboActivePort is replaced with hwifComboPortCurActive.
--      V3.2 2009-04-11
--           Add hwifOutPayloadOctets, hwifInPayloadOctets, hwifInErrorPktsRate,
--           hwifInPkts, hwifInNormalPkts, hwifOutPkts by lisong.
--      V3.3 2011-11-08
--           Add the value s40000M and s100000M to SpeedModeFlag and
--           hwifEthernetSpeed by xiedong.
--      V3.4 2012-09-29
--           Modify description of hwifClearStat by xiedong.
--           2012-11-03
--           Add hwifPktBufTable, hwifPktBufEntry, hwifPktBufFree,
--           hwifPktBufInit, hwifPktBufMin, hwifPktBufMiss by chenkaiping
--      V3.5 2013-08-17
--           Add hwifPortProtocolStatTable by yangxiaoren.
--      V3.6 2014-02-08
--           Modify description of hwifUniSuppression, hwifMulSuppression and
--           hwifMcastControl, modify value list of hwifMcastControl by huhonghui,
--           for supporting value 0.
--      V3.7 2015-10-14
--           Add hwifMulSuppressionFlag by chenzhouhui.
--           Modify description of hwifMulSuppression and hwifPpsMulSuppression by chenzhouhui.
--           Add hwifPktBufInDrop and hwifPktBufEgDrop to hwifPktBufTable,
--           add hwifQueuePktBufTable by zhangji.
--      V3.8 2016-07-02
--           Add the values s2500M, s5000M, s20000M, s25000M and s50000M to SpeedModeFlag
--           and hwifEthernetSpeed by yuhaiyan.
-- ==================================================================
--
-- Variables and types be imported
--
-- ==================================================================
HUAWEI-LswINF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    RowStatus, DisplayString, TruthValue, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter64, Unsigned32, Counter32
        FROM SNMPv2-SMI
    ifIndex, InterfaceIndex
        FROM IF-MIB
    lswCommon
        FROM HUAWEI-3COM-OID-MIB;

    hwLswL2InfMib MODULE-IDENTITY
            LAST-UPDATED "201607020000Z"
            ORGANIZATION
                "Hangzhou H3C Tech. Co., Ltd."
            CONTACT-INFO
                "Platform Team Hangzhou H3C Tech. Co., Ltd.
                Hai-Dian District Beijing P.R. China
                http://www.h3c.com
                Zip:100085
                "
            DESCRIPTION
            ""
            REVISION "201607020000Z"
            DESCRIPTION
                "Add the values s2500M, s5000M, s20000M, s25000M and s50000M to SpeedModeFlag and hwifEthernetSpeed"
            REVISION "201510140000Z"
            DESCRIPTION
                "Add hwifPktBufInDrop and hwifPktBufEgDrop to hwifPktBufTable,
                 hwifMulSuppressionFlag, and hwifQueuePktBufTable, modify description of hwifMulSuppression and hwifPpsMulSuppression"
            REVISION "200106290000Z"
            DESCRIPTION
            "Initial version."
            ::= { lswCommon 5 }


-- =============================================================
-- Textual Conventions
-- =============================================================

    PortList ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            "Each octet within this value specifies a set of eight
            ports, with the first octet specifying ports 1 through
            8, the second octet specifying ports 9 through 16, etc.
            Within each octet, the most significant bit represents
            the lowest numbered port, and the least significant bit
            represents the highest numbered port.  Thus, each port
            of the bridge is represented by a single bit within the
            value of this object.  If that bit has a value of '1'
            then that port is included in the set of ports; the port
            is not included if its bit has a value of '0'."
        SYNTAX      OCTET STRING


    VlanIndex ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            "A value used to index per-VLAN tables: values of 0 and
            4095 are not permitted; if the value is between 1 and
            4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with
            global scope within a given bridged domain (see VlanId
            textual convention).  If the value is greater than 4095
            then it represents a VLAN with scope local to the
            particular agent, i.e. one without a global VLAN-ID
            assigned to it. Such VLANs are outside the scope of
            IEEE 802.1Q but it is convenient to be able to manage them
            in the same way using this MIB."
        SYNTAX      Unsigned32 (0..4294967295)

    DropDirection ::= TEXTUAL-CONVENTION
       STATUS  current
       DESCRIPTION
          "Representing the direction of dropping packets, if applicable."
       SYNTAX  INTEGER  {
                   disable        (1),
                   enableInbound  (2),
                   enableOutbound (3),
                   enableBoth     (4)
               }

    SpeedModeFlag ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION
            "Type of Negotiable Speed mode."
        SYNTAX BITS
            {
                s10M(0),       -- 10M speed
                s100M(1),      -- 100M speed
                s1000M(2),     -- 1000M speed
                s10000M(3),    -- 10000M speed
                s24000M(4),    -- 24000M speed
                s40000M(5),    -- 40000M speed
                s100000M(6),   -- 100000M speed
                s2500M(7),     -- 2500M speed
                s5000M(8),     -- 5000M speed
                s20000M(9),    -- 20000M speed
                s25000M(10),   -- 25000M speed
                s50000M(11)    -- 50000M speed
            }


-- ==================================================================
--
-- ======================= definition begin =========================
--
-- ==================================================================
    hwLswExtInterface OBJECT IDENTIFIER ::= { lswCommon 1 }

    hwifXXTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwIfXXEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION "Extended interface information table."
        ::= { hwLswExtInterface  1 }


    hwifXXEntry  OBJECT-TYPE
        SYNTAX HwIfXXEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION "Entries of extended interface information table."
        INDEX { ifIndex }
        ::= { hwifXXTable 1}

    HwIfXXEntry ::=
    SEQUENCE {
        hwifUnBoundPort     TruthValue  ,
        hwifISPhyPort       TruthValue  ,
        hwifAggregatePort   TruthValue  ,
        hwifMirrorPort      TruthValue  ,
        hwifVLANType        INTEGER     ,
        hwifMcastControl    INTEGER     ,
        hwifFlowControl     TruthValue  ,
        hwifSrcMacControl   TruthValue  ,
        hwifClearStat       INTEGER,
        hwifXXBasePortIndex INTEGER,
        hwifXXDevPortIndex  INTEGER,
        hwifPpsMcastControl  Integer32,
        hwifPpsBcastDisValControl INTEGER,
        hwifUniSuppressionStep Integer32,
        hwifPpsUniSuppressionMax Integer32,
        hwifMulSuppressionStep Integer32,
        hwifPpsMulSuppressionMax Integer32,
        hwifUniSuppression   Integer32,
        hwifPpsUniSuppression Integer32,
        hwifMulSuppression    Integer32,
        hwifPpsMulSuppression Integer32,
        hwifComboActivePort   INTEGER,
        hwifBMbpsMulSuppressionMax Integer32,
        hwifBMbpsMulSuppression Integer32,
        hwifBKbpsMulSuppressionMax Integer32,
        hwifBKbpsMulSuppressionStep Integer32,
        hwifBKbpsMulSuppression Integer32,
        hwifUnknownPacketDropMul DropDirection,
        hwifUnknownPacketDropUni DropDirection,
        hwifBMbpsUniSuppressionMax Integer32,
        hwifBMbpsUniSuppression Integer32,
        hwifBKbpsUniSuppressionMax Integer32,
        hwifBKbpsUniSuppressionStep Integer32,
        hwifBKbpsUniSuppression Integer32,
        hwifOutPayloadOctets Counter64,
        hwifInPayloadOctets Counter64,
        hwifInErrorPktsRate Integer32,
        hwifInPkts Counter64,
        hwifInNormalPkts  Counter64,
        hwifOutPkts Counter64,
        hwifMulSuppressionFlag  INTEGER
        }


   hwifUnBoundPort  OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Whether it is the unbound port. (true indicates that the port is
            the main port of the aggregation or the port does not participate
            in the aggregation.)"
        ::= { hwifXXEntry 1 }


    hwifISPhyPort  OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Whether it is a physical interface."
        ::= { hwifXXEntry 2 }


    hwifAggregatePort OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Whether it is the aggregated port. (if the port participates
                    in the aggregation, this value is true.)"
        ::= { hwifXXEntry 3 }


    hwifMirrorPort  OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Whether it is a mirror port."
        ::= { hwifXXEntry 4 }


    hwifVLANType  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        vLANTrunk  (1),
        access   (2),
        hybrid    (3),
        fabric   (4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "port vlan types.
            hybrid (3) port can carry multiple VLANs.
            If fabric function is supported, fabric(4) means the port is
            a fabric port."
        ::= { hwifXXEntry 5 }


    hwifMcastControl OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Broadcast storm suppression with the step length of 1,
            ranging from 0 to 100 percent.
            In some products the step is 5, ranging from 0 to 100."
        ::= { hwifXXEntry 6 }

    hwifFlowControl  OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Flow control status."
        ::= { hwifXXEntry 7 }


    hwifSrcMacControl OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Whether to filter by source MAC address."
        ::= { hwifXXEntry 8 }


    hwifClearStat  OBJECT-TYPE
        SYNTAX  INTEGER
        {
            clear(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Clear specify port statistics.  Operation read is not supported."
        ::= { hwifXXEntry 9 }

    hwifXXBasePortIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Index number of the port and the first port index of the
                    device is 1."
        ::= { hwifXXEntry 10 }

    hwifXXDevPortIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Device index of the port."
        ::= { hwifXXEntry 11 }

   hwifPpsMcastControl OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The broadcast suppression with pps(packet per second) type.
            The max value is determined by the port type and product."
        ::= { hwifXXEntry 12 }

   hwifPpsBcastDisValControl OBJECT-TYPE
        SYNTAX  INTEGER
        {
          enable(1),
          disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Control the port's pps(packet per second) broadcast suppression.
            When the port is enabled, its pps broadcast suppression value is the
            global disperse value, and when disabled, it doesn't suppress broadcast."
        ::= { hwifXXEntry 13 }

   hwifUniSuppressionStep OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The step of unicast suppression in ratio mode."
        ::= { hwifXXEntry 14 }

   hwifPpsUniSuppressionMax OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The max pps(packet per second) value of unicast suppression
                    in pps mode."
        ::= { hwifXXEntry 15 }

   hwifMulSuppressionStep OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The step of multicast suppression in ratio mode."
        ::= { hwifXXEntry 16 }

   hwifPpsMulSuppressionMax OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The max pps(packet per second) value of multicast suppression
                    in pps mode."
        ::= { hwifXXEntry 17 }

   hwifUniSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The unicast suppression with the ranging from 0 to 100 percent
            in ratio mode.
            The step is determined by hwifUniSuppressionStep."
        ::= { hwifXXEntry 18 }

   hwifPpsUniSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The unicast suppression in pps(packet per second) mode.
            The max value is determined by hwifPpsUniSuppressionMax."
        ::= { hwifXXEntry 19 }

   hwifMulSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The multicast suppression with ranging from 0 to 100 percent
            in ratio mode.
            The step is determined by hwifMulSuppressionStep.
            If hwifMulSuppressionFlag is 2 it means only unknown
            traffic suppression."
        ::= { hwifXXEntry 20 }

   hwifPpsMulSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The multicast suppression in pps(packet per second) mode.
            The max pps value is determined by hwifPpsMulSuppressionMax.
            If hwifMulSuppressionFlag is 2 it means only unknown
            traffic suppression."
        ::= { hwifXXEntry 21 }

   hwifComboActivePort OBJECT-TYPE
        SYNTAX  INTEGER
        {
            fiber   (1),    -- Optical port
            copper  (2),    -- Electrical port
            na      (3)     -- Not applicable
        }
        MAX-ACCESS read-write
        STATUS obsolete
        DESCRIPTION "Active port on combo interface."
        ::= { hwifXXEntry 22 }

    hwifBMbpsMulSuppressionMax OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The maximum value of the multicast suppression with bandwidth-based(Mbps)
                that a port can be configured."
        ::= { hwifXXEntry 23 }

    hwifBMbpsMulSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "With bandwidth-based multicast suppression, the bandwidth is measured
                in Mbps.
                The upper limit of the multicast suppession with bandwidth-based(Mbps)
                is the value of hwifBMbpsMulSuppressionMax in the entry.
                The default value of hwifBMbpsMulSuppression is the value of
                hwifBMbpsMulSuppressionMax."
        ::= { hwifXXEntry 24 }

    hwifBKbpsMulSuppressionMax OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The maximum value of the multicast suppression with bandwidth-based(Kbps)
                that a port can be configured."
        ::= { hwifXXEntry 25 }

    hwifBKbpsMulSuppressionStep OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The step of multicast suppression with bandwidth-based(Kbps)."
        ::= { hwifXXEntry 26 }

    hwifBKbpsMulSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "With bandwidth-based multicast suppression, the bandwidth
                is measured in Kbps.
                The upper limit of the multicast suppession with bandwidth-based(Kbps)
                is the value of hwifBKbpsMulSuppressionMax in the entry.
                The value of hwifBKbpsMulSuppression must be multiple of the
                value of hwifBKbpsMulSuppressionStep.
                The default value of hwifBKbpsMulSuppression is the value of
                hwifBKbpsMulSuppressionMax."
        ::= { hwifXXEntry 27 }

   hwifUnknownPacketDropMul OBJECT-TYPE
        SYNTAX  DropDirection
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Control the port's unknown-multicast packets drop. When
                     inbound direction is enabled on this port, the port will
                     drop unknown-multicast packets in inbound direction. When
                     outbound direction is enabled on this port, the port will
                     drop unknown-multicast packets in outbound direction. When
                     both directions are enabled on this port, the port will
                     drop unknown-multicast packets in both inbound and outbound
                     directions."
        DEFVAL { disable }
        ::= { hwifXXEntry 28 }

   hwifUnknownPacketDropUni OBJECT-TYPE
        SYNTAX  DropDirection
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Control the port's unknown-unicast packets drop. When
                     inbound direction is enabled on this port, the port will
                     drop unknown-unicast packets in inbound direction. When
                     outbound direction is enabled on this port, the port will
                     drop unknown-unicast packets in outbound direction. When
                     both directions are enabled on this port, the port will
                     drop unknown-unicast packets in both inbound and outbound
                     directions."
        DEFVAL { disable }
        ::= { hwifXXEntry 29 }

    hwifBMbpsUniSuppressionMax OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The maximum value of the unicast suppression with bandwidth-based
            (Mbps) that a port can be configured."
        ::= { hwifXXEntry 30 }

    hwifBMbpsUniSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "
            With bandwidth-based Unicast suppression, the bandwidth is measured
            in Mbps.
            The upper limit of the unicast suppession with bandwidth-based(Mbps)
            is the value of hwifBMbpsUniSuppressionMax in the entry.
            The default value of hwifBMbpsUniSuppression is the value of
            hwifBMbpsUniSuppressionMax."
        ::= { hwifXXEntry 31 }

    hwifBKbpsUniSuppressionMax OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The maximum value of the unicast suppression with bandwidth-based
            (Kbps) that a port can be configured."
        ::= { hwifXXEntry 32 }

    hwifBKbpsUniSuppressionStep OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The step of unicast suppression with bandwidth-based(Kbps)."
        ::= { hwifXXEntry 33 }

    hwifBKbpsUniSuppression OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "
            With bandwidth-based unicast suppression, the bandwidth
            is measured in Kbps.
            The upper limit of the unicast suppession with bandwidth-based(Kbps)
            is the value of hwifBKbpsUniSuppressionMax in the entry.
            The value of hwifBKbpsUniSuppression must be multiple of the
            value of hwifBKbpsUniSuppressionStep.
            The default value of hwifBKbpsUniSuppression is the value of
            hwifBKbpsUniSuppressionMax."
        ::= { hwifXXEntry 34 }

    hwifOutPayloadOctets OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The actual output octets of the interface."
        ::= { hwifXXEntry 35 }

    hwifInPayloadOctets OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The actual input octets of the interface."
        ::= { hwifXXEntry 36 }

    hwifInErrorPktsRate OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The rate of inbound error packets on the interface."
        ::= { hwifXXEntry 37 }

    hwifInPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The number of packets received on the interface."
        ::= { hwifXXEntry 38 }

    hwifInNormalPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The number of normal packets received on the interface."
        ::= { hwifXXEntry 39 }

    hwifOutPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "
            The number of packets sent on the interface."
        ::= { hwifXXEntry 40 }

   hwifMulSuppressionFlag OBJECT-TYPE
        SYNTAX  INTEGER
        {
            all      (1),    -- known and unknown traffic
            unknown  (2)    -- only unknown traffic
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "
            The multicast suppression flag.  If only unknown multicast
            traffic is suppressed, the value is unknown(2), and all(1) for suppression of all traffic (unknown and known)."
        ::= { hwifXXEntry 41 }

    hwifAggregateTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwIfAggregateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Port aggregation information table."
        ::= { hwLswExtInterface  2 }


    hwifAggregateEntry  OBJECT-TYPE
        SYNTAX HwIfAggregateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Port aggregation information table."
        INDEX   { hwifAggregatePortIndex }
        ::= { hwifAggregateTable 1}

    HwIfAggregateEntry  ::=
    SEQUENCE {
        hwifAggregatePortIndex      InterfaceIndex,
        hwifAggregatePortName       OCTET STRING,
        hwifAggregatePortListPorts  PortList,
        hwifAggregateModel          INTEGER,
        hwifAggregateOperStatus     RowStatus
        }



    hwifAggregatePortIndex  OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Index number of the main aggregated port."
        ::= { hwifAggregateEntry 1 }


    hwifAggregatePortName  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..40))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Aggregation group name."
        ::= { hwifAggregateEntry 2 }


    hwifAggregatePortListPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION   "Portlist of a aggregating."
        ::= { hwifAggregateEntry 3 }


    hwifAggregateModel  OBJECT-TYPE
        SYNTAX  INTEGER
        {
        ingress     (1),
        both        (2),
        round-robin (3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Load sharing mode for the port aggregation."
        ::= { hwifAggregateEntry 4 }


    hwifAggregateOperStatus  OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION "Current operation status of the row."
        ::= { hwifAggregateEntry 5 }

-- ==================================================================
    hwifHybridPortTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwifHybridPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Hybrid-port configuration table."
        ::= { hwLswExtInterface  3 }


    hwifHybridPortEntry  OBJECT-TYPE
        SYNTAX HwifHybridPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Hybrid-port configuration table."
        INDEX   { hwifHybridPortIndex }
        ::= { hwifHybridPortTable 1}

    HwifHybridPortEntry  ::=
    SEQUENCE {
        hwifHybridPortIndex            INTEGER,
        hwifHybridTaggedVlanListLow    OCTET STRING,
        hwifHybridTaggedVlanListHigh   OCTET STRING,
        hwifHybridUnTaggedVlanListLow  OCTET STRING,
        hwifHybridUnTaggedVlanListHigh OCTET STRING
        }



    hwifHybridPortIndex  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Index number of Hybrid-port."
        ::= { hwifHybridPortEntry 1 }


    hwifHybridTaggedVlanListLow  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 1 through
                    8, the second octet specifying VLANs 9 through 16, etc.
                    Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each tagged VLAN
                    of the hybrid port is represented by a single bit within
                    the value of this object. If that bit has a value of '1'
                    then that VLAN is tagged in the set of VLANs; the VLAN
                    is not tagged if its bit has a value of '0'."
        ::= { hwifHybridPortEntry 2 }


    hwifHybridTaggedVlanListHigh OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 2049 through
                    2056, the second octet specifying VLANs 2057 through 2064,
                    etc. Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each tagged VLAN
                    of the hybrid port is represented by a single bit within
                    the value of this object. If that bit has a value of '1'
                    then that VLAN is tagged in the set of VLANs; the VLAN
                    is not tagged if its bit has a value of '0'."
        ::= { hwifHybridPortEntry 3 }


    hwifHybridUnTaggedVlanListLow  OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 1 through
                    8, the second octet specifying VLANs 9 through 16, etc.
                    Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each untagged
                    VLAN of the hybrid port is represented by a single bit
                    within the value of this object. If that bit has a value
                    of '1' then that VLAN is untagged in the set of VLANs; the
                    VLAN is not untagged if its bit has a value of '0'."
        ::= { hwifHybridPortEntry 4 }


    hwifHybridUnTaggedVlanListHigh OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 2049 through
                    2056, the second octet specifying VLANs 2057 through 2064,
                    etc. Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each untagged
                    VLAN of the hybrid port is represented by a single bit
                    within the value of this object. If that bit has a value of
                    '1' then that VLAN is untagged in the set of VLANs; the VLAN
                    is not untagged if its bit has a value of '0'."
        ::= { hwifHybridPortEntry 5 }

-- ==================== Combo port table ============================
    hwifComboPortTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwifComboPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Combo-port table."
        ::= { hwLswExtInterface  4 }

    hwifComboPortEntry  OBJECT-TYPE
        SYNTAX HwifComboPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "The entry of hwifComboPortTable."
        INDEX    { hwifComboPortIndex }
        ::= { hwifComboPortTable 1}

    HwifComboPortEntry  ::=
    SEQUENCE {
        hwifComboPortIndex       InterfaceIndex,
        hwifComboPortCurActive   INTEGER
        }

    hwifComboPortIndex OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The combo-port interface index. Its value is the same as the value
            of ifIndex in ifTable, but only includes indexes of the combo-port
            interfaces."
        ::= { hwifComboPortEntry 1 }

    hwifComboPortCurActive OBJECT-TYPE
        SYNTAX  INTEGER
        {
            fiber   (1),    -- Optical port
            copper  (2),    -- Electrical port
            na      (3)     -- Not applicable
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Current active interface of combo interfaces. The value 'fiber'
            means the interface with fiber connector of the pair of combo-port
            interfaces is active. The value 'copper' means the interface with
            copper connector of the pair is active. The value 'na' means not
            supported."
        ::= { hwifComboPortEntry 2 }

-- ======================pkt buf table===============================
    hwifPktBufTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwifPktBufEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Packet buffer table."
        ::= { hwLswExtInterface  5 }

    hwifPktBufEntry  OBJECT-TYPE
        SYNTAX HwifPktBufEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "The entry of hwifPktBufTable."
        INDEX { ifIndex }
        ::= { hwifPktBufTable 1}

    HwifPktBufEntry  ::=
        SEQUENCE {
            hwifPktBufFree      Integer32,
            hwifPktBufInit      Integer32,
            hwifPktBufMin       Integer32,
            hwifPktBufMiss      Counter64,
            hwifPktBufInDrop    Counter64,
            hwifPktBufEgDrop    Counter64
            }

    hwifPktBufFree OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packet buffers available for the interface."
        ::= { hwifPktBufEntry 1 }

    hwifPktBufInit OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packet buffers allocated when the interface was created."
        ::= { hwifPktBufEntry 2 }

    hwifPktBufMin OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The smallest number of packet buffers available for the interface."
        ::= { hwifPktBufEntry 3 }

    hwifPktBufMiss OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of times that the interface failed to obtain a packet
             buffer.  Failure to obtain a buffer indicates that buffers were busy."
        ::= { hwifPktBufEntry 4 }

    hwifPktBufInDrop OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of ingress packets dropped by the interface
             because of insufficient data buffer."
        ::= { hwifPktBufEntry 5 }

    hwifPktBufEgDrop OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of egress packets dropped by the interface
             because of insufficient data buffer."
        ::= { hwifPktBufEntry 6 }

-- ======================if queue pkt buf table===============================
    hwifQueuePktBufTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwifQueuePktBufEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "802.1p queue of the interface packet buffer table."
        ::= { hwLswExtInterface  6 }

    hwifQueuePktBufEntry  OBJECT-TYPE
        SYNTAX HwifQueuePktBufEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "The entry of hwifQueuePktBufTable."
        INDEX
            {
                ifIndex,
                hwifQueueId
            }
        ::= { hwifQueuePktBufTable 1}

    HwifQueuePktBufEntry  ::=
        SEQUENCE {
            hwifQueueId             Integer32,
            hwifQueuePktBufTotal    Unsigned32,
            hwifQueueBufUsed        Unsigned32,
            hwifQueueBufThreCount   Counter32
            }

    hwifQueueId OBJECT-TYPE
        SYNTAX  Integer32(1..8)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The 802.1p queue ID of the interface. This value is
             used to specify the queue ID of the interface
             when the user wants to read one queue of the interface.
             The index number 1-8 correspond with 802.1p queue ID 0-7."
        ::= { hwifQueuePktBufEntry 1 }

    hwifQueuePktBufTotal OBJECT-TYPE
        SYNTAX  Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packet buffers available for the interface,
             including fixed buffer and shared buffer."
        ::= { hwifQueuePktBufEntry 2 }

    hwifQueueBufUsed OBJECT-TYPE
        SYNTAX  Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of packet buffers that have been used for each
             802.1p queue of the interface."
        ::= { hwifQueuePktBufEntry 3 }

    hwifQueueBufThreCount OBJECT-TYPE
        SYNTAX  Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The number of times that each 802.1p queue of the interface has
             exceeded the buffer threshold. The threshold is configurated by user."
        ::= { hwifQueuePktBufEntry 4 }

-- ========================l2========================================
    hwLswL2InfMibObject OBJECT IDENTIFIER ::= {  hwLswL2InfMib 1  }

    hwSlotPortMax  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Max ports of the slots."
        ::= { hwLswL2InfMibObject  1 }

    hwSwitchPortMax  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Max ports that this switch includes."
        ::= { hwLswL2InfMibObject  2 }

    hwifVLANTrunkStatusTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwIfVLANTrunkStatusEntry
        MAX-ACCESS not-accessible STATUS   current
        DESCRIPTION "Gvrp attributes on the VlanTrunk port."
        ::= { hwLswL2InfMibObject  3 }

    hwifVLANTrunkStatusEntry  OBJECT-TYPE
        SYNTAX HwIfVLANTrunkStatusEntry
        MAX-ACCESS not-accessible STATUS   current
        DESCRIPTION "Gvrp attributes on the VlanTrunk port."
        INDEX   { hwifVLANTrunkIndex }
        ::= { hwifVLANTrunkStatusTable 1}

    HwIfVLANTrunkStatusEntry    ::=
    SEQUENCE {
        hwifVLANTrunkIndex              InterfaceIndex,
        hwifVLANTrunkGvrpRegistration   INTEGER,
        hwifVLANTrunkPassListLow        OCTET STRING,
        hwifVLANTrunkPassListHigh       OCTET STRING,
        hwifVLANTrunkAllowListLow       OCTET STRING,
        hwifVLANTrunkAllowListHigh      OCTET STRING
        }



    hwifVLANTrunkIndex  OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Index number of the VLANTrunk interface."
        ::= { hwifVLANTrunkStatusEntry 1 }


    hwifVLANTrunkGvrpRegistration OBJECT-TYPE
        SYNTAX  INTEGER
        {
        normal  (1),
        fixed   (2),
        forbidden   (3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "GVRP registration information
            normal:     This is the default configuration. Allow create, register
                        and unregister vlans dynamiclly at this port.
            fixed:      Aallow create and register vlan manually at this port.
                        Prevent from unregistering vlans or registering known
                        vlans of this port at another trunk port.
            forbidden:  Unregister all vlans but vlan 1, forbid to create or
                        register any other vlans at this port."
        ::= { hwifVLANTrunkStatusEntry 2 }


    hwifVLANTrunkPassListLow OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 1 through
                    8, the second octet specifying VLANs 9 through 16, etc.
                    Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each actually
                    passed VLAN of the trunk port is represented by a single
                    bit within the value of this object. If that bit has a
                    value of '1' then that VLAN is actually passed in the set
                    of VLANs; the VLAN is not actually passed if its bit has
                    a value of '0'."
        ::= { hwifVLANTrunkStatusEntry 4 }

    hwifVLANTrunkPassListHigh OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 2049 through
                    2056, the second octet specifying VLANs 2057 through 2064,
                    etc. Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each actually
                    passed VLAN of the trunk port is represented by a single
                    bit within the value of this object. If that bit has a
                    value of '1' then that VLAN is actually passed in the set
                    of VLANs; the VLAN is not actually passed if its bit has
                    a value of '0'."
        ::= { hwifVLANTrunkStatusEntry 5 }

    hwifVLANTrunkAllowListLow OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 1 through
                    8, the second octet specifying VLANs 9 through 16, etc.
                    Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each allowed
                    VLAN of the trunk port is represented by a single bit
                    within the value of this object. If that bit has a value
                    of '1' then that VLAN is allowed in the set of VLANs;
                    the VLAN is not allowed if its bit has a value of '0'."
        ::= { hwifVLANTrunkStatusEntry 6 }

    hwifVLANTrunkAllowListHigh OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Each octet within this value specifies a set of eight
                    VLANs, with the first octet specifying VLANs 2049 through
                    2056, the second octet specifying VLANs 2057 through 2064,
                    etc. Within each octet, the most significant bit represents
                    the highest numbered VLAN, and the least significant bit
                    represents the lowest numbered VLAN. Thus, each allowed
                    VLAN of the trunk port is represented by a single bit within
                    the value of this object. If that bit has a value of '1'
                    then that VLAN is allowed in the set of VLANs; the VLAN is
                    not allowed if its bit has a value of '0'."
        ::= { hwifVLANTrunkStatusEntry 7 }




    hwethernetTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwEthernetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Ethernet port attribute table."
        ::= { hwLswL2InfMibObject  4 }


    hwethernetEntry  OBJECT-TYPE
        SYNTAX HwEthernetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Entries of Ethernet port attribute table"
        INDEX { ifIndex }
        ::= { hwethernetTable 1}

    HwEthernetEntry ::=
    SEQUENCE {
        hwifEthernetDuplex          INTEGER,
        hwifEthernetMTU             INTEGER,
        hwifEthernetSpeed           INTEGER,
        hwifEthernetMdi             INTEGER,
        hwMaxMacLearn               INTEGER,
        hwifMacAddressLearn         INTEGER,
        hwifEthernetTest            INTEGER,
        hwifMacAddrLearnMode        INTEGER,
        hwifEthernetFlowInterval    INTEGER,
        hwifEthernetIsolate         OCTET STRING,
        hwifVlanVPNStatus           INTEGER,
        hwifVlanVPNUplinkStatus     INTEGER,
        hwifVlanVPNTPID             Integer32,
        hwifIsolateGroupID          Integer32,
        hwifisUplinkPort            INTEGER,
        hwifEthernetAutoSpeedMask   SpeedModeFlag,
        hwifEthernetAutoSpeed       SpeedModeFlag
        }

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


    hwifEthernetMTU  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "MTU on the Ethernet interface."
        ::= { hwethernetEntry 4 }


    hwifEthernetSpeed OBJECT-TYPE
        SYNTAX  INTEGER
        {
        auto    (0),
        s10M    (10),
        s100M   (100),
        s1000M  (1000),
        s2500M  (2500),
        s5000M  (5000),
        s10000M (10000),
        s24000M (24000),
        s40000M (40000),
        s20000M (20000),
        s25000M (25000),
        s50000M (50000),
        s100000M (100000)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Ethernet interface speed."
        ::= { hwethernetEntry 5 }

    hwifEthernetMdi OBJECT-TYPE
        SYNTAX  INTEGER
        {
        mdi-ii   (1),
        mdi-x   (2),
        mdi-auto   (3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Type of the line connected to the port.
            MDI-II (straight-through cable): 1
            MDI-X (crossover cable): 2
            MDI-AUTO (auto-sensing): 3"
        ::= { hwethernetEntry 7 }

    hwMaxMacLearn OBJECT-TYPE
        SYNTAX  INTEGER(-1..2147483647)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The maximum number of MAC addresses that the port can learn.
            The value -1 means that the number of Mac addresses that the port
            can learn is unlimited."
        ::= { hwethernetEntry 8 }

    hwifMacAddressLearn OBJECT-TYPE
        SYNTAX  INTEGER
        {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates if the interface is allowed to learn mac address.
            eanbled(1) means the interface can learn mac address, otherwise disabled(2)
            can be set."
        ::= { hwethernetEntry 9 }

    hwifEthernetTest OBJECT-TYPE
        SYNTAX  INTEGER
        {
            test(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Test this interface.
            The actual testing will be different according to products.
            Read operation not supported."
        ::= { hwethernetEntry 10 }

    hwifMacAddrLearnMode OBJECT-TYPE
        SYNTAX  INTEGER
        {
            iVL(1),
            sVL(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Status indicates mac address learn mode of the interface.
            IVL(1) means independent VLAN learning.
            SVL means shared VLAN learning."
        ::= { hwethernetEntry 11 }

    hwifEthernetFlowInterval OBJECT-TYPE
        SYNTAX  INTEGER (5..300)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set flow interval of the ethernet.
            The NMS should set value to integer which is a multiple of 5."
        ::= { hwethernetEntry 12 }

    hwifEthernetIsolate  OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Isolate group means that all ports in the same isolate group can not
            send and receive packets each other.
            Each octet within this value specifies a set of eight isolate groups,
            with the first octet specifying isolate groups 1 through 8,  the second
            octet specifying isolate groups 9 through 16, etc. Within each octet,
            the leftmost bit is the first bit.
            the first bit represents the lowest numbered isolate group, and the
            last bit represents the highest numbered isolate group. one port can
            belong to more than one isolate group.
            Thus, each isolate group is represented by a single bit within the
            value of this object.
            If that bit has a value of '1', then that isolate group includes this port;
            the port is not included if its bit has a value of '0'.
            for example, the first octet is '10000100' means that the port is
            included in the isolate group 1 and isolate group 6."
        ::= { hwethernetEntry 13 }

    hwifVlanVPNStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
             enabled(1),
             disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Vlan VPN enable status."
        ::= { hwethernetEntry 14 }

    hwifVlanVPNUplinkStatus OBJECT-TYPE
        SYNTAX  INTEGER
        {
             enabled(1),
             disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Vlan VPN uplink status."
        ::= { hwethernetEntry 15 }

    hwifVlanVPNTPID OBJECT-TYPE
        SYNTAX  Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Port based Vlan VPN TPID(Tag Protocol Indentifier), default value
            is 0x8100.
            Please refer to hwVlanVPNTPIDMode to get more information."
        ::= { hwethernetEntry 16 }

    hwifIsolateGroupID OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Isolate group identifier. Value zero means this interface does not
            belong to any isolate group."
        ::= { hwethernetEntry 17 }

    hwifisUplinkPort OBJECT-TYPE
        SYNTAX  INTEGER
        {
             yes(1),
             no(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Ethernet uplink status, default value is 2."
        ::= { hwethernetEntry 18 }

    hwifEthernetAutoSpeedMask OBJECT-TYPE
        SYNTAX  SpeedModeFlag
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object specifies which kinds of speed mode can be negotiated.
            Each bit corresponds to a kind of speed mode.

            If the value of a bit is '1', it means the corresponding speed mode
            is negotiable on the port. Otherwise the negotiation for that
            kind of speed mode is not supported on this port. If there are
            several negotiable speed modes, all bits for them  are '1'.
            For example, if the speed mode 's10M' and 's1000M' can be negotiable,
            the value of this object is 0xA0."
        ::= { hwethernetEntry 19 }

    hwifEthernetAutoSpeed OBJECT-TYPE
        SYNTAX  SpeedModeFlag
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
            "This object indicates which kinds of speed mode are negotiable
            on this port.

            Only when a bit of hwifEthernetAutoSpeedMask is '1', the corresponding
            bit of this object can be set to '1', indicating the corresponding
            speed mode is negotiable.

            For example, if the value of hwifEthernetAutoSpeedMask is 0xA0,
            which indicates speed mode 's10M' and 's1000M' are negotiable,
            the possible value of this object should be one of the four values
            (0x00, 0x20, 0x80 and 0xA0).

            If the value of hwifEthernetSpeed is not 'auto', the value of this
            object is insignificant and should be ignored. The value length of
            this object should be as long as that of hwifEthernetAutoSpeedMask."
        ::= { hwethernetEntry 20 }

    hwIsolateGroupMax  OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Max isolate group that this device support, the value is zero
            means that the device does not support isolate group."
        ::= { hwLswL2InfMibObject  5 }

   hwGlobalBroadcastMaxPps   OBJECT-TYPE
        SYNTAX INTEGER   (0..14881000)
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
            "The global max packets per second. When it is set, the value of
            BroadcastMaxPps in all ports will be changed to that setting."
        ::= { hwLswL2InfMibObject 6 }

  hwGlobalBroadcastMaxRatio OBJECT-TYPE
        SYNTAX INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
            "The global max-ratio of broadcast from 0 to 100 percent.
            When it is set, the value of BroadcastMaxRatio in all ports
            will be changed to that setting."
        ::= { hwLswL2InfMibObject 7  }

    hwBpduTunnelStatus  OBJECT-TYPE
        SYNTAX  INTEGER
        {
             enabled(1),
             disabled(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION "Bpdu tunnel enable status."
        ::= { hwLswL2InfMibObject  8 }

   hwVlanVPNTPIDMode OBJECT-TYPE
        SYNTAX  INTEGER
        {
             port-based(1),
             global(2)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vlan VPN TPID mode.

            The value 'port-based' means VLAN VPN TPID value would be set based
            on port via hwifVlanVPNTPID. In this situation, hwVlanVPNTPID is
            meaningless and always return 0x8100.

            The value 'global' means VLAN VPN TPID value should be set globally
            via hwVlanVPNTPID. In this situation, hwifVlanVPNTPID in hwethernetTable
            has the same value with hwVlanVPNTPID."
      ::= { hwLswL2InfMibObject  9 }

   hwVlanVPNTPID OBJECT-TYPE
        SYNTAX  Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Global Vlan VPN TPID(Tag Protocol Indentifier), default value
            is 0x8100."
        ::= { hwLswL2InfMibObject  10 }

   hwPortIsolateGroupTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwPortIsolateGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "Isolate Group attribute table."
        ::= { hwLswL2InfMibObject  11 }


   hwPortIsolateGroupEntry  OBJECT-TYPE
        SYNTAX HwPortIsolateGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "The entry of hwPortIsolateGroupTable."
        INDEX    { hwPortIsolateGroupIndex }
        ::= { hwPortIsolateGroupTable 1 }

    HwPortIsolateGroupEntry ::=
    SEQUENCE {
        hwPortIsolateGroupIndex              Integer32,
        hwPortIsolateUplinkIfIndex           InterfaceIndex,
        hwPortIsolateGroupRowStatus          RowStatus,
        hwPortIsolateGroupDescription        DisplayString
        }

   hwPortIsolateGroupIndex OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Port isolate group identifier.
            The index of the hwPortIsolateGroupTable.
            The value ranges from 1 to the limit of isolate group quantity."
        ::= { hwPortIsolateGroupEntry 1 }

   hwPortIsolateUplinkIfIndex  OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION "Index number of the uplink interface."
        ::= { hwPortIsolateGroupEntry 2 }

    hwPortIsolateGroupRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Current operation status of the row."
        ::= { hwPortIsolateGroupEntry  3 }

    hwPortIsolateGroupDescription OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(0..80))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Port isolate group description, default value is zero-length string."
        ::= { hwPortIsolateGroupEntry 4 }

    hwMaxMacLearnRange OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The maximum number of MAC address that the port supports."
        ::= { hwLswL2InfMibObject  12 }


    hwifPortProtocolStatTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwifPortProtocolStatEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table contains objects of port statistics information based on
            IPv4 and IPv6 protocols."
        ::= { hwLswL2InfMibObject  13 }

    hwifPortProtocolStatEntry  OBJECT-TYPE
        SYNTAX HwifPortProtocolStatEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION "The entry of hwifPortProtocolStatTable."
        INDEX    { ifIndex }
        ::= { hwifPortProtocolStatTable 1 }

    HwifPortProtocolStatEntry ::=
        SEQUENCE {
            hwifIPv4InOctets                        Counter64,
            hwifIPv4InUcastPkts                     Counter64,
            hwifIPv4InMultiPkts                     Counter64,
            hwifIPv4InBroadcastPkts                 Counter64,
            hwifIPv4InDiscards                      Counter64,
            hwifIPv4InErrors                        Counter64,
            hwifIPv4OutOctets                       Counter64,
            hwifIPv4OutUcastPkts                    Counter64,
            hwifIPv4OutMultiPkts                    Counter64,
            hwifIPv4OutBroadcastPkts                Counter64,
            hwifIPv4OutDiscards                     Counter64,
            hwifIPv4OutErrors                       Counter64,
            hwifIPv6InOctets                        Counter64,
            hwifIPv6InUcastPkts                     Counter64,
            hwifIPv6InMultiPkts                     Counter64,
            hwifIPv6InAnycastPkts                   Counter64,
            hwifIPv6InDiscards                      Counter64,
            hwifIPv6InErrors                        Counter64,
            hwifIPv6OutOctets                       Counter64,
            hwifIPv6OutUcastPkts                    Counter64,
            hwifIPv6OutMultiPkts                    Counter64,
            hwifIPv6OutAnycastPkts                  Counter64,
            hwifIPv6OutDiscards                     Counter64,
            hwifIPv6OutErrors                       Counter64
        }
    hwifIPv4InOctets OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of octets based on IPv4 received on the interface."
        ::= { hwifPortProtocolStatEntry 1 }

    hwifIPv4InUcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of unicast packets based on IPv4 received on the interface."
        ::= { hwifPortProtocolStatEntry 2 }

    hwifIPv4InMultiPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of multicast packets based on IPv4 received on the interface."
        ::= { hwifPortProtocolStatEntry 3 }

    hwifIPv4InBroadcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of broadcast packets based on IPv4 received on the interface."
        ::= { hwifPortProtocolStatEntry 4 }

    hwifIPv4InDiscards OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of discard packets based on IPv4 received on the interface."
        ::= { hwifPortProtocolStatEntry 5 }

    hwifIPv4InErrors OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of error packets based on IPv4 received on the interface."
        ::= { hwifPortProtocolStatEntry 6 }

    hwifIPv4OutOctets OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of octets based on IPv4 transmitted out of the interface."
        ::= { hwifPortProtocolStatEntry  7 }

    hwifIPv4OutUcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of unicast packets based on IPv4 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry  8 }

    hwifIPv4OutMultiPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of multicast packets based on IPv4 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 9 }

    hwifIPv4OutBroadcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of broadcast packets based on IPv4 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 10 }

    hwifIPv4OutDiscards OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of discard packets based on IPv4 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 11 }

    hwifIPv4OutErrors OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of error packets based on IPv4 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 12 }

    hwifIPv6InOctets OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of octets based on IPv6 received on the interface."
        ::= { hwifPortProtocolStatEntry 13 }

    hwifIPv6InUcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of unicast packets based on IPv6 received on the interface."
        ::= { hwifPortProtocolStatEntry 14 }

    hwifIPv6InMultiPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of multicast packets based on IPv6 received on the interface."
        ::= { hwifPortProtocolStatEntry 15 }

    hwifIPv6InAnycastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of anycast packets based on IPv6 received on the interface."
        ::= { hwifPortProtocolStatEntry 16 }

    hwifIPv6InDiscards OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of discard packets based on IPv6 received on the interface."
        ::= { hwifPortProtocolStatEntry 17 }

    hwifIPv6InErrors OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of error packets based on IPv6 received on the interface."
        ::= { hwifPortProtocolStatEntry 18 }

    hwifIPv6OutOctets OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of octets based on IPv6 transmitted of the interface."
        ::= { hwifPortProtocolStatEntry  19 }

    hwifIPv6OutUcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of unicast packets based on IPv6 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry  20 }

    hwifIPv6OutMultiPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of multicast packets based on IPv6 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 21 }

    hwifIPv6OutAnycastPkts OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of anycast packets based on IPv6 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 22 }

    hwifIPv6OutDiscards OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of discard packets based on IPv6 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 23 }

    hwifIPv6OutErrors OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of error packets based on IPv6 transmitted out of the
            interface."
        ::= { hwifPortProtocolStatEntry 24 }
END
