-- ==================================================================
-- Copyright (C) 2021 by  HUAWEI TECHNOLOGIES. All rights reserved.
--
-- Description:  HUAWEI Layer Two mac management MIB
-- Reference:
-- Version: V2.50
-- History:
--
-- ==================================================================

-- ==================================================================
--
-- Varibles and types be imported
--
-- ==================================================================
HUAWEI-L2MAM-MIB DEFINITIONS ::= BEGIN
IMPORTS
    hwDatacomm
            FROM HUAWEI-MIB
    MacAddress, RowStatus , TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    OBJECT-TYPE, Integer32, MODULE-IDENTITY, NOTIFICATION-TYPE, Unsigned32, Counter64, IpAddress
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF        
    InterfaceIndex,InterfaceIndexOrZero,ifDescr
        FROM IF-MIB
    PhysicalIndex, entPhysicalIndex, entPhysicalName
      FROM ENTITY-MIB
    hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType
        FROM HUAWEI-BASE-TRAP-MIB
    hwL2IfPortName
        FROM HUAWEI-L2IF-MIB
    VlanIdOrNone, VlanId
        FROM Q-BRIDGE-MIB
    EnabledStatus
        FROM P-BRIDGE-MIB
    EnableValue
        FROM NQA-MIB
   hwVplsVsiName
        FROM HUAWEI-VPLS-EXT-MIB
   hwL2Mgmt    
        FROM HUAWEI-MSTP-MIB;

    --hwL2Mgmt OBJECT IDENTIFIER ::= { hwDatacomm 42 }

    hwL2MAM MODULE-IDENTITY
            LAST-UPDATED "202102200000Z"
            ORGANIZATION 
                    "Huawei Technologies Co.,Ltd."
            CONTACT-INFO
                    "Huawei Industrial Base
                      Bantian, Longgang
                       Shenzhen 518129
                       People's Republic of China
                       Website: http://www.huawei.com
                       Email: support@huawei.com
                     "
            DESCRIPTION
                    "This is the layer 2 mac-address management. It contains the layer 2
                    mac-address forwarding information currently operating on this device.
                    And also contains the information of mac-limit rule. "

        REVISION    "202102200000Z"
            DESCRIPTION
                    "modify  hwBdMacLimitMaxMac and hwVxlanTnlMacLimitMaxMac."

        REVISION    "202102060000Z"
            DESCRIPTION
                    "modify hwVlanMacLimitOverThreshold and hwVlanMacLimitOverThresholdResume, hwPortMacLimitOverThreshold and hwPortMacLimitOverThresholdResume."

        REVISION    "202101070000Z"
            DESCRIPTION
                    "Add hwNotSupportTeOverGre."

        REVISION    "202012090000Z"
            DESCRIPTION
                    "Add hwVlanMacLimitOverThreshold and hwVlanMacLimitOverThresholdResume, hwPortMacLimitOverThreshold and hwPortMacLimitOverThresholdResume."

        REVISION    "202007240000Z"        
            DESCRIPTION
                    "Modify the description of node hwBdMacLimitOverThresholdAlarm"

        REVISION     "201810240000Z"
            DESCRIPTION
                    "modify hwMacHop"

        REVISION     "201806260000Z"
            DESCRIPTION
                    "modify hwDiscription to hwDescription"

        REVISION     "201806140000Z"
            DESCRIPTION
                    "add hwServiceNotSupportDscpSrte"	

        REVISION     "201805310000Z"
            DESCRIPTION
                    "add hwTunnelNotSupportInterface"

        REVISION     "201804020000Z"
           DESCRIPTION
                    "Change hwMacAccountStatisticMacAddr MAX-ACCESS."
        REVISION     "201803160000Z"
           DESCRIPTION
                    "Change import hwL2Mgmt." 
        REVISION     "201802240000Z"
           DESCRIPTION
                    "Change hwMacVsiStatisticsVsiName MAX-ACCESS type." 
        REVISION     "201802070000Z"
           DESCRIPTION
                    "Add alarm node hwVxlanTunnelMacLimitOverThresholdAlarm and hwVxlanTunnelMacLimitOverThresholdAlarmResume. " 
           REVISION     "201801190000Z" 
           DESCRIPTION       
                    "Change the description of nodes"

           REVISION     "201711290000Z" 
           DESCRIPTION       
                    "add alarm node hwL2DomainMacLimitNumRaisingThreshold and hwL2DomainMacLimitNumFallingThreshold,
                     add hwL2DomainMacLimitAlarmTable"

           REVISION     "201711130000Z" 
           DESCRIPTION       
                    "Modify hwMacIfStatisticsGroup,hwMacSlotStatisticsGroup,hwMacVlanStatisticsGroup,hwMacVsiStatisticsGroup." 
           REVISION     "201710170000Z" 
           DESCRIPTION       
                    "add hwBroadcastDomainElbTable,
                     add alarm node hwBroadcastDomainElbAlarm and hwBroadcastDomainElbAlarmResume" 

         REVISION     "201708230000Z" 
           DESCRIPTION       
                    "add hwVllNotSupportTunnelTable,
                     add alarm node hwVllVpnQosOverTunnelAlarm and hwVllVpnQosOverTunnelAlarmResume" 
         
          REVISION     "201708170000Z" 
            DESCRIPTION       
                     "Change the description of nodes"

         REVISION     "201707210000Z" 
            DESCRIPTION       
                     "Change the parameter sequence of hwNotSupportTunnelType"

          REVISION     "201706220000Z" 
            DESCRIPTION       
                     "Change the parameter sequence of hwRecIllegalMacPktAlarm"

          REVISION     "201706150000Z" 
            DESCRIPTION       
                     "Add  alarm node hwVplsPwHqosNotSupportTunnelAlarm and hwVplsPwHqosNotSupportTunnelAlarmResume" 

         REVISION     "201704250000Z" 
           DESCRIPTION       
                    "add hwVllVpnQosNotSupportTunnelTable,
                     add alarm node hwVllVpnQosNotSupportTunnelAlarm and hwVllVpnQosNotSupportTunnelAlarmResume"  

         REVISION     "201704200000Z" 
           DESCRIPTION       
                    "Add  alarm node hwPbbEvpnNotSupportTunnelAlarm and hwPbbEvpnNotSupportTunnelAlarmResume" 

         REVISION     "201704180000Z" 
           DESCRIPTION       
                    "Add hwMacSlotUsage  and hwMacSlotUsageThreshold in hwMacSlotStatisticsTable 2017-04-18" 

         
         REVISION     "201704100000Z" 
           DESCRIPTION       
                    "Add hwNodeSrteLoadBanlanceTable and hwServiceNotSupportNodeSrteLoadBanlance" 
         
         REVISION     "201703150000Z" 
           DESCRIPTION       
                    "Add hwMacAccountStatisticTable" 
		    
         REVISION     "201701130000Z" 
           DESCRIPTION       
                    "add  hwPVSuppressionStatisticTable, add hwPortSuppressionStatisticTable" 

         REVISION     "201612080000Z" 
           DESCRIPTION       
                    "Change the parameter sequence of hwEVPNNotSupportTunnelAlarm and hwEVPNNotSupportTunnelAlarmResume" 

        REVISION     "201611040000Z" 
           DESCRIPTION       
                    "add  hwEVPNNotSupportTunnelTable, add hwVPLSNotSupportTunnelTable, 
                     add alarm node hwEVPNNotSupportTunnelAlarm and hwEVPNNotSupportTunnelAlarmResume, 
                     add alarm node hwVPLSNotSupportTunnelAlarm and hwVPLSNotSupportTunnelAlarmResume,
                     add hwNotSupportTunnelType,
                     add hwNotSupportTunnelGroup" 
        REVISION     "201607040000Z"
           DESCRIPTION
                    "add BdId and EvpnId to hwMacLimitNumRaisingThreshold and hwMacLimitNumFallingThreshold"
        REVISION     "201607040000Z"
           DESCRIPTION
	"modify compile error"			
       REVISION     "201602240000Z"
           DESCRIPTION
	"Add hwBoardServiceMisMatchGenerate and hwBoardServiceMisMatchCancel"
        REVISION     "201601040000Z"
           DESCRIPTION
                    "Add hwPwSourceTunnelCheckAlarm and hwPwSourceTunnelCheckResume,hwPwSourceTunnelNoTeCheckAlarm and hwPwSourceTunnelNoTeCheckResume"		    
        REVISION     "201512030000Z"
           DESCRIPTION
                    "Add hwMacHopDetectMac of hwMacHopAlarmTable"					
        REVISION     "201511110000Z"
           DESCRIPTION
                    "Modify hwMacDynAddressLearnNum SYNTAX from Integer32(0..131072) to Integer32"
        REVISION     "201510310000Z"
           DESCRIPTION
                    "Add hwPwOverLdpOverGreTable, add alarm node hwPWOverLdpOverGRENotSupportForwardAlarm and hwPWOverLdpOverGRENotSupportForwardResume. "
        REVISION     "201508250000Z"
           DESCRIPTION
                    "Modify hwCfgFdbPort SYNTAX from InterfaceIndex to InterfaceIndexOrZero. "
        REVISION     "201508060000Z"
           DESCRIPTION
                    "Modify hwDynFdbPort of HwdbDynFdbEntry. " 
        REVISION     "201507230000Z"
           DESCRIPTION
                    "Add alarm node hwBdMacLimitOverThresholdAlarm and hwBdMacLimitOverThresholdAlarmResume. " 
         REVISION     "201412192343Z"
           DESCRIPTION
                    "Add alarm node hwPwMacSpoofingAttackAlarm and hwPwMacSpoofingAttackRecover. " 
        REVISION     "201407250945Z"
           DESCRIPTION
                    "Delete hwMacHopPortName5-8 of hwMacHopAlarmTable . "			
         REVISION     "201406160945Z"
           DESCRIPTION
                    "Add alarm node hwPstBroadcastLostAlarm and hwPstBroadcastLostAlarmResume. "
         REVISION     "201406060945Z"
           DESCRIPTION
                    "Delet alarm node hwVllByPassPWOverGRENotSupportForwardRising. "
         REVISION     "201405100000Z"
           DESCRIPTION
                    "Delete hwMacHopMac  and hwMacHopSlotId of hwMacHopAlarmTable . "
           REVISION     "201403130000Z"
            DESCRIPTION
                    "Add hwMacHopAlarmTable and two traps hwMacHopAlarmRisingThreshold and hwMacHopAlarmFallingThreshold for Mac hop alram. "
         REVISION     "201401210000Z"
           DESCRIPTION
                    "Add hwMacHopPort of hwMacHopAlarmTable . "
            REVISION     "201309070000Z"
            DESCRIPTION  "Fix the errors checked by a tool."
            REVISION     "201305240000Z"
            DESCRIPTION
                    "Add alarm node hwVplsOverGRENotSupportForwardRising and hwVllByPassPWOverGRENotSupportForwardRising. "
            REVISION     "201305140000Z"                            
            DESCRIPTION
                    "Add alarm node hwMacLimitRuleNumRaisingThreshold and hwMacLimitRuleNumFallingThreshold . "
            REVISION     "200406080000Z"
            DESCRIPTION  
                    "
                    V1.00, Inital version.
                    "     
            ::= { hwL2Mgmt 2}


-- ==================================================================
--
-- ======================= definition begin =========================
--
-- ==================================================================

    hwL2MAMObjects OBJECT IDENTIFIER ::= { hwL2MAM 1 }

-- Textual Conventions

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


    hwL2MaxMacLimit  OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION 
        "The maximum of Mac-address limit rule."
        ::= { hwL2MAMObjects  1 }


    -- Configured mac-address forwarding table
        hwdbCfgFdbTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwdbCfgFdbEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to configure a VLAN-based, VSI-based, or global blackhole-based MAC address table or static MAC address table."
                ::= { hwL2MAMObjects 2 }

        hwdbCfgFdbEntry OBJECT-TYPE
                SYNTAX HwdbCfgFdbEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of The layer 2 mac-address forwarding table."
                INDEX { hwCfgFdbMac, hwCfgFdbVlanId, hwCfgFdbVsiName }
                ::= { hwdbCfgFdbTable 1 }

        HwdbCfgFdbEntry ::=
                SEQUENCE {
                        hwCfgFdbMac
                                MacAddress,
                        hwCfgFdbVlanId
                                VlanIndex,
                        hwCfgFdbVsiName
                                OCTET STRING,
                        hwCfgFdbPort
                                InterfaceIndexOrZero,
                        hwCfgFdbType
                                INTEGER,
                        hwCfgFdbRowstatus
                                RowStatus,
                        hwCfgFdbAtmPort
                                InterfaceIndexOrZero,
                        hwCfgFdbVpi
                                Integer32,
                        hwCfgFdbVci
                                Integer32,
                        hwCfgFdbCeDefault
                                INTEGER
                 }

        hwCfgFdbMac OBJECT-TYPE
                SYNTAX MacAddress
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates unicast MAC entries in the static MAC address table."
                ::= { hwdbCfgFdbEntry 1 }

        hwCfgFdbVlanId OBJECT-TYPE
                SYNTAX VlanIndex (0..4094)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the VLAN ID related to the static MAC address table. The value ranges from 0 to 4094."
                ::= { hwdbCfgFdbEntry 2 }

        hwCfgFdbVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the VSI name related to the static MAC address table."
                ::= { hwdbCfgFdbEntry 3 }

        hwCfgFdbPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the port index of the forwarding port. The port must be of the Ethernet type. The port must belong to a VLAN or permits packets with a specific VLAN ID to pass. The value is 0 for blackhole entries."
                ::= { hwdbCfgFdbEntry 4 }

        hwCfgFdbType OBJECT-TYPE
                SYNTAX INTEGER
                        {
                        static(2),
                        blackhole(3)
                        }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the MAC entry type. This object cannot be created if the MAC entry is dynamic."
                ::= { hwdbCfgFdbEntry 5 }

        hwCfgFdbRowstatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the operating status."
                ::= { hwdbCfgFdbEntry 6 }

        hwCfgFdbAtmPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The forwarding port. The port must be an atm port. "
                ::= { hwdbCfgFdbEntry 7 }

        hwCfgFdbVpi OBJECT-TYPE
                SYNTAX Integer32 (0..255 | 65535)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The Virtual Path Identifier."
                ::= { hwdbCfgFdbEntry 8 }

        hwCfgFdbVci OBJECT-TYPE
                SYNTAX Integer32 (0..2047 | 65535)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The Virtual Connection Identifier."
                ::= { hwdbCfgFdbEntry 9 }

        hwCfgFdbCeDefault OBJECT-TYPE
                SYNTAX INTEGER
                        {
                            noCeDefault(0),
                            ceDefault(1)
                        }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                "The flag indicates whether the MAC address entry is configed according to ce-default-vlan. 
                'no-ce-default(0)' indicates no, 'ce-default(1)' indicates yes"
                ::= { hwdbCfgFdbEntry 10 }
                

    -- Dynamic (Leaned) mac-address forwarding table
        hwdbDynFdbTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwdbDynFdbEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to manage a device's dynamic MAC address table. Data in this table is generated after the device automatically learns MAC addresses and ages. Data in this table can be deleted instead of being added by users."
                ::= { hwL2MAMObjects 3 }

        hwdbDynFdbEntry OBJECT-TYPE
                SYNTAX HwdbDynFdbEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of The layer 2 mac-address forwarding table."
                INDEX { hwDynFdbMac, hwDynFdbVlanId, hwDynFdbVsiName }
                ::= { hwdbDynFdbTable 1 }

        HwdbDynFdbEntry ::=
                SEQUENCE {
                        hwDynFdbMac
                                MacAddress,
                        hwDynFdbVlanId
                                VlanIndex,
                        hwDynFdbVsiName
                                OCTET STRING,
                        hwDynFdbPort
                                InterfaceIndexOrZero,
                        hwDynFdbAtmPort
                                InterfaceIndexOrZero,
                        hwDynFdbVpi
                                Integer32,
                        hwDynFdbVci
                                Integer32,
                        hwDynFdbRowstatus
                                RowStatus,
                        hwDynSecurityFdbToStaticEnable 
                                EnableValue
                 }

        hwDynFdbMac OBJECT-TYPE
                SYNTAX MacAddress
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates unicast MAC addresses in the dynamic MAC address table."
                ::= { hwdbDynFdbEntry 1 }

        hwDynFdbVlanId OBJECT-TYPE
                SYNTAX VlanIndex (0..4094)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the VLAN ID related to the dynamic MAC address table."
                ::= { hwdbDynFdbEntry 2 }

        hwDynFdbVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the VSI name related to the dynamic MAC address table."
                ::= { hwdbDynFdbEntry 3 }

        hwDynFdbPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the port index of the forwarding port. The port must be of the Ethernet type."
                ::= { hwdbDynFdbEntry 4 }

        hwDynFdbAtmPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The forwarding port. The port must be an atm port. "
                ::= { hwdbDynFdbEntry 5 }

        hwDynFdbVpi OBJECT-TYPE
                SYNTAX Integer32 (0..255 | 65535)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The Virtual Path Identifier."
                ::= { hwdbDynFdbEntry 6 }

        hwDynFdbVci OBJECT-TYPE
                SYNTAX Integer32 (0..2047 | 65535)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The Virtual Connection Identifier."
                ::= { hwdbDynFdbEntry 7 }

        hwDynFdbRowstatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the operating status."
                ::= { hwdbDynFdbEntry 8 }
                
        hwDynSecurityFdbToStaticEnable  OBJECT-TYPE
                SYNTAX          EnableValue
                MAX-ACCESS      read-create
                STATUS          current
                DESCRIPTION
                    "This object indicates whether dynamic MAC entries are converted into static MAC entries."
                ::= { hwdbDynFdbEntry 9 }                                                                     
                                              
  -- MacLimit
        hwMacLimitTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacLimitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the mac-address learning-limit rule information for device.
                        It can limit on ethernet interface,vlan,ethernet interface + vlan."
                ::= { hwL2MAMObjects 4 }

        hwMacLimitEntry OBJECT-TYPE
                SYNTAX HwMacLimitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the mac-address learning-limit table."
                INDEX { hwMacLimitPort,hwMacLimitVlanId,hwMacLimitVsiName}
                ::= { hwMacLimitTable 1 }

        HwMacLimitEntry ::=
                SEQUENCE {
                        hwMacLimitPort
                                InterfaceIndexOrZero,
                        hwMacLimitVlanId
                                Integer32,
                        hwMacLimitVsiName
                                OCTET STRING,
                        hwMacLimitMaxMac
                                Integer32,
                        hwMacLimitMaxRate
                                Integer32,
                        hwMacLimitAction
                                INTEGER,
                        hwMacLimitAlarm
                                INTEGER,
                        hwMacLimitRowstatus
                                RowStatus,
                        hwMacAddressLearn
                                INTEGER,
                            hwMacDynAddressLearnNum
                                Integer32,
                            hwMacSecureAddressLearnNum
                                Integer32,
                        hwMacLimitBdId
                                Integer32,
                        hwMacLimitEVPName
                                OCTET STRING
                       }

        hwMacLimitPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The port number which will be configured mac-limit."
                ::= { hwMacLimitEntry 1 }

        hwMacLimitVlanId OBJECT-TYPE
                SYNTAX Integer32(0..4094)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The vlan id which will be configured mac-limit."
                ::= { hwMacLimitEntry 2 }

        hwMacLimitVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The vsi name which will be configured mac-limit."
                ::= { hwMacLimitEntry 3 }

        hwMacLimitMaxMac OBJECT-TYPE
                SYNTAX Integer32(0..131072)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The maximum mac address. When the value is '0',
                        the meaning is that there isn't limiting rule to
                        the mac-address number."
                ::= { hwMacLimitEntry 4 }

        hwMacLimitMaxRate OBJECT-TYPE
                SYNTAX Integer32(0..1000)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The max mac-address learning rate. When the valu
                        e is '0', the meaning is that there isn't limiting
                         rule to the learning rate."
                ::= { hwMacLimitEntry 5 }

        hwMacLimitAction OBJECT-TYPE
                SYNTAX INTEGER
                {
                discard(1),
                forward(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The mac-address limit action of this entry. The
                        meanings of the values are:
                         discard(1)- Discard packets
                         forward(2)- Forward packets."
                ::= { hwMacLimitEntry 6 }

        hwMacLimitAlarm OBJECT-TYPE
                SYNTAX INTEGER
                {
                disable(1),
                enable(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The mac-limit alarm switch of this entry. The meanings of
                         the values are:
                         disable(1), enable(2)"
                ::= { hwMacLimitEntry 7 }

        hwMacLimitRowstatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The operating state of the row."
                ::= { hwMacLimitEntry 8 }

        hwMacAddressLearn  OBJECT-TYPE
                SYNTAX INTEGER
                {
                    disable(1),
                    enable(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                "The flag of enable Mac address learn."
                ::= { hwMacLimitEntry 9 }

        hwMacDynAddressLearnNum   OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The number of learned dynamic MAC address ."
                ::= { hwMacLimitEntry 10 }  
                
        hwMacSecureAddressLearnNum   OBJECT-TYPE
                SYNTAX Integer32(0..131072)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                "The number of learned secure MAC address ."
                ::= { hwMacLimitEntry 11 }
                
        hwMacLimitBdId OBJECT-TYPE
                SYNTAX Integer32(1..32768)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The bridge domain id which will be configured mac-limit."
                ::= { hwMacLimitEntry 12 }
        
        hwMacLimitEVPName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates that the number of MAC addresses learned by the interface fell below the upper limit."
                ::= { hwMacLimitEntry 13 }
        
        hwMacUsageTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacUsageEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION 
                "This table is used to query Layer 2 information on a board."
                ::= { hwL2MAMObjects 5 }

        hwMacUsageEntry OBJECT-TYPE
               SYNTAX HwMacUsageEntry
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
               "MAC usage entry"
               INDEX { entPhysicalIndex }
               ::= { hwMacUsageTable 1 }

       HwMacUsageEntry ::=
               SEQUENCE {
                           hwMacEntityUsage
                                Integer32,
                           hwMacEntityUsageThreshold
                                Integer32
                        }

       hwMacEntityUsage OBJECT-TYPE
               SYNTAX Integer32 (0..100)
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION
               "This object indicates the utilization ratio of the MAC address table on each interface board."
               ::= { hwMacUsageEntry 1 }

       hwMacEntityUsageThreshold OBJECT-TYPE
               SYNTAX Integer32 (0..100)
               MAX-ACCESS read-write
               STATUS current
               DESCRIPTION
               "This object indicates that the MAC address usage fell below the alarm threshold."
        ::= { hwMacUsageEntry 2 }

    -- hwMacHopAlarmTable
        hwMacHopAlarmTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacHopAlarmEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the mac hop alarm information."
                ::= { hwL2MAMObjects 38 }

        hwMacHopAlarmEntry OBJECT-TYPE
                SYNTAX HwMacHopAlarmEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of mac hop alarm information for interface table."
                INDEX { hwMacHopVlan,hwMacHopVsiName,hwMacHopBdID}
                ::= { hwMacHopAlarmTable 1 }

        HwMacHopAlarmEntry ::=
                SEQUENCE {
                        hwMacHopVlan
                                Unsigned32,
                        hwMacHopVsiName
                                OCTET STRING,  
                        hwMacHopBdID
                                Unsigned32,
                        hwMacHopPortName1
                                OCTET STRING,  
                        hwMacHopPortName2
                                OCTET STRING,  
                        hwMacHopPortName3
                                OCTET STRING,  
                        hwMacHopPortName4
                                OCTET STRING, 
                        hwMacHopPWInfo
                                OCTET STRING,
                        hwMacHopDetectMac
                                OCTET STRING,
                        hwMacHopTrustPort
                                OCTET STRING, 
                        hwMacHopTrustPeer
                                OCTET STRING
                       }

        hwMacHopVlan OBJECT-TYPE
                SYNTAX Unsigned32(1..4094)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The VLAN ID of mac hop."
                ::= { hwMacHopAlarmEntry 1 }                

        hwMacHopVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The VSI of mac hop."
                ::= { hwMacHopAlarmEntry 2 }    
		
        hwMacHopBdID OBJECT-TYPE
                SYNTAX Unsigned32(1..32768)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates that the MAC address flapping alarm is cleared."
                ::= { hwMacHopAlarmEntry 3 }
                
        hwMacHopPortName1 OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The Port name of Mac-hopping."
                ::= { hwMacHopAlarmEntry 4 }    
                 
        hwMacHopPortName2 OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The Port name of Mac-hopping."
                ::= { hwMacHopAlarmEntry 5 }  
                
        hwMacHopPortName3 OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The Port name of Mac-hopping."
                ::= { hwMacHopAlarmEntry 6 }  
                
        hwMacHopPortName4 OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The Port name of Mac-hopping."
                ::= { hwMacHopAlarmEntry 7 }                
        
         hwMacHopPWInfo OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..512))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The PW info of Mac-hopping."
                ::= { hwMacHopAlarmEntry 8 }
				
         hwMacHopDetectMac OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..512))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates the MAC address flapping alarm."
                ::= { hwMacHopAlarmEntry 9 } 				
        hwMacHopTrustPort OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The trust Port name of Mac-hopping."
                ::= { hwMacHopAlarmEntry 10 }                
        
         hwMacHopTrustPeer OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..512))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The trust PW info of Mac-hopping."
                ::= { hwMacHopAlarmEntry 11 }
				         
  -- hwBoardServiceMisMatchAlarmTable
        hwBoardServiceMisMatchAlarmTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwBoardServiceMisMatchAlarmEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to query the information table about the alarm that the interface board does not support this service."
                ::= { hwL2MAMObjects 44 }

        hwBoardServiceMisMatchAlarmEntry OBJECT-TYPE
                SYNTAX HwBoardServiceMisMatchAlarmEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Defined the entries between OSS and Router. They are SlotID, ServiceName and Precautions."
                INDEX { entPhysicalIndex }
                ::= { hwBoardServiceMisMatchAlarmTable 1 }

        HwBoardServiceMisMatchAlarmEntry ::=
                SEQUENCE {
                         hwBoardServiceMisMatchServiceName OCTET STRING,
                         hwBoardServiceMisMatchPrecautions OCTET STRING 
                       }

        hwBoardServiceMisMatchServiceName OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..80)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "This object indicates the feature name."
              ::= {hwBoardServiceMisMatchAlarmEntry 1} 
              
        hwBoardServiceMisMatchPrecautions OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..80)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "This object indicates the call information."
              ::= {hwBoardServiceMisMatchAlarmEntry 2}
  
       hwEVPNNotSupportTunnelTable OBJECT-TYPE        
              SYNTAX SEQUENCE OF HwEVPNNotSupportTunnelEntry               
              MAX-ACCESS not-accessible               
              STATUS current               
              DESCRIPTION               
                  "This table is used to manage information about the alarm for tunnel types that the EVPN public network does not support."               
              ::= { hwL2MAMObjects 45 }

        hwEVPNNotSupportTunnelEntry OBJECT-TYPE               
               SYNTAX HwEVPNNotSupportTunnelEntry
               MAX-ACCESS not-accessible               
               STATUS current               
               DESCRIPTION               
                  "Entries of the EVPN table."               
               INDEX {        
                     hwEVPNPeerRemoteIp,
	hwNotSupportTunnelEvpnName
	}               
                ::= { hwEVPNNotSupportTunnelTable 1}               
  
         HwEVPNNotSupportTunnelEntry::=               
                SEQUENCE {              
                      hwEVPNPeerRemoteIp
                           IpAddress ,       
	hwNotSupportTunnelEvpnName       
                          OCTET STRING
                    }    

         hwEVPNPeerRemoteIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates the remote IP address of the EVPN public network."
                ::= { hwEVPNNotSupportTunnelEntry 1 }   
 
         hwNotSupportTunnelEvpnName OBJECT-TYPE               
               SYNTAX OCTET STRING (SIZE (1..31))               					  
               MAX-ACCESS accessible-for-notify               
               STATUS current               
               DESCRIPTION               
                  "This object indicates the name of the EVPN public network that does not support traffic forwarding."        
               ::= { hwEVPNNotSupportTunnelEntry 2  }      

        hwVPLSNotSupportTunnelTable OBJECT-TYPE        
              SYNTAX SEQUENCE OF HwVPLSNotSupportTunnelEntry               
              MAX-ACCESS not-accessible               
              STATUS current               
              DESCRIPTION               
                 "This table is used to manage tunnels that the VPLS public network does not support."               
              ::= { hwL2MAMObjects 46 }     

        hwVPLSNotSupportTunnelEntry OBJECT-TYPE               
             SYNTAX HwVPLSNotSupportTunnelEntry 
             MAX-ACCESS not-accessible               
             STATUS current               
             DESCRIPTION               
                "Entries of the VPLS table."               
             INDEX {        
                 hwNotSupportTunnelPwId,       
                 hwPWPeerRemoteIp     
             }               
             ::= { hwVPLSNotSupportTunnelTable 1 }               
  
        HwVPLSNotSupportTunnelEntry ::=               
              SEQUENCE {                     
	hwNotSupportTunnelPwId       
                          Integer32,       
                     hwPWPeerRemoteIp       
                           IpAddress,       
	hwNotSupportTunnelVSIName       
                          OCTET STRING    }       

        hwNotSupportTunnelPwId OBJECT-TYPE       
             SYNTAX Integer32       
             MAX-ACCESS accessible-for-notify       
             STATUS current       
             DESCRIPTION       
	"This object indicates the PW index."       
             ::= { hwVPLSNotSupportTunnelEntry 1 }     

         hwPWPeerRemoteIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates the remote IP address."
                ::= { hwVPLSNotSupportTunnelEntry 2 }    
	
         hwNotSupportTunnelVSIName OBJECT-TYPE               
              SYNTAX OCTET STRING (SIZE (1..31))               					
              MAX-ACCESS accessible-for-notify               
              STATUS current               
              DESCRIPTION               
	"This object indicates the VSI name."        
              ::= { hwVPLSNotSupportTunnelEntry 3 }         

        hwNotSupportTunnelType OBJECT-TYPE        
              SYNTAX INTEGER
                {
                        bgpovergre(1),
                        bgpoverldpovergre(2),
                        ldpovergre(3),
	                bgp(4),
                        vpnqosovergre(5)
               }
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the alarm that the EVPN public network does not support traffic forwarding."
              ::= { hwL2MAMObjects 47 }     

        hwNodeSrteLoadBanlanceTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwNodeSrteLoadBanlanceEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to manage parameters of alarms that are generated because load balancing among node SR TE tunnels is not supported."
                ::= { hwL2MAMObjects 51 }

        hwNodeSrteLoadBanlanceEntry OBJECT-TYPE
                SYNTAX HwNodeSrteLoadBanlanceEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entry of Node Srte table."
                INDEX { hwNodeSrteTunnelName ,  hwNodeSrteServiceName }
                ::= { hwNodeSrteLoadBanlanceTable 1 }

        HwNodeSrteLoadBanlanceEntry ::=
                SEQUENCE {
                         hwNodeSrteTunnelName OCTET STRING,
                         hwNodeSrteServiceName OCTET STRING 
                       }

        hwNodeSrteTunnelName OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..31)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "This object indicates the tunnel name."
              ::= {hwNodeSrteLoadBanlanceEntry 1} 

        hwNodeSrteServiceName OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..31)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "This object indicates the service name."
              ::= {hwNodeSrteLoadBanlanceEntry 2}

-- service not support  dscp srte
       hwServiceNotSupportDscpSrteTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwServiceNotSupportDscpSrteEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to manage parameters of alarms that are generated because DSCP SRTE is not supported for service."
                ::= { hwL2MAMObjects 58 }

        hwServiceNotSupportDscpSrteEntry OBJECT-TYPE
                SYNTAX HwServiceNotSupportDscpSrteEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entry of Service Not Support DSCP SRTE table."
                INDEX { hwDscpSrteServiceName }
                ::= { hwServiceNotSupportDscpSrteTable 1 }

        HwServiceNotSupportDscpSrteEntry ::=
                SEQUENCE {
                         hwDscpSrteServiceName OCTET STRING 
                       }

        hwDscpSrteServiceName OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..31)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "This object indicates the service name."
              ::= {hwServiceNotSupportDscpSrteEntry 1}

-- service not support dscp srte 


-- tunnel not support inferface 

        hwTunnelNotSupportInterfaceTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwTunnelNotSupportInterfaceEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The table is used to define variables in traps."
                ::= { hwL2MAMObjects 57 }

        hwTunnelNotSupportInterfaceEntry OBJECT-TYPE
                SYNTAX HwTunnelNotSupportInterfaceEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entry of Tunnel table."
                INDEX { hwTunnelName ,  hwNotSupIfName, hwDescription }
                ::= { hwTunnelNotSupportInterfaceTable 1 }

        HwTunnelNotSupportInterfaceEntry ::=
                SEQUENCE {
                         hwTunnelName OCTET STRING,
                         hwNotSupIfName OCTET STRING ,
                         hwDescription OCTET STRING 
                       }

        hwTunnelName OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..31)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The tunnel name."
              ::= {hwTunnelNotSupportInterfaceEntry 1} 

        hwNotSupIfName OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..31)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The interface Name."
              ::= {hwTunnelNotSupportInterfaceEntry 2}

        hwDescription OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..31)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "The interface Name."
              ::= {hwTunnelNotSupportInterfaceEntry 3}

-- tunnel not support inferface 

-- not support  te over gre
       hwNotSupportTeOverGreTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwNotSupportTeOverGreEntry 
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to manage parameters of alarms that are generated because DSCP SRTE is not supported for service."
                ::= { hwL2MAMObjects 59 }

        hwNotSupportTeOverGreEntry OBJECT-TYPE
                SYNTAX HwNotSupportTeOverGreEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entry of not support te over gre table."
                INDEX { hwMplsBoardId }
                ::= { hwNotSupportTeOverGreTable 1 }

        HwNotSupportTeOverGreEntry ::=
                SEQUENCE {
                         hwMplsBoardId OCTET STRING 
                       }

        hwMplsBoardId OBJECT-TYPE
              SYNTAX  OCTET STRING(SIZE (0..31)) 
              MAX-ACCESS accessible-for-notify
              STATUS current
              DESCRIPTION
                  "This object indicates the slot id."
              ::= {hwNotSupportTeOverGreEntry 1}

-- not support  te over gre

--vll vpn qos not support tunnel 
        hwVllVpnQosNotSupportTunnelTable OBJECT-TYPE
               SYNTAX SEQUENCE OF HwVllVpnQosNotSupportTunnelEntry
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
                   "A table containing the vll information for device."
               ::= { hwL2MAMObjects 52 }
			   
         hwVllVpnQosNotSupportTunnelEntry OBJECT-TYPE
                SYNTAX HwVllVpnQosNotSupportTunnelEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                   "Entries of the vll table."
                INDEX {
                      hwVLLACIfName,
                      hwVLLPeerRemoteIp,
                      hwNotSupportTunnelTypeName
                      }
                 ::= { hwVllVpnQosNotSupportTunnelTable 1}

          HwVllVpnQosNotSupportTunnelEntry::=
                 SEQUENCE {
                       hwVLLACIfName
                            OCTET STRING ,
                       hwVLLPeerRemoteIp
                            IpAddress ,
                       hwNotSupportTunnelTypeName
                           OCTET STRING
                     }

        hwVLLACIfName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The interface name which will be configured for VLL."
                ::= { hwVllVpnQosNotSupportTunnelEntry 1 }
     
          hwVLLPeerRemoteIp OBJECT-TYPE
                 SYNTAX IpAddress
                 MAX-ACCESS accessible-for-notify
                 STATUS current
                 DESCRIPTION
                         "The remote ip address of the VLL."
                 ::= { hwVllVpnQosNotSupportTunnelEntry 2 }

          hwNotSupportTunnelTypeName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                   "The VLL name which can not forward traffic."
                ::= { hwVllVpnQosNotSupportTunnelEntry 3  }
--vll vpn qos not support tunnel


--3tuple static mac   
        hwdbCfg3tupleFdbTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwdbCfg3tupleFdbEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION "The layer 2 configured mac-address forwarding table .The table that 
                         contains the layer 2 mac-address forwarding information 
                         currently operating on this device."  
            ::= { hwL2MAMObjects 6 }   
        
        hwdbCfg3tupleFdbEntry OBJECT-TYPE
                SYNTAX HwdbCfg3tupleFdbEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of The layer 2 mac-address forwarding table."
                INDEX { hwdbCfg3tupleFdbMac, hwdbCfg3tupleFdbVlanId, hwdbCfg3tupleFdbInPort }
                ::= { hwdbCfg3tupleFdbTable 1 }
            
        HwdbCfg3tupleFdbEntry ::= 
            SEQUENCE {
                hwdbCfg3tupleFdbMac
                    MacAddress, 
                hwdbCfg3tupleFdbVlanId
                    Integer32,
                hwdbCfg3tupleFdbInPort
                    InterfaceIndex,
                hwdbCfg3tupleFdbOutPort
                    InterfaceIndex, 
                hwdbCfg3tupleFdbRowStatus
                    RowStatus
                }
                        
        hwdbCfg3tupleFdbMac OBJECT-TYPE
                SYNTAX MacAddress
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A unicast MAC address for which the device contains
                         it's information in the mac-address table. The mac-address 
                         can't be a special address or multicast address."
                ::= { hwdbCfg3tupleFdbEntry 1 }
        
        hwdbCfg3tupleFdbVlanId OBJECT-TYPE
                SYNTAX Integer32 (1..4094)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The VLAN name or other identifier referring to the VLAN 
                         which is correlative to the hwFdbMac."
                ::= { hwdbCfg3tupleFdbEntry 2 }  
        hwdbCfg3tupleFdbInPort OBJECT-TYPE
                SYNTAX InterfaceIndex 
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The input port. The port must be an ethernet port. 
                         And the port must be contained by the hwFdbVlanId or allow 
                         the hwFdbVlanId get across through itself."
                ::= { hwdbCfg3tupleFdbEntry 3 }   
                
        hwdbCfg3tupleFdbOutPort OBJECT-TYPE
                SYNTAX InterfaceIndex 
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The forwarding port. The port must be an ethernet port. 
                         And the port must be contained by the hwFdbVlanId or allow 
                         the hwFdbVlanId get across through itself."
                ::= { hwdbCfg3tupleFdbEntry 4 }    
                
         hwdbCfg3tupleFdbRowStatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The operating state of the row."
                ::= { hwdbCfg3tupleFdbEntry 5 }

       hwPwMacSpoofingAttackMacAddr OBJECT-TYPE
           		SYNTAX MacAddress
           		MAX-ACCESS accessible-for-notify
           		STATUS current
           		DESCRIPTION "A unicast MAC address for PW mac spoofing."
           		::= { hwL2MAMObjects 39 }  
        hwBdMacLimitBdId OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The bd id which will be configured mac-limit."
                ::= { hwL2MAMObjects 40 }  
        hwBdMacLimitMaxMac OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The maximum mac address. When the value is '0',
                        the meaning is that there isn't limiting rule to
                        the mac-address number."
                ::= { hwL2MAMObjects 41 }  
        hwVxlanTnlMacLimitSourceIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The vxlan tunnel source ip which will be configured mac-limit."
                ::= { hwL2MAMObjects 54 }  
        hwVxlanTnlMacLimitPeerIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The vxlan tunnel peer ip which will be configured mac-limit."
                ::= { hwL2MAMObjects 55 }  
        hwVxlanTnlMacLimitMaxMac OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The maximum mac address. When the value is '0',
                        the meaning is that there isn't limiting rule to
                        the mac-address number."
                ::= { hwL2MAMObjects 56 }  
         hwVlanMacLimitVlanId OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The bd id which will be configured mac-limit."
                ::= { hwL2MAMObjects 61 }  
        hwVlanMacLimitMaxMac OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The maximum mac address. When the value is '0',
                        the meaning is that there isn't limiting rule to
                        the mac-address number."
                ::= { hwL2MAMObjects 62 } 
        hwPortMacLimitPortName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..32))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The maximum mac address. When the value is '0',
                        the meaning is that there isn't limiting rule to
                        the mac-address number."
                ::= { hwL2MAMObjects 63}
        hwPortMacLimitMaxMac OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The maximum mac address. When the value is '0',
                        the meaning is that there isn't limiting rule to
                        the mac-address number."
                ::= { hwL2MAMObjects 64} 
    hwL2MacTraps OBJECT IDENTIFIER ::= { hwL2MAMObjects 7 }

    hwMacUsageRaisingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, entPhysicalName, hwMacEntityUsage, hwMacEntityUsageThreshold}
            STATUS current
            DESCRIPTION
                "This object indicates that the MAC address table usage reached the alarm threshold."
            ::= { hwL2MacTraps 1 }

    hwMacUsageFallingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, entPhysicalName, hwMacEntityUsage, hwMacEntityUsageThreshold}
            STATUS current
            DESCRIPTION
                "This object indicates that the MAC address usage fell below the alarm threshold."
            ::= { hwL2MacTraps 2 }

    hwMacLimitNumRaisingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwMacDynAddressLearnNum, hwMacLimitMaxMac,hwL2IfPortName,hwMacLimitBdId,hwMacLimitEVPName}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned by the interface reached the upper limit."
            ::= { hwL2MacTraps 3 }

    hwMacLimitNumFallingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwMacDynAddressLearnNum, hwMacLimitMaxMac,hwL2IfPortName,hwMacLimitBdId,hwMacLimitEVPName}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned by the interface fell below the upper limit."
            ::= { hwL2MacTraps 4 }
            
    hwUntargetMacNumAlarm NOTIFICATION-TYPE      
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwUntargetMacNum}
            STATUS current
            DESCRIPTION "Warning of untarget mac-address numbers."
            ::= { hwL2MacTraps 5 }


    hwPortSecRcvInsecurePktAlarm NOTIFICATION-TYPE
            OBJECTS {ifDescr, hwPortSecurityProtectAction}
            STATUS current
            DESCRIPTION 
                "Alarm of port perform the protect action shutdown or restrict
                        when receiving insecure mac packets in the interface."
            ::= { hwL2MacTraps 6 }

    hwPwMacLimitNumRaisingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwPwMacDynAddressLearnNum, hwPwMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned by the PW reached the upper limit."
            ::= { hwL2MacTraps 7 }

    hwPwMacLimitNumFallingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwPwMacDynAddressLearnNum, hwPwMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the PW-based MAC address learning trap was cleared."
            ::= { hwL2MacTraps 8 }

    hwPortStickyReachMaxAlarm NOTIFICATION-TYPE
            STATUS current
            DESCRIPTION 
                "An alarm is generated when the number of sticky MAC address entries reaches the maximum value."
            ::= { hwL2MacTraps 9 }
            
    hwRecIllegalMacPktAlarm NOTIFICATION-TYPE
	    OBJECTS { hwL2IfPortName }
	    STATUS current
	    DESCRIPTION 
		"The MAC addresses that received are illegal."
	    ::= { hwL2MacTraps 10 }

        hwMacLimitOverThresholdAlarm NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause,  hwBaseTrapEventType, hwMacDynAddressLearnNum, hwMacLimitMaxMac, hwL2IfPortName, hwMacLimitVlanId, hwMacLimitVsiName}
            STATUS current
            DESCRIPTION
                "Beyond the mac limited learning number."
            ::= { hwL2MacTraps 11 }
            
    hwMacFlappingAlarm NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwMacflappingMac, hwMacFlappingVlan, hwL2IfPortName, hwL2IfPortName, entPhysicalName}
            STATUS current
            DESCRIPTION
                " Mac flapping alarm ."
            ::= { hwL2MacTraps 12 }  
            
    hwSlotMacLimitNumRaisingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwMacDynAddressLearnNum, hwMacLimitMaxMac, entPhysicalName, entPhysicalName}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned per slot in the upstream direction reached the alarm threshold."
            ::= { hwL2MacTraps 13 }  
            
    hwSlotMacLimitNumFallingThreshold NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwMacDynAddressLearnNum, hwMacLimitMaxMac, entPhysicalName, entPhysicalName}
            STATUS current
            DESCRIPTION
                "The number of MAC addresses that are learnt based on the SLOT falls below 
                 the upper limit."
            ::= { hwL2MacTraps 14 }                         
 
     hwL2ProtocolTunnelDropThresholdRaising NOTIFICATION-TYPE
            OBJECTS { hwL2ProtocolTunnelTrapPortName, hwL2ProtocolTunnelTrapProtocolName, hwL2ProtocolTunnelTrapDropThreshold}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of L2PDUs that were transparently transmitted reached the drop threshold."
            ::= { hwL2MacTraps 15 }
            
    hwL2ProtocolTunnelDropThresholdFalling NOTIFICATION-TYPE
            OBJECTS { hwL2ProtocolTunnelTrapPortName, hwL2ProtocolTunnelTrapProtocolName, hwL2ProtocolTunnelTrapDropThreshold}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of L2PDUs that were transparently transmitted fell below the drop threshold."
            ::= { hwL2MacTraps 16 }           
    hwVsiMacLimitNumRaisingThresholdAlarm NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwMacLimitVsiName}
            STATUS current
            DESCRIPTION                     
                "The vsi Beyond the mac limited learning number ."                
            ::= { hwL2MacTraps 17 }           
    hwVsiMacLimitNumRaisingThresholdAlarmClear NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, hwMacLimitVsiName}
            STATUS current
            DESCRIPTION
                "The vsi release from the mac limited learning number ."
            ::= { hwL2MacTraps 18 }
                                                                                                        hwMacLimitOverThresholdAlarmResume NOTIFICATION-TYPE
            OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause,  hwBaseTrapEventType, hwMacDynAddressLearnNum, hwMacLimitMaxMac, hwL2IfPortName, hwMacLimitVlanId, hwMacLimitVsiName}
            STATUS current
            DESCRIPTION
                "Less than the mac limited learning number ."
            ::= { hwL2MacTraps 19 }
            
    hwSlotMacNumRaisingThreshold NOTIFICATION-TYPE
            OBJECTS { hwMacSlotStatistics, hwMacSlotStatisticsSpecify}
            STATUS current
            DESCRIPTION
                "This notification indicates the MAC usage of the slot raising the threshold."
            ::= { hwL2MacTraps 20 }
            
    hwSlotMacNumFallingThreshold NOTIFICATION-TYPE
            OBJECTS { hwMacSlotStatistics, hwMacSlotStatisticsSpecify}
            STATUS current
            DESCRIPTION
                "This notification indicates the MAC usage of the slot falling the threshold."
            ::= { hwL2MacTraps 21 }
       hwMacLimitRuleNumRaisingThreshold NOTIFICATION-TYPE
            OBJECTS {entPhysicalName,hwMacRuleDynAddressLearnNum,hwMacLimitRuleMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned by a board reached the MAC address limit specified in a global rule."
            ::= { hwL2MacTraps 22 }
   
      hwMacLimitRuleNumFallingThreshold NOTIFICATION-TYPE
            OBJECTS {entPhysicalName,hwMacRuleDynAddressLearnNum,hwMacLimitRuleMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned by a board fell below the MAC address limit specified in a global rule."
            ::= { hwL2MacTraps 23 }

      hwVplsOverGRENotSupportForwardRising NOTIFICATION-TYPE
            OBJECTS {hwVplsOverGreVsiName,hwRemoteIp}
            STATUS current
            DESCRIPTION
                "The public network tunnel used to carry the VPLS PW is a GRE tunnel and the VPLS PW cannot forward traffic. "
            ::= { hwL2MacTraps 24 }

      hwVplsOverGRENotSupportForwardRisingResume NOTIFICATION-TYPE
            OBJECTS {hwVplsOverGreVsiName,hwRemoteIp}
            STATUS current
            DESCRIPTION
                "The public network tunnel used to carry the VPLS PW is a non-GRE tunnel and the VPLS PW can forward traffic again. "
            ::= { hwL2MacTraps 25 }
          
      hwIfInputUnucFlowRisingThreshold NOTIFICATION-TYPE
            OBJECTS {hwUNUCPortName,hwUNUCPortAlarmThreshold,hwUNUCPortRealFlow}
            STATUS current
            DESCRIPTION
                "This object indicates that the unknown unicast traffic volume on the inbound interface exceeded the alarm threshold."
            ::= { hwL2MacTraps 28 }

      hwIfInputUnucFlowFallingThreshold NOTIFICATION-TYPE
            OBJECTS {hwUNUCPortName,hwUNUCPortAlarmThreshold,hwUNUCPortRealFlow}
            STATUS current
            DESCRIPTION
                "This object indicates that the unknown unicast traffic volume on the inbound interface fell below the alarm threshold."
            ::= { hwL2MacTraps 29 }

      hwMacHopAlarmRisingThreshold NOTIFICATION-TYPE
            OBJECTS { hwMacHopVlan, hwMacHopVsiName, hwMacHopBdID, hwMacHopPortName1, hwMacHopPortName2, hwMacHopPortName3, hwMacHopPortName4, hwMacHopPWInfo, hwMacHopDetectMac, hwMacHopTrustPort, hwMacHopTrustPeer}
            STATUS current
            DESCRIPTION
                "This object indicates the MAC address flapping alarm."
            ::= { hwL2MacTraps 30 }

      hwMacHopAlarmFallingThreshold NOTIFICATION-TYPE
            OBJECTS { hwMacHopVlan, hwMacHopVsiName, hwMacHopBdID}
            STATUS current
            DESCRIPTION
                "This object indicates that the MAC address flapping alarm is cleared."
            ::= { hwL2MacTraps 31 }

        hwPstBroadcastLostAlarm NOTIFICATION-TYPE
            OBJECTS { entPhysicalIndex, entPhysicalName }
            STATUS current
            DESCRIPTION 
                "This object indicates the alarm that a board does not receive PST broadcast packets from other boards within one minute."
            ::= { hwL2MacTraps 32 }
            
        hwPstBroadcastLostResume NOTIFICATION-TYPE
            OBJECTS { entPhysicalIndex, entPhysicalName }
            STATUS current
            DESCRIPTION 
                "This object indicates that the board receives PST broadcast packets from other boards within one minute and the alarm is cleared."
            ::= { hwL2MacTraps 33 }

        hwPwMacSpoofingAttackAlarm NOTIFICATION-TYPE
            OBJECTS {hwVplsVsiName, entPhysicalName, hwPwMacSpoofingAttackMacAddr}
            STATUS current
            DESCRIPTION
                "A PW received MAC spoofing packets from an interface. "
            ::= { hwL2MacTraps 34 } 
             
        hwPwMacSpoofingAttackAlarmClear NOTIFICATION-TYPE
            OBJECTS {hwVplsVsiName, entPhysicalName}
            STATUS current
            DESCRIPTION
                "The alarm indicating that a PW received MAC spoofing packets from an interface was cleared. "
            ::= { hwL2MacTraps 35 }  
        
        hwBdMacLimitOverThresholdAlarm NOTIFICATION-TYPE
            OBJECTS {hwBdMacLimitBdId, hwBdMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "Beyond the mac limited learning number. "
            ::= { hwL2MacTraps 36 } 
        
        hwBdMacLimitOverThresholdAlarmResume NOTIFICATION-TYPE
            OBJECTS {hwBdMacLimitBdId, hwBdMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "Less than the mac limited learning number. "
            ::= { hwL2MacTraps 37 } 

      hwPWOverLdpOverGRENotSupportForwardAlarm NOTIFICATION-TYPE
            OBJECTS {hwVplsOverLdpOverGreVsiName,hwPeerRemoteIp,hwEvpnOverLdpOverGreEvpnName}
            STATUS current
            DESCRIPTION
                "The public network tunnel used to carry the VPLS PW or EVPN is a LDP over GRE tunnel and the VPLS PW or EVPN cannot forward traffic. "
            ::= { hwL2MacTraps 38 }

      hwPWOverLdpOverGRENotSupportForwardResume NOTIFICATION-TYPE
            OBJECTS {hwVplsOverLdpOverGreVsiName,hwPeerRemoteIp,hwEvpnOverLdpOverGreEvpnName}
            STATUS current
            DESCRIPTION
                "The public network tunnel used to carry the VPLS PW or EVPN is a not a LDP over GRE tunnel. "
            ::= { hwL2MacTraps 39 }

      hwPwSourceTunnelCheckAlarm NOTIFICATION-TYPE
            OBJECTS { hwPwLabel ,hwTeLabel,hwPortName}
            STATUS current
            DESCRIPTION
                "This object indicates that packets are dropped because they do not match the PW's source tunnel check."
            ::= { hwL2MacTraps 40 }

      hwPwSourceTunnelCheckResume NOTIFICATION-TYPE
            OBJECTS { hwPwLabel ,hwTeLabel,hwPortName}
            STATUS current
            DESCRIPTION
                "This object indicates that all packets match during the PW's source tunnel check."
            ::= { hwL2MacTraps 41 }

      hwPwSourceTunnelNoTeCheckAlarm NOTIFICATION-TYPE
            OBJECTS { hwPwLabel ,hwPortName}
            STATUS current
            DESCRIPTION
                "This object indicates that packets are discarded because they do not match the PW's source tunnel check and the packets do not carry public network labels."
            ::= { hwL2MacTraps 42 }

      hwPwSourceTunnelNoTeCheckResume NOTIFICATION-TYPE
            OBJECTS { hwPwLabel ,hwPortName}
            STATUS current
            DESCRIPTION
                 "This object indicates that all packets match during the PW's source tunnel check."
            ::= { hwL2MacTraps 43 }	
			
      hwBoardServiceMisMatchGenerate NOTIFICATION-TYPE
            OBJECTS { entPhysicalIndex, entPhysicalName, hwBoardServiceMisMatchServiceName, hwBoardServiceMisMatchPrecautions}
            STATUS current
            DESCRIPTION
                "This object indicates the alarm that the board does not support this service."
            ::= { hwL2MacTraps 44 }

      hwBoardServiceMisMatchCancel NOTIFICATION-TYPE
            OBJECTS { entPhysicalIndex, entPhysicalName, hwBoardServiceMisMatchServiceName}
            STATUS current
            DESCRIPTION
                "This object indicates that the unsupported service is removed or the non-supportive board is replaced."
            ::= { hwL2MacTraps 45 }

        hwEVPNNotSupportTunnelAlarm NOTIFICATION-TYPE     
             OBJECTS {hwEVPNPeerRemoteIp,hwNotSupportTunnelEvpnName,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "This object indicates the alarm that the EVPN public network does not support traffic forwarding."              
             ::= { hwL2MacTraps 46 }              
   
        hwEVPNNotSupportTunnelAlarmResume NOTIFICATION-TYPE              
             OBJECTS {hwEVPNPeerRemoteIp,hwNotSupportTunnelEvpnName,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "This object indicates that the EVPN public network supports traffic forwarding and the alarm is cleared."              
             ::= { hwL2MacTraps 47 }  

         hwVPLSNotSupportTunnelAlarm NOTIFICATION-TYPE     
              OBJECTS {hwNotSupportTunnelPwId,hwPWPeerRemoteIp,hwNotSupportTunnelVSIName,hwNotSupportTunnelType}              
              STATUS current              
              DESCRIPTION              
                    "This object indicates the alarm that the VPLS public network does not support traffic forwarding."              
              ::= { hwL2MacTraps 48 }              
   
         hwVPLSNotSupportTunnelAlarmResume NOTIFICATION-TYPE              
              OBJECTS {hwNotSupportTunnelPwId,hwPWPeerRemoteIp,hwNotSupportTunnelVSIName,hwNotSupportTunnelType}              
              STATUS current              
              DESCRIPTION              
                    "This object indicates that the VPLS public network supports traffic forwarding and the alarm is cleared."              
              ::= { hwL2MacTraps 49 }  
        
         hwServiceNotSupportNodeSrteLoadBanlance NOTIFICATION-TYPE
            OBJECTS {hwNodeSrteTunnelName, hwNodeSrteServiceName}
            STATUS current
            DESCRIPTION
                "This object indicates the alarm that traffic for the service cannot be balanced over node SR TE tunnels."
            ::= { hwL2MacTraps 50 }
			
         hwVplsPwHqosNotSupportTunnelAlarm NOTIFICATION-TYPE     
             OBJECTS {hwNotSupportTunnelVSIName,hwPWPeerRemoteIp,hwNotSupportTunnelPwId,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "This object indicates that the VPLS PW HQoS service does not support the current public network tunnel."              
             ::= { hwL2MacTraps 51 }              
   
        hwVplsPwHqosNotSupportTunnelAlarmResume NOTIFICATION-TYPE              
             OBJECTS {hwNotSupportTunnelVSIName,hwPWPeerRemoteIp,hwNotSupportTunnelPwId,hwNotSupportTunnelType}                  
             STATUS current              
             DESCRIPTION              
                   "This object indicates that the VPLS PW HQoS service supports the current public network tunnel."              
             ::= { hwL2MacTraps 52} 

        hwPbbEvpnNotSupportTunnelAlarm NOTIFICATION-TYPE     
             OBJECTS {hwEVPNPeerRemoteIp,hwNotSupportTunnelEvpnName,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "This object indicates the alarm that the PBB EVPN public network does not support traffic forwarding."              
             ::= { hwL2MacTraps 53 }              
   
        hwPbbEvpnNotSupportTunnelAlarmResume NOTIFICATION-TYPE              
             OBJECTS {hwEVPNPeerRemoteIp,hwNotSupportTunnelEvpnName,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "This object indicates that the PBB EVPN public network supports traffic forwarding and the alarm is cleared."              
             ::= { hwL2MacTraps 54}  


        hwVllVpnQosNotSupportTunnelAlarm NOTIFICATION-TYPE     
             OBJECTS {hwVLLACIfName, hwVLLPeerRemoteIp,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "The public network tunnel used to carry the VLL cannot forward traffic. "              
             ::= { hwL2MacTraps 55 }              
   
        hwVllVpnQosNotSupportTunnelAlarmResume NOTIFICATION-TYPE              
             OBJECTS {hwVLLACIfName, hwVLLPeerRemoteIp,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "The public network tunnel used to carry the VLL support forwarded traffic successfully. "              
             ::= { hwL2MacTraps 56 }  

        hwVllVpnQosOverTunnelAlarm NOTIFICATION-TYPE     
             OBJECTS {hwVLLACIfName, hwVLLPeerRemoteIp,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "VLL VPN QoS services are not supported on the public network tunnel. "              
             ::= { hwL2MacTraps 57 }              
   
        hwVllVpnQosOverTunnelAlarmResume NOTIFICATION-TYPE              
             OBJECTS {hwVLLACIfName, hwVLLPeerRemoteIp,hwNotSupportTunnelType}              
             STATUS current              
             DESCRIPTION              
                   "VLL VPN QoS services are supported on the public network tunnel.  "              
             ::= { hwL2MacTraps 58 } 

        hwBroadcastDomainElbAlarm	NOTIFICATION-TYPE     
             OBJECTS {hwMacLimitVlanId, hwMacLimitBdId,hwVplsVsiName,hwMacLimitEVPName}              
             STATUS current              
             DESCRIPTION              
                   "The number of broadcast domain leaves exceeded the limit. "              
             ::= { hwL2MacTraps 59 }              
   
        hwBroadcastDomainElbAlarmResume NOTIFICATION-TYPE              
             OBJECTS {hwMacLimitVlanId, hwMacLimitBdId,hwVplsVsiName,hwMacLimitEVPName}              
             STATUS current              
             DESCRIPTION              
                   "The number of broadcast domain leaves fell below the limit.  "              
             ::= { hwL2MacTraps 60 } 

        hwL2DomainMacLimitNumRaisingThreshold NOTIFICATION-TYPE              
             OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, entPhysicalName, hwMacLimitAlarmDynNum, hwMacLimitAlarmMaxMac, hwMacLimitAlarmUpthreshold, hwMacLimitAlarmDownthreshold}             
             STATUS current              
             DESCRIPTION              
                   "The number of MAC addresses learned reached the upper threshold."              
             ::= { hwL2MacTraps 61 } 
        hwL2DomainMacLimitNumFallingThreshold NOTIFICATION-TYPE              
             OBJECTS { hwBaseTrapSeverity, hwBaseTrapProbableCause, hwBaseTrapEventType, entPhysicalName, hwMacLimitAlarmDynNum, hwMacLimitAlarmMaxMac, hwMacLimitAlarmUpthreshold, hwMacLimitAlarmDownthreshold}             
             STATUS current              
             DESCRIPTION              
                   "The MAC address learning trap was cleared."              
             ::= { hwL2MacTraps 62 } 
        hwVxlanTunnelMacLimitOverThresholdAlarm NOTIFICATION-TYPE
            OBJECTS {hwVxlanTnlMacLimitSourceIp, hwVxlanTnlMacLimitPeerIp, hwVxlanTnlMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "Beyond the mac limited learning number. "
            ::= { hwL2MacTraps 63 } 
        
        hwVxlanTunnelMacLimitOverThresholdAlarmResume NOTIFICATION-TYPE
            OBJECTS {hwVxlanTnlMacLimitSourceIp, hwVxlanTnlMacLimitPeerIp, hwVxlanTnlMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "Less than the mac limited learning number. "
            ::= { hwL2MacTraps 64 } 

         hwTunnelNotSupportInterface NOTIFICATION-TYPE
            OBJECTS {hwTunnelName, hwNotSupIfName, hwDescription}
            STATUS current
            DESCRIPTION
                "The tunnel can not support the interface."
            ::= { hwL2MacTraps 65 }

         hwServiceNotSupportDscpSrte NOTIFICATION-TYPE
            OBJECTS {hwDscpSrteServiceName}
            STATUS current
            DESCRIPTION
                "This object indicates the alarm that the service cannot support srte dscp function."
            ::= { hwL2MacTraps 66 }

        hwVlanMacLimitOverThreshold NOTIFICATION-TYPE
            OBJECTS {hwVlanMacLimitVlanId, hwVlanMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned based on a VLAN reaches the upper threshold."
            ::= { hwL2MacTraps 67 } 
        
        hwVlanMacLimitOverThresholdResume NOTIFICATION-TYPE
            OBJECTS {hwVlanMacLimitVlanId, hwVlanMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned based on a VLAN falls below the upper threshold."
            ::= { hwL2MacTraps 68 } 

        hwPortMacLimitOverThreshold NOTIFICATION-TYPE
            OBJECTS {hwPortMacLimitPortName, hwPortMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned by an interface reaches the upper threshold."
            ::= { hwL2MacTraps 69 } 
        
        hwPortMacLimitOverThresholdResume NOTIFICATION-TYPE
            OBJECTS {hwPortMacLimitPortName, hwPortMacLimitMaxMac}
            STATUS current
            DESCRIPTION
                "This object indicates that the number of MAC addresses learned by an interface falls below the upper threshold."
            ::= { hwL2MacTraps 70 } 

        hwNotSupportTeOverGre NOTIFICATION-TYPE
            OBJECTS {hwMplsBoardId}
            STATUS current
            DESCRIPTION
                "This object indicates the board cannot support te over gre."
            ::= { hwL2MacTraps 71}

-- untarget mac number            
    hwUntargetMacNum  OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The number of untarget mac-address."
        ::= { hwL2MAMObjects  8 }
        
-- mac-address aging-time         
    hwMacAgingTime OBJECT-TYPE
        SYNTAX Integer32 (10..1000000 | 0)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
        "The interval that the hardware deletes any entry 
        whose hit bit is cleared and clears the hit bit  
        of the remaining entries.The default value is 300 seconds.'0'means the MAC entries will be 
        never aged."
        ::= { hwL2MAMObjects 9 }   
                        
-- mac-address restrict         
    hwMacRestrict OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
        "This object indicates whether MAC address learning 
        restrict has been enabled for the system."
        ::= { hwL2MAMObjects 10 }
                
   -- port-security
        hwPortSecurityTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwPortSecurityEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the port security information for device.
                It can protect the port from inaccessible mac."
                ::= { hwL2MAMObjects  11 }

        hwPortSecurityEntry OBJECT-TYPE
                SYNTAX HwPortSecurityEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the port security table."
                INDEX { hwPortSecurityPort }
                ::= { hwPortSecurityTable 1 }

        HwPortSecurityEntry ::=
                SEQUENCE {
                        hwPortSecurityPort
                                InterfaceIndexOrZero,
                        hwPortSecurityEnabled
                                EnabledStatus,
                        hwPortSecurityProtectAction
                                INTEGER,
                        hwPortSecurityAllDynToStaticEnable
                                EnableValue,    
                        hwPortSecurityAllDynToStickyEnable
                                EnableValue,    
                        hwPortSecurityMaxMacNum
                                Integer32
                       }

        hwPortSecurityPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The port number which will be configured port security."
                ::= { hwPortSecurityEntry 1 }

        hwPortSecurityEnabled  OBJECT-TYPE
                SYNTAX EnabledStatus
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION 
                       "When this object is set to 'enabled(1)' Port security
                    is enabled on this port else disabled."
                ::= { hwPortSecurityEntry 2 }      
        

        hwPortSecurityProtectAction OBJECT-TYPE
                SYNTAX INTEGER
                {
                restrict(1),
                protect(2),
                shutdown(3),
                noaction(4)
                }
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                        "The port security protect action of this entry. The
                        meanings of the values are:
                         restrict(1)- shutdown the port
                         protect(2)- discard the unknow source mac packets and not learn
                         shutdown(3)- send trap
                         noaction(4)- broadcast the packet ."
                ::= { hwPortSecurityEntry 3 }
              
                
        hwPortSecurityAllDynToStaticEnable  OBJECT-TYPE
                SYNTAX          EnableValue
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                    "When this object is set to 'enable(1)' all dynamic mac-address on the Port 
                will convert to static."
                ::= { hwPortSecurityEntry 4 } 
                 
        hwPortSecurityAllDynToStickyEnable  OBJECT-TYPE
                SYNTAX          EnableValue
                MAX-ACCESS      read-write
                STATUS          current
                DESCRIPTION
                    "When this object is set to enable and port security is enabled, 
                    the dynamic MAC address entry will be changed to a sticky MAC address entry."
                ::= { hwPortSecurityEntry 5 } 

        hwPortSecurityMaxMacNum OBJECT-TYPE
                SYNTAX Integer32 (0..16384)
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                    "The maximum mac address can be learned based on the port."
                ::= { hwPortSecurityEntry 6 }
              
 -- MacLimitGlobalRule
        hwMacLimitGlobalRuleTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacLimitGlobalRuleEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to query restriction rules on global MAC address learning."
                ::= { hwL2MAMObjects 12 }

        hwMacLimitGlobalRuleEntry OBJECT-TYPE
                SYNTAX HwMacLimitGlobalRuleEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the global mac-address learning-limit rule table."
                INDEX { hwMacLimitGlobalRuleName }
                ::= { hwMacLimitGlobalRuleTable 1 }

        HwMacLimitGlobalRuleEntry ::=
                SEQUENCE {                       
                        hwMacLimitGlobalRuleName
                                OCTET STRING,
                        hwMacLimitRuleMaxMac
                                Integer32,
                        hwMacLimitRuleMaxRate
                                Integer32,
                        hwMacLimitRuleAction 
                                INTEGER,
                        hwMacLimitRuleAlarm
                                INTEGER,
                        hwMacLimitRuleRowstatus
                                RowStatus,
                        hwMacRuleDynAddressLearnNum
                                Integer32
                       }

        hwMacLimitGlobalRuleName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the name of the restriction rule on global MAC address learning."
                ::= { hwMacLimitGlobalRuleEntry 1 }

        hwMacLimitRuleMaxMac OBJECT-TYPE
                SYNTAX Integer32(0..131072)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the maximum number of MAC addresses that can be learned. The value of 0 indicates no restriction rules."
                ::= { hwMacLimitGlobalRuleEntry 11 }

        hwMacLimitRuleMaxRate OBJECT-TYPE
                SYNTAX Integer32(0..1000)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the highest rate of MAC address learning. The value ranges from 0 to 1000. The value of 0 indicates that the rate of MAC address learning is not limited."
                ::= { hwMacLimitGlobalRuleEntry 12 }

        hwMacLimitRuleAction OBJECT-TYPE
                SYNTAX INTEGER
                {
                discard(1),
                forward(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the action type to be used after the number of learned MAC addresses reaches the upper threshold."
                ::= { hwMacLimitGlobalRuleEntry 13 }

        hwMacLimitRuleAlarm OBJECT-TYPE
                SYNTAX INTEGER
                {
                disable(1),
                enable(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates whether the alarm for MAC address learning restriction is enabled."
                ::= { hwMacLimitGlobalRuleEntry 14 }

        hwMacLimitRuleRowstatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the row status."
                ::= { hwMacLimitGlobalRuleEntry 51 }
		 hwMacRuleDynAddressLearnNum   OBJECT-TYPE
                SYNTAX Integer32(0..131072)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The number of dynamic MAC address learned by the board."
                ::= { hwMacLimitGlobalRuleEntry  52 } 

 -- MacLimitApplyTable               
        hwMacLimitApplyRuleTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacLimitApplyRuleEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the global mac-address learning-limit rules and apply ports."
                ::= { hwL2MAMObjects 13 }

        hwMacLimitApplyRuleEntry OBJECT-TYPE
                SYNTAX HwMacLimitApplyRuleEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the global mac-address learning-limit rules and apply ports table."
                INDEX { hwMacLimitApplyPort, hwMacLimitApplyVlanId }
                ::= { hwMacLimitApplyRuleTable 1 }     
                
        HwMacLimitApplyRuleEntry ::=
                SEQUENCE {
                        hwMacLimitApplyPort
                                InterfaceIndexOrZero,   
                        hwMacLimitApplyVlanId
                                Integer32,
                        hwMacLimitApplyRuleName
                                OCTET STRING,        
                        hwMacLimitApplyRowstatus
                                RowStatus
                       }      
                       
        hwMacLimitApplyPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The port number which apply the global mac-address learning-limit rule."
                ::= { hwMacLimitApplyRuleEntry 1 }      
                
        hwMacLimitApplyVlanId OBJECT-TYPE
                SYNTAX Integer32(0..4094)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The vlan id which apply the global mac-address learning-limit rule."
                ::= { hwMacLimitApplyRuleEntry 2 }
                
        hwMacLimitApplyRuleName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The global mac-address learning-limit rule name."
                ::= { hwMacLimitApplyRuleEntry 11 } 
                
        hwMacLimitApplyRowstatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The operating state of the row."
                ::= { hwMacLimitApplyRuleEntry 51 }

        hwMacGlobalStatistics OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The number of the global mac-address items."
                ::= { hwL2MAMObjects 14 }
                
        hwMacIfStatisticsTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacIfStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table showing the number of mac-address items by interface index."
                ::= { hwL2MAMObjects 15 }

        hwMacIfStatisticsEntry OBJECT-TYPE
                SYNTAX HwMacIfStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the statistics of mac-address table."
                INDEX { hwMacIfStatisticsIfIndex }
                ::= { hwMacIfStatisticsTable 1 }
                
        HwMacIfStatisticsEntry ::=
                SEQUENCE {
                        hwMacIfStatisticsIfIndex
                                InterfaceIndex,
                        hwMacIfStatistics
                                Integer32
                         }      
                       
        hwMacIfStatisticsIfIndex OBJECT-TYPE
                SYNTAX InterfaceIndex
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The interface index which is correlative to the hwIfMacStatistics table."
                ::= { hwMacIfStatisticsEntry 1 }                
                
        hwMacIfStatistics OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The number of the mac-address items."
                ::= { hwMacIfStatisticsEntry 2 }                 
                 
        hwMacSlotStatisticsTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacSlotStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to describe MAC capacity statistics on an interface board."
                ::= { hwL2MAMObjects 16 }

        hwMacSlotStatisticsEntry OBJECT-TYPE
                SYNTAX HwMacSlotStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the statistics of mac-address table."
                INDEX { hwMacSlotStatisticsSlotId }
                ::= { hwMacSlotStatisticsTable 1 }
                
        HwMacSlotStatisticsEntry ::=
                SEQUENCE {
                        hwMacSlotStatisticsSlotId
                                Integer32,
                        hwMacSlotStatistics
                                Integer32,
                        hwMacSlotStatisticsSpecify
                                Integer32,
                        hwMacSlotUsage
                                Integer32,
                        hwMacSlotUsageThreshold
                                Integer32                                
                         }      
                       
        hwMacSlotStatisticsSlotId OBJECT-TYPE
                SYNTAX Integer32 (0..128)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the interface board ID."
                ::= { hwMacSlotStatisticsEntry 1 }               
                
        hwMacSlotStatistics OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "This object indicates the number of MAC addresses learned based on the interface board ID."
                ::= { hwMacSlotStatisticsEntry 2 }

               hwMacSlotStatisticsSpecify OBJECT-TYPE              
               SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "This object indicates the maximum MAC capacity on the interface board."
                ::= { hwMacSlotStatisticsEntry 3 }

        hwMacSlotUsage OBJECT-TYPE
               SYNTAX Integer32 (0..100)
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION
               "This object indicates the MAC address utilization ratio on the interface board."
               ::= { hwMacSlotStatisticsEntry 4 }

        hwMacSlotUsageThreshold OBJECT-TYPE
               SYNTAX Integer32 (1..99)
               MAX-ACCESS read-only
               STATUS current
               DESCRIPTION
               "This object indicates the MAC address threshold on the interface board."
               ::= { hwMacSlotStatisticsEntry 5 }
                
        hwMacVlanStatisticsTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacVlanStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table showing the number of mac-address items by VLAN ID."
                ::= { hwL2MAMObjects 17 }

        hwMacVlanStatisticsEntry OBJECT-TYPE
                SYNTAX HwMacVlanStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the statistics of mac-address table."
                INDEX { hwMacVlanStatisticsVlanId }
                ::= { hwMacVlanStatisticsTable 1 }
                
        HwMacVlanStatisticsEntry ::=
                SEQUENCE {
                        hwMacVlanStatisticsVlanId
                                VlanId,
                        hwMacVlanStatistics
                                Integer32
                         }      
                
        hwMacVlanStatisticsVlanId OBJECT-TYPE
                SYNTAX VlanId
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The VLAN ID which is correlative to the hwMacVlanStatistics table."
                ::= { hwMacVlanStatisticsEntry 1 }                
                
        hwMacVlanStatistics OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The number of the mac-address items."
                ::= { hwMacVlanStatisticsEntry 2 }
                

        hwMacVsiStatisticsTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacVsiStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table showing the number of mac-address items by VSI name."
                ::= { hwL2MAMObjects 18 }

        hwMacVsiStatisticsEntry OBJECT-TYPE
                SYNTAX HwMacVsiStatisticsEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the statistics of mac-address table."
                INDEX { hwMacVsiStatisticsVsiName }
                ::= { hwMacVsiStatisticsTable 1 }
                
        HwMacVsiStatisticsEntry ::=
                SEQUENCE {
                        hwMacVsiStatisticsVsiName
                                OCTET STRING,
                        hwMacVsiStatistics
                                Integer32
                         }                             
                
        hwMacVsiStatisticsVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The VSI name which is correlative to the hwMacVsiStatistics table."
                ::= { hwMacVsiStatisticsEntry 1 }
                
        hwMacVsiStatistics OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The number of the mac-address items."
                ::= { hwMacVsiStatisticsEntry 2 }  

-- PwMacLimit
        hwPwMacLimitTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwPwMacLimitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to query MAC address learning suppression based on a PW."
                ::= { hwL2MAMObjects 19 }

        hwPwMacLimitEntry OBJECT-TYPE
                SYNTAX HwPwMacLimitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of a rule table for PW-based MAC learning limit."
                INDEX { hwPwMacLimitVsiName,hwPwMacLimitPwName }
                ::= { hwPwMacLimitTable 1 }

        HwPwMacLimitEntry ::=
                SEQUENCE {
                        hwPwMacLimitVsiName
                                OCTET STRING,
                        hwPwMacLimitPwName
                                OCTET STRING,
                        hwPwMacLimitMaxMac
                                Integer32,
                        hwPwMacLimitMaxRate
                                Integer32,
                        hwPwMacLimitAction
                                INTEGER,
                        hwPwMacLimitAlarm
                                EnabledStatus,
                        hwPwMacLimitRowstatus
                                RowStatus,
                        hwPwMacAddressLearn
                                EnabledStatus,
                        hwPwMacDynAddressLearnNum
                                Integer32
                       }

        hwPwMacLimitVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the VSI name of MAC address learning suppression based on a PW."
                ::= { hwPwMacLimitEntry 1 }

        hwPwMacLimitPwName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..16))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates the PW name of MAC address learning suppression."
                ::= { hwPwMacLimitEntry 2 }

        hwPwMacLimitMaxMac OBJECT-TYPE
                SYNTAX Integer32(0..131072)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the maximum number of MAC addresses that can be learned. The value of 0 indicates no limit on the number of MAC addresses that can be learned."
                ::= { hwPwMacLimitEntry 3 }

        hwPwMacLimitMaxRate OBJECT-TYPE
                SYNTAX Integer32(0..1000)
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the maximum rate of MAC address learning. The value of 0 indicates that the rate of MAC address learning is not limited."
                ::= { hwPwMacLimitEntry 4 }

        hwPwMacLimitAction OBJECT-TYPE
                SYNTAX INTEGER
                {
                discard(1),
                forward(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates whether packets are forwarded after the number of learned MAC addresses reaches the upper threshold."
                ::= { hwPwMacLimitEntry 5 }

        hwPwMacLimitAlarm OBJECT-TYPE
                SYNTAX EnabledStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates whether the alarm is enabled after the number of learned MAC addresses reaches the upper threshold."
                ::= { hwPwMacLimitEntry 6 }

        hwPwMacLimitRowstatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the row status of hwPwMacLimitTable."
                ::= { hwPwMacLimitEntry 7 }

        hwPwMacAddressLearn  OBJECT-TYPE
                SYNTAX EnabledStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates whether MAC address learning is enabled."
                ::= { hwPwMacLimitEntry 8 }

        hwPwMacDynAddressLearnNum   OBJECT-TYPE
                SYNTAX Integer32(0..131072)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "This object indicates the number of dynamically learned MAC addresses."
                ::= { hwPwMacLimitEntry 9 }

        hwMacSpoofingDefendTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacSpoofingDefendEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table enable the MAC spoofing defend."
                ::= { hwL2MAMObjects 20 }

        hwMacSpoofingDefendEntry OBJECT-TYPE
                SYNTAX HwMacSpoofingDefendEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the MAC spoofing defend table."
                INDEX { hwMacSpoofingDefendPort }
                ::= { hwMacSpoofingDefendTable 1 }

        HwMacSpoofingDefendEntry ::=
                SEQUENCE {
                        hwMacSpoofingDefendPort
                                InterfaceIndexOrZero,
                        hwMacSpoofingDefendEnabled
                                EnabledStatus
                       }

        hwMacSpoofingDefendPort OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The port number which will be configured 1.1.1 MAC spoofing defend."
                ::= { hwMacSpoofingDefendEntry 1 }

        hwMacSpoofingDefendEnabled  OBJECT-TYPE
                SYNTAX EnabledStatus
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION 
                       "When this object is set to 'enabled(1)' MAC spoofing defend
                    is enabled on this port else disabled."
                ::= { hwMacSpoofingDefendEntry 2 }   

        hwDiscardIllegalMacEnable OBJECT-TYPE
                SYNTAX EnabledStatus
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                       "When this object is set to 'enabled(1)' illegal MAC will be discarded."
                ::= { hwL2MAMObjects 21 }        

        hwDiscardIllegalMacAlarm OBJECT-TYPE
                SYNTAX EnabledStatus
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                       "When this object is set to 'enabled(1)' discard illegal MAC alarm
                       is enabled else disabled."
                ::= { hwL2MAMObjects 22 }   
                 
        hwMacSpoofingDefend OBJECT-TYPE
                SYNTAX EnabledStatus
                MAX-ACCESS read-write
                STATUS current
                DESCRIPTION
                       "When this object is set to 'enabled(1)' MAC spoofing defend 
                       is enabled on global else disabled."
                ::= { hwL2MAMObjects 23 }   

       hwL2MacFlappingTrapObjects OBJECT IDENTIFIER ::= { hwL2MAMObjects 24 }
               
        hwMacflappingMac  OBJECT-TYPE
                SYNTAX  OCTET STRING
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The flapping mac-address."
                ::= { hwL2MacFlappingTrapObjects  1 }
        
     hwMacFlappingVlan  OBJECT-TYPE
               SYNTAX Integer32 (1..4094)
               MAX-ACCESS accessible-for-notify
               STATUS current
               DESCRIPTION "The vlan of flapping mac."
               ::= { hwL2MacFlappingTrapObjects  2 } 
                
-- SlotMacLimit     
        hwSlotMacLimitTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwSlotMacLimitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This is a rule table for SLOT-based MAC learning limit."
                ::= { hwL2MAMObjects 25 }

        hwSlotMacLimitEntry OBJECT-TYPE
                SYNTAX HwSlotMacLimitEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of a rule table for SLOT-based MAC learning limit."
                INDEX { hwSlotMacLimitId }
                ::= { hwSlotMacLimitTable 1 }

        HwSlotMacLimitEntry ::=
                SEQUENCE {
                        hwSlotMacLimitId
                                Integer32,
                        hwSlotMacLimitMaxMac
                                Integer32,
                        hwSlotMacLimitMaxRate
                                Integer32,
                        hwSlotMacLimitAction
                                INTEGER,
                        hwSlotMacLimitAlarm
                                INTEGER,
                        hwSlotMacLimitRowstatus
                                RowStatus
                       }

        hwSlotMacLimitId OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This object indicates id of the SLOT that is configured with 
                         SLOT-based MAC learning limit."
                ::= { hwSlotMacLimitEntry 1 }

        hwSlotMacLimitMaxMac OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The value of this object specifies the maximum number of MAC 
                         addresses that can be learnt. 0 indicates no limit."
                ::= { hwSlotMacLimitEntry 2 }

        hwSlotMacLimitMaxRate OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The value of this object specifies the maximum rate for MAC 
                         address learning. 0 indicates no limit."
                ::= { hwSlotMacLimitEntry 3 }

        hwSlotMacLimitAction OBJECT-TYPE
                SYNTAX INTEGER
                {
                discard(1),
                forward(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The value of this object specifies whether packets are forwarded 
                         or discarded after the number of MAC addresses that are learnt 
                         reaches the upper limit:
                         1: packets are discarded
                         2: packets are forwarded"
                ::= { hwSlotMacLimitEntry 4 }

        hwSlotMacLimitAlarm OBJECT-TYPE
                SYNTAX INTEGER
                {
                disable(1),
                enable(2)
                }
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "The value of this object specifies whether the alarm is enabled 
                         or disabled after the number of MAC addresses that are learnt reaches 
                         the upper limit:
                         1: alarm is enabled
                         2: alarm is disabled"
                ::= { hwSlotMacLimitEntry 5 }

        hwSlotMacLimitRowstatus OBJECT-TYPE
                SYNTAX RowStatus
                MAX-ACCESS read-create
                STATUS current
                DESCRIPTION
                        "This object indicates the RowStatus of hwSlotMacLimitTable."
                ::= { hwSlotMacLimitEntry 6 } 
                  
       hwL2ProtocolTunnelTrapObjects OBJECT IDENTIFIER ::= { hwL2MAMObjects 26 }
       hwL2ProtocolTunnelTrapPortName  OBJECT-TYPE
                SYNTAX  OCTET STRING
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION "The port name for layer 2 protocol tunnel trap."
                ::= { hwL2ProtocolTunnelTrapObjects 1 }
        
       hwL2ProtocolTunnelTrapProtocolName  OBJECT-TYPE
               SYNTAX OCTET STRING
               MAX-ACCESS accessible-for-notify
               STATUS current
               DESCRIPTION "The protocol name for layer 2 protocol tunnel trap."
               ::= { hwL2ProtocolTunnelTrapObjects 2 }

       hwL2ProtocolTunnelTrapDropThreshold  OBJECT-TYPE
               SYNTAX Integer32 (1..4096)
               MAX-ACCESS accessible-for-notify
               STATUS current
               DESCRIPTION "This object indicates that the number of L2PDUs that were transparently transmitted reached the drop threshold."
               ::= { hwL2ProtocolTunnelTrapObjects 3 }

        hwL2ProtclTnlStdTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwL2ProtclTnlStdEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "Group-MAC configuration table of standard L2 protocol tunnel."
            ::= { hwL2MAMObjects 27 }

        hwL2ProtclTnlStdEntry OBJECT-TYPE  
            SYNTAX HwL2ProtclTnlStdEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "This object indicates Group-MAC configuration table for standard L2 protocol tunnel."
            INDEX { hwL2ProtclTnlStdProtclName }
            ::= { hwL2ProtclTnlStdTable 1 }

        HwL2ProtclTnlStdEntry ::=
            SEQUENCE 
            {
                hwL2ProtclTnlStdProtclName
                    OCTET STRING,
                hwL2ProtclTnlStdProtclMacAddr
                    MacAddress,
                hwL2ProtclTnlStdEncapType
                    INTEGER,
                hwL2ProtclTnlStdProtclType
                    Integer32,
                hwL2ProtclTnlStdGroupMacAddr
                    MacAddress,
                hwL2ProtclTnlStdGroupDefault
                    MacAddress,
                hwL2ProtclTnlStdPriority
                    Integer32
            }

        hwL2ProtclTnlStdProtclName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates protocol name of standard L2 protocol tunnel."
            ::= { hwL2ProtclTnlStdEntry 1 }
    
        hwL2ProtclTnlStdProtclMacAddr OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates protocol MAC-Address of standard L2 protocol tunnel."
            ::= { hwL2ProtclTnlStdEntry 2 }
         
        hwL2ProtclTnlStdEncapType OBJECT-TYPE
            SYNTAX INTEGER
            {
                ethernetii(1),
                snap(2),
                llc(3),
                others(4)
            }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   
                "This object indicates encapsulation type of standard L2 protocol tunnel."
            ::= { hwL2ProtclTnlStdEntry 3 }   

        hwL2ProtclTnlStdProtclType OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   
                "This object indicates protocol type of standard L2 protocol tunnel."
            ::= { hwL2ProtclTnlStdEntry 4 }   

        hwL2ProtclTnlStdGroupMacAddr OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION   
                "This object indicates group-MAC of standard L2 protocol tunnel."
            ::= { hwL2ProtclTnlStdEntry 5 }   

        hwL2ProtclTnlStdGroupDefault OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION   
                "This object indicates default group-MAC(0100-0ccd-cdd0) of standard L2 protocol tunnel."
            ::= { hwL2ProtclTnlStdEntry 6 }   

        hwL2ProtclTnlStdPriority OBJECT-TYPE
            SYNTAX Integer32(0..7)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION   
                "This object indicates priority of standard L2 protocol tunnel."
            ::= { hwL2ProtclTnlStdEntry 7 } 

        hwL2ProtclTnlCusTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwL2ProtclTnlCusEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "Group-MAC configuration table of customize L2 protocol tunnel."
            ::= { hwL2MAMObjects 28 }

        hwL2ProtclTnlCusEntry OBJECT-TYPE  
            SYNTAX HwL2ProtclTnlCusEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "This object indicates Group-MAC configuration table for customize L2 protocol tunnel."
            INDEX { hwL2ProtclTnlCusProtclName }
            ::= { hwL2ProtclTnlCusTable 1 }

        HwL2ProtclTnlCusEntry ::=
            SEQUENCE 
            {
                hwL2ProtclTnlCusProtclName            
                    OCTET STRING,
                hwL2ProtclTnlCusProtclMacAddr
                    MacAddress,
                hwL2ProtclTnlCusEncapType
                    INTEGER,
                hwL2ProtclTnlCusProtclType
                    Integer32,
                hwL2ProtclTnlCusGroupMacAddr
                    MacAddress,
                hwL2ProtclTnlCusGroupDefault
                    MacAddress,
                hwL2ProtclTnlCusPriority
                    Integer32, 
                hwL2ProtclTnlCusRowStatus
                    RowStatus
            }

        hwL2ProtclTnlCusProtclName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates protocol name of customize L2 protocol tunnel."
            ::= { hwL2ProtclTnlCusEntry 1 }
    
        hwL2ProtclTnlCusProtclMacAddr OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object indicates protocol MAC-Address of customize L2 protocol tunnel."
            ::= { hwL2ProtclTnlCusEntry 2 }
         
        hwL2ProtclTnlCusEncapType OBJECT-TYPE
            SYNTAX INTEGER
            {
                ethernetii(1),
                snap(2),
                llc(3),
                others(4)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates encapsulation type of customize L2 protocol tunnel."
            ::= { hwL2ProtclTnlCusEntry 3 }   

        hwL2ProtclTnlCusProtclType OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates protocol type of customize L2 protocol tunnel."
            ::= { hwL2ProtclTnlCusEntry 4 }   

        hwL2ProtclTnlCusGroupMacAddr OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates group-MAC of customize L2 protocol tunnel."
            ::= { hwL2ProtclTnlCusEntry 5 }   

        hwL2ProtclTnlCusGroupDefault OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates default group-MAC(0100-0ccd-cdd0) of customize L2 protocol tunnel."
            ::= { hwL2ProtclTnlCusEntry 6 }  

        hwL2ProtclTnlCusPriority OBJECT-TYPE
            SYNTAX Integer32(0..7)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates priority of customize L2 protocol tunnel."
            ::= { hwL2ProtclTnlCusEntry 7 }  

        hwL2ProtclTnlCusRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "Used for controlling the creation and deletion of this
                 row. All writeable objects in this row may be modified at any time.
                 If a Network Management Application  attempts to delete a conceptual
                 row by setting this  object to 'destroy' and there are one or more entries
                 in hwQinQSubIfTermTable pointing to the row, the agent must also
                 destroy the corresponding entries in hwL2ProtclTnlCusTable."
            ::= { hwL2ProtclTnlCusEntry 8 }  

        hwL2ProtclTnlEnableTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwL2ProtclTnlEnableEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "Port configuration table of L2 protocol tunnel."
            ::= { hwL2MAMObjects 29 }

        hwL2ProtclTnlEnableEntry OBJECT-TYPE  
            SYNTAX HwL2ProtclTnlEnableEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "This object indicates port configuration table of L2 protocol tunnel."
            INDEX { hwL2ProtclTnlEnableIfIndex, hwL2ProtclTnlEnableProtclName }
            ::= { hwL2ProtclTnlEnableTable 1 }

        HwL2ProtclTnlEnableEntry ::=
            SEQUENCE 
            {
                hwL2ProtclTnlEnableIfIndex
                    InterfaceIndex,
                hwL2ProtclTnlEnableProtclName
                    OCTET STRING,
                hwL2ProtclTnlEnableTransMode
                    INTEGER,
                hwL2ProtclTnlEnableTagListLow
                    OCTET STRING,
                hwL2ProtclTnlEnableTagListHigh
                    OCTET STRING,
                hwL2ProtclTnlEnableDropthresholdRate
                    Integer32,
                hwL2ProtclTnlEnableRowStatus
                    RowStatus
            }

        hwL2ProtclTnlEnableIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates interface index of port configuration of L2 protocol tunnel."
            ::= { hwL2ProtclTnlEnableEntry 1 }
    
        hwL2ProtclTnlEnableProtclName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates protocol name of port configuration of L2 protocol tunnel."
            ::= { hwL2ProtclTnlEnableEntry 2 }
         
        hwL2ProtclTnlEnableTransMode OBJECT-TYPE
            SYNTAX INTEGER
            {
                tagged(1),
                untagged(2)
            }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates transparent mode of port configuration of L2 protocol tunnel."
            ::= { hwL2ProtclTnlEnableEntry 3 }   

        hwL2ProtclTnlEnableTagListLow OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(256))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates VLAN list low of port configuration of L2 protocol tunnel."
            ::= { hwL2ProtclTnlEnableEntry 4 }   

        hwL2ProtclTnlEnableTagListHigh OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(256))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "This object indicates VLAN list high of port configuration of L2 protocol tunnel."
            ::= { hwL2ProtclTnlEnableEntry 5 }   

        hwL2ProtclTnlEnableDropthresholdRate OBJECT-TYPE
            SYNTAX Integer32 (0..4096)
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION   
                "This object indicates drop threshold rate(packet per second) of port configuration 
                 of L2 protocol tunnel."
            ::= { hwL2ProtclTnlEnableEntry 6 }  

        hwL2ProtclTnlEnableRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION   
                "Used for controlling the creation and deletion of this
                 row. All writeable objects in this row may be modified at any time.
                 If a Network Management Application  attempts to delete a conceptual
                 row by setting this  object to 'destroy' and there are one or more entries
                 in hwQinQSubIfTermTable pointing to the row, the agent must also
                 destroy the corresponding entries in hwL2ProtclTnlEnableTable."
            ::= { hwL2ProtclTnlEnableEntry 7 }  

        hwL2ProtclTnlStatisticsTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwL2ProtclTnlStatisticsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "Statistics table of L2 protocol tunnel."
            ::= { hwL2MAMObjects 30 }

        hwL2ProtclTnlStatisticsEntry OBJECT-TYPE  
            SYNTAX HwL2ProtclTnlStatisticsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION 
                "This object indicates statistics table of L2 protocol tunnel."
            INDEX { hwL2ProtclTnlStatisticsIfIndex, hwL2ProtclTnlStatisticsProtclName }
            ::= { hwL2ProtclTnlStatisticsTable 1 }

        HwL2ProtclTnlStatisticsEntry ::=
            SEQUENCE 
            {
                hwL2ProtclTnlStatisticsIfIndex
                    InterfaceIndex,
                hwL2ProtclTnlStatisticsProtclName
                    OCTET STRING,
                hwL2ProtclTnlStatisticsDropthrhldRate
                    Integer32,
                hwL2ProtclTnlStatisticsInputPkts
                    Integer32,
                hwL2ProtclTnlStatisticsOutputPkts
                    Integer32,
                hwL2ProtclTnlStatisticsDropPkts
                    Integer32
            }

        hwL2ProtclTnlStatisticsIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates interface index of statistics table of L2 protocol tunnel."
            ::= { hwL2ProtclTnlStatisticsEntry 1 }
    
        hwL2ProtclTnlStatisticsProtclName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates protocol name of statistics table of L2 protocol tunnel."
            ::= { hwL2ProtclTnlStatisticsEntry 2 }
         
        hwL2ProtclTnlStatisticsDropthrhldRate OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   
                "This object indicates drop threshold rate(packets per second) of statistics table of 
                 L2 protocol tunnel."
            ::= { hwL2ProtclTnlStatisticsEntry 3 }   

        hwL2ProtclTnlStatisticsInputPkts OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   
                "This object indicates the number of input packets of statistics table of L2 protocol tunnel."
            ::= { hwL2ProtclTnlStatisticsEntry 4 }   

        hwL2ProtclTnlStatisticsOutputPkts OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   
                "This object indicates the number of output packets of statistics table of L2 protocol tunnel."
            ::= { hwL2ProtclTnlStatisticsEntry 5 }   

        hwL2ProtclTnlStatisticsDropPkts OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION   
                "This object indicates the number of drop packets of statistics table of L2 protocol tunnel."
            ::= { hwL2ProtclTnlStatisticsEntry 6 }     
            
-- mac-address aging-time         
    hwBridgeMacAgingTime OBJECT-TYPE
        SYNTAX Integer32 (60..1000000 | 0)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
        "The interval that the hardware deletes any entry 
        whose hit bit is cleared and clears the hit bit  
        of the remaining entries.The default value is 300 seconds.'0'means the MAC entries will be 
        never aged."
        ::= { hwL2MAMObjects 31 }   
            
        -- MAC better maintenance
                hwCfgMacAddrQueryTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwCfgMacAddrQueryEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The query table of layer 2 Configured mac-address forwarding table."
                ::= { hwL2MAMObjects 32 }

        hwCfgMacAddrQueryEntry OBJECT-TYPE
                SYNTAX HwCfgMacAddrQueryEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Match entries of layer 2 Configured mac-address forwarding table lookup."
                INDEX { hwCfgMacAddrQueryVlanId, 
                        hwCfgMacAddrQueryVsiName,
                        hwCfgMacAddrQuerySiName,
                        hwCfgMacAddrQueryBridgeId,
                        hwCfgMacAddrQueryMacAddr,
                        hwCfgMacAddrQueryConditionMode,
                        hwCfgMacAddrQueryConditionStringA, 
                        hwCfgMacAddrQueryConditionStringB,
                        hwCfgMacAddrQueryConditionDigitA,
                        hwCfgMacAddrQueryConditionDigitB,
                        hwCfgMacAddrQueryConditionDigitC
                        }
                ::= { hwCfgMacAddrQueryTable 1 }

        HwCfgMacAddrQueryEntry ::=
                SEQUENCE {
                        hwCfgMacAddrQueryVlanId
                            VlanIdOrNone,
                        hwCfgMacAddrQueryVsiName
                            OCTET STRING,
                        hwCfgMacAddrQuerySiName
                            OCTET STRING,
                        hwCfgMacAddrQueryBridgeId
                            Integer32,
                        hwCfgMacAddrQueryMacAddr
                            MacAddress,
                        hwCfgMacAddrQueryConditionMode
                            INTEGER,
                        hwCfgMacAddrQueryConditionStringA
                            OCTET STRING,    
                        hwCfgMacAddrQueryConditionStringB
                            OCTET STRING,
                        hwCfgMacAddrQueryConditionDigitA
                            Unsigned32,
                        hwCfgMacAddrQueryConditionDigitB
                            Unsigned32,
                        hwCfgMacAddrQueryConditionDigitC
                            Unsigned32,
                        hwCfgMacAddrQueryType
                            OCTET STRING,
                        hwCfgMacAddrQueryIfIndex
                            InterfaceIndexOrZero,
                        hwCfgMacAddrQueryPeVlanId
                            VlanIdOrNone,
                        hwCfgMacAddrQueryCeVlanId
                            VlanIdOrNone,
                        hwCfgMacAddrQueryCedefaultFlag
                            INTEGER,
                        hwCfgMacAddrQueryAtmIfIndex
                            InterfaceIndexOrZero,
                        hwCfgMacAddrQueryVpi
                            Integer32,
                        hwCfgMacAddrQueryVci
                            Integer32,
                        hwCfgMacAddrQueryMacTunnel
                            OCTET STRING
                 }

        hwCfgMacAddrQueryVlanId OBJECT-TYPE
                SYNTAX VlanIdOrNone
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The VLAN ID for index of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 1 }

        hwCfgMacAddrQueryVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The vsi name for index of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 2 }   
                
        hwCfgMacAddrQuerySiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The service instance name for index of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 3 }

        hwCfgMacAddrQueryBridgeId OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The bridge ID for index of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 4 }    
                
        hwCfgMacAddrQueryMacAddr OBJECT-TYPE
                SYNTAX MacAddress
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION "A unicast MAC address for index of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 5 }                

        hwCfgMacAddrQueryConditionMode OBJECT-TYPE
                SYNTAX INTEGER
                {
                    showall(1),
                    showbymac(2),
                    showbymacvlan(3),
                    showbytype(4),
                    showbytypevlan(5),
                    showbytypeport(6),
                    showbytypeportvlan(7),
                    showbyvlan(8),
                    showbyport(9),
                    showbyportvlan(10),
                    showbymacvsi(11),
                    showbytypevsi(12),
                    showbytypeportvsi(13),
                    showbyvsi(14),
                    showbyportvsi(15)
                }
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Mode for query condition of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 6 }

        hwCfgMacAddrQueryConditionStringA OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "String A (may be VSI or SI etc.) for query condition of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 7 }

        hwCfgMacAddrQueryConditionStringB OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..16))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "String B (may be MAC or MAC type etc.) for query condition of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 8 }

        hwCfgMacAddrQueryConditionDigitA OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit A (may be VLAN ID etc.) for query condition of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 9 }

        hwCfgMacAddrQueryConditionDigitB OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit B (may be IF index etc.) for query condition of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 10 }

        hwCfgMacAddrQueryConditionDigitC OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit C (other integer info) for query condition of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 11 }

        hwCfgMacAddrQueryType OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The entry type for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 12 }
              
        hwCfgMacAddrQueryIfIndex OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The interface index for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 13 }

        hwCfgMacAddrQueryPeVlanId OBJECT-TYPE
                SYNTAX VlanIdOrNone
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The PE VLAN ID for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 14 }

        hwCfgMacAddrQueryCeVlanId OBJECT-TYPE
                SYNTAX VlanIdOrNone
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The CE VLAN ID for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 15 }

        hwCfgMacAddrQueryCedefaultFlag OBJECT-TYPE
                SYNTAX INTEGER 
                {
                    nocedefault(0),
                    cedefault(1)
                }
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The CE default flag for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 16 }

        hwCfgMacAddrQueryAtmIfIndex OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The ATM interface index for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 17 }

        hwCfgMacAddrQueryVpi OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The VPI for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 18 }

        hwCfgMacAddrQueryVci OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The VCI for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 19 }

        hwCfgMacAddrQueryMacTunnel OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The MAC tunnel for match item of layer 2 Configured mac-address query table."
                ::= { hwCfgMacAddrQueryEntry 20 }  
                
        hwDynMacAddrQueryTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwDynMacAddrQueryEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The query table of layer 2 dynamic mac-address forwarding table."
                ::= { hwL2MAMObjects 33 }

        hwDynMacAddrQueryEntry OBJECT-TYPE
                SYNTAX HwDynMacAddrQueryEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Match entries of layer 2 dynamic mac-address forwarding table lookup."
                INDEX { hwDynMacAddrQueryVlanId, 
                        hwDynMacAddrQueryVsiName,
                        hwDynMacAddrQuerySiName,
                        hwDynMacAddrQueryBridgeId,
                        hwDynMacAddrQueryMacAddr,
                        hwDynMacAddrQueryConditionMode,
                        hwDynMacAddrQueryConditionStringA, 
                        hwDynMacAddrQueryConditionStringB,
                        hwDynMacAddrQueryConditionDigitA,
                        hwDynMacAddrQueryConditionDigitB,
                        hwDynMacAddrQueryConditionDigitC
                        }
                ::= { hwDynMacAddrQueryTable 1 }

        HwDynMacAddrQueryEntry ::=
                SEQUENCE {
                        hwDynMacAddrQueryVlanId
                            VlanIdOrNone,
                        hwDynMacAddrQueryVsiName
                            OCTET STRING,
                        hwDynMacAddrQuerySiName
                            OCTET STRING,
                        hwDynMacAddrQueryBridgeId
                            Integer32, 
                        hwDynMacAddrQueryMacAddr
                            MacAddress,
                        hwDynMacAddrQueryConditionMode
                            INTEGER,                            
                        hwDynMacAddrQueryConditionStringA
                            OCTET STRING,    
                        hwDynMacAddrQueryConditionStringB
                            OCTET STRING,
                        hwDynMacAddrQueryConditionDigitA
                            Unsigned32,
                        hwDynMacAddrQueryConditionDigitB
                            Unsigned32,
                        hwDynMacAddrQueryConditionDigitC
                            Unsigned32,
                        hwDynMacAddrQueryType
                            OCTET STRING,
                        hwDynMacAddrQueryIfIndex
                            InterfaceIndexOrZero,
                        hwDynMacAddrQueryPeVlanId
                            VlanIdOrNone,
                        hwDynMacAddrQueryCeVlanId
                            VlanIdOrNone,                
                        hwDynMacAddrQueryAtmIfIndex
                            InterfaceIndexOrZero,
                        hwDynMacAddrQueryVpi
                            Integer32,
                        hwDynMacAddrQueryVci
                            Integer32,
                        hwDynMacAddrQueryPeerIp
                            IpAddress,
                        hwDynMacAddrQueryPwId
                            Unsigned32,                        
                        hwDynMacAddrQueryMacTunnel
                            OCTET STRING,
                        hwDynMacAddrQueryAgingTime
                            Integer32
                 }
                 
        hwDynMacAddrQueryVlanId OBJECT-TYPE
                SYNTAX VlanIdOrNone
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The VLAN ID for index of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 1 }

        hwDynMacAddrQueryVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The vsi name for index of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 2 }   
                
        hwDynMacAddrQuerySiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The service instance name for index of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 3 }

        hwDynMacAddrQueryBridgeId OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The bridge ID for index of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 4 }
                
        hwDynMacAddrQueryMacAddr OBJECT-TYPE
                SYNTAX MacAddress
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION "A unicast MAC address for index of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 5 }

        hwDynMacAddrQueryConditionMode OBJECT-TYPE
                SYNTAX INTEGER
                {
                    showall(1),
                    showbymac(2),
                    showbymacvlan(3),
                    showbytype(4),
                    showbytypevlan(5),
                    showbytypeport(6),
                    showbytypeportvlan(7),
                    showbyvlan(8),
                    showbyport(9),
                    showbyportvlan(10),
                    showbymacvsi(11),
                    showbytypevsi(12),
                    showbytypeportvsi(13),
                    showbyvsi(14),
                    showbyportvsi(15),  
                    showbyvsipw(16),
                    showbytypeslot(17),        
                    showbytypeslotsourceslot(18),
                    showbytypeslotvlan(19),
                    showbytypeslotport(20),
                    showbytypeslotportvlan(21),
                    showbytypeslotvsi(22),
                    showbytypeslotportvsi(23),
                    showbytypeslotvsipw(24)      
                }
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Mode for query condition of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 6 }

        hwDynMacAddrQueryConditionStringA OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "String A (may be VSI or SI etc.) for query condition of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 7 }

        hwDynMacAddrQueryConditionStringB OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..16))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "String B (may be MAC or MAC type etc.) for query condition of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 8 }

        hwDynMacAddrQueryConditionDigitA OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit A (may be VLAN ID etc.) for query condition of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 9 }

        hwDynMacAddrQueryConditionDigitB OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit B (may be IF index etc.) for query condition of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 10 }

        hwDynMacAddrQueryConditionDigitC OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit C (other integer info) for query condition of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 11 }  
                
        hwDynMacAddrQueryType OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The entry type for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 12 }
              
        hwDynMacAddrQueryIfIndex OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The interface index for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 13 }

        hwDynMacAddrQueryPeVlanId OBJECT-TYPE
                SYNTAX VlanIdOrNone
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The PE VLAN ID for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 14 }

        hwDynMacAddrQueryCeVlanId OBJECT-TYPE
                SYNTAX VlanIdOrNone
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The CE VLAN ID for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 15 }

        hwDynMacAddrQueryAtmIfIndex OBJECT-TYPE
                SYNTAX InterfaceIndexOrZero
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The ATM interface index for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 16 }

        hwDynMacAddrQueryVpi OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The VPI for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 17 }

        hwDynMacAddrQueryVci OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The VCI for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 18 }

        hwDynMacAddrQueryPeerIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The peer ip address for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 19 } 
                
        hwDynMacAddrQueryPwId OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The PW ID for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 20 }
                
        hwDynMacAddrQueryMacTunnel OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The MAC tunnel for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 21 }                                

        hwDynMacAddrQueryAgingTime OBJECT-TYPE
                SYNTAX Integer32 (0..1000000)
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The aging time for match item of layer 2 dynamic mac-address query table."
                ::= { hwDynMacAddrQueryEntry 22 }   
                
        hwMacInfoQueryTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwMacInfoQueryEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The MAC address information of layer 2 mac-address database."
                ::= { hwL2MAMObjects 34 }

        hwMacInfoQueryEntry OBJECT-TYPE
                SYNTAX HwMacInfoQueryEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Match information of layer 2 mac-address database."
                INDEX { hwMacInfoQueryConditionMode, 
                        hwMacInfoQueryConditionStringA, 
                        hwMacInfoQueryConditionStringB,
                        hwMacInfoQueryConditionStringC,
                        hwMacInfoQueryConditionDigitA,  
                        hwMacInfoQueryConditionDigitB,
                        hwMacInfoQueryConditionDigitC
                        }
                ::= { hwMacInfoQueryTable 1 }

        HwMacInfoQueryEntry ::=
                SEQUENCE {
                        hwMacInfoQueryConditionMode             
                            INTEGER,
                        hwMacInfoQueryConditionStringA
                            OCTET STRING,        
                        hwMacInfoQueryConditionStringB
                            OCTET STRING,
                        hwMacInfoQueryConditionStringC
                            OCTET STRING,
                        hwMacInfoQueryConditionDigitA
                            Unsigned32,
                        hwMacInfoQueryConditionDigitB
                            Unsigned32,
                        hwMacInfoQueryConditionDigitC
                            Unsigned32,
                        hwMacInfoQueryTotalNumber
                            Unsigned32,
                        hwMacInfoQueryTotalLocalNumber
                            Unsigned32,
                        hwMacInfoQueryTotalRemoteNumber
                            Unsigned32,
                        hwMacInfoQueryCapacity
                            Unsigned32                
                 }   

        hwMacInfoQueryConditionMode OBJECT-TYPE
                SYNTAX INTEGER
                {
                    showtotalnumberbyall(1),
                    showtotalnumberbytype(2),
                    showtotalnumberbytypevlan(3),
                    showtotalnumberbytypeport(4),
                    showtotalnumberbytypeportvlan(5),
                    showtotalnumberbyvlan(6),
                    showtotalnumberbyport(7),
                    showtotalnumberbyportvlan(8),
                    showtotalnumberbytypevsi(9),
                    showtotalnumberbytypeportvsi(10),
                    showtotalnumberbyvsi(11),
                    showtotalnumberbyportvsi(12), 
                    showtotalnumberbyvsipw(13),            
                    showtotalnumberbytypeslot(14),
                    showtotalnumberbytypeslotvlan(15),
                    showtotalnumberbytypeslotport(16),
                    showtotalnumberbytypeslotportvlan(17),
                    showtotalnumberbytypeslotvsi(18),
                    showtotalnumberbytypeslotportvsi(19),
                    showtotalnumberbytypeslotvsipw(20),            
                    showcapacity(21)       
                }
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Mode for query condition of layer 2 dynamic mac-address query table."
                ::= { hwMacInfoQueryEntry 1 }

        hwMacInfoQueryConditionStringA OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "String A (may be VSI or SI etc.) for query condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 2 }

        hwMacInfoQueryConditionStringB OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..16))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "String B (may be MAC or MAC type etc.) for query condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 3 }
                
        hwMacInfoQueryConditionStringC OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (0..32))
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "String C (may be MAC tunnel etc.) for query condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 4 }                

        hwMacInfoQueryConditionDigitA OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit A (may be VLAN ID etc.) for query condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 5 }

        hwMacInfoQueryConditionDigitB OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit B (may be IF index etc.) for query condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 6 }

        hwMacInfoQueryConditionDigitC OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Digit C (other integer info) for query condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 7 }
                
        hwMacInfoQueryTotalNumber OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The total number for match condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 8 }
              
        hwMacInfoQueryTotalLocalNumber OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The total local number for match condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 9 }

        hwMacInfoQueryTotalRemoteNumber OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The total remote number for match condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 10 }

        hwMacInfoQueryCapacity OBJECT-TYPE
                SYNTAX Unsigned32
                MAX-ACCESS read-only
                STATUS current
                DESCRIPTION
                        "The capacity for match condition of layer 2 mac-address database."
                ::= { hwMacInfoQueryEntry 11 }   
   -- hwVplsOverGreTable
        hwVplsOverGreTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwVplsOverGreEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the VPLS over GRE information for device."
                ::= { hwL2MAMObjects 35 }

        hwVplsOverGreEntry OBJECT-TYPE
                SYNTAX HwVplsOverGreEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the VPLS over GRE table."
                INDEX { hwVplsOverGrePwId}
                ::= { hwVplsOverGreTable 1 }

        HwVplsOverGreEntry ::=
                SEQUENCE {
                        hwVplsOverGrePwId
                                Integer32,
                        hwRemoteIp
                                IpAddress,
                        hwVplsOverGreVsiName
                                OCTET STRING                                                     
                       }

        hwVplsOverGrePwId OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The PW ID which will be configured over GRE."
                ::= { hwVplsOverGreEntry 1 }

        hwRemoteIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The remote ip address of the PW ID."
                ::= { hwVplsOverGreEntry 2 }

        hwVplsOverGreVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The vsi name which will be configured over GRE."
                ::= { hwVplsOverGreEntry 3 }
                
  -- hwPwOverLdpOverGreTable
        hwPwOverLdpOverGreTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwPwOverLdpOverGreEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the VPLS PW or EVPN over Ldp over GRE information for device."
                ::= { hwL2MAMObjects 42 }

        hwPwOverLdpOverGreEntry OBJECT-TYPE
                SYNTAX HwPwOverLdpOverGreEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the VPLS PW or EVPN over Ldp over GRE table."
                INDEX { hwVplsOverLdpOverGrePwId,
                             hwPeerRemoteIp,
                             hwEvpnOverLdpOverGreEvpnName }
                ::= { hwPwOverLdpOverGreTable 1 }

        HwPwOverLdpOverGreEntry ::=
                SEQUENCE {
                        hwVplsOverLdpOverGrePwId
                                Integer32,
                        hwPeerRemoteIp
                                IpAddress,
                        hwVplsOverLdpOverGreVsiName
                                OCTET STRING,
                        hwEvpnOverLdpOverGreEvpnName
                                OCTET STRING }

        hwVplsOverLdpOverGrePwId OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The PW ID which will be configured over ldp over GRE."
                ::= { hwPwOverLdpOverGreEntry 1 }

        hwPeerRemoteIp OBJECT-TYPE
                SYNTAX IpAddress
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The remote ip address of the PW over EVPN."
                ::= { hwPwOverLdpOverGreEntry 2 }

        hwVplsOverLdpOverGreVsiName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The vsi name which will be configured over ldp over GRE."
                ::= { hwPwOverLdpOverGreEntry 3 }

        hwEvpnOverLdpOverGreEvpnName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The evpn name which will be configured over ldp over GRE."
                ::= { hwPwOverLdpOverGreEntry 4 }

    -- hwVllByPassOverGreTable
        hwVllByPassOverGreTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwVllByPassOverGreEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the ByPass PW for VLL over GRE information for device."
                ::= { hwL2MAMObjects 36 }

        hwVllByPassOverGreEntry OBJECT-TYPE
                SYNTAX HwVllByPassOverGreEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the ByPass PW for VLL over GRE table."
                INDEX { hwVLLACPortIndex}
                ::= { hwVllByPassOverGreTable 1 }

        HwVllByPassOverGreEntry::=
                SEQUENCE {
                        hwVLLACPortIndex
                                Integer32,
                        hwVLLACPortName
                                OCTET STRING                                                 
                       }

        hwVLLACPortIndex OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The port index which will be configured ByPass for VLL."
                ::= { hwVllByPassOverGreEntry 1 }

        hwVLLACPortName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The Port name which will be configured ByPass for VLL."
                ::= { hwVllByPassOverGreEntry 2 }          

    -- hwUnucFlowAlarmTable
        hwUnucFlowAlarmTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwUnucFlowAlarmEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "A table containing the unknown unicast alarm information for interface."
                ::= { hwL2MAMObjects 37 }

        hwUnucFlowAlarmEntry OBJECT-TYPE
                SYNTAX HwUnucFlowAlarmEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of unknown unicast alarm information for interface table."
                INDEX { hwUNUCPortIndex}
                ::= { hwUnucFlowAlarmTable 1 }

        HwUnucFlowAlarmEntry::=
                SEQUENCE {
                        hwUNUCPortIndex
                                Integer32,
                        hwUNUCPortName
                                OCTET STRING,  
			hwUNUCPortAlarmThreshold
                                Integer32,
			hwUNUCPortRealFlow
                                Integer32                                            
                       }

        hwUNUCPortIndex OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "The port index which will be configured unknown unicast alarm."
                ::= { hwUnucFlowAlarmEntry 1 }

        hwUNUCPortName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The Port name which will be configured unknown unicast alarm."
                ::= { hwUnucFlowAlarmEntry 2 }    
		
        hwUNUCPortAlarmThreshold OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The port alarm threshold which will be configured unknown unicast alarm."
                ::= { hwUnucFlowAlarmEntry 3 }
		
        hwUNUCPortRealFlow OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates that the unknown unicast traffic volume on the inbound interface exceeded the alarm threshold."
                ::= { hwUnucFlowAlarmEntry 4 }             

				
  -- hwPwSourceTunnelCheckTable
        hwPwSourceTunnelCheckTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwPwSourceTunnelCheckEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "This table is used to manage the check on a PW's source port tunnel."
                ::= { hwL2MAMObjects 43 }

        hwPwSourceTunnelCheckEntry OBJECT-TYPE
                SYNTAX HwPwSourceTunnelCheckEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                        "Entries of the pw source tunnel check table."
                INDEX { hwPwLabel,
                             hwTeLabel,
                             hwPortName }
                ::= { hwPwSourceTunnelCheckTable 1 }

        HwPwSourceTunnelCheckEntry ::=
                SEQUENCE {
                        hwPwLabel
                                Integer32,
                        hwTeLabel
                                Integer32,
                        hwPortName
                                OCTET STRING}

        hwPwLabel OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates the PW label."
                ::= { hwPwSourceTunnelCheckEntry 1 }

        hwTeLabel OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates the TE tunnel label."
                ::= { hwPwSourceTunnelCheckEntry 2 }

        hwPortName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "This object indicates the port name."
                ::= { hwPwSourceTunnelCheckEntry 3 }

--
-- The Port vlan Suppression Statistic Table
--
        hwPVSuppressionStatisticTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HWPVSuppressionStatisticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This table contains statistics about suppressed packets and bytes based on a Layer 2 interface and a VLAN."
            ::= { hwL2MAMObjects 48 }  


        hwPVSuppressionStatisticEntry OBJECT-TYPE
            SYNTAX HWPVSuppressionStatisticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Provides the information of the  PV suppression statistic."
            INDEX { hwPVStatisticIfIndex, hwPVStatisticVlan}
            ::= { hwPVSuppressionStatisticTable 1 }


        HWPVSuppressionStatisticEntry ::=
            SEQUENCE { 
                hwPVStatisticIfIndex
                    InterfaceIndex,
                hwPVStatisticVlan
                    Unsigned32,
                hwPVStatisticTime
                    OCTET STRING,
                hwPVUcInPassPack
                     Counter64,
                hwPVUcInPassByte
                     Counter64,
                hwPVUcInDropPack
                     Counter64,
                hwPVUcInDropByte
                     Counter64,
                hwPVUcOutPassPack
                     Counter64,
                hwPVUcOutPassByte
                     Counter64,
                hwPVUcOutDropPack
                     Counter64,
                hwPVUcOutDropByte
                     Counter64,
                hwPVMulInPassPack
                     Counter64,
                hwPVMulInPassByte
                     Counter64,
                hwPVMulInDropPack
                     Counter64,
                hwPVMulInDropByte
                     Counter64,
                hwPVMulOutPassPack
                     Counter64,
                hwPVMulOutPassByte
                     Counter64,
                hwPVMulOutDropPack
                     Counter64,
                hwPVMulOutDropByte
                     Counter64,
                hwPVBrInPassPack
                     Counter64,
                hwPVBrInPassByte
                     Counter64,
                hwPVBrInDropPack
                     Counter64,
                hwPVBrInDropByte
                     Counter64,
                hwPVBrOutPassPack
                     Counter64,
                hwPVBrOutPassByte
                     Counter64,
                hwPVBrOutDropPack
                     Counter64,
                hwPVBrOutDropByte
                     Counter64                              
            }


        hwPVStatisticIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the interface index value."
            ::= { hwPVSuppressionStatisticEntry 1 }


        hwPVStatisticVlan OBJECT-TYPE
            SYNTAX Unsigned32  (1..4094)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the VLAN ID of the interface."
            ::= { hwPVSuppressionStatisticEntry 2 }
            
        hwPVStatisticTime OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..32))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the date and time when packet statistics were deleted last time."
            ::= { hwPVSuppressionStatisticEntry 3 }
            
                        
               hwPVUcInPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed packets for unknown unicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 4}
            
        hwPVUcInPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed bytes for unknown unicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 5 }
            
        hwPVUcInDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for unknown unicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 6 }
            
            
        hwPVUcInDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for unknown unicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 7 }
            
                                    
        hwPVUcOutPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed packets for unknown unicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 8 }
                            
        hwPVUcOutPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed bytes for unknown unicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 9 }        
        
                        
        hwPVUcOutDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for unknown unicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 10 }
                        
        hwPVUcOutDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of dropped bytes for unknown unicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 11}            
        
                        
        hwPVMulInPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                   "This object indicates the number of passed packets for multicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 12 }            
            
        hwPVMulInPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                   "This object indicates the number of passed bytes for multicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 13 }    
            
        hwPVMulInDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for multicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 14 }    
            
         hwPVMulInDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "This object indicates the number of dropped bytes for multicast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 15 }    
        hwPVMulOutPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of passed packets for multicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 16 }            
            
        hwPVMulOutPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of passed bytes for multicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 17 }    
            
        hwPVMulOutDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of dropped packets for multicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 18}    
            
         hwPVMulOutDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for multicast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 19 }    
                        
        hwPVBrInPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "This object indicates the number of passed packets for broadcast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 20 }            
            
        hwPVBrInPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
              "This object indicates the number of passed bytes for broadcast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 21 }    
            
        hwPVBrInDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
              "This object indicates the number of dropped packets for broadcast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 22 }    
            
         hwPVBrInDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for broadcast traffic in the inbound direction."
            ::= { hwPVSuppressionStatisticEntry 23 }    
     
                        
        hwPVBrOutPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed packets for broadcast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 24 }            
            
        hwPVBrOutPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed bytes for broadcast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 25 }    
            
        hwPVBrOutDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for broadcast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 26 }    
            
         hwPVBrOutDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for broadcast traffic in the outbound direction."
            ::= { hwPVSuppressionStatisticEntry 27 }                              

--
-- The Port Suppression Statistic Table
--
        hwPortSuppressionStatisticTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HWPortSuppressionStatisticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This table contains statistics about suppressed packets and bytes based on an interface and its sub-interface."
            ::= { hwL2MAMObjects 49 }  


        hwPortSuppressionStatisticEntry OBJECT-TYPE
            SYNTAX HWPortSuppressionStatisticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Provides the information of the Port suppression statistic."
            INDEX { hwPortStatisticIfIndex}
            ::= { hwPortSuppressionStatisticTable 1 }


        HWPortSuppressionStatisticEntry ::=
            SEQUENCE { 
                hwPortStatisticIfIndex
                    InterfaceIndex,
                hwPortStatisticTime
                    OCTET STRING,
                hwPortUcInPassPack
                     Counter64,
                hwPortUcInPassByte
                     Counter64,
                hwPortUcInDropPack
                     Counter64,
                hwPortUcInDropByte
                     Counter64,
                hwPortUcOutPassPack
                     Counter64,
                hwPortUcOutPassByte
                     Counter64,
                hwPortUcOutDropPack
                     Counter64,
                hwPortUcOutDropByte
                     Counter64,
                hwPortMulInPassPack
                     Counter64,
                hwPortMulInPassByte
                     Counter64,
                hwPortMulInDropPack
                     Counter64,
                hwPortMulInDropByte
                     Counter64,
                hwPortMulOutPassPack
                     Counter64,
                hwPortMulOutPassByte
                     Counter64,
                hwPortMulOutDropPack
                     Counter64,
                hwPortMulOutDropByte
                     Counter64,
                hwPortBrInPassPack
                     Counter64,
                hwPortBrInPassByte
                     Counter64,
                hwPortBrInDropPack
                     Counter64,
                hwPortBrInDropByte
                     Counter64,
                hwPortBrOutPassPack
                     Counter64,
                hwPortBrOutPassByte
                     Counter64,
                hwPortBrOutDropPack
                     Counter64,
                hwPortBrOutDropByte
                     Counter64                              
            }


        hwPortStatisticIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object indicates the interface index value."
            ::= { hwPortSuppressionStatisticEntry 1 }
            
        hwPortStatisticTime OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (0..32))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the date and time when packet statistics were deleted last time."
            ::= { hwPortSuppressionStatisticEntry 2 }
            
                        
               hwPortUcInPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed packets for unknown unicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 3 }
            
        hwPortUcInPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed bytes for unknown unicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 4 }
            
        hwPortUcInDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for unknown unicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 5 }
            
            
        hwPortUcInDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for unknown unicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 6 }
            
                                    
        hwPortUcOutPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed packets for unknown unicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 7 }
                            
        hwPortUcOutPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed bytes for unknown unicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 8 }        
        
                        
        hwPortUcOutDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for unknown unicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 9 }
                        
        hwPortUcOutDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of dropped bytes for unknown unicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 10}            
        
                        
        hwPortMulInPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                   "This object indicates the number of passed packets for multicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 11}            
            
        hwPortMulInPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                   "This object indicates the number of passed bytes for multicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 12 }    
            
        hwPortMulInDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for multicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 13 }    
            
         hwPortMulInDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
               "This object indicates the number of dropped bytes for multicast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 14 }    
        hwPortMulOutPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of passed packets for multicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 15 }            
            
        hwPortMulOutPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of passed bytes for multicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 16 }    
            
        hwPortMulOutDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                 "This object indicates the number of dropped packets for multicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 17}    
            
         hwPortMulOutDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for multicast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 18 }    
                        
        hwPortBrInPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                  "This object indicates the number of passed packets for broadcast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 19 }            
            
        hwPortBrInPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
              "This object indicates the number of passed bytes for broadcast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 20 }    
            
        hwPortBrInDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
              "This object indicates the number of dropped packets for broadcast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 21 }    
            
         hwPortBrInDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for broadcast traffic in the inbound direction."
            ::= { hwPortSuppressionStatisticEntry 22 }    
     
                        
        hwPortBrOutPassPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed packets for broadcast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 23 }            
            
        hwPortBrOutPassByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of passed bytes for broadcast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 24 }    
            
        hwPortBrOutDropPack OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped packets for broadcast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 25 }    
            
         hwPortBrOutDropByte OBJECT-TYPE
            SYNTAX Counter64
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the number of dropped bytes for broadcast traffic in the outbound direction."
            ::= { hwPortSuppressionStatisticEntry 26 } 
            
--
-- hwMacAccountStatisticTable
--
        hwMacAccountStatisticTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwMacAccountStatisticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This table is used to manage MAC accounting statistics."
            ::= { hwL2MAMObjects 50 }
hwMacAccountStatisticEntry OBJECT-TYPE
    SYNTAX HwMacAccountStatisticEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Entry for mac accounting information."
    INDEX { hwMacAccountStatisticIfindex,hwMacAccountStatisticMacAddr }
    ::= { hwMacAccountStatisticTable 1 }
    
HwMacAccountStatisticEntry ::= SEQUENCE {
	hwMacAccountStatisticIfindex          InterfaceIndex, 
    hwMacAccountStatisticMacAddr          MacAddress,
    hwMacAccountStatisticIfName           OCTET STRING,
    hwMacAccountStatisticIfInBytes        Counter64,
    hwMacAccountStatisticIfInPkts         Counter64,
	hwMacAccountStatisticIfOutBytes       Counter64,
	hwMacAccountStatisticIfOutPkts        Counter64
    }
    
hwMacAccountStatisticIfindex OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION "This object indicates the interface index."
    ::= { hwMacAccountStatisticEntry 1 }
        
hwMacAccountStatisticMacAddr OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the MAC address."
    ::= { hwMacAccountStatisticEntry 2 }

hwMacAccountStatisticIfName OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..32))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the interface name."
    ::= { hwMacAccountStatisticEntry 3 }
    
hwMacAccountStatisticIfInBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the number of bytes in the inbound direction of an interface."
    ::= { hwMacAccountStatisticEntry 4 }
    
hwMacAccountStatisticIfInPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the number of packets in the inbound direction of an interface."
    ::= { hwMacAccountStatisticEntry 5 }
    
hwMacAccountStatisticIfOutBytes OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the number of bytes in the outbound direction of an interface."
    ::= { hwMacAccountStatisticEntry 6 }     
    
hwMacAccountStatisticIfOutPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the number of packets in the outbound direction of an interface."
    ::= { hwMacAccountStatisticEntry 7 }
            
-- IEEE 802.1Q MIB - Conformance Information

-- hwL2DomainMacLimitAlarmTable begin
hwL2DomainMacLimitAlarmTable OBJECT-TYPE
                SYNTAX SEQUENCE OF HwL2DomainMacLimitAlarmEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION 
                "MAC usage table"
                ::= { hwL2MAMObjects 53 }
				
hwL2DomainMacLimitAlarmEntry OBJECT-TYPE
               SYNTAX HwL2DomainMacLimitAlarmEntry
               MAX-ACCESS not-accessible
               STATUS current
               DESCRIPTION
               "MAC usage entry"
               INDEX {entPhysicalIndex, hwMacLimitAlarmVlan, hwMacLimitAlarmVsi, hwMacLimitAlarmBdID, hwMacLimitAlarmEpnName}
               ::= { hwL2DomainMacLimitAlarmTable 1 }
			   
HwL2DomainMacLimitAlarmEntry::=SEQUENCE {
                           hwMacLimitAlarmVlan           Integer32,	
                           hwMacLimitAlarmVsi            OCTET STRING,
                           hwMacLimitAlarmBdID           Integer32,	
                           hwMacLimitAlarmEpnName        OCTET STRING,
                           hwMacLimitAlarmDynNum         Integer32,						   
                           hwMacLimitAlarmMaxMac         Integer32,
                           hwMacLimitAlarmUpthreshold    Integer32,
                           hwMacLimitAlarmDownthreshold  Integer32
                        }

        hwMacLimitAlarmVlan OBJECT-TYPE
                SYNTAX Integer32(0..4094)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The vlan id which will be configured mac-limit."
                ::= { hwL2DomainMacLimitAlarmEntry 1 }
				
        hwMacLimitAlarmVsi   OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The vsi name which will be configured mac-limit."
                ::= { hwL2DomainMacLimitAlarmEntry 2 } 
				
		hwMacLimitAlarmBdID OBJECT-TYPE
                SYNTAX Integer32(1..32768)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The bridge domain id which will be configured mac-limit."
                ::= { hwL2DomainMacLimitAlarmEntry 3 }
				
        hwMacLimitAlarmEpnName OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                        "The EVPN name which will be configured mac-limit."
                ::= { hwL2DomainMacLimitAlarmEntry 4 }
				
        hwMacLimitAlarmDynNum   OBJECT-TYPE
                SYNTAX Integer32
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                "The number of learned dynamic MAC address ."
                ::= { hwL2DomainMacLimitAlarmEntry 5 }  
				
        hwMacLimitAlarmMaxMac OBJECT-TYPE
               SYNTAX Integer32 (0..2048000)
               MAX-ACCESS accessible-for-notify
               STATUS current
               DESCRIPTION
               "The maximum mac address. When the value is '0', the meaning is that there isn't limiting rule to the mac-address number."
               ::= { hwL2DomainMacLimitAlarmEntry 6 }
			   
        hwMacLimitAlarmUpthreshold OBJECT-TYPE
               SYNTAX Integer32 (0..100)
               MAX-ACCESS accessible-for-notify
               STATUS current
               DESCRIPTION
               "Upper threshold of MAC address limit"
               ::= { hwL2DomainMacLimitAlarmEntry 7 }
			   
        hwMacLimitAlarmDownthreshold OBJECT-TYPE
               SYNTAX Integer32 (0..100)
               MAX-ACCESS accessible-for-notify
               STATUS current
               DESCRIPTION
               "Lower threshold of MAC address limit"
               ::= { hwL2DomainMacLimitAlarmEntry 8 }
			   
-- hwL2DomainMacLimitAlarmTable end

hwL2MAMConformance OBJECT IDENTIFIER ::= { hwL2MAM 2 }

hwL2MAMGroups OBJECT IDENTIFIER ::= { hwL2MAMConformance 1 }

hwL2MAMCompliances OBJECT IDENTIFIER
    ::= { hwL2MAMConformance 2 }

-- units of conformance

hwL2MAMCfgFdbGroup OBJECT-GROUP
    OBJECTS {
        hwCfgFdbPort,
        hwCfgFdbType,
        hwCfgFdbAtmPort,
        hwCfgFdbVpi,
        hwCfgFdbVci,
        hwCfgFdbRowstatus,
        hwCfgFdbCeDefault,
        hwUntargetMacNum
--      hwCfgFdbPeVlanId
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about
        level 2 configured mac-address table."
    ::= { hwL2MAMGroups 1 }

hwL2MAMDynFdbGroup OBJECT-GROUP
    OBJECTS {
        hwDynFdbPort,
        hwDynFdbAtmPort,
        hwDynFdbVpi,
        hwDynFdbVci,
        hwDynFdbRowstatus,
        hwDynSecurityFdbToStaticEnable
--      hwDynFdbPeVlanId
       }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about
        level 2 Dynamic mac-address table."
    ::= { hwL2MAMGroups 2 }


hwL2MAMMacLimitGroup OBJECT-GROUP
    OBJECTS {
        hwMacLimitMaxMac,
        hwMacLimitMaxRate,
        hwMacLimitAction,
        hwMacLimitAlarm,
        hwMacLimitRowstatus,
        hwL2MaxMacLimit,
        hwMacAddressLearn,
        hwMacDynAddressLearnNum,
        hwMacSecureAddressLearnNum,
        hwMacLimitRuleMaxMac,   
        hwMacLimitRuleMaxRate,
        hwMacLimitRuleAction,
        hwMacLimitRuleAlarm,
        hwMacLimitRuleRowstatus, 
        hwMacRuleDynAddressLearnNum,
        hwMacLimitApplyRuleName,
        hwMacLimitApplyRowstatus,
        hwPwMacLimitMaxMac,
        hwPwMacLimitMaxRate,
        hwPwMacLimitAction,
        hwPwMacLimitAlarm,
        hwPwMacLimitRowstatus,
        hwPwMacAddressLearn,
        hwPwMacDynAddressLearnNum,
        hwSlotMacLimitMaxMac,
        hwSlotMacLimitMaxRate,
        hwSlotMacLimitAction,
        hwSlotMacLimitAlarm,
        hwSlotMacLimitRowstatus,
        hwBridgeMacAgingTime
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about mac-address
        limit rules."
    ::= { hwL2MAMGroups 3 }

hwL2MAMMacUsageGroup OBJECT-GROUP
    OBJECTS {
        hwMacEntityUsage,
        hwMacEntityUsageThreshold
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about mac-address
        usage."
    ::= { hwL2MAMGroups 4 }   
    
hwdbCfg3tupleFdbGroup OBJECT-GROUP
    OBJECTS {
        hwdbCfg3tupleFdbOutPort, 
        hwdbCfg3tupleFdbRowStatus
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about 
        level 2 configured 3-tuple mac-address table."
    ::= { hwL2MAMGroups 5 }      
    
hwL2MAMObjectsGroup OBJECT-GROUP
    OBJECTS {
        hwMacAgingTime,
        hwMacRestrict,
        hwMacGlobalStatistics,
        hwDiscardIllegalMacEnable,
        hwDiscardIllegalMacAlarm,
        hwMacSpoofingDefend,
        hwMacflappingMac,
        hwMacFlappingVlan
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about 
        mac-address configuration."
    ::= { hwL2MAMGroups 6 }     
  
hwPortSecurityGroup OBJECT-GROUP
        OBJECTS {
                hwPortSecurityEnabled,
                hwPortSecurityProtectAction,
                hwPortSecurityAllDynToStaticEnable,
                hwPortSecurityAllDynToStickyEnable,
                hwPortSecurityMaxMacNum
           } 
      STATUS      current
      DESCRIPTION
            "A table containing the port security information for device.
    It can protect the port from unaccessible mac."
     ::= { hwL2MAMGroups 7 }  

hwMacIfStatisticsGroup OBJECT-GROUP
    OBJECTS { 
        hwMacIfStatistics
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about mac-address statistics by interface index."
    ::= { hwL2MAMGroups 8 } 
    
hwMacSlotStatisticsGroup OBJECT-GROUP
    OBJECTS {
        hwMacSlotStatistics,
        hwMacSlotStatisticsSpecify,
        hwMacSlotUsage,
        hwMacSlotUsageThreshold
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about mac-address statistics by slot ID."
    ::= { hwL2MAMGroups 9 } 
    
hwMacVlanStatisticsGroup OBJECT-GROUP
    OBJECTS { 
        hwMacVlanStatistics
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about mac-address statistics by VLAN ID."
    ::= { hwL2MAMGroups 10 } 
                 
hwMacVsiStatisticsGroup OBJECT-GROUP
    OBJECTS {
        hwMacVsiStatistics
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about mac-address statistics by VSI name."
    ::= { hwL2MAMGroups 11 } 
    
hwMacSpoofingDefendGroup OBJECT-GROUP
        OBJECTS {
                hwMacSpoofingDefendEnabled
           } 
      STATUS      current
      DESCRIPTION
            "A collection of objects providing information about MAC spoofing defend."
     ::= { hwL2MAMGroups 12 } 

     hwL2ProtocolTunnelTrapGroup OBJECT-GROUP
            OBJECTS {
                hwL2ProtocolTunnelTrapPortName,
                hwL2ProtocolTunnelTrapProtocolName,
                hwL2ProtocolTunnelTrapDropThreshold
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of objects information of L2 Protocol Tunnel Trap notify."
            ::= { hwL2MAMGroups 13 } 
     
        hwL2ProtclTnlStdProtclGroup OBJECT-GROUP
            OBJECTS {
                hwL2ProtclTnlStdProtclMacAddr,
                hwL2ProtclTnlStdEncapType,
                hwL2ProtclTnlStdProtclType,
                hwL2ProtclTnlStdGroupMacAddr,
                hwL2ProtclTnlStdGroupDefault,
                hwL2ProtclTnlStdPriority
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of configuration table of standard L2 protocol tunnel."
            ::= { hwL2MAMGroups 14 } 
            
        hwL2ProtclTnlCusProtclGroup OBJECT-GROUP
            OBJECTS {
                hwL2ProtclTnlCusProtclMacAddr,
                hwL2ProtclTnlCusEncapType,
                hwL2ProtclTnlCusProtclType,
                hwL2ProtclTnlCusGroupMacAddr,
                hwL2ProtclTnlCusGroupDefault,
                hwL2ProtclTnlCusPriority,
                hwL2ProtclTnlCusRowStatus
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of configuration table of customize L2 protocol tunnel."
            ::= { hwL2MAMGroups 15 }  
            
        hwL2ProtclTnlEnableGroup OBJECT-GROUP
            OBJECTS {
                hwL2ProtclTnlEnableTransMode,
                hwL2ProtclTnlEnableTagListLow,
                hwL2ProtclTnlEnableTagListHigh,
                hwL2ProtclTnlEnableDropthresholdRate,
                hwL2ProtclTnlEnableRowStatus
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of port configuration of L2 protocol tunnel."
            ::= { hwL2MAMGroups 16 }  
            
        hwL2ProtclTnlStatisticsGroup OBJECT-GROUP
            OBJECTS {
                hwL2ProtclTnlStatisticsDropthrhldRate,
                hwL2ProtclTnlStatisticsInputPkts,
                hwL2ProtclTnlStatisticsOutputPkts,
                hwL2ProtclTnlStatisticsDropPkts
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of port statistics of L2 protocol tunnel."
            ::= { hwL2MAMGroups 17 }      
                                 
        -- MAC better maintenance
        hwCfgMacAddrQueryTableGroup OBJECT-GROUP
            OBJECTS {
                hwCfgMacAddrQueryType,
                hwCfgMacAddrQueryIfIndex,
                hwCfgMacAddrQueryPeVlanId,
                hwCfgMacAddrQueryCeVlanId,
                hwCfgMacAddrQueryCedefaultFlag,
                hwCfgMacAddrQueryAtmIfIndex,
                hwCfgMacAddrQueryVpi,
                hwCfgMacAddrQueryVci,
                hwCfgMacAddrQueryMacTunnel
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of layer 2 Configured mac-address query table."
            ::= { hwL2MAMGroups 18 }  
            
        hwDynMacAddrQueryTableGroup OBJECT-GROUP
            OBJECTS {
                hwDynMacAddrQueryType,
                hwDynMacAddrQueryIfIndex,
                hwDynMacAddrQueryPeVlanId,
                hwDynMacAddrQueryCeVlanId,
                hwDynMacAddrQueryAtmIfIndex,
                hwDynMacAddrQueryVpi,
                 hwDynMacAddrQueryVci,
                hwDynMacAddrQueryPeerIp,
                hwDynMacAddrQueryPwId,
                hwDynMacAddrQueryMacTunnel,
                hwDynMacAddrQueryAgingTime               
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of layer 2 dynamic mac-address query table."
            ::= { hwL2MAMGroups 19 }  
            
        hwMacInfoQueryTableGroup OBJECT-GROUP
            OBJECTS {
                hwMacInfoQueryTotalNumber,
                hwMacInfoQueryTotalLocalNumber,
                hwMacInfoQueryTotalRemoteNumber,
                hwMacInfoQueryCapacity
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of layer 2 mac-address database query."
            ::= { hwL2MAMGroups 20 }       

        hwPwOverGreGroup OBJECT-GROUP
            OBJECTS {
               hwRemoteIp,
               hwVplsOverGreVsiName,
                hwPeerRemoteIp,
               hwVplsOverLdpOverGreVsiName,
               hwEvpnOverLdpOverGreEvpnName
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of pw over gre tunnel."
            ::= { hwL2MAMGroups 21 }                                  

        hwPwSourceTunnelCheckGroup OBJECT-GROUP
            OBJECTS {
               hwPwLabel,
               hwTeLabel,
	       hwPortName	       
                }
            STATUS current
            DESCRIPTION 
                "A collection of items of pw source check."
            ::= { hwL2MAMGroups 22 }     

        hwNotSupportTunnelGroup OBJECT-GROUP
            OBJECTS {
               hwEVPNPeerRemoteIp,       
               hwNotSupportTunnelEvpnName,
               hwNotSupportTunnelPwId,       
               hwPWPeerRemoteIp,
               hwNotSupportTunnelVSIName,
               hwNotSupportTunnelType
            }
         STATUS      current
         DESCRIPTION
              "A collection of objects providing information about
        EVPN and VPLS not support tunnel table."
         ::= { hwL2MAMGroups 23 }

          hwPVSuppressionStatisticGroup OBJECT-GROUP
            OBJECTS {hwPVStatisticTime,
                    hwPVUcInPassPack,
                    hwPVUcInPassByte,
                    hwPVUcInDropPack,
                    hwPVUcInDropByte,
                    hwPVUcOutPassPack,
                    hwPVUcOutPassByte,
                    hwPVUcOutDropPack,
                    hwPVUcOutDropByte,
                    hwPVMulInPassPack,
                    hwPVMulInPassByte,
                    hwPVMulInDropPack,
                    hwPVMulInDropByte,
                    hwPVMulOutPassPack,
                    hwPVMulOutPassByte,
                    hwPVMulOutDropPack,
                    hwPVMulOutDropByte,
                    hwPVBrInPassPack,
                    hwPVBrInPassByte,
                    hwPVBrInDropPack,
                    hwPVBrInDropByte,
                    hwPVBrOutPassPack,
                    hwPVBrOutPassByte,
                    hwPVBrOutDropPack,
                    hwPVBrOutDropByte
                 }
            STATUS current
            DESCRIPTION 
                "A collection of items of subif Suppression Statistic."
            ::= { hwL2MAMGroups 24} 

           hwPortSuppressionStatisticGroup OBJECT-GROUP
            OBJECTS {hwPortStatisticTime,
                    hwPortUcInPassPack,
                    hwPortUcInPassByte,
                    hwPortUcInDropPack,
                    hwPortUcInDropByte,
                    hwPortUcOutPassPack,
                    hwPortUcOutPassByte,
                    hwPortUcOutDropPack,
                    hwPortUcOutDropByte,
                    hwPortMulInPassPack,
                    hwPortMulInPassByte,
                    hwPortMulInDropPack,
                    hwPortMulInDropByte,
                    hwPortMulOutPassPack,
                    hwPortMulOutPassByte,
                    hwPortMulOutDropPack,
                    hwPortMulOutDropByte,
                    hwPortBrInPassPack,
                    hwPortBrInPassByte,
                    hwPortBrInDropPack,
                    hwPortBrInDropByte,
                    hwPortBrOutPassPack,
                    hwPortBrOutPassByte,
                    hwPortBrOutDropPack,
                    hwPortBrOutDropByte
                 }
            STATUS current
            DESCRIPTION 
                "A collection of items of subif Suppression Statistic."
            ::= { hwL2MAMGroups 25}
            
        hwMacAccountStatisticGroup OBJECT-GROUP
            OBJECTS { 
            hwMacAccountStatisticIfName,
            hwMacAccountStatisticIfInBytes,
            hwMacAccountStatisticIfInPkts,
            hwMacAccountStatisticIfOutBytes,
            hwMacAccountStatisticIfOutPkts            
            }
            STATUS current
            DESCRIPTION 
                "mac accounting statistics table group."
            ::= { hwL2MAMGroups 26}     

-- compliance statements

hwL2MAMCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for device support of Level 2
        Mac-address management."

    MODULE
        MANDATORY-GROUPS {
            hwL2MAMCfgFdbGroup,
            hwL2MAMDynFdbGroup,
            hwL2MAMMacLimitGroup,
            hwL2MAMMacUsageGroup,
            hwdbCfg3tupleFdbGroup,
            hwMacIfStatisticsGroup,
            hwMacSlotStatisticsGroup,
            hwMacVlanStatisticsGroup,
            hwMacVsiStatisticsGroup
        }


       ::= { hwL2MAMCompliances 1 }

    hwL2MACTrapGroups OBJECT IDENTIFIER ::= { hwL2MAMConformance 3 }

        hwBaseTrapGroup NOTIFICATION-GROUP
            NOTIFICATIONS {hwMacUsageRaisingThreshold, 
            hwMacUsageFallingThreshold,
            hwMacLimitNumRaisingThreshold,
            hwMacLimitNumFallingThreshold,hwUntargetMacNumAlarm,
            hwPortSecRcvInsecurePktAlarm,
            hwPwMacLimitNumRaisingThreshold,
            hwPwMacLimitNumFallingThreshold,  
            hwPortStickyReachMaxAlarm,
            hwRecIllegalMacPktAlarm,
            hwMacLimitOverThresholdAlarm,
            hwMacFlappingAlarm,
            hwSlotMacLimitNumRaisingThreshold,
            hwSlotMacLimitNumFallingThreshold,
            hwL2ProtocolTunnelDropThresholdRaising,
            hwL2ProtocolTunnelDropThresholdFalling,
            hwVsiMacLimitNumRaisingThresholdAlarm,
            hwVsiMacLimitNumRaisingThresholdAlarmClear,
            hwMacLimitOverThresholdAlarmResume,
            hwSlotMacNumRaisingThreshold,
            hwSlotMacNumFallingThreshold,
            hwMacLimitRuleNumRaisingThreshold,
            hwMacLimitRuleNumFallingThreshold,
            hwVplsOverGRENotSupportForwardRising,
            hwVplsOverGRENotSupportForwardRisingResume,
            hwIfInputUnucFlowRisingThreshold,
            hwIfInputUnucFlowFallingThreshold,
            hwMacHopAlarmRisingThreshold,
            hwMacHopAlarmFallingThreshold,
            hwPstBroadcastLostAlarm,
            hwPstBroadcastLostResume,
            hwBdMacLimitOverThresholdAlarm,
            hwBdMacLimitOverThresholdAlarmResume,
            hwPWOverLdpOverGRENotSupportForwardAlarm,
            hwPWOverLdpOverGRENotSupportForwardResume,
            hwPwSourceTunnelCheckAlarm,
            hwPwSourceTunnelCheckResume,
            hwPwSourceTunnelNoTeCheckAlarm,
            hwPwSourceTunnelNoTeCheckResume,
            hwBoardServiceMisMatchGenerate,
            hwEVPNNotSupportTunnelAlarm,
            hwEVPNNotSupportTunnelAlarmResume,
            hwVPLSNotSupportTunnelAlarm,
            hwVPLSNotSupportTunnelAlarmResume,
            hwBoardServiceMisMatchCancel,
            hwServiceNotSupportNodeSrteLoadBanlance,
            hwVplsPwHqosNotSupportTunnelAlarm,
            hwVplsPwHqosNotSupportTunnelAlarmResume,
            hwPbbEvpnNotSupportTunnelAlarm,
            hwPbbEvpnNotSupportTunnelAlarmResume,
            hwVllVpnQosNotSupportTunnelAlarm,
            hwVllVpnQosNotSupportTunnelAlarmResume,
            hwVllVpnQosOverTunnelAlarm,
            hwVllVpnQosOverTunnelAlarmResume,
            hwBroadcastDomainElbAlarm,
            hwBroadcastDomainElbAlarmResume, 
            hwL2DomainMacLimitNumRaisingThreshold , 
            hwL2DomainMacLimitNumFallingThreshold,
            hwVxlanTunnelMacLimitOverThresholdAlarm,
            hwVxlanTunnelMacLimitOverThresholdAlarmResume, 
            hwTunnelNotSupportInterface,
            hwServiceNotSupportDscpSrte,
            hwVlanMacLimitOverThreshold,
            hwVlanMacLimitOverThresholdResume, 
            hwPortMacLimitOverThreshold,
            hwPortMacLimitOverThresholdResume,
            hwNotSupportTeOverGre}
            STATUS current
            DESCRIPTION
                "L2 MAC tap group."
            ::= { hwL2MACTrapGroups 2 }

END
