-- ==================================================================
-- Copyright (C) 2002 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- 
-- Description: HUAWEI Layer Two Interface Management MIB
-- Reference:
-- Version: V1.0
-- History:
--      V1.0 
-- ==================================================================

HUAWEI-L2IF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    
    hwDatacomm 
    FROM HUAWEI-MIB
        
    TruthValue,TEXTUAL-CONVENTION
        FROM SNMPv2-TC

    MODULE-IDENTITY,OBJECT-TYPE,Integer32,IpAddress,OBJECT-IDENTITY
        FROM SNMPv2-SMI

    ifIndex,InterfaceIndex,ifDescr
        FROM IF-MIB 
        
    RowStatus
        FROM SNMPv2-TC
    
    EnabledStatus
        FROM P-BRIDGE-MIB;
    
     hwL2Mgmt OBJECT IDENTIFIER ::= { hwDatacomm 42 }
     
    hwL2IfMib MODULE-IDENTITY
        LAST-UPDATED "200505100836Z"        
    ORGANIZATION 
        "Huawei Technologies co.,Ltd."
    CONTACT-INFO 
        "VRP Team Huawei Technologies co.,Ltd.
        Huawei Bld.,NO.3 Xinxi Rd., 
        Shang-Di Information Industry Base,
        Hai-Dian District Beijing P.R. China
        http://www.huawei.com
            Zip:100085
        "
    DESCRIPTION
        "information of layer2 interface and information of hybrid port and
        information of trunk port"
            ::= { hwL2Mgmt 1 }
          

VlanList ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Each octet within this value specifies a set of eight
        vlans, with the first octet specifying vlans 0 through
        7, the second octet specifying vlans 8 through 15, etc.
        Within each octet, the most significant bit represents
        the lowest numbered vlan, and the least significant bit
        represents the highest numbered vlan.  Thus, each vlan
        of the link is represented by a single bit within the
        value of this object.  If that bit has a value of '1'
        then that vlan is included in the set of vlans; the vlan
        is not included if its bit has a value of '0'."
    SYNTAX      OCTET STRING
-- ============================================================================
                  
    hwL2IfObjects OBJECT IDENTIFIER ::= { hwL2IfMib 1 }  
    
    hwL2Interface OBJECT IDENTIFIER ::= { hwL2IfObjects 1 }

-- ============================================================================
--
-- ======================= definition begin ===================================
--
-- ============================================================================       
    hwL2IfPortMax  OBJECT-TYPE 
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION 
            "Max ports that this device supports,BRIDGE-MIB have a resemble definition."
        ::= { hwL2Interface  1 }    
        
    hwL2TopologyDetect  OBJECT-TYPE 
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Whether to enable layer2 topology detection."
        ::= { hwL2Interface  2 } 
      
      
 -- ===========================================================================
 -- layer 2 interface group
 -- ===========================================================================      
    hwL2IfTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION 
            " This is a table of layer2 interface,so it displays some attribute of
            layer2 interface."
        ::= { hwL2Interface  3 }


    hwL2IfEntry  OBJECT-TYPE
        SYNTAX HwL2IfEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION 
            " Entries of extended Huawei private interface information table   "
        INDEX    { hwL2IfPortNum }
        ::= { hwL2IfTable 1}

    HwL2IfEntry ::=
    SEQUENCE {
        hwL2IfPortNum INTEGER,
        hwL2IfPortIfIndex InterfaceIndex,    
        hwL2IfPortType        INTEGER,    
        hwL2IfPVID      INTEGER,
        hwL2IfIsSrcMacFilter   TruthValue,
        hwL2IfMacAddrLearnMode INTEGER,    
        hwL2IfMacAddressLearn INTEGER,    
        hwL2IfBcastRatio INTEGER,      
        hwL2IfMcastRatio INTEGER,      
        hwL2IfUcastRatio INTEGER,  
        hwL2IfOutBcastRatio INTEGER,      
        hwL2IfOutMcastRatio INTEGER,      
        hwL2IfOutUcastRatio INTEGER,
        hwL2IfDiscardBcast EnabledStatus,
        hwL2IfDiscardUnknownMcast EnabledStatus,
        hwL2IfDiscardUnknownUcast EnabledStatus,
        hwL2IfBpdu EnabledStatus,
        hwL2IfPortPriority Integer32,
        hwL2IfPortName  OCTET STRING,
        hwL2IfInInvalidVlanPkts  Counter64,
        hwL2IfFlushEnable  EnabledStatus,
        hwL2IfFlushControlVlan  Integer32,
        hwL2IfTrustDefaultPriority EnabledStatus,
        hwL2IfOfflineStatus EnabledStatus,
        hwL2IfQinqVlanTransEnable EnabledStatus,
        hwL2IfQinqVlanTransMissDrop INTEGER,
        hwL2IfIpSubnetVlanEnable EnabledStatus,
        hwL2IfMacVlanEnable EnabledStatus,
    hwL2IfPolicyVlanEnable EnabledStatus,
    hwL2IfVlanPrecedence  Integer32,
    hwL2IfIsolateGroupEnable  EnabledStatus
        }

                      
    hwL2IfPortNum OBJECT-TYPE   
        SYNTAX  INTEGER (1..65535)      
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "Number of layer2 interface port, a unique value,
            for each port.It is recommended that values are assigned 
            contiguously starting from 1. "
        ::= { hwL2IfEntry 1 }
        
     hwL2IfPortIfIndex OBJECT-TYPE
        SYNTAX  InterfaceIndex
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "A unique value, greater than zero, for each interface or interface
             sub-layer in the managed system. The value is consistent with the
             ifIndex in ifTable of IF-MIB."
           ::= { hwL2IfEntry 2 }
    


    hwL2IfPortType  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                    invalid(0),  
                    trunk(1) ,     
                    access(2) ,
                    hybrid(3) ,    
                    fabric(4),
                    qinq(5)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             " Layer2 interface Port type, it contains invalid(0), trunk(1),
             access(2), hybrid(3), fabric(4)and qinq(5).Do not support 
             fabric(4) now.invalid(0),which we read only,can't modify."
        ::= { hwL2IfEntry 3 }

    hwL2IfPVID  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Layer2 interface Port VLAN ID"
        ::= { hwL2IfEntry 4 }
        
    hwL2IfIsSrcMacFilter OBJECT-TYPE   
        SYNTAX  TruthValue
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION 
            " Whether to filter source MAC address. We don't support it now."
        ::= { hwL2IfEntry 5 }
       

    hwL2IfMacAddrLearnMode OBJECT-TYPE
        SYNTAX  INTEGER
            {
                iVL(1),
                sVL(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION 
            " Status indicates mac address learn mode of the interface.
               IVL(1) means independent VLAN learning.SVL means shared VLAN learning.
            We only support iVL now."
        ::= { hwL2IfEntry 6 }
            
    hwL2IfMacAddressLearn OBJECT-TYPE
        SYNTAX  INTEGER
            {
                enabled(1),
                disabled(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             " Status indicates if the interface is allowed to learn mac 
             address, enable(1) can be setted, (enabled(1) means that 
             the interface can learn mac address), otherwise disabled(2) 
             can be setted."
        ::= { hwL2IfEntry 7 }
      
    --suppression step of percentage mode       
    hwL2IfBcastRatio OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Broadcast-suppression ratio. Default is 100% . 100% indicates 
            that the broadcast isn't suppressed."
        ::= { hwL2IfEntry 8 }

    hwL2IfMcastRatio OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Multicast-suppression ratio.Default is 100%, 100% indicates that
             the multicast isn't suppressed."
        ::= { hwL2IfEntry 9 }

    hwL2IfUcastRatio OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Unicastsuppression ratio. Default is 100% , 100% indicates that 
            the broadcast isn't suppressed."
        ::= { hwL2IfEntry 10 }
        
    hwL2IfOutBcastRatio OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Outbound broadcast-suppression ratio. Default is 100% . 100% indicates 
            that the broadcast isn't suppressed."
        ::= { hwL2IfEntry 11 }

    hwL2IfOutMcastRatio OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Outbound multicast-suppression ratio.Default is 100%, 100% indicates that
             the multicast isn't suppressed."
        ::= { hwL2IfEntry 12 }

    hwL2IfOutUcastRatio OBJECT-TYPE
        SYNTAX  INTEGER (0..100)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Outbound unicastsuppression ratio. Default is 100% , 100% indicates that 
            the broadcast isn't suppressed."
        ::= { hwL2IfEntry 13 }

    hwL2IfDiscardBcast OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The flag of droping the broadcast packets,  
            1:discard;  2:forward(default)."
        ::= { hwL2IfEntry 14 }
        
    hwL2IfDiscardUnknownMcast  OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The flag of droping the unknown mutilcast packets,  
            1:discard;  2:forward(default)."
        ::= { hwL2IfEntry 15 }
        
    hwL2IfDiscardUnknownUcast    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The flag of droping the unknown unicast packets,
            1:discard;  2:forward(default)."
        ::= { hwL2IfEntry 16 }   
        
    hwL2IfBpdu OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Bpdu enable in port."
        ::= { hwL2IfEntry 17 }

       
    hwL2IfPortPriority OBJECT-TYPE  
        SYNTAX  Integer32 (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Port priority about interface."
        ::= { hwL2IfEntry 18 }
        
    hwL2IfPortName     OBJECT-TYPE
        SYNTAX OCTET STRING(SIZE(0..48))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The interface name."
        ::= { hwL2IfEntry 19 }
     
     hwL2IfInInvalidVlanPkts    OBJECT-TYPE
        SYNTAX  Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION   
            " The number of invalid VLAN packets."
        ::= { hwL2IfEntry 20 }  
        
     hwL2IfFlushEnable      OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION   
            " The flush enable status of layer2 port."
        ::= { hwL2IfEntry 21 }  
        
     hwL2IfFlushControlVlan    OBJECT-TYPE
        SYNTAX  Integer32 (1..4094 | 65535)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION   
            " The control vlan of flush packet."
        ::= { hwL2IfEntry 22 }          
     hwL2IfTrustDefaultPriority    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The flag of qinq port trust default priority,
            1:enable;  2:disable(default)."
        ::= { hwL2IfEntry 23 } 
        
     hwL2IfOfflineStatus    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The flag of port offline status,
            1:enable;  2:disable(default)."
        ::= { hwL2IfEntry 24 }        

     hwL2IfQinqVlanTransEnable    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable QinQ VLAN translation,
            1:enable;  2:disable(default)."
        ::= { hwL2IfEntry 25 } 
        
     hwL2IfQinqVlanTransMissDrop    OBJECT-TYPE
        SYNTAX  INTEGER
                {
                    noDrop(1),  
                    drop(2)      
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Packets are dropped when a VLAN translation miss occurs,
            1:noDrop(default);  2:drop."
        ::= { hwL2IfEntry 26 }  
        
     hwL2IfIpSubnetVlanEnable    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Enable VLAN assignment based on ip subnet,
            1:enable(default);  2:disable."
        ::= { hwL2IfEntry 27 } 
        
    hwL2IfMacVlanEnable    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Mac Vlan enable, 
            1:enable;  2:disable(default)"
        ::= { hwL2IfEntry 28 } 

   hwL2IfPolicyVlanEnable    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Policy Vlan enable,
            1:enable;  2:disable(default)"
        ::= { hwL2IfEntry 29 } 

   hwL2IfVlanPrecedence    OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "Determine the priorities for selecting VLAN (MAC-based, subnet-based VLANs),
            0:MAC VLAN(default);  1:IPSUBNET VLAN."
        ::= { hwL2IfEntry 30 } 
        
         hwL2IfIsolateGroupEnable    OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "The value enabled(1) indicates that the port is a member of the port-isolate group; disable(2) indicates that the port is not a member of the port-isolate group. The default value is disable(2)."
        DEFVAL  {2}
        ::= { hwL2IfEntry 31 }
        
-- ============================================================================
-- Hybrid port group
-- ============================================================================
    hwL2IfHybridPortTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfHybridPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Hybrid-port configuration table  "
        ::= { hwL2Interface  9 }

    hwL2IfHybridPortEntry  OBJECT-TYPE
        SYNTAX HwL2IfHybridPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Entry of Hybrid-port configuration table   "
        INDEX   { hwL2IfHybridPortIndex }
        ::= { hwL2IfHybridPortTable 1}

    HwL2IfHybridPortEntry  ::=
    SEQUENCE 
            {
                hwL2IfHybridPortIndex            INTEGER,    
                hwL2IfHybridTaggedVlanListLow    VlanList,
                hwL2IfHybridTaggedVlanListHigh   VlanList,
                hwL2IfHybridUnTaggedVlanListLow  VlanList,
                hwL2IfHybridUnTaggedVlanListHigh VlanList
            }



    hwL2IfHybridPortIndex  OBJECT-TYPE
        SYNTAX  INTEGER  (1..65535)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Index of Hybrid-port  "
        ::= { hwL2IfHybridPortEntry 1 }


    hwL2IfHybridTaggedVlanListLow  OBJECT-TYPE
        SYNTAX  VlanList (SIZE(256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The lowest possible value of the tagged vlan list on the 
            Hybrid-port."
        ::= { hwL2IfHybridPortEntry 2 }


    hwL2IfHybridTaggedVlanListHigh OBJECT-TYPE
        SYNTAX  VlanList (SIZE(256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION   
            " The highest possible value of the tagged vlan list on the 
            Hybrid-port."
        ::= { hwL2IfHybridPortEntry 3 }


    hwL2IfHybridUnTaggedVlanListLow  OBJECT-TYPE
        SYNTAX  VlanList (SIZE(256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The lowest possible value of the untagged vlan list on the 
            Hybrid-port."
        ::= { hwL2IfHybridPortEntry 4 }


    hwL2IfHybridUnTaggedVlanListHigh OBJECT-TYPE
        SYNTAX  VlanList (SIZE(256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION  
             " The highest possible value of the untagged vlan list on the 
             Hybrid-port."
        ::= { hwL2IfHybridPortEntry 5 }  


-- ============================================================================
-- Trunk port group
-- ============================================================================
    hwL2IfTrunkPortTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfTrunkPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Trunk-port configuration table. Trunk-port is a logistic port."
        ::= { hwL2Interface  10 }


    hwL2IfTrunkPortEntry  OBJECT-TYPE
        SYNTAX HwL2IfTrunkPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             " Entry of Trunk-port configuration table   "
        INDEX   { hwL2IfTrunkPortIndex }
        ::= { hwL2IfTrunkPortTable 1}

    HwL2IfTrunkPortEntry  ::=
        SEQUENCE 
            {
                hwL2IfTrunkPortIndex            INTEGER,
                hwL2IfTrunkAllowPassVlanListLow    VlanList,
                hwL2IfTrunkAllowPassVlanListHigh   VlanList
            }


    hwL2IfTrunkPortIndex  OBJECT-TYPE
        SYNTAX  INTEGER  (1..65535)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Index of Trunk-port  "
        ::= { hwL2IfTrunkPortEntry 1 }


    hwL2IfTrunkAllowPassVlanListLow  OBJECT-TYPE
        SYNTAX  VlanList (SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " The lowest possible value of the Vlan list that port Trunk allows
             to pass."
        ::= { hwL2IfTrunkPortEntry 2 }


    hwL2IfTrunkAllowPassVlanListHigh OBJECT-TYPE
        SYNTAX  VlanList (SIZE(0..256))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION   
            " The highest possible value of the Vlan list that port Trunk 
            allows to pass."
        ::= { hwL2IfTrunkPortEntry 3 }

    hwL2IfPortIsolateTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfPortIsolateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Port isolate in the same Service-instance table. The Service-instance
             is used to communicate among different vlans."
        ::= { hwL2Interface  11 }

    hwL2IfPortIsolateEntry  OBJECT-TYPE  
        SYNTAX  HwL2IfPortIsolateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             " Entry of port isolate configuration table."
        INDEX   { hwL2IfPortIsolatePortIndex,hwL2IfPortIsolateSIName }
        ::= { hwL2IfPortIsolateTable 1}

    HwL2IfPortIsolateEntry ::=
    SEQUENCE 
        {
            hwL2IfPortIsolatePortIndex            
                Integer32,
            hwL2IfPortIsolateSIName
                OCTET STRING,
            hwL2IfPortIsolateRowStatus
                RowStatus
        }

    hwL2IfPortIsolatePortIndex    OBJECT-TYPE
        SYNTAX  Integer32 (1..65535)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The port index of L2 interface."
        ::= { hwL2IfPortIsolateEntry 1 }
        
    hwL2IfPortIsolateSIName    OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..31))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The name of Service-instance.The Service-instance(S.I.)is used to
            communicate among different vlans."
        ::= { hwL2IfPortIsolateEntry 2 }
        
    hwL2IfPortIsolateRowStatus    OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            " The RowStatus of hwL2IfPortIsolateTable."
        ::= { hwL2IfPortIsolateEntry 3 }


-- ============================================================================
-- hwL2IfSuppressionTable
-- ============================================================================

    hwL2IfSuppressionTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfSuppressionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "Port suppression configuration table "
        ::= { hwL2Interface  12 }

    hwL2IfSuppressionEntry  OBJECT-TYPE  
        SYNTAX  HwL2IfSuppressionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             "Entry of port suppression configuration table "
        INDEX   { hwL2IfSuppressionPortIndex ,hwL2IfSuppressionType }
        ::= { hwL2IfSuppressionTable 1}

    HwL2IfSuppressionEntry ::=
    SEQUENCE 
        {
            hwL2IfSuppressionPortIndex            
                Integer32,
            hwL2IfSuppressionType
                INTEGER,
            hwL2IfSuppressionCir
                Integer32,
            hwL2IfSuppressionCbs
                Integer32,
            hwL2IfSuppressionRowStatus
                RowStatus
        }

    hwL2IfSuppressionPortIndex    OBJECT-TYPE
        SYNTAX  Integer32 (1..512)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The port index of L2 interface."
        ::= { hwL2IfSuppressionEntry 1 }
        
    hwL2IfSuppressionType    OBJECT-TYPE
        SYNTAX  INTEGER
            {
                broadcast(1),
                multicast(2),
                unicast(3)
            }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " Type of port suppression command, a unique value from 1 to 3:
              1 means broadcast suppression; 
              2 means multicast suppression; 
              3 means unicast suppression."
        ::= { hwL2IfSuppressionEntry 2 }
        
    hwL2IfSuppressionCir    OBJECT-TYPE
        SYNTAX  Integer32 (0..10000000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            " Committed Information Rate. Unit: kbps."
        ::= { hwL2IfSuppressionEntry 3 }
    
    hwL2IfSuppressionCbs    OBJECT-TYPE
        SYNTAX  Integer32 (2048..64000000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            " Committed Burst Size. Unit: byte"
        ::= { hwL2IfSuppressionEntry 4 }    
        
    hwL2IfSuppressionRowStatus    OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            " The RowStatus of hwL2IfSuppressionTable
."
        ::= { hwL2IfSuppressionEntry 5 }


-- ============================================================================
-- hwL2IfVlanSuppressionTable
-- ============================================================================

    hwL2IfVlanSuppressionTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfVlanSuppressionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "Port and Vlan suppression configuration table "
        ::= { hwL2Interface  13 }

    hwL2IfVlanSuppressionEntry  OBJECT-TYPE  
        SYNTAX  HwL2IfVlanSuppressionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             "Entry of port and Vlan suppression configuration table "
        INDEX   { hwL2IfVlanSuppressionPortIndex ,hwL2IfVlanSuppressionStartVlan, hwL2IfVlanSuppressionEndVlan }
        ::= { hwL2IfVlanSuppressionTable 1}

    HwL2IfVlanSuppressionEntry ::=
    SEQUENCE 
        {
            hwL2IfVlanSuppressionPortIndex            
                Integer32,
            hwL2IfVlanSuppressionStartVlan
                Integer32,
            hwL2IfVlanSuppressionEndVlan
                Integer32,
            hwL2IfVlanSuppressionCir
                Integer32,
            hwL2IfVlanSuppressionCbs
                Integer32,
            hwL2IfVlanSuppressionRowStatus
                RowStatus
        }

    hwL2IfVlanSuppressionPortIndex    OBJECT-TYPE
        SYNTAX  Integer32 (1..512)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The port index of L2 interface."
        ::= { hwL2IfVlanSuppressionEntry 1 }
        
    hwL2IfVlanSuppressionStartVlan    OBJECT-TYPE
        SYNTAX  Integer32 (1..4094)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The start vlan-id of port and vlan suppression."
        ::= { hwL2IfVlanSuppressionEntry 2 }
        
    hwL2IfVlanSuppressionEndVlan    OBJECT-TYPE
        SYNTAX  Integer32 (1..4094)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The end vlan-id of port and vlan suppression."
        ::= { hwL2IfVlanSuppressionEntry 3 }
        
    hwL2IfVlanSuppressionCir    OBJECT-TYPE
        SYNTAX  Integer32 (0..10000000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            " Committed Information Rate. Unit: kbps."
        ::= { hwL2IfVlanSuppressionEntry 4 }
    
    hwL2IfVlanSuppressionCbs    OBJECT-TYPE
        SYNTAX  Integer32 (2048..64000000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            " Committed Burst Size. Unit: byte"
        ::= { hwL2IfVlanSuppressionEntry 5 }    
        
    hwL2IfVlanSuppressionRowStatus    OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            " The RowStatus of hwL2IfVlanSuppressionTable
."
        ::= { hwL2IfVlanSuppressionEntry 6 }


    hwL2IfPortTcnTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfPortTcnEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " Port TCN in the same Service-instance table. The Service-instance
             is used to configure TCN."
        ::= { hwL2Interface  14 }

    hwL2IfPortTcnEntry  OBJECT-TYPE  
        SYNTAX  HwL2IfPortTcnEntry  
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             " Entry of port TCN  configuration table."
        INDEX   { hwL2IfTcnPortIndex }
        ::= { hwL2IfPortTcnTable 1}

    HwL2IfPortTcnEntry ::=
    SEQUENCE 
        {
            hwL2IfTcnPortIndex            
                Integer32,
            hwL2IfTcnStp           
                EnabledStatus,
            hwL2IfTcnSmartLink            
                EnabledStatus,
            hwL2IfTcnVlanListLow
                OCTET STRING,
            hwL2IfTcnVlanListHigh
                OCTET STRING
        }

    hwL2IfTcnPortIndex            OBJECT-TYPE
        SYNTAX  Integer32 (1..65535)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            " The port index of L2 interface."
        ::= { hwL2IfPortTcnEntry 1 }

    hwL2IfTcnStp            OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION   
            " Status indicates if the interface is allowed to notify stp TCN message
              , enable(1) can be setted, (enabled(1) means that 
              the interface can notify TCN), otherwise disabled(2) 
              can be setted."
        ::= { hwL2IfPortTcnEntry 2 }   
  
    hwL2IfTcnSmartLink            OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION   
            " Status indicates if the interface is allowed to notify SmartLink TCN message,
              enable(1) can be setted, (enabled(1) means that 
              the interface can notify TCN), otherwise disabled(2) 
              can be setted."
        ::= { hwL2IfPortTcnEntry 3 }   

    hwL2IfTcnVlanListLow       OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION   
            "The lowest possible value of the vlan list on the 
            Tcn-port."
        ::= { hwL2IfPortTcnEntry 4 }

    hwL2IfTcnVlanListHigh    OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION   
            " The highest possible value of the vlan list on the 
            Tcn-port."
        ::= { hwL2IfPortTcnEntry 5 }    
    hwL2IfPortLoopDetectTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfPortLoopDetectEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table containing the port external loopback detection information for device.
            It can protect the port from external loopback."
        ::= { hwL2Interface  15 }

    hwL2IfPortLoopDetectEntry OBJECT-TYPE
        SYNTAX HwL2IfPortLoopDetectEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entries of the port external loopback detection table."
        INDEX { hwL2IfPortLoopDetectPort }
        ::= { hwL2IfPortLoopDetectTable 1 }

    HwL2IfPortLoopDetectEntry ::=
        SEQUENCE {
                        hwL2IfPortLoopDetectPort
                                Integer32,
                        hwL2IfPortLoopDetectEnabled
                                EnabledStatus,
                        hwL2IfPortLoopDetectInterval
                                Integer32,
                        hwL2IfPortLoopDetectAction
                                EnabledStatus,
                        hwL2IfPortLoopDetectStatus
                                INTEGER,
                        hwL2IfPortLoopDetectProtocol
                                OCTET STRING
                 }

    hwL2IfPortLoopDetectPort OBJECT-TYPE
        SYNTAX  Integer32 (1..65535)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The port number which will be configured port external loopback detection."
        ::= { hwL2IfPortLoopDetectEntry 1 }

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

    hwL2IfPortLoopDetectInterval  OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The detect period of port external loopback detection."
        ::= { hwL2IfPortLoopDetectEntry 3 }      

    hwL2IfPortLoopDetectAction OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "The port external loopback detection protect action of this entry."
        ::= { hwL2IfPortLoopDetectEntry 4 } 

    hwL2IfPortLoopDetectStatus OBJECT-TYPE
        SYNTAX  INTEGER
                {
                    normal(1),  
                    block(2),
                    shutdown(3)      
                }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The current status of port(block/shutdown/normal)."
        ::= { hwL2IfPortLoopDetectEntry 5 }                                    
    hwL2IfPortLoopDetectProtocol  OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(2))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "The ethernet type of the detecting packet to port external loopback detection."
        ::= { hwL2IfPortLoopDetectEntry 6 }  


    hwL2IfPortProtocolVlanDataTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfPortProtocolVlanDataEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of protocol vlan by port."
        ::= { hwL2Interface  16 }

    hwL2IfPortProtocolVlanDataEntry OBJECT-TYPE
        SYNTAX HwL2IfPortProtocolVlanDataEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The entry of protocol vlan by port."
        INDEX { hwL2IfPortProtocolVlanDataPortIndex }
        ::= { hwL2IfPortProtocolVlanDataTable 1 }

    HwL2IfPortProtocolVlanDataEntry ::=
        SEQUENCE {
                        hwL2IfPortProtocolVlanDataPortIndex
                                Integer32,
                        hwL2IfPortProtocolVlanDataVlan
                                Integer32,
                        hwL2IfPortProtocolVlanDataPri
                                Integer32,  
                        hwL2IfPortProtocolVlanDataRowStatus         
                                RowStatus

                 }
    hwL2IfPortProtocolVlanDataPortIndex OBJECT-TYPE
        SYNTAX  Integer32 (1..479)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "The protocol vlan Index of port ."
        ::= { hwL2IfPortProtocolVlanDataEntry 1 }

    hwL2IfPortProtocolVlanDataVlan  OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "VLAN ID."
        ::= { hwL2IfPortProtocolVlanDataEntry 2 }      

    hwL2IfPortProtocolVlanDataPri  OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "VLAN PRI."
        ::= { hwL2IfPortProtocolVlanDataEntry 3 } 
 
     hwL2IfPortProtocolVlanDataRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION 
           "Operation status."
        ::= { hwL2IfPortProtocolVlanDataEntry 4 }

    
     -- ============================================================================
-- hwL2IfPwSuppressionTable
-- ============================================================================

    hwL2IfPwSuppressionTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF HwL2IfPwSuppressionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            "Pw suppression configuration table "
        ::= { hwL2Interface  17 }

    hwL2IfPwSuppressionEntry  OBJECT-TYPE  
        SYNTAX  HwL2IfPwSuppressionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
             "This object indicates the configuration table for PW-based unknown 
              traffic suppression."
        INDEX   { hwL2IfPwSuppressionVsiName,hwL2IfPwSuppressionPwName,hwL2IfPwSuppressionType }
        ::= { hwL2IfPwSuppressionTable 1}

    HwL2IfPwSuppressionEntry ::=
    SEQUENCE 
        {
            hwL2IfPwSuppressionVsiName            
                OCTET STRING,
            hwL2IfPwSuppressionPwName
                OCTET STRING,
            hwL2IfPwSuppressionType
                INTEGER,
            hwL2IfPwSuppressionCir
                Integer32,
            hwL2IfPwSuppressionCbs
                Integer32,
            hwL2IfPwSuppressionRowStatus
                RowStatus
        }

    hwL2IfPwSuppressionVsiName    OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..32))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object indicates the name of the VSI that is configured with PW-based 
             unknown traffic suppression."
        ::= { hwL2IfPwSuppressionEntry 1 }
    
    hwL2IfPwSuppressionPwName    OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (0..16))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object indicates the name of the PW that is configured with PW-based 
             unknown traffic suppression."
        ::= { hwL2IfPwSuppressionEntry 2 }
        
    hwL2IfPwSuppressionType    OBJECT-TYPE
        SYNTAX  INTEGER
            {
                broadcast(1),
                multicast(2),
                unicast(3)
            }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION   
            "The value of this object identifies the type of PW-based unknown traffic suppression:
             1: broadcast suppression
             2: multicast suppression
             3: unknown unicast suppression"
        ::= { hwL2IfPwSuppressionEntry 3 }
        
    hwL2IfPwSuppressionCir    OBJECT-TYPE
        SYNTAX  Integer32 (0..10000000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            "This object indicates the Committed Information Rate. Unit: kbit/s."
        ::= { hwL2IfPwSuppressionEntry 4 }
    
    hwL2IfPwSuppressionCbs    OBJECT-TYPE
        SYNTAX  Integer32 (2048..64000000)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            "This object indicates the Committed Burst Size. Unit: byte."
        ::= { hwL2IfPwSuppressionEntry 5 }    
        
    hwL2IfPwSuppressionRowStatus    OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION   
            "This object indicates the RowStatus of hwPwSuppressionTable."
        ::= { hwL2IfPwSuppressionEntry 50 }

-- ============================================================================
-- hwL2IfLoopDetectInterval
-- ============================================================================
    hwL2IfLoopDetectInterval  OBJECT-TYPE 
        SYNTAX  Integer32 (5..300)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            "The detect period of system external loopback detection."
        ::= { hwL2Interface  18 }
       
    hwL2IfTraps OBJECT IDENTIFIER ::= { hwL2IfObjects 2 }

    hwL2IfInvalidVlanPacketAlarm NOTIFICATION-TYPE
            OBJECTS {hwL2IfPortName,hwL2IfInInvalidVlanPkts}
            STATUS current
            DESCRIPTION 
                "Warning of receiving invalid VLAN packets in the interface."
            ::= { hwL2IfTraps 1 }        

    hwLoopDetectStatusAlarm NOTIFICATION-TYPE
            OBJECTS {ifDescr,hwL2IfPortLoopDetectStatus} 
            STATUS current     
            DESCRIPTION 
                "Port status changed because loopback detect.(Normal/Block/Shutdown)"
            ::= { hwL2IfTraps 2 }                          

    hwL2IfConformance OBJECT IDENTIFIER ::= { hwL2IfMib 2 }    

       
        
    hwL2IfCompliances OBJECT IDENTIFIER ::= { hwL2IfConformance 1 } 
          

    hwL2IfMacAddrGroup OBJECT-GROUP
        OBJECTS{
                hwL2IfMacAddrLearnMode ,
                hwL2IfMacAddressLearn            
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate mac address learn of the interface."
        ::= { hwL2IfGroups 1 }
        
    hwL2IfBroadcastRatioGroup OBJECT-GROUP
        OBJECTS
            {
                hwL2IfBcastRatio, 
                hwL2IfMcastRatio,  
                hwL2IfUcastRatio,  
                hwL2IfOutBcastRatio ,     
                hwL2IfOutMcastRatio ,      
                hwL2IfOutUcastRatio 
                
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate broadcast-suppression ratio."
        ::= { hwL2IfGroups 2 }
            
    hwL2IfHybridTaggedVlanGroup OBJECT-GROUP
        OBJECTS
            {
                hwL2IfHybridTaggedVlanListLow ,
                hwL2IfHybridTaggedVlanListHigh ,
                hwL2IfHybridUnTaggedVlanListLow ,
                hwL2IfHybridUnTaggedVlanListHigh     
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate  lowest/highest possible value of 
            the tagged/untagged vlan list on the Hybrid-port."
        ::= { hwL2IfGroups 3 }

    hwL2IfTrunkAllowPassVlanListGroup OBJECT-GROUP
        OBJECTS    
            {
                hwL2IfTrunkAllowPassVlanListLow  ,
                hwL2IfTrunkAllowPassVlanListHigh       
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate  lowest/highed possible value of the
             allowed and passed vlan list on the Trunk-port."
        ::= { hwL2IfGroups 4 }

    hwL2IfPortGroup OBJECT-GROUP
        OBJECTS    
            {
                hwL2IfPortIfIndex,    
                hwL2IfIsSrcMacFilter           
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate  index of layer2 port."
        ::= { hwL2IfGroups 5 }


    hwL2IfPVIDGroup OBJECT-GROUP
        OBJECTS    
            {
                hwL2IfPVID    
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate  PVID of layer2 interface."
        ::= { hwL2IfGroups 6 }

    hwL2IfPortTypeGroup OBJECT-GROUP
        OBJECTS    
            {
                hwL2IfPortType    
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate  VLAN type of layer2 interface."
        ::= { hwL2IfGroups 7 }

    hwL2IfPortMaxGroup OBJECT-GROUP
        OBJECTS    
            {
                hwL2IfPortMax,
                hwL2TopologyDetect    
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate that the device supports maxmum of 
            port ."
        ::= { hwL2IfGroups 8 }
        
    hwL2IfPortExtGroup OBJECT-GROUP
        OBJECTS    
            {
                 hwL2IfBpdu,
                 hwL2IfDiscardBcast,
                 hwL2IfDiscardUnknownMcast,
                 hwL2IfDiscardUnknownUcast,
                 hwL2IfPortPriority,
                 hwL2IfPortName,
                 hwL2IfInInvalidVlanPkts,
                 hwL2IfFlushEnable,
                 hwL2IfFlushControlVlan,
                 hwL2IfTrustDefaultPriority,
                 hwL2IfOfflineStatus,
                 hwL2IfQinqVlanTransEnable,
                 hwL2IfQinqVlanTransMissDrop,
                 hwL2IfIpSubnetVlanEnable,
                 hwL2IfMacVlanEnable,
         hwL2IfPolicyVlanEnable,
         hwL2IfVlanPrecedence,
         hwL2IfIsolateGroupEnable
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate that the device supports attribute of 
            port ."
        ::= { hwL2IfGroups 9 }
        
    hwL2IfPortIsolateGroup OBJECT-GROUP
        OBJECTS    
            {
                hwL2IfPortIsolateRowStatus
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate that the device supports islation of port ."
        ::= { hwL2IfGroups 10 }
        
    hwL2IfAlarmGroup NOTIFICATION-GROUP
            NOTIFICATIONS
                    {
                        hwL2IfInvalidVlanPacketAlarm,
                        hwLoopDetectStatusAlarm                    
                    }
            STATUS      current
        DESCRIPTION
            "A collection of objects indicate that the device supports alarm of port ."
        ::= { hwL2IfGroups 11 }


    hwL2IfSuppressionGroup OBJECT-GROUP
            OBJECTS
                    {
                        hwL2IfSuppressionCir,     
                        hwL2IfSuppressionCbs,
                        hwL2IfSuppressionRowStatus
                    }
            STATUS      current
        DESCRIPTION
            "A collection of objects that L2IfSuppression."
        ::= { hwL2IfGroups 12 }

    hwL2IfVlanSuppressionGroup OBJECT-GROUP
            OBJECTS
                    {
                        hwL2IfVlanSuppressionCir,
                        hwL2IfVlanSuppressionCbs,
                        hwL2IfVlanSuppressionRowStatus
                    }
            STATUS      current
        DESCRIPTION
            "A collection of values indicate that 'Committed infomation rate'."
        ::= { hwL2IfGroups 13 }

    hwL2IfPortTcnGroup OBJECT-GROUP
        OBJECTS    
            {       
              hwL2IfTcnStp,          
              hwL2IfTcnSmartLink,            
              hwL2IfTcnVlanListLow,
              hwL2IfTcnVlanListHigh
            }
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate that the device supports islation of port ."
        ::= { hwL2IfGroups 14 }         
    hwL2IfPortLoopDetectGroup OBJECT-GROUP
        OBJECTS
            {
              hwL2IfPortLoopDetectEnabled,
              hwL2IfPortLoopDetectInterval,      
              hwL2IfPortLoopDetectAction,     
              hwL2IfPortLoopDetectStatus,
              hwL2IfPortLoopDetectProtocol,
              hwL2IfLoopDetectInterval        
            }          
        STATUS      current
        DESCRIPTION
            "A collection of objects indicate that the port external loopback detection."
        ::= { hwL2IfGroups 15 }
        
    hwL2IfPortProtocolVlanDataGroup OBJECT-GROUP    
        OBJECTS
            {
              hwL2IfPortProtocolVlanDataVlan,
              hwL2IfPortProtocolVlanDataPri,
              hwL2IfPortProtocolVlanDataRowStatus              
            }
        STATUS      current
        DESCRIPTION
            "The entry of protocol vlan by port."
        ::= { hwL2IfGroups 16 }

    hwL2IfPwSuppressionGroup OBJECT-GROUP
            OBJECTS
                    {
                        hwL2IfPwSuppressionCir,     
                        hwL2IfPwSuppressionCbs,
                        hwL2IfPwSuppressionRowStatus
                    }
            STATUS      current
        DESCRIPTION
            "A collection of objects in L2IfPwSuppression."
        ::= { hwL2IfGroups 17 }
 

-- ----------------------------------------------------------------------------
-- compliance statements
-- ----------------------------------------------------------------------------
     hwL2IfCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION 
            "The compliance statement for entities implementing
            the Huawei layer two interface management MIB"
        
MODULE
        MANDATORY-GROUPS { hwL2IfMacAddrGroup }

        GROUP       hwL2IfBroadcastRatioGroup
        DESCRIPTION
            "This group  supports in every device."

        GROUP       hwL2IfHybridTaggedVlanGroup
        DESCRIPTION
            "This group  supports in every device."
            
        GROUP       hwL2IfTrunkAllowPassVlanListGroup
        DESCRIPTION
            "This group  supports in every device."

        GROUP       hwL2IfPortGroup
        DESCRIPTION
             "This group  supports in every device."
             

        GROUP       hwL2IfPVIDGroup
        DESCRIPTION
            "This group  supports in every device."    
            
        GROUP       hwL2IfPortTypeGroup
        DESCRIPTION
            "This group  supports in every device."

        GROUP       hwL2IfPortMaxGroup
        DESCRIPTION
            "This group  supports in every device."
        GROUP       hwL2IfPortExtGroup
        DESCRIPTION
            "This group  supports in every device."
    ::= { hwL2IfCompliances 1 }

hwL2IfGroups OBJECT IDENTIFIER ::= { hwL2IfConformance 2 }       
    
END
