-- ==================================================================
-- Copyright (C) 2005 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- 
-- Description: HUAWEI Private Extended Interface MIB
-- Reference:
-- Version: V1.0
-- History:
--      V1.0 
-- ==================================================================
-- ==================================================================
-- 
-- Variables and types be imported
-- 
-- ==================================================================

    HUAWEI-IF-EXT-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB            
            ifIndex, ifName, InterfaceIndex,InterfaceIndexOrZero,ifAdminStatus,ifOperStatus,ifDescr          
                FROM IF-MIB            
            VlanIdOrNone, PortList            
                FROM Q-BRIDGE-MIB            
            OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP            
                FROM SNMPv2-CONF            
            IpAddress, Integer32, Unsigned32, Counter64, OBJECT-TYPE, 
            MODULE-IDENTITY, NOTIFICATION-TYPE            
                FROM SNMPv2-SMI           
            sysUpTime
                FROM SNMPv2-MIB                 
            RowStatus, TruthValue, DisplayString,PhysAddress,TEXTUAL-CONVENTION         
                FROM SNMPv2-TC
            AtmVpIdentifier, AtmVcIdentifier            
                FROM ATM-TC-MIB
            ipAdEntNetMask
                FROM IP-MIB;
    
    
        hwIFExtMib MODULE-IDENTITY 
            LAST-UPDATED "200610312230Z"        -- October 31, 2006 at 22:30 GMT
            ORGANIZATION 
                "Huawei Technologies co.,Ltd."
            CONTACT-INFO 
                "VRP Team Huawei Technologies co.,Ltd.
                Huawei Bld.,NO.3 Xinxi Rd., 
                Shang-Di Information Industry Base,
                Hai-Dian District Beijing P.R. China
                http://www.huawei.com
                Zip:100085
                "
            DESCRIPTION 
                "Some attribute of interface extended content, information of 
                interface IP, interface of trunk interface."
            ::= { hwDatacomm 41 }

        
    
--
-- Textual conventions
--
    
--  Textual Convention
        EnabledStatus ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "A simple status value for the object."
            SYNTAX INTEGER
                {
                enabled(1),
                disabled(2)
                }

        SnmpPasswdString ::= TEXTUAL-CONVENTION
            DISPLAY-HINT 
                "16a"
            STATUS current
            DESCRIPTION 
                "The password string"
            SYNTAX OCTET STRING (SIZE (0..16))
            
        HWDirectionType ::= TEXTUAL-CONVENTION
        STATUS current
        DESCRIPTION 
            "The Direction Flux Limit apply on."
        SYNTAX INTEGER
            {
            inbound(1),
            outbound(2)
            }

--  ============================================================================                        
-- interface IP address group
-- ============================================================================
        HwIpAddressType ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "The type of IP address."
            SYNTAX INTEGER
                {
                primary(1),
                sub(2)
                }

    
--
-- Node definitions
--
    
        hwIFExtObjects OBJECT IDENTIFIER ::= { hwIFExtMib 1 }

        
--  ====================================================================    
-- basic interface extended definition group
-- ====================================================================
        hwIFExtBase OBJECT IDENTIFIER ::= { hwIFExtObjects 1 }

        
--  ===========================================================================
-- interface extended group
-- ============================================================================  
        hwIFExtTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIFExtEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Interface extended table of private mib."
            ::= { hwIFExtBase 1 }

        
        hwIFExtEntry OBJECT-TYPE
            SYNTAX HwIFExtEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entries of private extended interface table."
            INDEX { hwIFExtIndex }
            ::= { hwIFExtTable 1 }

        
        HwIFExtEntry ::=
            SEQUENCE { 
                hwIFExtIndex
                    InterfaceIndex,
                hwIFExtLayer
                    INTEGER,
                hwIFExtFrameType
                    INTEGER,
                hwIFExtFlowStatInterval
                    Integer32,
                hwIFExtFlushReceiveEnable
                    EnabledStatus,
                hwIFExtFlushVlanId
                    VlanIdOrNone,
                hwIFExtFlushPasswd
                    SnmpPasswdString,
                hwIFExtFlowStatus
                    INTEGER,                    
                hwIFExtMtu
                    Integer32,
                hwIFExtMacAddr
                    PhysAddress,
                hwIFExtBlockPriority
                    Integer32,
                hwIFExtMacShift
                    INTEGER,
                hwIFExtSuppressStatus
                    INTEGER                   
             }

        hwIFExtIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Index of extended table of interface."
            ::= { hwIFExtEntry 1 }

        
        hwIFExtLayer OBJECT-TYPE
            SYNTAX INTEGER
                {
                layer2(1),
                layer3(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Switch the port between Layer3 and Layer2. Corresponding to the 
                port switch command.Layer2(1) is 1 when the port switch from layer3
                 to layer2.Layer3(1) is 1 when the port switch from lyaer2 to  
                layer3."
            ::= { hwIFExtEntry 2 }

        
        hwIFExtFrameType OBJECT-TYPE
            SYNTAX INTEGER
                {
                ethernetII(1),
                ethernetSnap(2),
                ethernet8022(3),
                ethernet8023(4),
                other(5)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Frame type is accepted by VLAN virtual interfaces.Frame format 
                contains ethernetII(1),ethernetII(2),ethernet8022(3),ethernet8023.
                The type location setting 1 when the ethernetII(1) type is
                 accepted.Now only surpport the first(ethernetII(1))"
            ::= { hwIFExtEntry 3 }

        
-- metric: second
        hwIFExtFlowStatInterval OBJECT-TYPE
            SYNTAX Integer32 (10..600)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Interval of interface flow stat.The value of interval must be divided 
                exactly by 10.The interface interval is effective,when both interface 
                interval and global interval are config.Globle interval is only effective 
                in interfaces,which interface interval is not configured. The real time 
                property of interface flow stat rate will be affected by the value of 
                interval."
            DEFVAL { 300 }
            ::= { hwIFExtEntry 4 }

        
        hwIFExtFlushReceiveEnable OBJECT-TYPE
            SYNTAX EnabledStatus
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Whether or not permit the port to take over FLUSHDUs. Once it is enabled,
                the port will take over SmartLink FlushDUs from related vlans so as to delete
                the MAC forwarding table in the local equipment."
            DEFVAL { disabled }
            ::= { hwIFExtEntry 5 }

        
        hwIFExtFlushVlanId OBJECT-TYPE
            SYNTAX VlanIdOrNone
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The ID of Vlan the port belongs to.When it is 0, it indicates 
                the function of receiving FlushPDU is disabled."
            DEFVAL { 0 }
            ::= { hwIFExtEntry 6 }

        
        hwIFExtFlushPasswd OBJECT-TYPE
            SYNTAX SnmpPasswdString
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "A 16-octet read-write value used to define the password for negotiation."
            DEFVAL { '00'h }
            ::= { hwIFExtEntry 7 }
            
        hwIFExtFlowStatus OBJECT-TYPE
            SYNTAX INTEGER
            {
              flowUp(1),
              flowDown(2)
            }       
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION 
           " Current flow status of interface.
               1:flow up
               2:flow down"
            ::= { hwIFExtEntry 8 }            
            
        hwIFExtMtu OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION 
           "The Max Transmit Unit of the interface."
            ::= { hwIFExtEntry 9 }  
            
        hwIFExtMacAddr  OBJECT-TYPE
               SYNTAX PhysAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The MAC address of the interface ."
            ::= { hwIFExtEntry 10 }

        hwIFExtBlockPriority OBJECT-TYPE
            SYNTAX Integer32 (0..255)      
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION 
           "The blocked priority of the interface."
            ::= { hwIFExtEntry 11 }            

        hwIFExtMacShift OBJECT-TYPE
            SYNTAX INTEGER
            {
              normal(1),
              macShift(2)
            }       
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION 
           "The mac-shift state of the interface.
               1:normal
               2:monitor mac-shift"
            ::= { hwIFExtEntry 12 }    
            
        hwIFExtSuppressStatus OBJECT-TYPE
            SYNTAX INTEGER
            {
              unsuppress(0),
              suppress(1)
            }       
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION 
           "The suppress state of the interface.
               0:unsuppress
               1:suppress"
            ::= { hwIFExtEntry 13 }      

        hwIFExtPhyStatus OBJECT-TYPE
            SYNTAX INTEGER { up(1), down(2) }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The physical status of member interface."
            ::= { hwIFExtBase 2 }


        hwIFExtMemberOf OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "The description of the main interface which has the membership with the member interface."
            ::= { hwIFExtBase 3 }

    hwLinkModeChangeAutoCreateIfTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwLinkModeChangeAutoCreateIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Interface extended table of private mib."
            ::= { hwIFExtBase 4 }

        
        hwLinkModeChangeAutoCreateIfEntry OBJECT-TYPE
            SYNTAX HwLinkModeChangeAutoCreateIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entries of private extended interface table."
            INDEX { hwAutoIfIndex }
            ::= { hwLinkModeChangeAutoCreateIfTable 1 } 
            
        HwLinkModeChangeAutoCreateIfEntry ::=
            SEQUENCE { 
                hwAutoIfIndex
                    InterfaceIndex,
                hwNewIfTimeslot
                    BITS
             } 
             
        hwAutoIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Index of extended table of interface."
            ::= { hwLinkModeChangeAutoCreateIfEntry 1 }
            
        hwNewIfTimeslot OBJECT-TYPE
            SYNTAX BITS{
                      timeslot0(0),
                      timeslot1(1),
                      timeslot2(2),
                      timeslot3(3),
                      timeslot4(4),
                      timeslot5(5),
                      timeslot6(6),
                      timeslot7(7),
                      timeslot8(8),
                      timeslot9(9),
                      timeslot10(10),
                      timeslot11(11),
                      timeslot12(12),
                      timeslot13(13),
                      timeslot14(14),
                      timeslot15(15),
                      timeslot16(16),
                      timeslot17(17),
                      timeslot18(18),
                      timeslot19(19),
                      timeslot20(20),
                      timeslot21(21),
                      timeslot22(22),
                      timeslot23(23),
                      timeslot24(24),
                      timeslot25(25),
                      timeslot26(26),
                      timeslot27(27),
                      timeslot28(28),
                      timeslot29(29),
                      timeslot30(30),
                      timeslot31(31)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The time slot of the TDM interface:
                      timeslot0(0):The time slot 0 on the TDM interface,
                      timeslot1(1):The time slot 1 on the TDM interface,
                      timeslot2(2):The time slot 2 on the TDM interface,
                      timeslot3(3):The time slot 3 on the TDM interface,
                      timeslot4(4):The time slot 4 on the TDM interface,
                      timeslot5(5):The time slot 5 on the TDM interface,
                      timeslot6(6):The time slot 6 on the TDM interface,
                      timeslot7(7):The time slot 7 on the TDM interface,
                      timeslot8(8):The time slot 8 on the TDM interface,
                      timeslot9(9):The time slot 9 on the TDM interface,
                      timeslot10(10):The time slot 10 on the TDM interface,
                      timeslot11(11):The time slot 11 on the TDM interface,
                      timeslot12(12):The time slot 12 on the TDM interface,
                      timeslot13(13):The time slot 13 on the TDM interface,
                      timeslot14(14):The time slot 14 on the TDM interface,
                      timeslot15(15):The time slot 15 on the TDM interface,
                      timeslot16(16):The time slot 16 on the TDM interface,
                      timeslot17(17):The time slot 17 on the TDM interface,
                      timeslot18(18):The time slot 18 on the TDM interface,
                      timeslot19(19):The time slot 19 on the TDM interface,
                      timeslot20(20):The time slot 20 on the TDM interface,
                      timeslot21(21):The time slot 21 on the TDM interface,
                      timeslot22(22):The time slot 22 on the TDM interface,
                      timeslot23(23):The time slot 23 on the TDM interface,
                      timeslot24(24):The time slot 24 on the TDM interface,
                      timeslot25(25):The time slot 25 on the TDM interface,
                      timeslot26(26):The time slot 26 on the TDM interface,
                      timeslot27(27):The time slot 27 on the TDM interface,
                      timeslot28(28):The time slot 28 on the TDM interface,
                      timeslot29(29):The time slot 29 on the TDM interface,
                      timeslot30(30):The time slot 30 on the TDM interface,
                      timeslot31(31):The time slot 31 on the TDM interface."
            ::= { hwLinkModeChangeAutoCreateIfEntry 2 }
        hwIFExtPhyNumber OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of the physical interfaces."
            ::= { hwIFExtBase 5 }
        
        hwInterfaceIp OBJECT IDENTIFIER ::= { hwIFExtObjects 2 }

        
        hwIfIpTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIfIpEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Interface IP address configuration table .It contains IP address,
                IP address mask, IP address acquiring method."
            ::= { hwInterfaceIp 1 }

        
        hwIfIpEntry OBJECT-TYPE
            SYNTAX HwIfIpEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " Interface IP address configuration  "
            INDEX { hwIpAdEntAddr }
            ::= { hwIfIpTable 1 }

        
        HwIfIpEntry ::=
            SEQUENCE { 
                hwIpAdEntAddr
                    IpAddress,
                hwIpAdEntIfIndex
                    Integer32,
                hwIpAdEntNetMask
                    IpAddress,
                hwIpAdEntBcastAddr
                    Integer32,
                hwIpAdEntReasmMaxSize
                    Integer32,
                hwIpAdEntAddressType
                    HwIpAddressType,
                hwIfIpMethod
                    INTEGER,
                hwIpAdEntAddrStatus
                    RowStatus
             }

        hwIpAdEntAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The IP address to which this entry's addressing
                information pertains."
            ::= { hwIfIpEntry 1 }

        
        hwIpAdEntIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The index value which uniquely identifies the
                interface to which this entry is applicable.  The
                interface identified by a particular value of this
                index is the same interface as identified by the
                same value of ifIndex."
            ::= { hwIfIpEntry 2 }

        
        hwIpAdEntNetMask OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The subnet mask associated with the IP address of
                this entry.  The value of the mask is an IP
                address with all the network bits set to 1 and all
                the host bits set to 0."
            ::= { hwIfIpEntry 3 }

        
        hwIpAdEntBcastAddr OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of the least-significant bit in the IP
                broadcast address used for sending datagrams on
                the (logical) interface associated with the IP
                address of this entry.  For example, when the
                Internet standard all-ones broadcast address is
                used, the value will be 1.  This value applies to
                both the subnet and network broadcasts addresses
                used by the entity on this (logical) interface."
            ::= { hwIfIpEntry 4 }

        
        hwIpAdEntReasmMaxSize OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The size of the largest IP datagram which this
                entity can re-assemble from incoming IP fragmented
                datagram received on this interface."
            ::= { hwIfIpEntry 5 }

        
        hwIpAdEntAddressType OBJECT-TYPE
            SYNTAX HwIpAddressType
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The flag indicates whether the IP address is primary IP address.
                One interface has only one primary IP address, but can have many sub IP address.
                So when add a primary IP address to an interface that has already a primary IP address,
                the new primary address will replace old primary address and the old primary address will be deleted."
            ::= { hwIfIpEntry 6 }

        
hwIfIpMethod OBJECT-TYPE
            SYNTAX INTEGER
                {
                 assignedIp(1),
                 dhcpIp(2),
                 bootpIp(3),
                 other(4),
                 linklayer(5),
                 random(6)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Interface IP address acquiring method.

                 assignedIp(1) indicates that the address was manually configured
                 to a specified address, for example, by user configuration.
                 
                 dhcpIp(2) indicates an address that was assigned to this
                 system by a DHCP server.
                 
                 bootpIp(3) indicates an address that was assigned to this
                 system by the bootp protocol.
                 
                 other(4) indicates an address created by another method.
                 
                 linklayer(5) indicates an address created by IPv6 stateless
                 auto-configuration.

                 random(6) indicates an address chosen by the system at
                 random, for example, an IPv4 address within 169.254/16, or an RFC
                 3041 privacy address."
            ::= { hwIfIpEntry 7 }
        
        hwIpAdEntAddrStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The row status variable."
            ::= { hwIfIpEntry 8 }  
            
            
        hwIfIpUnnumberedTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIfIpUnnumberedEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "Interface IP address unnumbered table.
                It contains lend IP address and lend IP address mask."
            ::= { hwInterfaceIp  2}
                    
                    
        hwIfIpUnnumberedEntry OBJECT-TYPE
            SYNTAX HwIfIpUnnumberedEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                " Interface IP address unnumbered configuration  "
            INDEX   { hwUnnumberedIfIndex } 
            ::= {hwIfIpUnnumberedTable 1}
                    
                    
        HwIfIpUnnumberedEntry    ::=
        SEQUENCE {  
            hwUnnumberedIfIndex
                InterfaceIndex,
            hwLendIfIndex 
                InterfaceIndex,
            hwLendIpAddr 
                IpAddress,
            hwLendIpAddrNetMask  
                IpAddress,
            hwUnnumberedRowStatus
                RowStatus
    
            }    
            
         hwUnnumberedIfIndex OBJECT-TYPE  
            SYNTAX  InterfaceIndex
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "The index value of the unnumbered interface."
            ::= { hwIfIpUnnumberedEntry 1 }
               
               
         hwLendIfIndex OBJECT-TYPE    
            SYNTAX  InterfaceIndex
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION
                    "The index value of the lend interface."
            ::= { hwIfIpUnnumberedEntry 11 }
                 
                 
         hwLendIpAddr OBJECT-TYPE      
            SYNTAX  IpAddress
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The IP address of the lend interface."
            ::= { hwIfIpUnnumberedEntry 12 }
                 
                 
         hwLendIpAddrNetMask OBJECT-TYPE    
            SYNTAX  IpAddress
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The IP address mask of the lend interface."
            ::= { hwIfIpUnnumberedEntry 13 }
                    
                    
         hwUnnumberedRowStatus OBJECT-TYPE        
            SYNTAX  RowStatus
            MAX-ACCESS  read-create
            STATUS  current
            DESCRIPTION
                    "The row status variable."
            ::= { hwIfIpUnnumberedEntry 51 } 
            
--  ============================================================================
-- interface trunk attribute group
-- ============================================================================
        hwTrunkAttr OBJECT IDENTIFIER ::= { hwIFExtObjects 3 }

        
        hwTrunkIfMax OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The maximum of Trunk interface"
            ::= { hwTrunkAttr 1 }

        
        hwTrunkNextIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The nextindex of Trunk interface,that means its position"
            ::= { hwTrunkAttr 2 }

        
        hwTrunkIfTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwTrunkIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The trunk table."
            ::= { hwTrunkAttr 3 }

        
        hwTrunkIfEntry OBJECT-TYPE
            SYNTAX HwTrunkIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entries of the trunk table."
            INDEX { hwTrunkIndex }
            ::= { hwTrunkIfTable 1 }

        
        HwTrunkIfEntry ::=
            SEQUENCE { 
                hwTrunkIndex
                    Integer32,
                hwTrunkIfID
                    Integer32,
                hwTrunkIfType
                    INTEGER,
                hwTrunkIfIndex
                    InterfaceIndex,
                hwTrunkIfModel
                    INTEGER,
                hwTrunkIfBandWidthAffectLinkNum
                    Integer32,
                hwTrunkIfMinLinkNum
                    Integer32,
                hwTrunkIfRowStatus
                    RowStatus,
                hwTrunkIfWorkingMode
                    INTEGER,
                hwTrunkIfWorkingState
                    INTEGER,
                hwTrunkIfAutoRecover
                    INTEGER,
                hwTrunkIfPreemptEnable
                    INTEGER,
                hwTrunkIfPreemptDelay
                    Integer32,
                hwTrunkIfTimeoutReceive
                    INTEGER,
                hwTrunkIfFlushSendEnable
                    INTEGER,
                hwTrunkIfFlushVlanId
                    Integer32,
                hwTrunkIfFlushPasswd
                    SnmpPasswdString,
                hwTrunkIfForceSwitchEnable
                    INTEGER,
                hwTrunkIfStatReset
                    INTEGER,
                hwTrunkBandwidth                        -- the band width of the trunk interface
                    Integer32,
                hwTrunkIfArpSendSpeed                        
                    Integer32,
                hwTrunkIfLagSelectedPortStd
                    INTEGER,
                hwTrunkIfLagMaxActiveLinkNum
                    Integer32,
                hwTrunkETrunkPriority
                    Integer32,
                hwTrunkETrunkSysID
                    PhysAddress,
               hwTrunkETrunkPriorityReset
                   INTEGER,
               hwTrunkETrunkSysIDReset
                   INTEGER,
               hwTrunkLocalPrefMode
                   INTEGER,
               hwTrunkIfTrackVrrpVrid
                   Integer32,
               hwTrunkIfTrackVrrpIfIndex
                   InterfaceIndex,
               hwTrunkIfTrackVrrpReset
                   INTEGER,
               hwTrunkIfBackupPreemptEnable
                   EnabledStatus,
               hwTrunkIfBackupPreemptDelay
                   Integer32                   
             }

--  the max bandwidth-affected-linknumber
-- the least active-linknumber of the up port
        hwTrunkIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " The number of the Trunk interface "
            ::= { hwTrunkIfEntry 1 }

        
        hwTrunkIfID OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " The identification of the Trunk interface.It may identify Trunk
                and is an index of the interface."
            ::= { hwTrunkIfEntry 2 }

        
        hwTrunkIfType OBJECT-TYPE
            SYNTAX INTEGER
                {
                ethTrunk(1),
                ipTrunk(2)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " The type of the Trunk interface includes eth-trunk and ip-trunk.
                The ip-trunk is only comprised by pos link, otherwise the eth-trunk
                 is only comprised by ethernet link."
            ::= { hwTrunkIfEntry 3 }

        
        hwTrunkIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " Index number of the Trunk interface,it is consistent with ifIndex
                of ifTable in IF-MIB."
            ::= { hwTrunkIfEntry 4 }

        hwTrunkIfModel OBJECT-TYPE
            SYNTAX INTEGER
                {
                packetAll(1),
                sourceDesMac(2),
                packetUdp(3),
                packetTcp(4),
                sourceDesIp(5),
                sourceMacIpv6(6),
                sourceIpIpv6(7),
                sourceIp(8),
                desIp(9),
                sourceMac(10),
                desMac(11),
                sourcePort(12),
                desPort(13),
                sourceDesPort(14),
                fwdType(15),
                qos(16),
                labelNum(17),
                label(18),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Participated model of interface load. sourceDesMac(1) and 
                sourceMac(10) and desMac(11) are Layer2 hash arithmetic."
            ::= { hwTrunkIfEntry 5 }

        
        hwTrunkIfBandWidthAffectLinkNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " The max bandwidth-affected-linknumber,
                by default, an Eth-Trunk interface has a 
                maximum of 16 physical interfaces. 
                The number of physical interfaces in an 
                Eth-Trunk interface varies according to 
                the product type.Only in layer 2,can set this value."
            ::= { hwTrunkIfEntry 6 }

        
        hwTrunkIfMinLinkNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " The Trunk port changes to up when the number of the up port reach hwTrunkIfMinLinkNum. "
            ::= { hwTrunkIfEntry 7 }

        
        hwTrunkIfRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " Current operation status of the row "
            ::= { hwTrunkIfEntry 8 }

        
        hwTrunkIfWorkingMode OBJECT-TYPE
            SYNTAX INTEGER
                {
                masterBackup(1),
                normalMode(2),
                lacpStaticMode(3),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " Current working mode of trunk.
                1:master/backup access mode
                2:normal mode
                3:lacp static mode"
            ::= { hwTrunkIfEntry 9 }

        
        hwTrunkIfWorkingState OBJECT-TYPE
            SYNTAX INTEGER
                {
                generalMode(1),
                initialization(2),
                masterWorking(3),
                backupWorking(4),
                invalid(-1)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " Current working state of backup-access trunk.
                1:general mode working state
                2:initialization 
                3:master working
                4:backup working"
            ::= { hwTrunkIfEntry 10 }

        
        hwTrunkIfAutoRecover OBJECT-TYPE
            SYNTAX INTEGER
                {
                generalMode(1),
                autoRecover(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " If auto-recover has been set, the master port will be
                working instead of the other port when it changes from 
                down state to up state.
                1: don't support auto-recover
                2: support auto-recover"
            ::= { hwTrunkIfEntry 11 }

        
        hwTrunkIfPreemptEnable OBJECT-TYPE
            SYNTAX INTEGER
                {
                enabled(1),
                disabled(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The preemption according to the priority will be and only be enabled  when the lag port is working in static mode(M:N backup mode)
                In default condition, the preemption is disabled."
            DEFVAL { disabled }
            ::= { hwTrunkIfEntry 12 }

        
        hwTrunkIfPreemptDelay OBJECT-TYPE
            SYNTAX Integer32 (10..180 | -1)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The waiting time for priority preemption; Unit: second.
                It is enabled only when the priority preemption is enabled.
                It indicates, When it comes to priority preemption, the operation 
                of preemption will be delayed for hwTrunkIfPreemptDelay time."
            DEFVAL { 30 }
            ::= { hwTrunkIfEntry 13 }

        
        hwTrunkIfTimeoutReceive OBJECT-TYPE
            SYNTAX INTEGER
                {
                fast(1),
                slow(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The expired time for the port to receive LACPDUS.
                There are two types:
                1.fast: 3 seconds
                2.slow: 90 seconds"
            ::= { hwTrunkIfEntry 14 }

        
        hwTrunkIfFlushSendEnable OBJECT-TYPE
            SYNTAX INTEGER
                {
                enabled(1),
                disabled(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Whether or not permit the trunk to transmit FlushDUs.It is only used 
                when it is in the handwork 1:1 mode.Once it is enabled, the newly active 
                interface in the trunk will send SmartLink FlushDUs so as to delete the 
                related MAC forwarding table of the layer2 equipment in network.Otherwise, 
                SmartLink FlushDUs will not be sent."
            DEFVAL { disabled }
            ::= { hwTrunkIfEntry 15 }

        
        hwTrunkIfFlushVlanId OBJECT-TYPE
            SYNTAX Integer32 (0..4094 | -1)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The ID of Vlan the partner port belongs to.When it is 0, it indicates 
                the function of sending FlushPDU is disabled. "
            DEFVAL { 0 }
            ::= { hwTrunkIfEntry 16 }

        
        hwTrunkIfFlushPasswd OBJECT-TYPE
            SYNTAX SnmpPasswdString
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "A 16-octet read-create value used to define the password for negotiation."
            DEFVAL { '00'h }
            ::= { hwTrunkIfEntry 17 }

        
        hwTrunkIfForceSwitchEnable OBJECT-TYPE
            SYNTAX INTEGER
                {
                enabled(1),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "It is only used when it is in the handwork 1:1 mode and the current 
                working link is the backup link. At that time, working link will move 
                from backup link to master link. However, if the master link is down, 
                the operation will be forbidden."
            ::= { hwTrunkIfEntry 18 }

        
        hwTrunkIfStatReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                reset(1),
                ready(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Reset the statistic information of LACPDUsRx,MarkerPDUsRx,LACPDUsTx,
                MarkerResponsePDUsTx for all the ports in the current trunk."
            ::= { hwTrunkIfEntry 19 }
        
        hwTrunkBandwidth  OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                " Current bandwidth of trunk in units of 1,000,000 bits per second. This bandwidth is the peculiar property of Eth-Trunk. And to the other kinds of trunk, this bandwidth is -1."
            ::= { hwTrunkIfEntry 20 }        

        
        hwTrunkIfArpSendSpeed  OBJECT-TYPE
            SYNTAX Integer32(800..3000 | -1)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "Indicates the rate of sending gratuitous ARP packets (in pkts/sec) on the trunk member interface. "
            DEFVAL { 2000 }                
            ::= { hwTrunkIfEntry 21 }  

        hwTrunkIfLagSelectedPortStd OBJECT-TYPE
            SYNTAX INTEGER
                {
                speed(1),
                priority(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The static mode Eth-trunk selected port standard.
                There are two types:
                1.speed : selected by port's speed
                2.priority: selected by port's priority
                The default type is priority."
            DEFVAL { priority }
            ::= { hwTrunkIfEntry 22 }

       hwTrunkIfLagMaxActiveLinkNum  OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION 
                "The static mode Eth-trunk selected ports can not more than the value."
            ::= { hwTrunkIfEntry 23 } 
         
        hwTrunkETrunkPriority OBJECT-TYPE
            SYNTAX Integer32 (0..65535 | -1)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The priority of the E-Trunk."
            ::= { hwTrunkIfEntry 24 }
            
        hwTrunkETrunkSysID OBJECT-TYPE
            SYNTAX PhysAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The system ID of the E-Trunk. If set ffff-ffff-ffff the system ID will be to default."
            ::= { hwTrunkIfEntry 25 }
         
        hwTrunkETrunkPriorityReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                yes(1),
                no(2),
                invalid(-1)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Status of operation, there are yes(1) and no(2).
                It expresses whether the configure of E-Trunk priority is resetted."
            DEFVAL { no }
            ::= { hwTrunkIfEntry 26 }       
            
        hwTrunkETrunkSysIDReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                yes(1),
                no(2),
                invalid(-1)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Status of operation, there are yes(1) and no(2).
                It expresses whether the configure of E-Trunk system ID is resetted."
            DEFVAL { no }
            ::= { hwTrunkIfEntry 27 }

        hwTrunkLocalPrefMode OBJECT-TYPE
            SYNTAX INTEGER
                {
                enable(1),
                disable(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Local-preference transmit mode of eth-trunk, there are enable(1) and disable(2).The default value is disable(2)."
            ::= { hwTrunkIfEntry 28 }
            
        hwTrunkIfTrackVrrpVrid OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The VRID which the static mode Eth-trunk tracked to."
            ::= { hwTrunkIfEntry 29 }
        
        hwTrunkIfTrackVrrpIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The VRRP interface which the static mode Eth-trunk tracked to."
            ::= { hwTrunkIfEntry 30 }
            
        hwTrunkIfTrackVrrpReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                yes(1),
                no(2),
                invalid(-1)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Status of operation, there are yes(1) and no(2).
                The value of this object identifies whether 
                the operation of clearing the configuration 
                is performed. And the configuration is that 
                the Eth-Trunk interface in static LACP mode 
                is associated with an mVRRP backup group. 
                The value yes(1) indicates performing the operation. 
                This object indicates one operation but not one status,
                so when the operation is performed, the value is no(2).   
                By default, the value is no(2)."
            ::= { hwTrunkIfEntry 31 }

        hwTrunkIfBackupPreemptEnable OBJECT-TYPE
            SYNTAX EnabledStatus
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The preemption according to the master and slave port will be and only be enabled when eth-trunk is working in backup mode.
                In default condition, the preemption is disabled."
            DEFVAL { disabled }
            ::= { hwTrunkIfEntry 32 }
        
        hwTrunkIfBackupPreemptDelay OBJECT-TYPE
            SYNTAX Integer32 (0..30 | -1)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The waiting time for priority preemption; Unit: minute.
                It is enabled only when the priority preemption is enabled.
                It indicates, When it comes to priority preemption, the operation 
                of preemption will be delayed for hwTrunkIfBackupPreemptDelay time."
            DEFVAL { 0 }
            ::= { hwTrunkIfEntry 33 }
            
        hwTrunkSystemPriority OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The priority of the system."
            ::= { hwTrunkAttr 4 }
            
       hwTrunkUnknownUnicastIfModel OBJECT-TYPE
            SYNTAX INTEGER
                {
                packetAll(1),
                sourceDesMac(2),
                packetUdp(3),
                packetTcp(4),
                sourceDesIp(5),
                sourceMacIpv6(6),
                sourceIpIpv6(7),
                sourceIp(8),
                desIp(9),
                sourceMac(10),
                desMac(11),
                sourcePort(12),
                desPort(13),
                sourceDesPort(14),
                label(15),
        ipOrLabel(16)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Participated model of load for unknown unicast. sourceDesMac(2) and 
                sourceMac(10) and desMac(11) are Layer2 hash arithmetic."
            ::= { hwTrunkAttr 5 }


            hwTrunkETrunkSystemPriority OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The system priority of the E-Trunk."
            ::= { hwTrunkAttr 6 }
            
            
            hwTrunkETrunkSystemID OBJECT-TYPE
            SYNTAX PhysAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The system ID of the E-Trunk. If set ffff-ffff-ffff the system ID will be to default."
            ::= { hwTrunkAttr 7 }   
        
--  ----------------------------------------------------------------------------
-- Trunk member attribute Group
-- ----------------------------------------------------------------------------
        hwTrunkMemAttr OBJECT IDENTIFIER ::= { hwIFExtObjects 4 }

        
        hwTrunkMemTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwTrunkMemEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Trunk member attribute information table."
            ::= { hwTrunkMemAttr 1 }

        
        hwTrunkMemEntry OBJECT-TYPE
            SYNTAX HwTrunkMemEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Trunk member attribute information"
            INDEX { hwTrunkIndex, hwTrunkMemifIndex }
            ::= { hwTrunkMemTable 1 }

        
        HwTrunkMemEntry ::=
            SEQUENCE { 
                hwTrunkMemifIndex
                    Integer32,
                hwTrunkValidEntry
                    INTEGER,
                hwTrunkSelectStatus
                    INTEGER,
                hwTrunkLacpStatus
                    EnabledStatus,
                hwTrunkDeleteFlag
                    EnabledStatus,
                hwTrunkOperstatus
                    INTEGER,
                hwTrunkIsDefaultLagRecv
                    TruthValue,
                hwTrunkPortWeight
                    Unsigned32,
                hwTrunkPortStandby
                    Unsigned32,
                hwTrunkRowStatus
                    RowStatus,
                hwTrunkPortMaster
                    INTEGER,
                hwTrunkPortPriority
                    Integer32,
                hwTrunkPortStatReset
                    INTEGER
             }

        hwTrunkMemifIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Trunk port index"
            ::= { hwTrunkMemEntry 1 }

        
        hwTrunkValidEntry OBJECT-TYPE
            SYNTAX INTEGER
                {
                valid(1),
                invalid(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Valid Entries of Trunk interface "
            ::= { hwTrunkMemEntry 2 }

        
        hwTrunkSelectStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                trunkSelected(1),
                trunkDeselected(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Selected Status of Trunk Port.It is used LACP."
            ::= { hwTrunkMemEntry 3 }

        
        hwTrunkLacpStatus OBJECT-TYPE
            SYNTAX EnabledStatus
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "It is status of the LACP."
            ::= { hwTrunkMemEntry 4 }

        
        hwTrunkDeleteFlag OBJECT-TYPE
            SYNTAX EnabledStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Flag is set trunk_del_enable(1) or trunk_del_disable(2),
                according to operation."
            ::= { hwTrunkMemEntry 5 }

        
        hwTrunkOperstatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                up(1),
                down(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Status of operation, indicates port status. There are trunk_up(1)
                and trunk_down(2).It expresses whether port is shutdown."
            ::= { hwTrunkMemEntry 6 }

        
        hwTrunkIsDefaultLagRecv OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "We don't sustain now, default value is false."
            ::= { hwTrunkMemEntry 7 }

        
        hwTrunkPortWeight OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Port weight, it expresses proportion of port in Trunk interface table"
            ::= { hwTrunkMemEntry 8 }

        
        hwTrunkPortStandby OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The value is backup of Trunk Port."
            ::= { hwTrunkMemEntry 9 }

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

        
        hwTrunkPortMaster OBJECT-TYPE
            SYNTAX INTEGER
                {
                portSlave(1),
                portMaster(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Master port of backup-access eth-trunk or not
                1: port-slave
                2: port-master"
            ::= { hwTrunkMemEntry 11 }

        
        hwTrunkPortPriority OBJECT-TYPE
            SYNTAX Integer32 (0..65535 | -1)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The priority value assigned to this Trunk Port.
                This 16-bit value is read-write."
            ::= { hwTrunkMemEntry 12 }

        
        hwTrunkPortStatReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                reset(1),
                ready(2),
                invalid(-1)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Reset the statistic information of LACPDUsRx,MarkerPDUsRx,LACPDUsTx,
                MarkerResponsePDUsTx for the current port."
            ::= { hwTrunkMemEntry 13 }

        
--  ===========================================================================
-- Global interfacce flow stat interval group 
-- ===========================================================================
        hwIFFlowStat OBJECT IDENTIFIER ::= { hwIFExtObjects 5 }

        
-- metric: second
        hwIFFlowStatGlobalInterval OBJECT-TYPE
            SYNTAX Integer32 (10..600)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Global interval of interface flow stat.The interface interval is effective,
                when both interface interval and global interval are config.Globle interval 
                is only effective in interfaces,which interface interval is not configged.
                Flow stat rate of interface will be affected by the value of interval.
                The default value is 300s."
            ::= { hwIFFlowStat 1 }


   
        
        
        
--  ===========================================================================
-- Global interface flow stat interval group 
-- ===========================================================================
        hwIfStatistics OBJECT IDENTIFIER ::= { hwIFExtObjects 6 }

        
        hwIfEtherStatTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIfEtherStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " Ethernet Interface Statistic Table "
            ::= { hwIfStatistics 1 }

        
        hwIfEtherStatEntry OBJECT-TYPE
            SYNTAX HwIfEtherStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " Entry of Ethernet Interface Statistic Table "
            INDEX { hwIfEtherStatIfIndex }
            ::= { hwIfEtherStatTable 1 }

        
        HwIfEtherStatEntry ::=
            SEQUENCE { 
                hwIfEtherStatIfIndex
                    InterfaceIndex,
        hwIfEtherStatInPkts64Octets
            Counter64,
        hwIfEtherStatInPkts65to127Octets
            Counter64,
        hwIfEtherStatInPkts128to255Octets
            Counter64,
        hwIfEtherStatInPkts256to511Octets
            Counter64,
        hwIfEtherStatInPkts512to1023Octets
            Counter64,
        hwIfEtherStatInPkts1024to1518Octets
            Counter64,
                hwIfEtherStatInJumboPkts
                    Counter64,
                hwIfEtherStatInCRCPkts
                    Counter64,
                hwIfEtherStatInLongPkts
                    Counter64,
                hwIfEtherStatInJabberPkts
                    Counter64,
                hwIfEtherStatInFragmentPkts
                    Counter64,
                hwIfEtherStatInUnderSizePkts
                    Counter64,
                hwIfEtherStatInOverRunPkts
                    Counter64,
                hwIfEtherStatInPausePkts
                    Counter64,
                hwIfEtherStatOutJumboPkts
                    Counter64,
                hwIfEtherStatOutOverflowPkts
                    Counter64,
                hwIfEtherStatOutUnderRunPkts
                    Counter64,
                hwIfEtherStatOutPausePkts
                    Counter64,
                hwIfEthIfStatReset
                    INTEGER, 
                hwIfEtherStatInDropEventPkts
                    Counter64, 
                hwIfEtherStatInAlignmentPkts
                    Counter64,
                hwIfEtherStatInSymbolPkts
                    Counter64,
                hwIfEtherStatInIgnoredPkts
                    Counter64, 
                hwIfEtherStatInFramePkts
                    Counter64,              
                hwIfEtherStatOutCollisionPkts
                    Counter64,
                hwIfEtherStatOutDeferredPkts
                    Counter64,
                hwIfEtherStatOutLateCollisionPkts
                    Counter64,
                hwIfEtherStatOutExcessiveCollisionPkts
                    Counter64,
                hwIfEtherStatOutBufferPurgationPkts
                    Counter64
             }

        hwIfEtherStatIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " The index of L2 interface "
            ::= { hwIfEtherStatEntry 1 }

    
    -- 1.3.6.1.4.1.2011.5.25.41.1.6.1.1.5
    hwIfEtherStatInPkts64Octets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The number of recieved Packets whose size over 1518 bytes "
        ::= { hwIfEtherStatEntry 5 }

    
    -- 1.3.6.1.4.1.2011.5.25.41.1.6.1.1.6
    hwIfEtherStatInPkts65to127Octets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The number of recieved Packets whose size over 1518 bytes "
        ::= { hwIfEtherStatEntry 6 }

    
    -- 1.3.6.1.4.1.2011.5.25.41.1.6.1.1.7
    hwIfEtherStatInPkts128to255Octets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The number of recieved Packets whose size over 1518 bytes "
        ::= { hwIfEtherStatEntry 7 }

    
    -- 1.3.6.1.4.1.2011.5.25.41.1.6.1.1.8
    hwIfEtherStatInPkts256to511Octets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The number of recieved Packets whose size over 1518 bytes "
        ::= { hwIfEtherStatEntry 8 }

    
    -- 1.3.6.1.4.1.2011.5.25.41.1.6.1.1.9
    hwIfEtherStatInPkts512to1023Octets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The number of recieved Packets whose size over 1518 bytes "
        ::= { hwIfEtherStatEntry 9 }

    
    -- 1.3.6.1.4.1.2011.5.25.41.1.6.1.1.10
    hwIfEtherStatInPkts1024to1518Octets OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The number of recieved Packets whose size over 1518 bytes "
        ::= { hwIfEtherStatEntry 10 }

    
        hwIfEtherStatInJumboPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets whose size over 1518 bytes "
            ::= { hwIfEtherStatEntry 11 }

        
        hwIfEtherStatInCRCPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets which have CRC checking errors "
            ::= { hwIfEtherStatEntry 12 }

        
        hwIfEtherStatInLongPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets whose length is over maximum length "
            ::= { hwIfEtherStatEntry 13 }

        
        hwIfEtherStatInJabberPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets whose length is over maximum length 
                and wrong CRC checking "
            ::= { hwIfEtherStatEntry 14 }

        
        hwIfEtherStatInFragmentPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets which have short size and wrong CRC checking  "
            ::= { hwIfEtherStatEntry 15 }

        
        hwIfEtherStatInUnderSizePkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets which have short size but right CRC checking  "
            ::= { hwIfEtherStatEntry 16 }

        
        hwIfEtherStatInOverRunPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets whose queue overflow "
            ::= { hwIfEtherStatEntry 17 }

        
        hwIfEtherStatInPausePkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved control Frames "
            ::= { hwIfEtherStatEntry 18 }

        
        hwIfEtherStatOutJumboPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sended Packets whose size over 1518 bytes "
            ::= { hwIfEtherStatEntry 19 }

        
        hwIfEtherStatOutOverflowPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of Packets whitch happen FIFO overflow error"
            ::= { hwIfEtherStatEntry 20 }

        
        hwIfEtherStatOutUnderRunPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of Packets whitch happen FIFO empty"
            ::= { hwIfEtherStatEntry 21 }

        
        hwIfEtherStatOutPausePkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sended control Frames  "
            ::= { hwIfEtherStatEntry 22 }

        
        hwIfEthIfStatReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                reset(1),
                ready(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                " Reset the Statistic information Counter "
            ::= { hwIfEtherStatEntry 23 }
         
                      
          hwIfEtherStatInDropEventPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets discarded for GBP full or back pressure discard "
            ::= { hwIfEtherStatEntry 24 }

 
          hwIfEtherStatInAlignmentPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets which have frame alignment error "
            ::= { hwIfEtherStatEntry 25 }


         hwIfEtherStatInSymbolPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets which have unknown symbols "
            ::= { hwIfEtherStatEntry 26 }


         hwIfEtherStatInIgnoredPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved MAC control frames which have unknown opecode "
            ::= { hwIfEtherStatEntry 27 }


         hwIfEtherStatInFramePkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved frames whose actual length differs with 802.3 "
            ::= { hwIfEtherStatEntry 28 }
         

         hwIfEtherStatOutCollisionPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sended collision Frames(only happen in the 10/100M port with half duplex mode) "
            ::= { hwIfEtherStatEntry 29 }
         

         hwIfEtherStatOutDeferredPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sended deferred but not collision Frames(only happen in the 10/100M port) "
            ::= { hwIfEtherStatEntry 30 }
         

         hwIfEtherStatOutLateCollisionPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sended deferred and collision Frames(only happen in the 10/100M port) "
            ::= { hwIfEtherStatEntry 31 }   
         

         hwIfEtherStatOutExcessiveCollisionPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sended failure Frames whose collision more than 16(only happen in the 10/100M port) "
            ::= { hwIfEtherStatEntry 32 }
         
         
         hwIfEtherStatOutBufferPurgationPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sended Frames which is purged from the buffer because of long time "
            ::= { hwIfEtherStatEntry 33 }       
      

hwIfSdhStatTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIfSdhStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " Sdh/sonet Interface Statistic Table "
            ::= { hwIfStatistics 2 }

        
        hwIfSdhStatEntry OBJECT-TYPE
            SYNTAX HwIfSdhStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " Entry of Sdh/Sonet Interface Statistic Table "
            INDEX { hwIfSdhStatIfIndex }
            ::= { hwIfSdhStatTable 1 }

        
        HwIfSdhStatEntry ::=
            SEQUENCE { 
                hwIfSdhStatIfIndex
                    InterfaceIndex,
                hwIfSdhStatInCRCPkts
                    Counter64,
                hwIfSdhStatInShortPkts
                    Counter64,
                hwIfSdhStatInLongPkts
                    Counter64,
                hwIfSdhStatOutOverRunPkts
                    Counter64,
                hwIfSdhStatOutUnderRunPkts
                    Counter64,
                hwIfSdhIfStatReset
                    INTEGER
             }

        hwIfSdhStatIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " The index of sdh/sonet interface "
            ::= { hwIfSdhStatEntry 1 }
            
        hwIfSdhStatInCRCPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets which have CRC checking errors "
            ::= { hwIfSdhStatEntry 2 } 
            
        hwIfSdhStatInShortPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets whose length is under minimal length "
            ::= { hwIfSdhStatEntry 3 }
            
        hwIfSdhStatInLongPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved Packets whose length is over maximum length "
            ::= { hwIfSdhStatEntry 4 }
            
        hwIfSdhStatOutOverRunPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sent Packets whose queue overflow "
            ::= { hwIfSdhStatEntry 5 }
            
        hwIfSdhStatOutUnderRunPkts OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of sent Packets whose queue underflow "
            ::= { hwIfSdhStatEntry 6 }            

        hwIfSdhIfStatReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                reset(1),
                ready(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                " Reset the Statistic information Counter "
            ::= { hwIfSdhStatEntry 7 }
 

        hwIfAtmStatTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIfAtmStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " Atm Interface Statistic Table "
            ::= { hwIfStatistics 3 }

        
        hwIfAtmStatEntry OBJECT-TYPE
            SYNTAX HwIfAtmStatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " Entry of Atm Interface Statistic Table "
            INDEX { hwIfAtmStatIfIndex }
            ::= { hwIfAtmStatTable 1 }

        
        HwIfAtmStatEntry ::=
            SEQUENCE { 
                hwIfAtmStatIfIndex
                    InterfaceIndex,
                hwIfAtmStatInGoodCells
                    Counter64,
                hwIfAtmStatInIdleCells
                    Counter64,
                hwIfAtmStatInCorrectedCells
                    Counter64,
                hwIfAtmStatInUncorrectedCells
                    Counter64,
                hwIfAtmStatOutGoodCells
                    Counter64,
                hwIfAtmStatOutIdleCells
                    Counter64,
                hwIfAtmIfStatReset
                    INTEGER
             }

        hwIfAtmStatIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " The index of atm interface "
            ::= { hwIfAtmStatEntry 1 }
            
        hwIfAtmStatInGoodCells OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of good cells recieved "
            ::= { hwIfAtmStatEntry 2 } 
            
        hwIfAtmStatInIdleCells OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of idle cells recieved "
            ::= { hwIfAtmStatEntry 3 }             
            
        hwIfAtmStatInCorrectedCells OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved cells whitch have been corrected. "
            ::= { hwIfAtmStatEntry 4 }
            
        hwIfAtmStatInUncorrectedCells OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of recieved cells whitch can not be corrected. "
            ::= { hwIfAtmStatEntry 5 }
            
        hwIfAtmStatOutGoodCells OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of good cells sent "
            ::= { hwIfAtmStatEntry 6 } 
            
        hwIfAtmStatOutIdleCells OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                " The number of idle cells sent "
            ::= { hwIfAtmStatEntry 7 }                                              

        hwIfAtmIfStatReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                reset(1),
                ready(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                " Reset the Statistic information Counter "
            ::= { hwIfAtmStatEntry 8 }            

    hwIfMonitorObject OBJECT IDENTIFIER ::= { hwIFExtObjects 7 }
    
    hwIfMonitorThresholdTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwIfMonitorThresholdEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Alarm monitor table "
        ::= { hwIfMonitorObject 1 }
    hwIfMonitorThresholdEntry OBJECT-TYPE  
        SYNTAX  HwIfMonitorThresholdEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             " Entry of alarm monitor table "
        INDEX { hwIfMonitorIndex }
        ::= { hwIfMonitorThresholdTable 1 }
    
    HwIfMonitorThresholdEntry::=
        SEQUENCE { 
            hwIfMonitorIndex
                InterfaceIndex,
                        hwIfMonitorCrcErrorStatistics
                                 Counter64,
                        hwIfMonitorCrcErrorThreshold
                                 Integer32,
                        hwIfMonitorCrcErrorInterval
                                 Integer32,
                        hwIfMonitorSdhErrorStatistics
                                 Counter64,
                        hwIfMonitorSdhErrorThreshold
                                 Integer32,
                        hwIfMonitorSdhErrorInterval
                                 Integer32,
                        hwIfMonitorInputRatePercentage
                                 Integer32,
                        hwIfMonitorInputRateThreshold
                                 Integer32,
                        hwIfMonitorOutputRatePercentage
                                 Integer32,
                        hwIfMonitorOutputRateThreshold
                                 Integer32,
                        hwIfMonitorPauseFrameStatistics
                                 Counter64,
                        hwIfMonitorPauseFrameThreshold
                                 Integer32,
                        hwIfMonitorPauseFrameInterval
                                 Integer32,
                        hwIfMonitorDelayValue
                                 Integer32, 
                        hwIfMonitorDelayThreshold
                                 Integer32, 
                        hwIfMonitorJitterValue
                                 Integer32, 
                        hwIfMonitorJitterThreshold
                                 Integer32,
                        hwIfMonitorName
                                 DisplayString,
                        hwIfMonitorSdhB1ErrorStatistics
                                 Counter64,
                        hwIfMonitorSdhB1ErrorThreshold
                                 Integer32,
                        hwIfMonitorSdhB1ErrorInterval
                                 Integer32,
                        hwIfMonitorSdhB2ErrorStatistics
                                 Counter64,
                        hwIfMonitorSdhB2ErrorThreshold
                                 Integer32,
                        hwIfMonitorSdhB2ErrorInterval
                                 Integer32,
                        hwIfMonitorSymbolErrorStatistics
                                 Counter64,
                        hwIfMonitorSymbolErrorThreshold
                                 Integer32,
                        hwIfMonitorSymbolErrorInterval
                                 Integer32,
                        hwIfMonitorBadBytesErrorStatistics
                                 Counter64,
                        hwIfMonitorBadBytesErrorThreshold
                                 Integer32,
                        hwIfMonitorBadBytesErrorInterval
                                 Integer32
                }

hwIfMonitorIndex OBJECT-TYPE
        SYNTAX InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " Index of alarm monitor table "
        ::= { hwIfMonitorThresholdEntry 1 }

hwIfMonitorCrcErrorStatistics OBJECT-TYPE
        SYNTAX Counter64 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Crc error statistics value "
        ::= { hwIfMonitorThresholdEntry 2 }

    hwIfMonitorCrcErrorThreshold OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Crc error alarm threshold,default value is 3 and 0 is an invalid value "
        ::= { hwIfMonitorThresholdEntry 3 }

    hwIfMonitorCrcErrorInterval OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Crc error alarm interval time(unit is second),default value is 10s and 0 is an invalid value "
        ::= { hwIfMonitorThresholdEntry 4 }
        
hwIfMonitorSdhErrorStatistics OBJECT-TYPE
        SYNTAX Counter64 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Sdh error statistics value only for B3"
             ::= { hwIfMonitorThresholdEntry 5 }

    hwIfMonitorSdhErrorThreshold OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Sdh error alarm threshold,only for B3,default value is 3 and 0 is an invalid value "  
        ::= { hwIfMonitorThresholdEntry 6 }

    hwIfMonitorSdhErrorInterval OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Sdh error alarm interval time(unit is second),only for B3,default value is 10s and 0 is an invalid value "
        ::= { hwIfMonitorThresholdEntry 7 }
    
hwIfMonitorInputRatePercentage OBJECT-TYPE
        SYNTAX Integer32 (0..100) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Input rate percentage value "
        ::= { hwIfMonitorThresholdEntry 8 }

hwIfMonitorInputRateThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Input rate alarm threshold,default value is 100 "
        ::= { hwIfMonitorThresholdEntry 9 }
   
hwIfMonitorOutputRatePercentage OBJECT-TYPE
        SYNTAX Integer32 (0..100) 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Output rate percentage value "
        ::= { hwIfMonitorThresholdEntry 10 }

 hwIfMonitorOutputRateThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Output rate alarm threshold,default value is 100 "
        ::= { hwIfMonitorThresholdEntry 11 }   
hwIfMonitorPauseFrameStatistics OBJECT-TYPE
        SYNTAX Counter64 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Pause frame statistics value "
             ::= { hwIfMonitorThresholdEntry 12 }  
             
hwIfMonitorPauseFrameThreshold OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Pause frame alarm threshold,and 0 is an invalid value "
        ::= { hwIfMonitorThresholdEntry 13 }
hwIfMonitorPauseFrameInterval OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Pause frame alarm interval time(unit is second),and 0 is an invalid value "
        ::= { hwIfMonitorThresholdEntry 14 }  

hwIfMonitorDelayValue OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Delay value "
        ::= { hwIfMonitorThresholdEntry 15 }
           
hwIfMonitorDelayThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Delay alarm threshold "
        ::= { hwIfMonitorThresholdEntry 16 }  
        
hwIfMonitorJitterValue OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Jitter value "
        ::= { hwIfMonitorThresholdEntry 17 }
           
hwIfMonitorJitterThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Jitter alarm threshold "
        ::= { hwIfMonitorThresholdEntry 18 }

 hwIfMonitorName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Interface's name of alarm monitor table "
        ::= { hwIfMonitorThresholdEntry 19 }   
    
    hwIfMonitorSdhB1ErrorStatistics OBJECT-TYPE
        SYNTAX Counter64 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Sdh B1 error statistics value"
             ::= { hwIfMonitorThresholdEntry 20 }

    hwIfMonitorSdhB1ErrorThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Sdh B1 error alarm threshold,default value is 3"  
        ::= { hwIfMonitorThresholdEntry 21 }

    hwIfMonitorSdhB1ErrorInterval OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Sdh B1 error alarm interval time(unit is second),default value is 10s"
        ::= { hwIfMonitorThresholdEntry 22 }     
        
    hwIfMonitorSdhB2ErrorStatistics OBJECT-TYPE
        SYNTAX Counter64 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Sdh B2 error statistics value"
             ::= { hwIfMonitorThresholdEntry 23 }

    hwIfMonitorSdhB2ErrorThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Sdh error B2 alarm threshold,default value is 3"  
        ::= { hwIfMonitorThresholdEntry 24 }

    hwIfMonitorSdhB2ErrorInterval OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Sdh B2 error alarm interval time(unit is second),default value is 10s"
        ::= { hwIfMonitorThresholdEntry 25 }

    hwIfMonitorSymbolErrorStatistics OBJECT-TYPE
        SYNTAX Counter64 
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " Symbol error statistics value "
        ::= { hwIfMonitorThresholdEntry 26 }

    hwIfMonitorSymbolErrorThreshold OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Symbol error alarm threshold,default value is 3 "
        ::= { hwIfMonitorThresholdEntry 27 }

    hwIfMonitorSymbolErrorInterval OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Symbol error alarm interval time(unit is second),default value is 10s"
        ::= { hwIfMonitorThresholdEntry 28 }
                
-- 1.3.6.1.4.1.2011.5.25.41.1.7.1.1.40
hwIfMonitorBadBytesErrorStatistics OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    ::= { hwIfMonitorThresholdEntry 40 }


-- 1.3.6.1.4.1.2011.5.25.41.1.7.1.1.41
hwIfMonitorBadBytesErrorThreshold OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Description."
    ::= { hwIfMonitorThresholdEntry 41 }


-- 1.3.6.1.4.1.2011.5.25.41.1.7.1.1.42
hwIfMonitorBadBytesErrorInterval OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Description."
    ::= { hwIfMonitorThresholdEntry 42 }


hwIfMonitorGeneral OBJECT IDENTIFIER ::= { hwIFExtObjects 8 }
    
hwIfMonitorCrcEnabledStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Enalbe or disable the crc error monitor, and the default value is disable."
        ::= { hwIfMonitorGeneral 1 }
        
hwIfMonitorSdhEnabledStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Enalbe or disable the sdh error monitor, and the default value is disable."
        ::= { hwIfMonitorGeneral 2 }
        
hwIfMonitorInputRateEnabledStatus  OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Enalbe or disable the input rate monitor, and the default value is disable."
        ::= { hwIfMonitorGeneral 3}
        
hwIfMonitorOutputRateEnabledStatus  OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Enalbe or disable the output rate monitor, and the default value is disable."
        ::= { hwIfMonitorGeneral 4 }

hwIfMonitorHalfDuplexEnabledStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Enalbe or disable the half duplex monitor, and the default value is disable."
        ::= { hwIfMonitorGeneral 5}
        
hwIfMonitorPauseRisingEnabledStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Enalbe or disable the pause frame rising monitor, and the default value is disable."
        ::= { hwIfMonitorGeneral 6 } 
        
hwIfMonitorPauseContinuingEnabledStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Enalbe or disable the pause frame continuing monitor, and the default value is disable."
        ::= { hwIfMonitorGeneral 7 }
        

-- 1.3.6.1.4.1.2011.5.25.41.1.8.8
hwifMonitorBadBytesEnabledStatus OBJECT-TYPE
    SYNTAX EnabledStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Description."
    ::= { hwIfMonitorGeneral 8 }


hwAdminVrrpMemberIf OBJECT IDENTIFIER ::= { hwIFExtObjects 9 }    

    hwIfFlowChangeTime OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS  accessible-for-notify
        STATUS  obsolete
        DESCRIPTION
                "The time indicates when the interface's flow status changes."
        ::= { hwAdminVrrpMemberIf 1 }
        
        
   hwAdminVrrpMemberIfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwAdminVrrpMemberIfEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION 
        "The interface bound to VRRP table."
        ::= { hwAdminVrrpMemberIf  2 }
        
    hwAdminVrrpMemberIfEntry  OBJECT-TYPE
        SYNTAX HwAdminVrrpMemberIfEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION 
               "Entries of the interface bound to VRRP table."
        INDEX{ hwAdminVrrpMemberIfIndex }
        ::= { hwAdminVrrpMemberIfTable 1}

    HwAdminVrrpMemberIfEntry  ::=
    SEQUENCE {
        hwAdminVrrpMemberIfIndex
                        InterfaceIndex,
        hwAdminVrrpVrid
                Integer32,
        hwAdminVrrpIfIndex
                InterfaceIndex,
        hwAdminVrrpMemberIfFlowStatus 
            INTEGER,                                
        hwAdminVrrpMemberIfRowStatus     
                        RowStatus          
        }

    hwAdminVrrpMemberIfIndex  OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION 
            "The number of the interface."
        ::= { hwAdminVrrpMemberIfEntry 1 }    

    hwAdminVrrpVrid  OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-create
        STATUS obsolete
        DESCRIPTION 
            "The administrator VRRP vrid."
        ::= { hwAdminVrrpMemberIfEntry 2 }

    hwAdminVrrpIfIndex  OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS read-create
        STATUS obsolete
        DESCRIPTION 
            "The administrator VRRP's configure interface index."
        ::= { hwAdminVrrpMemberIfEntry 3 }

    hwAdminVrrpMemberIfFlowStatus OBJECT-TYPE
        SYNTAX INTEGER
        {
          up(1),
          down(2)
        }       
        MAX-ACCESS read-only
        STATUS obsolete
        DESCRIPTION 
       " Current flow status of interface.
           1:up
           2:down"
        ::= { hwAdminVrrpMemberIfEntry 4 }         
                        
    hwAdminVrrpMemberIfRowStatus  OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS obsolete
        DESCRIPTION 
        "Current operation status of the row."
        ::= { hwAdminVrrpMemberIfEntry 5 }
        
    hwIfFluxLimit OBJECT IDENTIFIER ::= { hwIFExtObjects 10 }
    
    hwIfFluxLimitTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwIfFluxLimitEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Flux limit table "
        ::= { hwIfFluxLimit  1 }

    hwIfFluxLimitEntry  OBJECT-TYPE  
        SYNTAX  HwIfFluxLimitEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             " Entry of flux limit table "
        INDEX   { hwIfFluxIfIndex,hwIfFluxVlanId }
        ::= { hwIfFluxLimitTable 1}
    
    HwIfFluxLimitEntry ::=
        SEQUENCE { 
            hwIfFluxIfIndex
                InterfaceIndex,
            hwIfFluxVlanId
                VlanIdOrNone,
            hwIfFluxDirection
                HWDirectionType,
            hwIfFluxLimitType
                INTEGER,
            hwIfFluxCir
                Integer32,
            hwIfFluxCbs
                Integer32,
            hwIfFluxRowStatus
                RowStatus
         }

    hwIfFluxIfIndex OBJECT-TYPE
        SYNTAX InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interface Index, same as ifIndex."
        ::= { hwIfFluxLimitEntry 1 }

    hwIfFluxVlanId OBJECT-TYPE
        SYNTAX VlanIdOrNone
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Vlan ID.
            0 is the default value"
        ::= { hwIfFluxLimitEntry 2 }
        
    hwIfFluxDirection OBJECT-TYPE
        SYNTAX HWDirectionType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Limit direction:
            inbound (1)
            outbound (2)"
        ::= { hwIfFluxLimitEntry 3 }
        
    hwIfFluxLimitType OBJECT-TYPE
        SYNTAX INTEGER 
        {
          broadcastSuppression(1),
          multicastSuppression(2),
          unknownUnicastSuppression(3)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Flux limit type: broadcastSuppression(1),multicastSuppression(2),unknownUnicastSuppression(3)."
        ::= { hwIfFluxLimitEntry 4 }

    hwIfFluxCir OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Committed Information Rate. Unit: kbps.
            software QoS: 8..155000
            hardware QoS: 100..10000000"
        ::= { hwIfFluxLimitEntry 5 }

    
    hwIfFluxCbs OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Committed Burst Size. Unit: byte
            software QoS: 1875..19375000 
            hardware QoS: 64..33554432"
        ::= { hwIfFluxLimitEntry 6 }

 
    hwIfFluxRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "RowStatus. Three actions are used: active,
            createAndGo, destroy"
        ::= { hwIfFluxLimitEntry 7 }
        
        
        hwIfDiffServ OBJECT IDENTIFIER ::= { hwIFExtObjects 11 }
    
     hwIfDiffServTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HwIfDiffServEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "The table describes the different service mode of interfaces."
        ::= { hwIfDiffServ  1}


     hwIfDiffServEntry OBJECT-TYPE
        SYNTAX HwIfDiffServEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "Interface different service mode attribute configuration."
        INDEX   { hwIfDiffServIndex } 
        ::= {hwIfDiffServTable 1}

     HwIfDiffServEntry    ::=
        SEQUENCE { 
            hwIfDiffServIndex
                     InterfaceIndex,
            hwIfDiffServMode
                     INTEGER,
            hwIfDiffServServiceClass
                     INTEGER,
            hwIfDiffServColor
                     INTEGER
                 }
      hwIfDiffServIndex    OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The index of L2 interface. "
        ::= { hwIfDiffServEntry 1 }   
      
      hwIfDiffServMode OBJECT-TYPE
         SYNTAX  INTEGER
        {
                pipe(1),
                uniform(2),
                shortpipe(3)
        }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
                "Different service mode of the interface binding to a 
                 VLL, default is uniform."
        ::= { hwIfDiffServEntry 2 }
    
      hwIfDiffServServiceClass OBJECT-TYPE
         SYNTAX INTEGER {
                                   default(0),
                                   be(1),
                                af1(2),
                                af2(3),
                                af3(4),
                                af4(5),
                                ef(6),
                                cs6(7),
                                cs7(8)
                        }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
                "PHB in the ingress PE, the value must be 
                 be,af1,af2,af3,af4,ef,cs6,cs7."
        ::= { hwIfDiffServEntry 3 }
    
      hwIfDiffServColor OBJECT-TYPE
         SYNTAX    INTEGER
            {
                default(0),
                green(1),
                yellow(2), 
                red(3)
            }
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
                "Remarked color of packet in the ingress 
                 PE, the value must be green,yellow,red."
        ::= { hwIfDiffServEntry 4 }
        
-- ===========================================================================
--  ifname 4K VRF
-- ============================================================================ 
        hwIfQuery OBJECT IDENTIFIER ::= { hwIFExtObjects 12 }
         
        hwIfQueryTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwIfQueryEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Interface name table of private MIB."
            ::= { hwIfQuery 1 }

        
        hwIfQueryEntry OBJECT-TYPE
            SYNTAX HwIfQueryEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entries of private interface name table."
            INDEX { hwIfName }
            ::= { hwIfQueryTable 1 }

        
        HwIfQueryEntry ::=
            SEQUENCE {
                hwIfName
                    OCTET STRING,
                hwIfIndex
                    InterfaceIndex
             }
             
    hwIfName OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE (1..47))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "The name of the interface.The value of this object must
            be the interface name assigned by the local device."
    ::= { hwIfQueryEntry 1 }
                    
        hwIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "The index of the interface. An index uniquely identifies 
               an interface."
            ::= { hwIfQueryEntry 2 }
     
 --  ----------------------------------------------------------------------------
-- Logic interface attribute Group
-- ----------------------------------------------------------------------------
        hwLogicIfAttrib OBJECT IDENTIFIER ::= { hwIFExtObjects 13 }

        
       hwLogicIfTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwLogicIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface table."
            ::= { hwLogicIfAttrib 1 }

        
        hwLogicIfEntry OBJECT-TYPE
            SYNTAX HwLogicIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface table."
            INDEX { hwLogicIfIndex }
            ::= { hwLogicIfTable 1 }

        
        HwLogicIfEntry ::=
            SEQUENCE { 
                hwLogicIfIndex
                    InterfaceIndexOrZero,
                hwLogicIfMainIndex
                    InterfaceIndexOrZero,
                hwLogicIfType
                    INTEGER,
                hwLogicIfName
                    DisplayString, 
                hwLogicIfParaOne 
                    INTEGER ,
                hwLogicIfRowStatus
                    RowStatus
             }

        hwLogicIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndexOrZero
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Indicates the interface index. The interface index to be created must be 0. Then the system automatically allocates an interface index."
            ::= { hwLogicIfEntry 1 }

        
        hwLogicIfMainIndex OBJECT-TYPE
            SYNTAX InterfaceIndexOrZero
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the interface index of the main interface to which the sub-interface belongs. For other interfaces, the interface index is 0."
            ::= { hwLogicIfEntry 11 }

        
        hwLogicIfType OBJECT-TYPE
            SYNTAX INTEGER
                {
                ve(1),
                loopback(2),
                vlanif(3),
                subVe(4),
                subEthTrunk(5),
                subEthernet(6),
                subAtm(7),
                imaGroup(8),
                subImaGroup(9),
                subSerial(10),
                tunnel(11),
                mpGroup(13),
                bridgeIf(14),
                subAtmTrunk(15),
                dslGroup(16),
                wlanEss(17),
                stackPort(18)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the interface type."
            ::= { hwLogicIfEntry 12 }         

        
        hwLogicIfName OBJECT-TYPE
            SYNTAX DisplayString (SIZE(1..64))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the interface name. The interface name must be a name without blank spaces and Tab characters."
            ::= { hwLogicIfEntry 13 }  
              
            
        hwLogicIfParaOne OBJECT-TYPE
            SYNTAX INTEGER  
                {
                p2p(1),
                p2mp(2),
                none(255)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the extended attribute of the logical interface. The extended attribute takes effect only on the ATM sub-interface. The default extended attribute is P2MP. For sub-interfaces of other types, none is returned after the Get operation."
            ::= { hwLogicIfEntry 14 }


        
        hwLogicIfRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the status of the row."
            ::= { hwLogicIfEntry 51 }       
        
        
  --  ----------------------------------------------------------------------------
-- Logic interface help attribute Group
-- ----------------------------------------------------------------------------
       
        hwLogicIfHelpTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwLogicIfHelpEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface help table."
            ::= { hwLogicIfAttrib 2 }

        
        hwLogicIfHelpEntry OBJECT-TYPE
            SYNTAX HwLogicIfHelpEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface help table."
            INDEX { hwLogicIfhelpType }
            ::= { hwLogicIfHelpTable 1 }

        
        HwLogicIfHelpEntry ::=
            SEQUENCE { 
                hwLogicIfhelpType
                    INTEGER,
                hwLogicIfChassisNumber
                    OCTET STRING,
                hwLogicIfSlotNumber
                    OCTET STRING,
                hwLogicIfCardNumber
                    OCTET STRING, 
                hwLogicIfMin 
                    Integer32,
                hwLogicIfMax
                    Integer32,   
                hwLogicIfTotal
                    Integer32
             }

        hwLogicIfhelpType OBJECT-TYPE
            SYNTAX INTEGER
               {
                ve(1),
                ima-Group(8),
                tunnel(11),
                mp-group(13),
                dslGroup(16)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the types of logical interfaces that can be queried."
            ::= { hwLogicIfHelpEntry 1 }

        
        hwLogicIfChassisNumber OBJECT-TYPE
            SYNTAX  OCTET STRING(SIZE (1..2))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the ID of the chassis that supports the creation of the specified logical interface."
            ::= { hwLogicIfHelpEntry 2 }

        
        hwLogicIfSlotNumber OBJECT-TYPE
            SYNTAX OCTET STRING(SIZE (1..32))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the ID of the slot that supports the creation of the specified logical interface."
            ::= { hwLogicIfHelpEntry 3 }      

        
        hwLogicIfCardNumber OBJECT-TYPE
            SYNTAX OCTET STRING(SIZE (1..512))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the number of the card that supports the creation of the specified logical interface."
            ::= { hwLogicIfHelpEntry 4 }  
              
            
        hwLogicIfMin OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the minimum port number of the specified logical interface."
            ::= { hwLogicIfHelpEntry 5 }

        hwLogicIfMax OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the maximum port number of the specified logical interface."
            ::= { hwLogicIfHelpEntry 6 }

        hwLogicIfTotal OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the maximum number of the specified logical interface."
            ::= { hwLogicIfHelpEntry 7 }   
    
--  ----------------------------------------------------------------------------
-- Logic interface dynamic help attribute Group
-- ----------------------------------------------------------------------------
       
        hwLogicIfDynamicHelpTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwLogicIfDynamicHelpEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface dynamic help table."
            ::= { hwLogicIfAttrib 3 }

        
        hwLogicIfDynamicHelpEntry OBJECT-TYPE
            SYNTAX HwLogicIfDynamicHelpEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface dynamic help table."
            INDEX { hwLogicDynamicIfhelpType,
                    hwLogicDynamicIfChassisNumber,
                    hwLogicDynamicIfSlotNumber,
                    hwLogicDynamicIfCardNumber
                  }
            ::= { hwLogicIfDynamicHelpTable 1 }

        
        HwLogicIfDynamicHelpEntry ::=
            SEQUENCE { 
                hwLogicDynamicIfhelpType
                    INTEGER,
                hwLogicDynamicIfChassisNumber
                    Integer32,
                hwLogicDynamicIfSlotNumber
                    Integer32,
                hwLogicDynamicIfCardNumber
                    Integer32, 
                hwLogicDynamicIfMin 
                    Integer32,
                hwLogicDynamicIfMax
                    Integer32,   
                hwLogicDynamicIfTotal
                    Integer32
             }

        hwLogicDynamicIfhelpType OBJECT-TYPE
            SYNTAX INTEGER
               {
                ve(1),
                ima-Group(8),
                tunnel(11),
                mp-group(13),
                dslGroup(16)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the types of logical interfaces that can be queried."
            ::= { hwLogicIfDynamicHelpEntry 1 }

        
        hwLogicDynamicIfChassisNumber OBJECT-TYPE
            SYNTAX  Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the ID of the chassis that that can be queried."
            ::= { hwLogicIfDynamicHelpEntry 2 }

        
        hwLogicDynamicIfSlotNumber OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the ID of the slot that can be queried."
            ::= { hwLogicIfDynamicHelpEntry 3 }      

        
        hwLogicDynamicIfCardNumber OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the ID of the card that can be queried."
            ::= { hwLogicIfDynamicHelpEntry 4 }  
              
            
        hwLogicDynamicIfMin OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the minimum port number of the specified logical interface."
            ::= { hwLogicIfDynamicHelpEntry 5 }

        hwLogicDynamicIfMax OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the maximum port number of the specified logical interface."
            ::= { hwLogicIfDynamicHelpEntry 6 }

        hwLogicDynamicIfTotal OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the maximum number of the specified logical interface."
            ::= { hwLogicIfDynamicHelpEntry 7 }   
      


-- ============================================================================
-- cpu packet statistic table
-- ============================================================================

        hwCppsObjects OBJECT IDENTIFIER ::= { hwIFExtObjects 14 }      


        hwCppsGlobalEnable  OBJECT-TYPE
             SYNTAX  EnabledStatus 
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION
                 "Whether statistic function is enabled globally, and the default value is disable."
             ::= { hwCppsObjects 1 }
             
       
-- ======================= Cpps interface table =========================              
        hwCppsInterfaceTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HwCppsInterfaceEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "CPU packet and byte statistic interface configuration table."
            ::= { hwCppsObjects  2 }


        hwCppsInterfaceEntry  OBJECT-TYPE
            SYNTAX HwCppsInterfaceEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "The entry of hwCppsInterfaceTable."
            INDEX   { hwCppsInterfaceIndex }
            ::= { hwCppsInterfaceTable 1}

    
        HwCppsInterfaceEntry  ::=
        SEQUENCE {
              hwCppsInterfaceIndex    InterfaceIndex  ,
              hwCppsPortPvcEnable   EnabledStatus   ,
              hwCppsPortVlanEnable   EnabledStatus   
              }


        hwCppsInterfaceIndex  OBJECT-TYPE
             SYNTAX    InterfaceIndex 
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION "Index number of the interface."
             ::= { hwCppsInterfaceEntry 1 }


        hwCppsPortPvcEnable  OBJECT-TYPE
             SYNTAX  EnabledStatus 
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION "Whether statistic function is enabled on PVC."
             DEFVAL      { disable }
             ::= { hwCppsInterfaceEntry 2 }


        hwCppsPortVlanEnable  OBJECT-TYPE
             SYNTAX  EnabledStatus 
             MAX-ACCESS read-write
             STATUS current
             DESCRIPTION "Whether statistic function is enabled on VLAN."
             DEFVAL      { disable }
             ::= { hwCppsInterfaceEntry 3 }


-- ======================= Cpps interface statistics table =========================              
        hwCppsIfStatisticsTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HwCppsIfStatisticsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "CPU packet and byte statistic interface table."
            ::= { hwCppsObjects  3 }


        hwCppsIfStatisticsEntry  OBJECT-TYPE
            SYNTAX HwCppsIfStatisticsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "The entry of hwCppsIfStatisticsTable."
            INDEX   { hwCppsIfStatisticsIndex }
            ::= {  hwCppsIfStatisticsTable 1}

       
       HwCppsIfStatisticsEntry ::=
        SEQUENCE {
              hwCppsIfStatisticsIndex   InterfaceIndex  ,
              hwCppsInterfacePktStatisic  Counter64   ,
              hwCppsInterfaceByteStatisic  Counter64   ,
              hwCppsResetInterfaceStatisic  INTEGER
              }


       hwCppsIfStatisticsIndex   OBJECT-TYPE
             SYNTAX    InterfaceIndex 
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION "Index number of the interface."
             ::= { hwCppsIfStatisticsEntry  1 }


       hwCppsInterfacePktStatisic OBJECT-TYPE
            SYNTAX  Counter64 
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   "Packet statistic information of the interface sent to CPU."
            ::= { hwCppsIfStatisticsEntry  2 }


      hwCppsInterfaceByteStatisic OBJECT-TYPE
            SYNTAX  Counter64 
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   "Byte statistic information of the interface sent to CPU."
            ::= { hwCppsIfStatisticsEntry  3 } 


      hwCppsResetInterfaceStatisic OBJECT-TYPE
            SYNTAX  INTEGER{
            reset(1),
            unreset(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION   "Whether to reset statistics."
            DEFVAL      { 2 }
            ::= { hwCppsIfStatisticsEntry  4 }


-- ======================= Cpps ATM+pvc table ========================= 
        hwCppsAtmPvcTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HwCppsAtmPvcEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "CPU packet and byte statistic ATM PVC table."
            ::= { hwCppsObjects  4 }


        hwCppsAtmPvcEntry  OBJECT-TYPE
            SYNTAX HwCppsAtmPvcEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "The entry of hwCppsAtmPvcTable."
            INDEX   { hwCppsAtmIfIndex, hwCppsAtmVpi, hwCppsAtmVci }
            ::= { hwCppsAtmPvcTable 1}


        HwCppsAtmPvcEntry  ::=
            SEQUENCE {                 
            hwCppsAtmIfIndex   InterfaceIndex  ,
            hwCppsAtmVpi    AtmVpIdentifier   ,
            hwCppsAtmVci  AtmVcIdentifier   ,
            hwCppsAtmPvcPktStatisic  Counter64   ,
            hwCppsAtmPvcByteStatisic  Counter64   ,
            hwCppsResetAtmPvcStatisic  INTEGER
            }


       hwCppsAtmIfIndex  OBJECT-TYPE
             SYNTAX    InterfaceIndex 
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION "Index number of the interface."
             ::= { hwCppsAtmPvcEntry 1 }


       hwCppsAtmVpi  OBJECT-TYPE
             SYNTAX    AtmVpIdentifier 
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION "VPI."
             ::= { hwCppsAtmPvcEntry 2 }


       hwCppsAtmVci  OBJECT-TYPE
             SYNTAX    AtmVcIdentifier 
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION "VCI."
             ::= { hwCppsAtmPvcEntry 3 }


       hwCppsAtmPvcPktStatisic OBJECT-TYPE
            SYNTAX  Counter64 
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   "Packet statistic information of the PVC sent to CPU."
            ::= { hwCppsAtmPvcEntry 4 } 

       hwCppsAtmPvcByteStatisic OBJECT-TYPE
            SYNTAX  Counter64 
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   "Byte statistic information of the PVC sent to CPU."
            ::= { hwCppsAtmPvcEntry 5 } 


       hwCppsResetAtmPvcStatisic OBJECT-TYPE
            SYNTAX  INTEGER{
            reset(1),
            unreset(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION   "Whether to reset statistics."
            DEFVAL      { 2 }
            ::= { hwCppsAtmPvcEntry 6 }


-- ======================= Cpps port+vlan table ========================= 
        hwCppsPortVlanTable  OBJECT-TYPE
            SYNTAX SEQUENCE OF HwCppsPortVlanEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "CPU packet and byte statistic port VLAN table."
            ::= { hwCppsObjects  5 }


        hwCppsPortVlanEntry  OBJECT-TYPE
            SYNTAX HwCppsPortVlanEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "The entry of hwCppsPortVlanTable."
            INDEX   { hwCppsPortIndex, hwCppsVlanId }
            ::= { hwCppsPortVlanTable 1}


        HwCppsPortVlanEntry  ::=
            SEQUENCE {                 
            hwCppsPortIndex   InterfaceIndex  ,
            hwCppsVlanId    VlanIdOrNone   ,
            hwCppsPortVlanPktStatisic  Counter64   ,
            hwCppsPortVlanByteStatisic  Counter64   ,
            hwCppsResetPortVlanStatisic  INTEGER
            }


        hwCppsPortIndex  OBJECT-TYPE
             SYNTAX    InterfaceIndex 
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION "Index number of the interface."
             ::= { hwCppsPortVlanEntry 1 }


        hwCppsVlanId  OBJECT-TYPE
             SYNTAX    VlanIdOrNone 
             MAX-ACCESS not-accessible
             STATUS current
             DESCRIPTION "VLAN ID."
             ::= { hwCppsPortVlanEntry 2 }


        hwCppsPortVlanPktStatisic OBJECT-TYPE
            SYNTAX  Counter64 
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   "Packet statistic information of the port sent to CPU."
            ::= { hwCppsPortVlanEntry 3 } 


        hwCppsPortVlanByteStatisic OBJECT-TYPE
            SYNTAX  Counter64 
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   "Byte statistic information of the port sent to CPU."
            ::= { hwCppsPortVlanEntry 4 } 


       hwCppsResetPortVlanStatisic OBJECT-TYPE
            SYNTAX  INTEGER{
            reset(1),
            unreset(2)
            }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION   "Whether to reset statistics."
            DEFVAL      { 2 }
            ::= { hwCppsPortVlanEntry 5 }

                        
                        
 --  ----------------------------------------------------------------------------
-- PortIsolation Group
-- ----------------------------------------------------------------------------
        hwPortIsolationGroupAttrib OBJECT IDENTIFIER ::= { hwIFExtObjects 15 }

        
       hwPortIsolationGroupTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwPortIsolationGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface table."
            ::= { hwPortIsolationGroupAttrib 1 }

        
        hwPortIsolationGroupEntry OBJECT-TYPE
            SYNTAX HwPortIsolationGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Logic interface table."
            INDEX { hwPortIsolationGroupIndex }
            ::= { hwPortIsolationGroupTable 1 }

        
        HwPortIsolationGroupEntry ::=
            SEQUENCE { 
                hwPortIsolationGroupIndex
                    Integer32 (0..63),
                hwPortIsolationGroupPortList
                    PortList, 
                hwPortIsolationGroupRowStatus
                    RowStatus
             }

        hwPortIsolationGroupIndex OBJECT-TYPE
            SYNTAX Integer32 (0..63)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "ID of Port-Isolation-Group."
            ::= { hwPortIsolationGroupEntry 1 }

        
        hwPortIsolationGroupPortList OBJECT-TYPE
            SYNTAX PortList
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "PortList of Port-Isolation-Group."
            ::= { hwPortIsolationGroupEntry 2 }

                
        hwPortIsolationGroupRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Indicates the status of the row."
            ::= { hwPortIsolationGroupEntry 3 }       
        

--  ============================================================================
-- interface vtrunk attribute group
-- ============================================================================
        hwVTrunkAttr OBJECT IDENTIFIER ::= { hwIFExtObjects 16 }

        
        hwVTrunkIfTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwVTrunkIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The vtrunk table."
            ::= { hwVTrunkAttr 1 }

        
        hwVTrunkIfEntry OBJECT-TYPE
            SYNTAX HwVTrunkIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Entries of the vtrunk table."
            INDEX { hwVTrunkIfIndex }
            ::= { hwVTrunkIfTable 1 }

        
        HwVTrunkIfEntry ::=
            SEQUENCE { 
                hwVTrunkIfIndex
                    InterfaceIndex,
                hwVTrunkIfID
                    Integer32,
                hwVTrunkIfType
                    INTEGER,
                hwVTrunkIfRowStatus
                    RowStatus                
             }

        hwVTrunkIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " The IfIndex of the VTrunk interface."
            ::= { hwVTrunkIfEntry 1 }

        
        hwVTrunkIfID OBJECT-TYPE
            SYNTAX Integer32(0..511)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " The identification of the VTrunk interface.It may identify VTrunk
                and is an index of the interface."
            ::= { hwVTrunkIfEntry 2 }

        
        hwVTrunkIfType OBJECT-TYPE
            SYNTAX INTEGER
                {
                pos-Trunk(1),
                cpos-Trunk(2),
                atm-Trunk(3),
                atm-bundle(4)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " The type of the VTrunk interface includes pos-Trunk, cpos-Trunk, atm-trunk 
                and atm-bundle."
            ::= { hwVTrunkIfEntry 3 }      
        
        
        hwVTrunkIfRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                " Current operation status of the row."
            ::= { hwVTrunkIfEntry 50 }


--  ----------------------------------------------------------------------------
-- VTrunk member attribute Group
-- ----------------------------------------------------------------------------
        hwVTrunkMemAttr OBJECT IDENTIFIER ::= { hwIFExtObjects 17 }

        
        hwVTrunkMemTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwVTrunkMemEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "VTrunk member attribute information table."
            ::= { hwVTrunkMemAttr 1 }

        
        hwVTrunkMemEntry OBJECT-TYPE
            SYNTAX HwVTrunkMemEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "VTrunk member attribute information."
            INDEX { hwVTrunkMemIfIndex }
            ::= { hwVTrunkMemTable 1 }

        
        HwVTrunkMemEntry ::=
            SEQUENCE { 
                hwVTrunkMemIfIndex
                    Integer32,
                hwVTrunkIfnetIndex
                    Integer32,
                hwVTrunkValidEntry
                    INTEGER,
                hwVTrunkOperstatus
                    INTEGER,
                hwVTrunkPortActive
                    INTEGER,
                hwVTrunkRowStatus
                    RowStatus
             }

        hwVTrunkMemIfIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "VTrunk port index."
            ::= { hwVTrunkMemEntry 1 }

        hwVTrunkIfnetIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The IfnetIndex of the VTrunk interface."
            ::= { hwVTrunkMemEntry 2 }

        hwVTrunkValidEntry OBJECT-TYPE
            SYNTAX INTEGER
                {
                valid(1),
                invalid(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Valid Entries of VTrunk interface."
            ::= { hwVTrunkMemEntry 3 }

        
        hwVTrunkOperstatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                up(1),
                down(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Status of operation, indicates port status. There are vtrunk_up(1)
                and vtrunk_down(2).It expresses whether port is shutdown."
            ::= { hwVTrunkMemEntry 4 }

        
        hwVTrunkPortActive OBJECT-TYPE
            SYNTAX INTEGER
                {
                portInactive(1),
                portActive(2)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Active port of backup-access vtrunk or not
                1: portInactive
                2: portActive."
            ::= { hwVTrunkMemEntry 5 }

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

--  ----------------------------------------------------------------------------
-- SubInterfaceBackupTrunk attribute Group
-- ----------------------------------------------------------------------------
        hwMasterBackupTrunkSubinterfaceAttr OBJECT IDENTIFIER ::= { hwIFExtObjects 18 }

        
        hwMasterBackupTrunkSubinterfaceTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwMasterBackupTrunkSubinterfaceEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Master-Backup Trunk Subinterface attribute information table."
            ::= { hwMasterBackupTrunkSubinterfaceAttr 1 }

        
        hwMasterBackupTrunkSubinterfaceEntry OBJECT-TYPE
            SYNTAX HwMasterBackupTrunkSubinterfaceEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Master-Backup Trunk Subinterface attribute information."
            INDEX { hwBackupTrunkIfIndex }
            ::= { hwMasterBackupTrunkSubinterfaceTable 1 }

        
        HwMasterBackupTrunkSubinterfaceEntry ::=
            SEQUENCE { 
                hwBackupTrunkIfIndex
                    InterfaceIndex,
                hwBackupStatus
                    INTEGER,
                hwRevertiveMode
                    INTEGER,
                hwWtrTime
                    Integer32,
                hwFlushVlanId
                    VlanIdOrNone
             }

        hwBackupTrunkIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates index of master/backup trunk sub-interface."
            ::= { hwMasterBackupTrunkSubinterfaceEntry 1 }

        hwBackupStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                init(1),
                master(2),
                backup(3)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The value of this object identifies backupStatus of master/backup trunk sub-interface."
            ::= { hwMasterBackupTrunkSubinterfaceEntry 2 }

        
        hwRevertiveMode OBJECT-TYPE
            SYNTAX INTEGER
                {
                revertive(1),
                non-revertive(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The value of this object identifies revertive-mode of master/backup trunk sub-interface."
            DEFVAL { revertive }
            ::= { hwMasterBackupTrunkSubinterfaceEntry 3 }

        
        hwWtrTime OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The value of this object identifies the wait-to-restore time of master/backup trunk sub-interface."
            DEFVAL { 0 }
            ::= { hwMasterBackupTrunkSubinterfaceEntry 4 }
            
        hwFlushVlanId OBJECT-TYPE
            SYNTAX VlanIdOrNone
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "This object indicates VLAN ID carried in a FlushPDU."
            DEFVAL { 0 }
            ::= { hwMasterBackupTrunkSubinterfaceEntry 5 }
        
                         
            hwVaspPort OBJECT IDENTIFIER ::= { hwIFExtObjects 19 }
        
            
            hwVaspPortPeerMacTable OBJECT-TYPE
               SYNTAX SEQUENCE OF HwVaspPortPeerMacEntry
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                 "Vasp port peer MAC table."
               ::= { hwVaspPort 1 }

    
        hwVaspPortPeerMacEntry OBJECT-TYPE
          SYNTAX HwVaspPortPeerMacEntry
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
            "Vasp port peer MAC table entry."
          INDEX { hwVaspPortIfIndex }
          ::= { hwVaspPortPeerMacTable 1 }
    
        
        HwVaspPortPeerMacEntry ::=
          SEQUENCE { 
            hwVaspPortIfIndex
              InterfaceIndex,
            hwVaspPortName
              DisplayString,
            hwVaspPortPeerMac
              PhysAddress
           }
    
        hwVaspPortIfIndex OBJECT-TYPE
          SYNTAX InterfaceIndex
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
            "The index of interface."
          ::= { hwVaspPortPeerMacEntry 1 }
    
        
        hwVaspPortName OBJECT-TYPE
          SYNTAX DisplayString
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
            "The name of vasp port."
          ::= { hwVaspPortPeerMacEntry 2 }
    
        
        hwVaspPortPeerMac OBJECT-TYPE
          SYNTAX PhysAddress
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
            "The peer MAC of port."
          ::= { hwVaspPortPeerMacEntry 3 }
          

        hwIFExtTrapObjects OBJECT IDENTIFIER ::= { hwIFExtObjects 20 }
    
 
        hwLinkDownReason  OBJECT-TYPE
            SYNTAX      INTEGER {
                        physicalLinkDown(1),        --  interface phycial link down
                        lacpNegotiationFailed(2),   --  LACP negotiation failed
                        receiveConfReqPacket(3),    --  receive ConfReq packet
                        receiveConfAckPacket(4),    --  receive ConfAck packet
                        receiveNakPacket(5),        --  receive Nak packet
                        receiveTermPacket(6),       --  receive Term packet
                        receiveTermAckPacket(7),    --  receive TermAck packet
                        receiveCodeRejPacket(8),    --  receive CodeRej packet
                        receiveProtoRejPacket(9),   --  receive ProtoRej packet
                        chapAuthenticationFailed(10),   --  CHAP authentication failed
                        papAuthenticationFailed(11),    --  PAP authentication failed
                        keepaliveOutOfTime(12),         --  Keepalive out of time
                        pvcDown(13),                    --  PVC down
                        efmSessionFailed(14),           --  EFM session failed
                        tunnelDownOrInexist(15),        --  tunnel down or tunnel not exist
                        admindown(16),                  --  shutdown
                        protocoldown(17),               -- protocol down
                        adminup(18),                    -- undo shutdown
                        protocolup(19),                 -- protocol up
                        mainifdown(20),                 -- main interface down
                        physicalLinkIsUp(21),                   -- Interface physical link is Up
                        conditionsForActivationNotMet(22),      -- The conditions for the activation of the interface are not met
                        conditionsForActivationAreMet(23),      -- The conditions for the activation of the interface are met
                        tunnelIsUp(24),                          -- The tunnel is Up
                        interfaceIsDeleted(25),                  -- The interface is deleted
                        bfdSessionDown(26),                  -- bfd session is down
                        bfdSessionUp(27),                  -- bfd session is up  
                        efmSessionUp(28),                  -- efm session is up
                        portAlarmDown(29),                 -- port alarm down
                        dldpIsDown(30),                    -- dldp down
                        dldpIsUp(31),                      -- dldp up
                        vrrpFlowDown(32),                  -- vrrp flow down
                        vrrpFlowUp(33)                     -- vrrp flow up
                }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION
               "The reason code of link changes."
        ::= { hwIFExtTrapObjects 1 }
       
       hwMainIfName  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
               " The main interface name."
            ::= { hwIFExtTrapObjects 2 }
       
       hwCfmOverPhysicalName  OBJECT-TYPE
            SYNTAX DisplayString
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
               "The configuration of the interface board or interface card is restored."
            ::= { hwIFExtTrapObjects 3 }
        
                         
--  ============================================================================   
        hwIFExtConformance OBJECT IDENTIFIER ::= { hwIFExtMib 2 }

        
        hwIFExtGroups OBJECT IDENTIFIER ::= { hwIFExtConformance 1 }

        
--  hwIFExtTraps OBJECT IDENTIFIER ::= { hwIFExtMib 2 }
-- hwIFExtConformance OBJECT IDENTIFIER ::= { hwIFExtMib 3 }
-- hwIFExtCompliances OBJECT IDENTIFIER ::= { hwIFExtConformance 1 }
-- ============================================================================    
        hwTrunkIfGroup OBJECT-GROUP
            OBJECTS { hwIFExtPhyStatus, hwIFExtMemberOf, hwTrunkIfMax, hwTrunkNextIndex, hwTrunkIndex, hwTrunkIfID, hwTrunkIfType, 
                hwTrunkIfIndex, hwTrunkIfModel, hwTrunkIfBandWidthAffectLinkNum, hwTrunkIfMinLinkNum, hwTrunkIfRowStatus, 
                hwTrunkIfWorkingMode, hwTrunkIfWorkingState, hwTrunkIfAutoRecover, hwTrunkIfPreemptEnable, hwTrunkIfPreemptDelay, 
                hwTrunkIfTimeoutReceive, hwTrunkBandwidth, hwTrunkIfFlushSendEnable, hwTrunkIfFlushVlanId, hwTrunkIfFlushPasswd, hwTrunkIfForceSwitchEnable, 
                hwTrunkIfStatReset, hwTrunkIfLagSelectedPortStd, hwTrunkIfLagMaxActiveLinkNum, hwTrunkETrunkPriority, hwTrunkETrunkSysID,hwTrunkETrunkPriorityReset,
                hwTrunkETrunkSysIDReset,hwTrunkLocalPrefMode, hwTrunkIfTrackVrrpVrid, hwTrunkIfTrackVrrpIfIndex, hwTrunkIfTrackVrrpReset }
            STATUS current
            DESCRIPTION 
                "A collection of objects indicating information of IP address of interface,
                contain IP address, IP address mask and IP address acquiring method."
            ::= { hwIFExtGroups 1 }

        
        hwIfIpAddressGroup OBJECT-GROUP
            OBJECTS { hwIpAdEntAddr, hwIpAdEntIfIndex, hwIpAdEntNetMask, hwIpAdEntBcastAddr, hwIpAdEntReasmMaxSize, 
                hwIpAdEntAddressType, hwIfIpMethod, hwIpAdEntAddrStatus }
            STATUS current
            DESCRIPTION 
                "A collection of objects indicating attribute of the Trunk interface."
            ::= { hwIFExtGroups 2 }

        
-- hwIFExtHoldTime ,
        hwIFExtGroup OBJECT-GROUP
            OBJECTS { hwIFExtLayer, hwIFExtFrameType, hwIFExtFlowStatInterval, hwIFExtFlushReceiveEnable, hwIFExtFlushVlanId, 
hwIFExtFlushPasswd, hwTrunkSystemPriority, hwTrunkUnknownUnicastIfModel,
hwTrunkETrunkSystemPriority, hwTrunkETrunkSystemID, hwIFExtFlowStatus,
hwIFExtMtu,hwIFExtMacAddr, hwIFExtBlockPriority, hwIFExtMacShift,hwIFExtSuppressStatus}
            STATUS current
            DESCRIPTION 
                "A collection of objects indicating attribute of  interface extended."
            ::= { hwIFExtGroups 3 }

        
        hwTrunkMemGroup OBJECT-GROUP
            OBJECTS { hwTrunkMemifIndex, hwTrunkValidEntry, hwTrunkSelectStatus, hwTrunkLacpStatus, hwTrunkDeleteFlag, 
                hwTrunkOperstatus, hwTrunkIsDefaultLagRecv, hwTrunkPortWeight, hwTrunkPortStandby, hwTrunkPortMaster, 
                hwTrunkPortPriority, hwTrunkPortStatReset, hwTrunkRowStatus }
            STATUS current
            DESCRIPTION 
                "Trunk member attribute Group, now only can set hwTrunkPortWeight and hwTrunkPortStandby. hwTrunkSelectStatus and hwTrunkDeleteFlag can't be set. These attributes are for extend."
            ::= { hwIFExtGroups 4 }

        
        hwIFFlowStatGroup OBJECT-GROUP
            OBJECTS { hwIFFlowStatGlobalInterval }
            STATUS current
            DESCRIPTION 
                "A collection of objects indicating interval time of interface flow stat."
            ::= { hwIFExtGroups 5 }

    hwAdminVrrpMemberIfGroup OBJECT-GROUP
        OBJECTS {
            hwIfFlowChangeTime,
            hwAdminVrrpVrid,
            hwAdminVrrpIfIndex,
            hwAdminVrrpMemberIfFlowStatus,
            hwAdminVrrpMemberIfRowStatus          
        }
        STATUS      obsolete
        DESCRIPTION
            "A collection of objects indicating attribute of the interface track administrator VRRP."
        ::= { hwIFExtGroups 6 }  
        
        hwIfEtherStatGroup OBJECT-GROUP
            OBJECTS { hwIfEtherStatInPkts64Octets, hwIfEtherStatInPkts65to127Octets, hwIfEtherStatInPkts128to255Octets, hwIfEtherStatInPkts256to511Octets, 
                hwIfEtherStatInPkts512to1023Octets, hwIfEtherStatInPkts1024to1518Octets, 
                hwIfEtherStatInJumboPkts, hwIfEtherStatInCRCPkts, hwIfEtherStatInLongPkts, hwIfEtherStatInJabberPkts, hwIfEtherStatInFragmentPkts, 
                hwIfEtherStatInUnderSizePkts, hwIfEtherStatInOverRunPkts, hwIfEtherStatInPausePkts, hwIfEtherStatOutJumboPkts, hwIfEtherStatOutOverflowPkts, 
                hwIfEtherStatOutUnderRunPkts, hwIfEtherStatOutPausePkts, hwIfEthIfStatReset, hwIfEtherStatInDropEventPkts, hwIfEtherStatInAlignmentPkts, hwIfEtherStatInSymbolPkts,
                hwIfEtherStatInIgnoredPkts, hwIfEtherStatInFramePkts, hwIfEtherStatOutCollisionPkts, hwIfEtherStatOutDeferredPkts, hwIfEtherStatOutLateCollisionPkts,
                hwIfEtherStatOutExcessiveCollisionPkts, hwIfEtherStatOutBufferPurgationPkts }
            STATUS current
            DESCRIPTION 
                "Interface statistic Group."
            ::= { hwIFExtGroups 7 }

        
        hwIFExtCompliances OBJECT IDENTIFIER ::= { hwIFExtConformance 2 }

hwIfMonitorThresholdGroup OBJECT-GROUP
OBJECTS{
        hwIfMonitorCrcErrorStatistics   ,
        hwIfMonitorCrcErrorThreshold  ,
        hwIfMonitorCrcErrorInterval    ,
        hwIfMonitorSdhErrorStatistics   ,
        hwIfMonitorSdhErrorThreshold   ,
        hwIfMonitorSdhErrorInterval    ,
        hwIfMonitorInputRatePercentage  ,
        hwIfMonitorInputRateThreshold  ,
        hwIfMonitorOutputRatePercentage  ,
        hwIfMonitorOutputRateThreshold,
        hwIfMonitorPauseFrameStatistics,
        hwIfMonitorPauseFrameThreshold,
        hwIfMonitorPauseFrameInterval,
        hwIfMonitorDelayValue,
        hwIfMonitorDelayThreshold,
        hwIfMonitorJitterValue,
        hwIfMonitorJitterThreshold,
        hwIfMonitorSdhB1ErrorStatistics,
        hwIfMonitorSdhB1ErrorThreshold,
        hwIfMonitorSdhB1ErrorInterval,
        hwIfMonitorSdhB2ErrorStatistics,
        hwIfMonitorSdhB2ErrorThreshold,
        hwIfMonitorSdhB2ErrorInterval,
        hwIfMonitorSymbolErrorStatistics,
        hwIfMonitorSymbolErrorThreshold,
        hwIfMonitorSymbolErrorInterval,
        hwIfMonitorBadBytesErrorStatistics,
        hwIfMonitorBadBytesErrorThreshold,
        hwIfMonitorBadBytesErrorInterval 
    }
    STATUS current
    DESCRIPTION
    "Alarm Monitor Group."
    ::= { hwIFExtGroups 8 } 
hwIfMonitorGeneralGroup OBJECT-GROUP
OBJECTS{
        hwIfMonitorCrcEnabledStatus ,    
        hwIfMonitorSdhEnabledStatus ,     
        hwIfMonitorInputRateEnabledStatus ,   
        hwIfMonitorOutputRateEnabledStatus ,    
        hwIfMonitorHalfDuplexEnabledStatus,
        hwIfMonitorPauseRisingEnabledStatus,
        hwIfMonitorPauseContinuingEnabledStatus,
        hwifMonitorBadBytesEnabledStatus 
    }
    STATUS current    
    DESCRIPTION
    "Alarm Monitor Enable Group."    
    ::= { hwIFExtGroups 9 }
    
    hwIfFluxLimitGroup OBJECT-GROUP
    OBJECTS{     
        hwIfFluxDirection ,   
        hwIfFluxLimitType ,    
        hwIfFluxCir,
        hwIfFluxCbs,
        hwIfFluxRowStatus
    }
    STATUS current    
    DESCRIPTION
    "Flux limit Group."    
    ::= { hwIFExtGroups 10 } 


    hwIfDiffServGroup OBJECT-GROUP
OBJECTS{
       hwIfDiffServMode, 
    hwIfDiffServServiceClass,
    hwIfDiffServColor    
    }
    STATUS current
    DESCRIPTION
    "Interface statistic Group."
    ::= { hwIFExtGroups 11 }    

    hwIfQueryGroup OBJECT-GROUP
 OBJECTS{
           hwIfIndex
    }
    STATUS current
    DESCRIPTION
    "Interface name Group."
    ::= { hwIFExtGroups 12 }
    
    hwLogicIfAttrGroup OBJECT-GROUP
 OBJECTS{
           hwLogicIfMainIndex,
           hwLogicIfType,
           hwLogicIfName,   
           hwLogicIfParaOne,
           hwLogicIfRowStatus
    }
    STATUS current
    DESCRIPTION
    "Logic interface table Group."
    ::= { hwIFExtGroups 13 }      
    
    hwIfIpUnnumberedGroup OBJECT-GROUP
 OBJECTS{
           hwLendIfIndex,
           hwLendIpAddr,
           hwLendIpAddrNetMask,
           hwUnnumberedRowStatus
    }
    STATUS current
    DESCRIPTION
    "Logic interface table Group."
    ::= { hwIFExtGroups 14 }

    hwLinkModeChangeAutoCreateIfGroup OBJECT-GROUP  
  OBJECTS{
           hwNewIfTimeslot
    }
    STATUS current
    DESCRIPTION
    "Interface time slot Group."
    ::= { hwIFExtGroups 15 }

    hwCppsGlobalEnableGroup OBJECT-GROUP
            OBJECTS { hwCppsGlobalEnable }
            STATUS current
            DESCRIPTION 
                "A collection of objects indicating global CPU packet statistic function."
            ::= { hwIFExtGroups 16 }

    
    hwCppsInterfaceGroup OBJECT-GROUP
    OBJECTS {
        hwCppsPortPvcEnable   ,
        hwCppsPortVlanEnable   
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing interface configuration function."
    ::= { hwIFExtGroups 17 }

 
    hwCppsIfStatisticsGroup OBJECT-GROUP
    OBJECTS {
        hwCppsInterfacePktStatisic   ,
        hwCppsInterfaceByteStatisic   ,
        hwCppsResetInterfaceStatisic
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing packet and byte statistic of the interface sent to CPU."
    ::= { hwIFExtGroups 18 }


    hwCppsAtmPvcGroup OBJECT-GROUP
    OBJECTS {
        hwCppsAtmPvcPktStatisic   ,
        hwCppsAtmPvcByteStatisic   ,
        hwCppsResetAtmPvcStatisic 
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing packet and byte statistic for the pvc sent to CPU."
    ::= { hwIFExtGroups 19 }


    hwCppsPortVlanGroup OBJECT-GROUP
    OBJECTS {
        hwCppsPortVlanPktStatisic   ,
        hwCppsPortVlanByteStatisic   ,
        hwCppsResetPortVlanStatisic
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing packet and byte statistic for the port sent to CPU."
    ::= { hwIFExtGroups 20 }
    hwPortIsolationGroup OBJECT-GROUP
    OBJECTS {
        hwPortIsolationGroupPortList , 
        hwPortIsolationGroupRowStatus
    }
    STATUS      current
    DESCRIPTION
        "Port Isolation Group."
    ::= { hwIFExtGroups 21 }    
    
    
    hwVTrunkIfGroup OBJECT-GROUP
            OBJECTS { hwVTrunkIfIndex, hwVTrunkIfID, hwVTrunkIfType, hwVTrunkIfRowStatus }
            STATUS current
            DESCRIPTION 
                "VTrunk attribute Group."
            ::= { hwIFExtGroups 22 }


    hwVTrunkMemGroup OBJECT-GROUP
            OBJECTS { hwVTrunkMemIfIndex, hwVTrunkValidEntry, hwVTrunkOperstatus, hwVTrunkPortActive, hwVTrunkRowStatus }
            STATUS current
            DESCRIPTION 
                "VTrunk member attribute Group."
            ::= { hwIFExtGroups 23 }
 
    hwLogicIfHelpTableGroup OBJECT-GROUP
    OBJECTS{
           hwLogicIfhelpType,
           hwLogicIfChassisNumber,
           hwLogicIfSlotNumber,   
           hwLogicIfCardNumber,
           hwLogicIfMin,
           hwLogicIfMax,
           hwLogicIfTotal
    }
    STATUS current
    DESCRIPTION
    "Logic interface help table Group."
    ::= { hwIFExtGroups 24 }
    
    hwSubInterfaceBackupTrunkGroup OBJECT-GROUP
            OBJECTS { hwBackupStatus, hwRevertiveMode, hwWtrTime, hwFlushVlanId }
            STATUS current
            DESCRIPTION 
                "SubInterfaceBackupTrunk attribute Group."
            ::= { hwIFExtGroups 25 }

        hwVaspPortGroup OBJECT-GROUP
                 OBJECTS { hwVaspPortName, hwVaspPortPeerMac }
                 STATUS current
                 DESCRIPTION 
                     "The vasp port group."
                 ::= { hwIFExtGroups 26 }

   hwLogicIfDynamicHelpTableGroup OBJECT-GROUP
    OBJECTS{
           hwLogicDynamicIfhelpType,
           hwLogicDynamicIfChassisNumber,
           hwLogicDynamicIfSlotNumber,   
           hwLogicDynamicIfCardNumber,
           hwLogicDynamicIfMin,
           hwLogicDynamicIfMax,
           hwLogicDynamicIfTotal
    }
    STATUS current
    DESCRIPTION
    "Logic interface Dynamic help table Group."
    ::= { hwIFExtGroups 27 }

--  ----------------------------------------------------------------------------
-- compliance statements
-- ----------------------------------------------------------------------------            
        hwIFExtCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for entities implementing
                Huawei extended interface management MIB."
            MODULE -- this module
                MANDATORY-GROUPS { hwTrunkIfGroup, hwIfIpAddressGroup, hwIFExtGroup, hwTrunkMemGroup, hwIFFlowStatGroup,
                hwIfQueryGroup,hwLogicIfAttrGroup, hwVTrunkIfGroup, hwVTrunkMemGroup
                     }
            ::= { hwIFExtCompliances 1 }

        
        hwIFExtTraps OBJECT IDENTIFIER ::= { hwIFExtMib 3 }

        
        hwTrunkWorkingSwitch NOTIFICATION-TYPE
            OBJECTS { hwTrunkIfID, hwTrunkIfWorkingState }
            STATUS current
            DESCRIPTION 
                "hwTrunkWorkingSwitch.
                1.hwTrunkIfID: The identification of the Trunk interface;
                2.hwTrunkIfWorkingState: Current working state of backup-access trunk.
                Index: hwTrunkIndex."
            ::= { hwIFExtTraps 1 }

        
        hwLacpNegotiateFailed NOTIFICATION-TYPE
            OBJECTS { hwTrunkIfID, ifName, ifName }
            STATUS current
            DESCRIPTION 
                "The member of LAG neither can take over PDU nor transmit PDUs. Send this trap when LACP protocol negotiation fails.           
                1.hwTrunkIfID: The identification of the Trunk interface;
                2.ifName: It is the name of the trunk in the ifXTable of IF-MIB.
                3.ifName: It is the name of the port in the ifXTable of IF-MIB.
                Indexes: 1.hwTrunkIndex;
                         2.ifIndex. "
            ::= { hwIFExtTraps 2 }

        
        hwLacpTotalLinkLoss NOTIFICATION-TYPE
            OBJECTS { hwTrunkIfID, ifName }
            STATUS current
            DESCRIPTION 
                "Total loss of link bandwidth: it means that there is no member in the LAG group and the trap of MNCD(Member not Collecting/Distributing) occurs.
                1.hwTrunkIfID: The identification of the Trunk interface;
                2.ifName: It is in the ifXTable of IF-MIB.
                Index: hwTrunkIndex."
            ::= { hwIFExtTraps 3 }

    
        
        hwLacpPartialLinkLoss NOTIFICATION-TYPE
            OBJECTS { hwTrunkIfID, ifName }
            STATUS current
            DESCRIPTION 
                "Part loss of link bandwidth: it means that some members in the LAG group aren't in the working-state, 
                making the number of ports in working-state smaller than the hwTrunkIfMinLinkNum. The trap of PLL(Partial Link Loss)
                will be restrained by the trap of TLL(Total Link Loss).            
                1.hwTrunkIfID: The identification of the Trunk interface;
                2.ifName: It is in the ifXTable of IF-MIB.
                Index: hwTrunkIndex."
            ::= { hwIFExtTraps 4 }

    hwIfFlowDown NOTIFICATION-TYPE
            OBJECTS { sysUpTime, hwIFExtFlowStatus,ifName }
        STATUS current
        DESCRIPTION 
        "This notification indicates the time when the interface's flow status changes
         to flow down,and the reason."
        ::=  {hwIFExtTraps 5}    

    hwIfFlowUp NOTIFICATION-TYPE
            OBJECTS { sysUpTime, hwIFExtFlowStatus,ifName }
        STATUS current
        DESCRIPTION 
        "This notification indicates the time when the interface's flow status changes
         to flow up,and the reason."
        ::=  {hwIFExtTraps 6}    
        
    hwIfNameChange NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION 
        "When a single-chassis device is upgraded to a multi-chassis device, the interface 
        information is changed and then the system sends a trap."
        ::=  {hwIFExtTraps 7}
        
    hwIfNameChangeResume NOTIFICATION-TYPE
        STATUS current
        DESCRIPTION 
        "When a multi-chassis restore a single-chassis device, the interface information 
        is changed and then the system sends a trap."
        ::=  {hwIFExtTraps 8}
    hwExtLinkDown NOTIFICATION-TYPE
           OBJECTS { ifIndex, ifAdminStatus, ifOperStatus, ifDescr, hwIFExtPhyStatus, hwIFExtMemberOf }
           STATUS  deprecated
           DESCRIPTION
           "This notification indicates the time when the member interface link status changes
         to down.The ifDescr indicates the name of the member interface,the hwIFExtMemberOf indicates
          the name of main interface."
           ::=  {hwIFExtTraps 9} 
       
        hwExtLinkUp NOTIFICATION-TYPE
           OBJECTS { ifIndex, ifAdminStatus, ifOperStatus, ifDescr, hwIFExtPhyStatus, hwIFExtMemberOf }
           STATUS  deprecated
           DESCRIPTION
               "This notification indicates the time when the member interface link status changes
         to up.The ifDescr indicates the name of the member interface,the hwIFExtMemberOf indicates
          the name of main interface."
           ::=  {hwIFExtTraps 10}
        
     hwLoopbackBlock NOTIFICATION-TYPE
            OBJECTS { hwIfName }
        STATUS current
        DESCRIPTION 
        "This notification indicates block state of the interface."
        ::=  {hwIFExtTraps 11}

     hwLoopbackResume NOTIFICATION-TYPE
            OBJECTS { hwIfName }
        STATUS current
        DESCRIPTION 
        "This notification indicates normal state of the interface."
        ::=  {hwIFExtTraps 12}
        
        hwLacpNegotiateResume NOTIFICATION-TYPE
            OBJECTS { hwTrunkIfID, ifName, ifName }
            STATUS current
            DESCRIPTION 
                "Negotiation failure alarm is resumed.
                1.hwTrunkIfID: The identification of the Trunk interface;
                2.ifName: It is the name of the trunk in the ifXTable of IF-MIB.
                3.ifName: It is the name of the port in the ifXTable of IF-MIB.
                Indexes: 1.hwTrunkIndex;
                         2.ifIndex. "
            ::= { hwIFExtTraps 13 }

        
        hwLacpTotalLinkLossResume NOTIFICATION-TYPE
            OBJECTS { hwTrunkIfID, ifName }
            STATUS current
            DESCRIPTION 
                "Link bandwidth lost totally is resumed.
                1.hwTrunkIfID: The identification of the Trunk interface;
                2.ifName: It is in the ifXTable of IF-MIB.
                Index: hwTrunkIndex."
            ::= { hwIFExtTraps 14 }
    
        
        hwLacpPartialLinkLossResume NOTIFICATION-TYPE
            OBJECTS { hwTrunkIfID, ifName }
            STATUS current
            DESCRIPTION 
                "Link bandwidth lost partly is resumed.
                1.hwTrunkIfID: The identification of the Trunk interface;
                2.ifName: It is in the ifXTable of IF-MIB.
                Index: hwTrunkIndex."
            ::= { hwIFExtTraps 15 }

        hwTrunkSubIfStateToMaster NOTIFICATION-TYPE
            OBJECTS { hwIfName, hwBackupStatus }
            STATUS current
            DESCRIPTION 
            "This notification indicates BackupState of the Trunk subinterface.
            1.hwIfName: The identification of the Trunk subinterface;
            2.hwBackupStatus: Current working state of Trunk subinterface."
            ::= { hwIFExtTraps 24 }
            
        hwTrunkSubIfStateToSlave NOTIFICATION-TYPE
            OBJECTS { hwIfName, hwBackupStatus }
            STATUS current
            DESCRIPTION 
            "This notification indicates BackupState of the Trunk subinterface.
            1.hwIfName: The identification of the Trunk subinterface;
            2.hwBackupStatus: Current working state of Trunk subinterface."
            ::= { hwIFExtTraps 25 }
        
        hwEntityExtCfmOverSlot NOTIFICATION-TYPE
            OBJECTS { hwCfmOverPhysicalName }
            STATUS current
            DESCRIPTION 
                "The hwEntityExtCfmOverSlot notification will be displayed when the configuration of an interface board is restored. The object hwCfmOverPhysicalName idicates the name of the interface board."
            ::= { hwIFExtTraps 26 }
        
        hwEntityExtCfmOverCard NOTIFICATION-TYPE
            OBJECTS { hwCfmOverPhysicalName }
            STATUS current
            DESCRIPTION 
                "The hwEntityExtCfmOverCard notification will be displayed when the configuration of an interface card is restored. The object hwCfmOverPhysicalName idicates the name of the interface card."
            ::= { hwIFExtTraps 27 }  
            
        hwExtAllMemberDownNotify NOTIFICATION-TYPE
            OBJECTS { ifName }
            STATUS current
            DESCRIPTION 
                "This notification indicates the time when the last member interface link status changes to down.
                The ifName indicates the name of the Trunk interface."
            ::= { hwIFExtTraps 28 }  
            
        hwExtAllMemberDownResume NOTIFICATION-TYPE
            OBJECTS { ifName }
            STATUS current
            DESCRIPTION 
                "This notification indicates the time when the first member interface link status changes to up.
                The ifName indicates the name of the Trunk interface."
            ::= { hwIFExtTraps 29 } 
            
        hwIfControlFlapSuppress NOTIFICATION-TYPE
            OBJECTS { ifName, hwIFExtSuppressStatus }
            STATUS current
            DESCRIPTION 
                " This notification indicates the time when the interface's status changes from unsuppress to suppress. "
            ::= { hwIFExtTraps 31 }
            
        hwIfControlFlapResume NOTIFICATION-TYPE
            OBJECTS { ifName, hwIFExtSuppressStatus }
            STATUS current
            DESCRIPTION 
                " This notification indicates the time when the interface's status changes from suppress to unsuppress. "
            ::= { hwIFExtTraps 32 }    
       hwExtInterfaceDelete NOTIFICATION-TYPE
            OBJECTS { ifIndex, ifDescr}
            STATUS current
            DESCRIPTION 
                " This notification indicates the time when the interface was deleted. "
            ::= { hwIFExtTraps 33 }                       
        
    hwMonitorNotifications OBJECT IDENTIFIER ::= { hwIFExtMib 4 }        

        hwIfMonitorCrcErrorRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorCrcErrorStatistics, hwIfMonitorCrcErrorThreshold,
                      hwIfMonitorCrcErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Crc error alarm notification "
            ::= { hwMonitorNotifications 1 }
        
        hwIfMonitorCrcErrorResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorCrcErrorStatistics, hwIfMonitorCrcErrorThreshold,
                      hwIfMonitorCrcErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Crc error alarm resume "
            ::= { hwMonitorNotifications  2 }

        hwIfMonitorSdhErrorRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSdhErrorStatistics, hwIfMonitorSdhErrorThreshold
                      , hwIfMonitorSdhErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Sdh error alarm notification only for B3"
            ::= { hwMonitorNotifications 3 }
        
        hwIfMonitorSdhErrorResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSdhErrorStatistics, hwIfMonitorSdhErrorThreshold
                      , hwIfMonitorSdhErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Sdh error alarm resume only for B3"
            ::= { hwMonitorNotifications 4 }
        
        hwIfMonitorInputRateRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorInputRatePercentage, hwIfMonitorInputRateThreshold, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Input rate alarm notification "
            ::= { hwMonitorNotifications 5 }  

        hwIfMonitorInputRateResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorInputRatePercentage, hwIfMonitorInputRateThreshold, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Input rate alarm resume "
            ::= { hwMonitorNotifications 6}

         hwIfMonitorOutputRateRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorOutputRatePercentage, hwIfMonitorOutputRateThreshold, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Output rate alarm notification "
            ::= { hwMonitorNotifications 7}

         hwIfMonitorOutputRateResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorOutputRatePercentage, hwIfMonitorOutputRateThreshold, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Output rate alarm resume "
            ::= { hwMonitorNotifications 8 }
          
         hwIfMonitorHalfDuplexRising NOTIFICATION-TYPE
            OBJECTS { ifDescr }
            STATUS current
            DESCRIPTION 
                " Interface half duplex alarm norification "
            ::= { hwMonitorNotifications 9 }
            
        hwIfMonitorPauseFrameRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorPauseFrameStatistics, hwIfMonitorPauseFrameThreshold,
                      hwIfMonitorPauseFrameInterval }
            STATUS current
            DESCRIPTION 
                " Pause frame alarm notification "
            ::= { hwMonitorNotifications 10 }

        hwIfMonitorPauseFrameRisingResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorPauseFrameStatistics, hwIfMonitorPauseFrameThreshold,
                      hwIfMonitorPauseFrameInterval }
            STATUS current
            DESCRIPTION 
                " Pause frame alarm resume "
            ::= { hwMonitorNotifications 11 }  

        hwIfPortControlUp NOTIFICATION-TYPE
            OBJECTS { ifName }
            STATUS current
            DESCRIPTION 
                " Control Up alarm notification "
            ::= { hwMonitorNotifications 12 } 
            
        hwIfPortControlDown NOTIFICATION-TYPE
            OBJECTS { ifName }
            STATUS current
            DESCRIPTION 
                " Control Down alarm notification "
            ::= { hwMonitorNotifications 13 }      

        hwIfMonitorSdhB1ErrorRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSdhB1ErrorStatistics, hwIfMonitorSdhB1ErrorThreshold
                      , hwIfMonitorSdhB1ErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Sdh B1 error alarm notification "
            ::= { hwMonitorNotifications 14 }
        
        hwIfMonitorSdhB1ErrorResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSdhB1ErrorStatistics, hwIfMonitorSdhB1ErrorThreshold
                      , hwIfMonitorSdhB1ErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Sdh B1 error alarm resume"
            ::= { hwMonitorNotifications 15 }    

        hwIfMonitorSdhB2ErrorRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSdhB2ErrorStatistics, hwIfMonitorSdhB2ErrorThreshold
                      , hwIfMonitorSdhB2ErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Sdh B2 error alarm notification "
            ::= { hwMonitorNotifications 16 }
        
        hwIfMonitorSdhB2ErrorResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSdhB2ErrorStatistics, hwIfMonitorSdhB2ErrorThreshold
                      , hwIfMonitorSdhB2ErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Sdh B2 error alarm resume"
            ::= { hwMonitorNotifications 17 } 

        hwIfMonitorSymbolErrorRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSymbolErrorStatistics, hwIfMonitorSymbolErrorThreshold,
                      hwIfMonitorSymbolErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Symbol error alarm notification "
            ::= { hwMonitorNotifications 18 }
        
        hwIfMonitorSymbolErrorResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorSymbolErrorStatistics, hwIfMonitorSymbolErrorThreshold,
                      hwIfMonitorSymbolErrorInterval, hwIfMonitorName }
            STATUS current
            DESCRIPTION 
                " Crc error alarm resume "
            ::= { hwMonitorNotifications  19 }
    
        -- 1.3.6.1.4.1.2011.5.25.41.4.40
        hwIfMonitorBadBytesErrorRising NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorBadBytesErrorStatistics, hwIfMonitorBadBytesErrorThreshold, hwIfMonitorBadBytesErrorInterval }
            STATUS current
            DESCRIPTION 
                "Description."
            ::= { hwMonitorNotifications 40 }

        -- 1.3.6.1.4.1.2011.5.25.41.4.41
        hwIfMonitorBadBytesErrorResume NOTIFICATION-TYPE
            OBJECTS { hwIfMonitorBadBytesErrorStatistics, hwIfMonitorBadBytesErrorThreshold, hwIfMonitorBadBytesErrorInterval }
            STATUS current
            DESCRIPTION 
                "Description."
            ::= { hwMonitorNotifications 41 }

            
        hwIFExtTrapConformance OBJECT IDENTIFIER ::= { hwIFExtMib 5 }

        
        hwIFExtTrapGroups OBJECT IDENTIFIER ::= { hwIFExtTrapConformance 1 }
  
        hwIFExtTrapGroup NOTIFICATION-GROUP
            NOTIFICATIONS { hwTrunkWorkingSwitch, hwLacpNegotiateFailed, hwLacpTotalLinkLoss, hwLacpPartialLinkLoss,hwIfFlowDown,
                        hwIfFlowUp, hwIfNameChange, hwIfNameChangeResume, hwExtLinkDown, hwExtLinkUp, hwLoopbackBlock, hwLoopbackResume,
                        hwLacpNegotiateResume,hwLacpTotalLinkLossResume,hwLacpPartialLinkLossResume,
hwExtAllMemberDownNotify, hwExtAllMemberDownResume, hwIfControlFlapSuppress,hwIfControlFlapResume,hwExtInterfaceDelete}
            STATUS current
            DESCRIPTION 
                "IF Trap Group."
            ::= { hwIFExtTrapGroups 1 }

        hwMonitorTrapGroup NOTIFICATION-GROUP
NOTIFICATIONS {
        hwIfMonitorCrcErrorRising ,
        hwIfMonitorCrcErrorResume ,
        hwIfMonitorSdhErrorRising ,
        hwIfMonitorSdhErrorResume ,    
        hwIfMonitorInputRateRising ,
        hwIfMonitorInputRateResume ,
        hwIfMonitorOutputRateRising ,
        hwIfMonitorOutputRateResume , 
        hwIfMonitorHalfDuplexRising,
        hwIfMonitorPauseFrameRising,
        hwIfMonitorPauseFrameRisingResume,
        hwIfPortControlUp,
        hwIfPortControlDown,
        hwIfMonitorSdhB1ErrorRising,
        hwIfMonitorSdhB1ErrorResume,
        hwIfMonitorSdhB2ErrorRising,
        hwIfMonitorSdhB2ErrorResume,
        hwIfMonitorSymbolErrorRising,
        hwIfMonitorSymbolErrorResume,
        hwIfMonitorBadBytesErrorRising,
        hwIfMonitorBadBytesErrorResume 
     }
    STATUS current
    DESCRIPTION
    "Monitor Trap Group."
    ::= { hwIFExtTrapGroups 2 }
    
  --add trap for IP address changed   
        hwIFIpNotifications OBJECT IDENTIFIER ::= { hwIFExtMib 6 } 
        
        hwIfIpAddressChange NOTIFICATION-TYPE
            OBJECTS { ipAdEntNetMask,ipAdEntNetMask,ifName }
            STATUS current
            DESCRIPTION 
                "IP Trap Group.
                 The trap will be generated when the primary IP address of an interface changes."
            ::= { hwIFIpNotifications 1 }
    END

--
-- HUAWEI-IF-EXT-MIB.my
--