-- -----------------------------------------------------------------------------
-- DGS3224-L2MGMT-MIB
-- -----------------------------------------------------------------------------
-- Version 2.32
-- 2011/02/09
-- Request By Green Zhu for project DGS3200
-- [Modification]
-- Rename value list "green-technology(7)" to "power-saving(7)" in swL2PortInfoErrorDisabled
-- and swL2PortErrPortReason to support power saving function.(SNR-20100628-001_v1 05.doc)
-- -----------------------------------------------------------------------------
-- Version 2.31, 2011/01/13, Green Zhu
-- Sync from L2mgmt.mib
-- [Modification]
-- Add value list "green-technology(7)" in swL2PortInfoErrorDisabled and 
-- swL2PortErrPortReason to support green technology function.
-- -----------------------------------------------------------------------------
-- Version 2.18
-- 2009/5/6
-- Request By Iliad Xu for project DGS32XXR1.5
-- add SD card LED in swDevInfoFrontPanelLedStatus
-- -----------------------------------------------------------------------------
-- Version 2.17
-- 2009/1/19
-- Request By Vic Li for project DGS32XXR1.5
-- delete swL2IGMPDynIPMultVlanState && swL2IGMPDynIPMultVlanAge in
-- swL2IGMPCtrlTable to follow the standard l2mgmtxxxx.mib.
-- Add swL2IGMPDynIpMultMgmt for data driving.
-- Add swIGMPSnoopingGroupReportCount  && swIGMPSnoopingGroupRouterPorts
-- in swIGMPSnoopingGroupTable.
-- -----------------------------------------------------------------------------
-- Version 2.16
-- 2008/11/3
-- Request By Vic Li for project DGS32XXR1.3
-- Add swIGMPSnoopingGroupUpTime && swIGMPSnoopingGroupExpiryTime in
-- swIGMPSnoopingGroupTable.
-- -----------------------------------------------------------------------------
-- Version 2.15
-- 2008/10/17
-- Request By Peterson zhou for project DGS32XXR1.3
-- Add swL2DhcpLocalRelayState
-- Add swL2DhcpLocalRelayVLANTable
-- -----------------------------------------------------------------------------
-- Version 2.14
-- 2008/10/7
-- Request By Robinson Yan for project DGS32XXR1.3
-- Add swL2LoopDetectTrapMode
-- -----------------------------------------------------------------------------
-- Version 2.13
-- 2008/8/25
-- Request By Dana Xu for project DGS32xxR1.3
-- added swL2IGMPDynIPMultVlanState
-- added swL2IGMPDynIPMultVlanAge
-- -----------------------------------------------------------------------------
-- Version 2.12
-- 2008/8/14
-- Request By Maxvel Li for project DGS3200-16
-- Added swL2TrunkVLANTable
-- Added swL2DevCtrlVLANTrunkState
-- -----------------------------------------------------------------------------
-- Version 2.11
-- 2008/8/12
-- Request By Dana Xu for project DGS32xxR1.1
-- Add swL2IGMPAccessAuthTable
-- -----------------------------------------------------------------------------
-- Version 2.10
-- 2008/2/19
-- Request By Green Zhu for project DGS3200-16
-- Add swIGMPSnoopingGroupInfoTable
-- -----------------------------------------------------------------------------
-- Version 2.09
-- 2007/12/18
-- Request By Green Zhu for project DGS3200-16
-- modify swL2QOS8021pUserPriorityClass value from 0..6 to 0..7
-- -----------------------------------------------------------------------------
-- Version 2.08
-- 2007/11/14
-- Request By Kelvin Tao for project DGS32xxR1.1
-- add swL2IGMPGroupMode in swL2IGMPInfoTable;
-- Remove swL2IGMPTotalSource from swL2IGMPInfoTable;
-- -----------------------------------------------------------------------------
-- Version 2.07
-- 2007/11/6
-- Request By Kelvin Tao for project DGS32xxR1.1
-- [New Object]
-- (a)add swL2IGMPQueryVersion in swL2IGMPCtrlTable;
-- (b)add swL2IGMPVersion and swL2IGMPTotalSource in swL2IGMPInfoTable;
-- (c)add swL2IGMPv3Table.
-- -----------------------------------------------------------------------------
-- 2007/08/15.0
-- Request By GREEN ZHU for project DGS3200
-- -----------------------------------------------------------------------------
-- Version 2.05
-- 2007/06/05
-- Request By Jenny Zeng for project DES3400
-- [New Object]
-- (a)add swL2IGMPMulticastVlanTagMemberPort, swL2IGMPMulticastVlanState and 
--    swL2IGMPMulticastVlanReplaceSourceIp in table swL2IGMPMulticastVlanTable
-- (b)add swL2IGMPMulticastVlanGroupTable
-- (c)add swL2MulticastFilterMode, swL2MulticastFilterModeVlanTable and swL2MulticastFilterModePortTable
-- (d)add swL2MulticastFilterProfileTable, swL2MulticastFilterProfileAddressTable,swL2LimitedMulticastFilterPortTable and 
--    swL2MulticastFilterPortMaxGroupTable
--
-- [Modification]
-- (a)remove swL2LimitedMulticastTable and swL2LimitedMulticastResetPort
--
-- Version 2.04
-- 2007/05/22
-- Request By Jenny Zeng for project DES3400
-- (a)add swL2DevCtrlWeb, swL2DevCtrlWebState, swL2DevCtrlWebTcpPort
-- (b)add swL2TrunkLACPPortTable
-- (c)add swL2DevCtrlSnmpTrapState
-- (d)add swL2PortCounterCtrlTable
-- (e)add swL2PortErrTable
-- (f)add swL2PortSecurityEntryClearCtrl in table swL2PortSecurityControlTable
-- (g)add swL2DevCtrlIGMPSnoopingMcstRTOnly
--     
-- -----------------------------------------------------------------------------
-- Version 2.03
-- 2006/10/26
-- add swL2VLANMgmt for new feature request(Leander Chang):
-- advertisement control of VALN
-- -----------------------------------------------------------------------------
-- Version 2.02
-- 2006/10/16 (reported from Yan Zhang/CD/CN/Alphanetworks)
-- add object swL2StpForwardBPDU, swL2StpLbd, swL2StpLbdRecoverTime. 
-- add table swL2StpPortTable, swL2CosPriorityTable, swL2CosPortPRITable, swL2CosMacBasePRITable
-- for implement trap/log in mac notify and stp loop.
-- -----------------------------------------------------------------------------
-- Version 2.01
-- 2006/7/7 
-- added object swL2LimitedMulticastResetPort
-- -----------------------------------------------------------------------------
-- Version 2.00
-- 2006/6/30 
-- rearrange the MIB that base on PX and DES3526.
-- -----------------------------------------------------------------------------
-- Version 1.3
-- 2005/12/27 
--  added object swL2PortCtrlJumboFrameMaxSize
-- -----------------------------------------------------------------------------
-- Version 1.2
-- 2005/11/11 11:36
-- for implement trap/log in port security violation. 
-- add object swL2PortSecurityTrapLogState,  swL2PortSecurityViolationMac ,swL2PortSecurityViolationTrap
-- -----------------------------------------------------------------------------
-- Version 1.1
-- 2005/9/12 10:04
-- add swL2PortInfoMediumType in swL2PortInfoTable and 
-- add swL2PortCtrlMediumType in swL2PortCtrlTable
-- add swL2PortCtrlJumboFrame
-- -----------------------------------------------------------------------------
-- Version 1.02
-- 2005/4/8 04:31PM
-- By Scott Slong
-- Add swL2DevCtrlManagementVlanId
-- -----------------------------------------------------------------------------
-- Version 1.01
-- 2004/9/21 04:31PM
-- By Karen Huang
-- Add swL2PortCableDiagnosisTable
-- ----------------------------------------------------------------------------- 	
-- Version 1.00
-- Remove swDevInfoSystemUptime, swDevInfoConsoleInuse,swL2DevCtrlUpDownloadState,swDevInfoSaveCfg
-- Remove swL2DevCtrlUpDownloadImageFileName ,swL2DevCtrlUpDownloadImageSourceAddr
-- Remove swL2DevCtrlUpDownloadImage , swL2DevCtrlSaveCfg

-- -----------------------------------------------------------------------------	
-- Version 0.02                       
-- 2002/07/30
-- By Tommy Wang
-- Renamed to DXxxxxx-MIB
-- Add swL2TrafficMgmt
-- Modified swL2DevCtrl
-- Removed swL2PortStTable
-- Removed swL2PortCtrlEntry->swL2PortCtrlBackPressState and 
-- swL2PortCtrlBMStromthreshold
-- Modified swL2MirrorMgmt
-- Removed swL2FilterAddrVid
-- Modified swL2IGMPCtrlTable
-- Removed swL2PriorityMgmt   
-- Modified swL2TrunkMasterPortIndex MAX-ACCESS read-only to read-write
-- Add swL2IGMPCtrState for invalid(4)
-- Modified swL2PortInfoType
-- Removed swDevInfoFrontPanelLedStatus about RPS and modified its SIZE
--
-- -----------------------------------------------------------------------------
-- Version 0.01                           
-- 2000/07/03
-- By Chrissy Chen   
-- Removed swL2PortTxPrioQueueCtrlTable
-- Modified swL2PortCtrlBMStromPercentage to swL2PortCtrlBMStromthreshold  
--   
-- -----------------------------------------------------------------------------

DGS3224-L2MGMT-MIB	DEFINITIONS ::= BEGIN

    IMPORTS
        IpAddress , TimeTicks , Integer32, Unsigned32,
        MODULE-IDENTITY , OBJECT-TYPE			FROM SNMPv2-SMI
        DisplayString,RowStatus,TruthValue		FROM SNMPv2-TC
		--PortList								FROM Q-BRIDGE-MIB
		AgentNotifyLevel						FROM DLINK-ID-REC-MIB        
	dgs3224     	          	 		FROM SW3200PRIMGMT-MIB;
	    
	  swL2MgmtMIB MODULE-IDENTITY
	    LAST-UPDATED "201101130000Z"
	    ORGANIZATION "D-Link Crop."
	    CONTACT-INFO
	        "http://support.dlink.com"
	    DESCRIPTION
		    "The Structure of Layer 2 Network Management Information."
        ::= { dgs3224 2 }
        
	MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
                                                  -- in the
                                                  -- "canonical"
                                                  -- order, copy from RFC1493        

		VlanId					::= INTEGER (1..4094)
    	PortList                ::= OCTET STRING(SIZE (0..127))

    swL2DevMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB 1 }
    swL2VLANMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 2 }    
    swL2PortMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 3 }
--  swL2DiffServMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 4 }
    swL2LimitedMulticastMgmt    OBJECT IDENTIFIER ::= { swL2MgmtMIB 5 }
    swL2QOSMgmt 	            OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 } 
    swL2PortSecurityMgmt		OBJECT IDENTIFIER ::= { swL2MgmtMIB 7 }
	swL2DhcpRelayMgmt			OBJECT IDENTIFIER ::= { swL2MgmtMIB 8 }
    swL2TrunkMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 9 }
    swL2MirrorMgmt              OBJECT IDENTIFIER ::= { swL2MgmtMIB 10 }
    swL2IGMPMgmt                OBJECT IDENTIFIER ::= { swL2MgmtMIB 11 }
--  swL2TrafficMgmt             OBJECT IDENTIFIER ::= { swL2MgmtMIB 13 }
    swL2TrafficSegMgmt          OBJECT IDENTIFIER ::= { swL2MgmtMIB 14 }
--  swL2StpMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB 15 }
--  swL2CosMgmt			OBJECT IDENTIFIER ::= { swL2MgmtMIB 16 }
    swL2MulticastFilterMode	OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
    swL2LoopDetectMgmt          OBJECT IDENTIFIER ::= { swL2MgmtMIB 18 } 
    swL2DhcpLocalRelayMgmt       	OBJECT IDENTIFIER ::= { swL2MgmtMIB 24 }
    swL2MgmtMIBTraps            OBJECT IDENTIFIER ::= { swL2MgmtMIB 100 }




-- -----------------------------------------------------------------------------
--  swL2DevMgmt             OBJECT IDENTIFIER ::= { swL2MgmtMIB 1 }
-- -----------------------------------------------------------------------------

    swL2DevInfo             OBJECT IDENTIFIER ::= { swL2DevMgmt 1 }


    swDevInfoTotalNumOfPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The number of ports within this switch. This value is the sum
             of the ports within this switch."
        ::= { swL2DevInfo 1 }

    swDevInfoNumOfPortInUse OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The number of ports in this switch connected to the segment or
             the end stations."
        ::= { swL2DevInfo 2 }
        
    swDevInfoFrontPanelLedStatus OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (0..127))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
         "This object is a set of system LED indications.
         
         The first four octets are defined as system LED. The first two 
         octets are currently unused and must be set to zero. The third 
         octet indicates the power LED. The fourth octet indicates the 
         console LED. The fifth LED is RPS (Redundancy Power Supply) LED.
         The sixth LED is SD card LED, the following description is for SD card LED:
             01 = SD card is not present.
             02 = SD card is present.
             03 = fails to read/write SD card.
             04 = read/write SD card successfully.
	 
	 The other octets are the logical port LED. Every two bytes are 
	 presented to a port. The first byte is presented as the Link/Activity
	 LED. The second byte is presented as the Speed LED.

	 System LED:
	 01 = fail/error/non existence.
	 02 = work normal
	 
	 Link/Activity LED :
	 The most significant bit is used for blink/solid:
	 8 = The LED blinks.
	 
	 The second most significant bit is used for link status:
	 1 = link fail.
	 2 = link pass.

	 Speed LED :
	 01 = 10Mbps.
	 02 = 100Mbps.
	 03 = 1000Mbps.

	 The four remaining bits are currently unused and must be 0."
       ::= { swL2DevInfo 4 }
        
-- -----------------------------------------------------------------------------
    swL2DevCtrl             OBJECT IDENTIFIER ::= { swL2DevMgmt 2 }

    swL2DevCtrlStpState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object can enable or disable the spanning tree algorithm during 
             the runtime of the system."
        ::= { swL2DevCtrl 1 }

    swL2DevCtrlIGMPSnooping OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates if the layer 2 Internet Group Management 
            Protocol (IGMP) capture function is enabled or disabled."
        ::= { swL2DevCtrl 2 }
        
--    swL2DevCtrlIGMPSnoopingMcstRTOnly OBJECT-TYPE
--    	SYNTAX INTEGER {
--    		enabled(1),
--    		disabled(2)
--    		}
--    	MAX-ACCESS read-only
--    	STATUS current
--    	DESCRIPTION
--    		"This object indicates IGMP snooping forward multicast routing only state."
--    	::= { swL2DevCtrl 3 }    
        
    swL2DevCtrlRmonState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object can enable or disable RMON."
        ::= { swL2DevCtrl 4 }
        
    swL2DevCtrlSnmpTrapState OBJECT-TYPE
    	SYNTAX	INTEGER {
    		enabled(1),
    		disabled(2)
    		}
    	MAX-ACCESS read-write
    	STATUS	current
    	DESCRIPTION
    		"This object controls the SNMP trap status."
    	::= { swL2DevCtrl 5 }    

    swL2DevCtrlCleanAllStatisticCounter OBJECT-TYPE
        SYNTAX  INTEGER {
               normal(1),
               active(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When the object is set to active, all statistical counters will
             be cleared. If set to normal, no action."
        ::= { swL2DevCtrl 6 }
    
    swL2DevCtrlVlanIdOfFDBTbl OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Indicates the VLAN ID to which the Dot1dTpFdbTable belongs;  
             The default value is DEFAULT_VLAN_ID of the system."
        ::= { swL2DevCtrl 7 }                    

    swL2MACNotifyState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
           "This object can enable or disable MAC Notification."
        ::= { swL2DevCtrl 8 }        

    swL2MACNotifyHistorySize OBJECT-TYPE
	    SYNTAX  INTEGER (1..500)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
        "This object indicates the history size of MAC addresses in the MAC Address table. 
	         The default value is 1 ."
    ::= { swL2DevCtrl 9 }        
        
    swL2MACNotifyInterval OBJECT-TYPE
	    SYNTAX  INTEGER (1..2147483647)
	    MAX-ACCESS  read-write
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the time interval, in seconds, which will trigger 
	         MAC notification messages."
	    ::= { swL2DevCtrl 10 }    
    swL2DevCtrlVLANTrunkState  OBJECT-TYPE
        SYNTAX  INTEGER
                {
                  enabled(1),
                  disabled(2)
                }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "This indicates the global state of the VLAN trunking feature of the device."
        ::={swL2DevCtrl 22}   
-- -----------------------------------------------------------------------------
    swL2DevCtrlTelnet   OBJECT IDENTIFIER ::= { swL2DevCtrl 14 }     
        
    swL2DevCtrlTelnetState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object controls the Telnet status."
        ::= { swL2DevCtrlTelnet 1 } 
        
    swL2DevCtrlTelnetTcpPort OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object designates TCP ports.
             When Telnet is disabled, this object is not accessible."
        ::= { swL2DevCtrlTelnet 2 }                
                   
-- -----------------------------------------------------------------------------
    swL2DevCtrlManagementVlanId OBJECT-TYPE
        SYNTAX  VlanId
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object controls which previously created VLANs are included 
             in the System IP Interface."
        ::= { swL2DevCtrl 16 }              

-- -----------------------------------------------------------------------------
    swL2DevCtrlWeb   OBJECT IDENTIFIER ::= { swL2DevCtrl 17 }     
        
    swL2DevCtrlWebState OBJECT-TYPE
        SYNTAX  INTEGER {
 	       enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object controls the Web status."
        ::= { swL2DevCtrlWeb 1 } 
        
    swL2DevCtrlWebTcpPort OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object designates TCP ports.
             When Web is disabled, this object is not accessible."
        ::= { swL2DevCtrlWeb 2 }
 
    swL2DevCtrlLLDPState OBJECT-TYPE
        SYNTAX  INTEGER {
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Specifies the state of the LLDP function.
             When this function is enabled, the switch can start to transmit
             LLDP packets and receive and process the LLDP packets.
	     The specific function of each port will depend on the per port
	     LLDP setting.
	     For the advertisement of LLDP packets, the switch announces the
	     information to its neighbor through ports. For the receiving of
	     LLDP packets, the switch will learn the information from the LLDP
	     packets advertised from the neighbor in the neighbor table.
	    "
        ::= { swL2DevCtrl 18 }

       swL2DevCtrlLLDPForwardMessageState OBJECT-TYPE
        SYNTAX  INTEGER{
                 enabled(1),
                 disabled(2)
                 }
        MAX-ACCESS  read-write
        STATUS   current
        DESCRIPTION
             "When lldp is disabled and lldp forward_message is enabled, the received
              LLDP Data Unit packets will be forwarded. "
        DEFVAL  {disabled}
       ::={swL2DevCtrl 19}
           		
    swL2DevCtrlIpAutoconfig OBJECT-TYPE
    	SYNTAX	INTEGER {
    		enabled(1),
    		disabled(2)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"This object controls the IP auto configuration state."
    	::= { swL2DevCtrl 20 }
  
  -- -----------------------------------------------------------------------------
     swL2DevCtrlCFM   OBJECT IDENTIFIER ::= { swL2DevCtrl 21 }

     swL2DevCtrlCFMState OBJECT-TYPE
        SYNTAX  INTEGER{
                 enabled(1),
                 disabled(2)
                 }
        MAX-ACCESS  read-write
        STATUS   current
        DESCRIPTION
             "This object indicates the CFM global state."
       ::={swL2DevCtrlCFM 1}

    swL2DevCtrlCFMPortTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2DevCtrlCFMPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing the CFM state of specified ports."
        ::= { swL2DevCtrlCFM 2 }

    swL2DevCtrlCFMPortEntry OBJECT-TYPE
        SYNTAX      SwL2DevCtrlCFMPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The entry of the CFM state on specified ports."
        INDEX   { swL2DevCtrlCFMPortIndex }
        ::= { swL2DevCtrlCFMPortTable 1 }

    SwL2DevCtrlCFMPortEntry ::=
        SEQUENCE {
            swL2DevCtrlCFMPortIndex
                INTEGER,
            swL2DevCtrlCFMPortState
                INTEGER

        }

    swL2DevCtrlCFMPortIndex OBJECT-TYPE
        SYNTAX      INTEGER
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the port number."
        ::= { swL2DevCtrlCFMPortEntry 1 }

    swL2DevCtrlCFMPortState OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the CFM state by port."
        ::= { swL2DevCtrlCFMPortEntry 2 }
          	
-- -----------------------------------------------------------------------------    
    swL2DevAlarm             OBJECT IDENTIFIER ::= { swL2DevMgmt 3 }

    swL2DevAlarmNewRoot OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When the device has become the new root of the Spanning Tree,
            this object decides whether to send a new root trap."
        ::= { swL2DevAlarm 1 }

    swL2DevAlarmTopologyChange OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object determines whether or not to send a trap message when 
             the switch topology changes. If the object is enabled(3), the topologyChange 
             trap is sent by the device when any of its configured ports transitions from 
             the Learning state to the Forwarding state, or from the Forwarding state to 
             the Blocking state. For the same port transition, the device does not send the            
             trap if this object value is disabled or other."
        ::= { swL2DevAlarm 2 }
        
    swL2DevAlarmLinkChange OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object determines whether or not to send a trap message when the link              
             was changed. If the object is enabled(3), the Link Change trap is sent by 
             the device when any of its ports link change. The device does not send the 
             trap if this object value is disabled or other."
        ::= { swL2DevAlarm 3 }

-- -----------------------------------------------------------------------------
--  swL2VLANMgmt             OBJECT IDENTIFIER ::= { swL2MgmtMIB 2 }
-- -----------------------------------------------------------------------------

    swL2VlanStaticTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2VlanStaticEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing static configuration information for
            each VLAN configured into the device by (local or
            network) management.  All entries are permanent and will
            be restored after the device is reset."
        ::= { swL2VLANMgmt 1 }

    swL2VlanStaticEntry OBJECT-TYPE
        SYNTAX      SwL2VlanStaticEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Static information for a VLAN configured into the
            device by (local or network) management."
        INDEX   { swL2VlanIndex }
        ::= { swL2VlanStaticTable 1 }

    SwL2VlanStaticEntry ::=
        SEQUENCE {
            swL2VlanIndex
                VlanId,
            swL2VLANAdvertisement
                INTEGER

        }

    swL2VlanIndex OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The VLAN-ID or other identifier referring to this VLAN."
        ::= { swL2VlanStaticEntry 1 }

    swL2VLANAdvertisement OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates if the advertisement is active or not."
        ::= { swL2VlanStaticEntry 2 }


    swL2PVIDAutoAssignmentState OBJECT-TYPE
    	SYNTAX	INTEGER {
    		enabled(1),
    		disabled(2)
    	}
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"This object controls the PVID auto assigment state.
    		 If 'Auto-assign PVID' is disabled, PVID only be changed 
    		 by PVID configuration (user changes explicitly). The VLAN 
    		 configuration will not automatically change PVID. 

		 If 'Auto-assign PVID' is enabled, PVID will be possibly 
		 changed by PVID or VLAN configuration. When user configures 
		 a port to VLAN X's untagged membership, this port's PVID 
		 will be updated with VLAN X. In the form of VLAN list command, 
		 PVID is updated with last item of VLAN list. When user removes 
		 a port from the untagged membership of the PVID's VLAN, the 
		 port's PVID will be assigned with 'default VLAN'."
    	::= { swL2VLANMgmt 2 }
    	

  	
    
    swL2VlanPortInfoTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2VlanPortInfoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table containing vlan and port role information of each port."
        ::= { swL2VLANMgmt 3 }

    swL2VlanPortInfoEntry OBJECT-TYPE
        SYNTAX      SwL2VlanPortInfoEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table entry of vlan port information."
        INDEX   { swL2VlanPortInfoPortIndex,swL2VlanPortInfoVid }
        ::= { swL2VlanPortInfoTable 1 }

    SwL2VlanPortInfoEntry ::=
        SEQUENCE {
            swL2VlanPortInfoPortIndex
                INTEGER,
            swL2VlanPortInfoVid
                INTEGER,
            swL2VlanPortInfoPortRole
                INTEGER
        }	
    swL2VlanPortInfoPortIndex OBJECT-TYPE
	    SYNTAX  INTEGER (0..65535)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The port index."
    	::= { swL2VlanPortInfoEntry 1 }
    	        
     swL2VlanPortInfoVid OBJECT-TYPE
	    SYNTAX  INTEGER (0..65535)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The VLAN-ID assigned to a special port"
    	::= { swL2VlanPortInfoEntry 2 }    
    
      swL2VlanPortInfoPortRole OBJECT-TYPE
	    SYNTAX  INTEGER {
	       none(1),          
               untagged(2),            
               tagged(3),
               dynamic(4),                        
               forbidden(5)
              }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The port role of a special port.when none,it means this port is not belong to the vlan."
    	::= { swL2VlanPortInfoEntry 3 }         
    
    	    
-- -----------------------------------------------------------------------------
--  swL2PortMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 3 }
-- -----------------------------------------------------------------------------

    swL2PortInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains information about every port."
        ::= { swL2PortMgmt 1 }

    swL2PortInfoEntry OBJECT-TYPE
        SYNTAX  SwL2PortInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information for each port of the device."
        INDEX   { swL2PortInfoPortIndex,swL2PortInfoMediumType }
        ::= { swL2PortInfoTable 1 }

    SwL2PortInfoEntry ::= 
        SEQUENCE {
            swL2PortInfoPortIndex
                INTEGER,
            swL2PortInfoMediumType
                INTEGER,
            swL2PortInfoUnitID
                INTEGER,
            swL2PortInfoType
                INTEGER,
            swL2PortInfoLinkStatus
                INTEGER,
            swL2PortInfoNwayStatus
                INTEGER,
--            swL2PortInfoModuleType
--                INTEGER,
            swL2PortInfoErrorDisabled
                INTEGER 
        }

    swL2PortInfoPortIndex OBJECT-TYPE
	    SYNTAX  INTEGER (0..65535)
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "This object indicates the module's port number.(1..Max port
	        number in the module)"
    	::= { swL2PortInfoEntry 1 }
    	
    swL2PortInfoMediumType OBJECT-TYPE
        SYNTAX INTEGER{
        	copper(1),
        	fiber(2)        	
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Indicates medium type of the port number."
        ::={swL2PortInfoEntry 2}

    swL2PortInfoUnitID OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
        	"Indicates ID of the unit in the system"
        ::= { swL2PortInfoEntry 3 }

    swL2PortInfoType OBJECT-TYPE
        SYNTAX  INTEGER {            
               portType-none(0),            
               portType-100Base-T(2),
               portType-100Base-X(3),                        
               portType-1000Base-T(4),
               portType-1000Base-X(5),               
               portType-10GBase-R(6),
               portType-10GBase-CX4(7),
               portType-SIO(8),              
               portType-module-empty(9),
               portType-user-last(10) 
              }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the connector type of this port."
        ::= { swL2PortInfoEntry 4 }

    swL2PortInfoLinkStatus OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               link-pass(2),
               link-fail(3)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port link status."
        ::= { swL2PortInfoEntry 5 }

    swL2PortInfoNwayStatus OBJECT-TYPE
        SYNTAX  INTEGER {
               link-down(0),
               full-10Mbps-8023x(1),
               full-10Mbps-none(2),
               half-10Mbps-backp(3),               
               half-10Mbps-none(4),              
               full-100Mbps-8023x(5),
               full-100Mbps-none(6),
               half-100Mbps-backp(7),
               half-100Mbps-none(8),
               full-1Gigabps-8023x(9),
               full-1Gigabps-none(10),
               half-1Gigabps-backp(11),
               half-1Gigabps-none(12),
               full-10Gigabps-8023x(13),
               full-10Gigabps-none(14),
               half-10Gigabps-8023x(15),
               half-10Gigabps-none(16),
               empty(17),
               err-disabled(18)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port speed and duplex mode."
        ::= { swL2PortInfoEntry 6 }
        
--    swL2PortInfoModuleType OBJECT-TYPE
--        SYNTAX  INTEGER {  
--             none(0),      
--             moduleType-COMBO(1),
--           moduleType-1394(2),
--           moduleType-1000T(3),
--           moduleType-MGBIC(4),
--           moduleType-1P-SC-SX(5),
--           moduleType-2P-SC-SX(6),
--           moduleType-1P-SC-LX(7),
--           moduleType-2P-SC-LX(8),
--           moduleType-1P-TX(9),
--           moduleType-2P-TX(10),
--           moduleType-1P-MTRJ-SX(11),
--           moduleType-2P-MTRJ-SX(12),
--           moduleType-1P-MTRJ-LX(13),
--           moduleType-2P-MTRJ-LX(14),
--           moduleType-1P-GBIC(15),
--           moduleType-2P-GBIC(16),
--           moduleType-1P-GBIC-1P-TX(17),
--           moduleType-1P-GBIC-1P-STACK(18),
--           moduleType-2P-STACK(19),
--           moduleType-2P-100FX(20),
--           moduleType-1P-100FX(21),
--           moduleType-2P-100FX-NEW(22),
--           moduleType-1P-100FL(23),
--           moduleType-2P-100FL(24),
--           moduleType-2P-100TX(25),           
--           moduleType-BaseModule-24PORT(26)
--               }
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the module type of this port."
--        ::= { swL2PortInfoEntry 7 }            

    swL2PortInfoErrorDisabled OBJECT-TYPE
        SYNTAX  INTEGER {            
               none(0),
               storm(1),
               lbd(2),              
               unknow(3),
               power-saving(7)
               }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the blocking type of this port."
        ::= { swL2PortInfoEntry 8 }
        
-- -----------------------------------------------------------------------------

    swL2PortCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that contains control information about every port."
        ::= { swL2PortMgmt 2 }

    swL2PortCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2PortCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of control information for each port of the device."
        INDEX  { swL2PortCtrlPortIndex,swL2PortCtrlMediumType}
        ::= { swL2PortCtrlTable 1 }

    SwL2PortCtrlEntry ::= 
        SEQUENCE {
            swL2PortCtrlPortIndex
                INTEGER,
            swL2PortCtrlMediumType
            	INTEGER,
            swL2PortCtrlUnitIndex
                INTEGER,
            swL2PortCtrlAdminState
                INTEGER,
            swL2PortCtrlNwayState
                INTEGER,
            swL2PortCtrlFlowCtrlState
                INTEGER,
            swL2PortCtrlLearningState
                INTEGER,
            swL2PortCtrlMACNotifyState
                INTEGER   
--            swL2PortCtrlMulticastfilter
--                INTEGER                            
        }

    swL2PortCtrlPortIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the module's port number.(1..Max port
            number in the module)"
        ::= { swL2PortCtrlEntry 1 }
        
    swL2PortCtrlMediumType OBJECT-TYPE
        SYNTAX INTEGER{
        	copper(1),
        	fiber(2)        	
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Indicates medium type of the port number."
        ::={ swL2PortCtrlEntry 2 }
             
    swL2PortCtrlUnitIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Indicates ID of the unit in the device"
        ::= { swL2PortCtrlEntry 3 }

    swL2PortCtrlAdminState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object decides if the port is enabled or disabled."
        ::= { swL2PortCtrlEntry 4 }

    swL2PortCtrlNwayState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               nway-enabled(2),
               nway-disabled-10Mbps-Half(3),
               nway-disabled-10Mbps-Full(4),
               nway-disabled-100Mbps-Half(5),
               nway-disabled-100Mbps-Full(6),
--               nway-disabled-1Gigabps-Half(7),
--               nway-disabled-1Gigabps-Full(8),
               nway-disabled-1Gigabps-Full-master(9),
               nway-disabled-1Gigabps-Full-slave(10)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Chose the port speed, duplex mode, and N-Way function mode."
        ::= { swL2PortCtrlEntry 5 }

    swL2PortCtrlFlowCtrlState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The flow control mechanism is different between full duplex
            mode and half duplex mode. For half duplex mode, the jamming 
            signal is asserted. For full duplex mode, IEEE 802.3x flow 
            control function sends PAUSE frames and receives PAUSE frames."
        ::= { swL2PortCtrlEntry 6 }
        
    swL2PortCtrlLearningState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object decides if the port is locked or not."
        ::= { swL2PortCtrlEntry 7 } 
    
    swL2PortCtrlMACNotifyState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object sets each port's MAC notification state."
        ::= { swL2PortCtrlEntry 8 }    

--    swL2PortCtrlMulticastfilter OBJECT-TYPE
--        SYNTAX  INTEGER {
--    		   other(0), 
--               forward-all-groups(1),
--               forward-unregistered-groups(2),
--               filter-unregistered-groups(3)

--              }
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object controls the multicast port filtering mode for a specified port. "   
--          ::= { swL2PortCtrlEntry 9 }  
		
    swL2PortCtrlJumboFrame OBJECT-TYPE
        SYNTAX  INTEGER {
				other(1),
				disabled(2),
				enabled(3)
              }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object configures the switch's jumbo frame settings."   
        ::= { swL2PortMgmt 3 }
          
    swL2PortCtrlJumboFrameMaxSize OBJECT-TYPE
        SYNTAX  INTEGER 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object describes how many bytes the max jumbo frame is."   
        ::= { swL2PortMgmt 4 }                

--    swL2PortCableDiagnosisTable OBJECT-TYPE
--        SYNTAX  SEQUENCE OF SwL2PortCableDiagnosisEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "A table that contains cable diagnostic information about every port."
--        ::= { swL2PortMgmt 5 }

--    swL2PortCableDiagnosisEntry OBJECT-TYPE
--        SYNTAX  SwL2PortCableDiagnosisEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "A list of cable diagnostic information for each port of the device."
--        INDEX   { swL2PortCableDiagnosisPortIndex, swL2PortCableDiagnosisPairIndex }
--        ::= { swL2PortCableDiagnosisTable 1 }

--    SwL2PortCableDiagnosisEntry ::=
--        SEQUENCE {
--            swL2PortCableDiagnosisPortIndex
--                INTEGER,
--            swL2PortCableDiagnosisPairIndex
--                INTEGER,
--            swL2PortCableDiagnosisCableStatus
--                INTEGER,
--            swL2PortCableDiagnosisPairStatus
--                INTEGER,
--            swL2PortCableDiagnosisPairLength
--                INTEGER,
--            swL2PortCableDiagnosisPairLengthInaccuracy
--            	INTEGER
--        }

--    swL2PortCableDiagnosisPortIndex OBJECT-TYPE
--        SYNTAX  INTEGER (0..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--        "This object indicates the module's port number.(1..Max port
--        number in the module)"
--    ::= { swL2PortCableDiagnosisEntry 1 }

--    swL2PortCableDiagnosisPairIndex OBJECT-TYPE
--        SYNTAX INTEGER (1..4)
--        MAX-ACCESS  read-only
--        STATUS current
--        DESCRIPTION
--            "Indicates pair index of the port.
--             The pair 1 means the pin 3 and 6 of the connector.
--             The pair 2 means the pin 1 and 2 of the connector.
--             The pair 3 means the pin 7 and 8 of the connector.
--             The pair 4 means the pin 4 and 5 of the connector."
--    	::= { swL2PortCableDiagnosisEntry 2 }

--    swL2PortCableDiagnosisCableStatus OBJECT-TYPE
--        SYNTAX  INTEGER {
--               ok(0),
--               open(1),
--               short(2),
--               open-short(3),
--               not-support(4),
--               unknown(5)
--               }
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the cable status."
--    	::= { swL2PortCableDiagnosisEntry 3 }

--    swL2PortCableDiagnosisPairStatus OBJECT-TYPE
--        SYNTAX  INTEGER {
--               ok(0),
--               open(1),
--               short(2),
--               fail(3),
--               not-supported(4),
--               unknown(5)
--               }
--        MAX-ACCESS  read-only
--      STATUS  current
--        DESCRIPTION
--            "This object indicates the status of the pair."
--        ::= { swL2PortCableDiagnosisEntry 4 }
   
--    swL2PortCableDiagnosisPairLength OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the approx. length or length to failure of
--            the pair. The unit value is in meters."
--        ::= { swL2PortCableDiagnosisEntry 5 }

--    swL2PortCableDiagnosisPairLengthInaccuracy OBJECT-TYPE
--        SYNTAX  INTEGER
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the inaccuracy of a pair length. The unit value is in meters."
--        ::= { swL2PortCableDiagnosisEntry 6 }

-- -----------------------------------------------------------------------------
-- swL2PortCounterCtrlTable
-- -----------------------------------------------------------------------------
    swL2PortCounterCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2PortCounterCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A table that used to clear counter information about every port."
        ::= { swL2PortMgmt 6 }
        
    swL2PortCounterCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2PortCounterCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of entry used to clear counter information for each port of the device."
        INDEX   { swL2PortCounterCtrlPortIndex }
        ::= { swL2PortCounterCtrlTable 1 }

    SwL2PortCounterCtrlEntry ::= 
        SEQUENCE {
            swL2PortCounterCtrlPortIndex
                INTEGER,
            swL2PortCounterClearCtrl
            	INTEGER
        }
        
    swL2PortCounterCtrlPortIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        	"This object indicates the module's port number.(1..Max port
        	number in the module)"
    ::= { swL2PortCounterCtrlEntry 1 }
    
    swL2PortCounterClearCtrl OBJECT-TYPE
        SYNTAX  INTEGER {
        	other(1),
        	start(2)
        	}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        	"This object indicates if to clear the counters for each port of the device or not."
    ::= { swL2PortCounterCtrlEntry 2 }
    
-- -----------------------------------------------------------------------------
-- swL2PortErrTable
-- -----------------------------------------------------------------------------
	swL2PortErrTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SwL2PortErrEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A table that contains error information for each port."
              ::= { swL2PortMgmt 7 }

        swL2PortErrEntry OBJECT-TYPE
              SYNTAX  SwL2PortErrEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A list of information regarding port errors on the device."
              INDEX   { swL2PortErrPortIndex }
              ::= { swL2PortErrTable 1 }

        SwL2PortErrEntry ::= 
              SEQUENCE {
                  swL2PortErrPortIndex
                      INTEGER,
                  swL2PortErrPortState
                      INTEGER,
                  swL2PortErrPortConnStatus
                      INTEGER,
                  swL2PortErrPortReason
                      INTEGER
              }

        swL2PortErrPortIndex OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates the module's port number.(1..Max port number in
                   the module)."
              ::= { swL2PortErrEntry 1 }
       
	swL2PortErrPortState OBJECT-TYPE
              SYNTAX  INTEGER {
                     enabled(1),
                     disabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates the port state is enabled or disabled."
              ::= { swL2PortErrEntry 2 }
              
	swL2PortErrPortConnStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                     other(1),
                     err-disabled(2)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object indicates whether the PortStatus is err-disabled or not."
              ::= { swL2PortErrEntry 3 }
               
	swL2PortErrPortReason OBJECT-TYPE
              SYNTAX  INTEGER {
                     stp-lbd(1),
                     storm-control(2),
                     ctp-lbd(3),
                     power-saving(7)
                     }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "This object describes if the reason for the port error is STP LBD or Storm control."
              ::= { swL2PortErrEntry 4 }
            
-- -----------------------------------------------------------------------------
--  swL2DiffServMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 4 }
-- -----------------------------------------------------------------------------

-- -----------------------------------------------------------------------------
--        swL2LimitedMulticastMgmt  OBJECT IDENTIFIER ::= { swL2MgmtMIB 5 }
-- -----------------------------------------------------------------------------

--  swL2LimitedMulticastTable OBJECT-TYPE
--    SYNTAX  SEQUENCE OF SwL2LimitedMulticastEntry
--    MAX-ACCESS  not-accessible
--    STATUS  current
--    DESCRIPTION
--          "."
--    ::= { swL2LimitedMulticastMgmt 1 }
--
--  swL2LimitedMulticastEntry OBJECT-TYPE
--    SYNTAX  SwL2LimitedMulticastEntry
--    MAX-ACCESS  not-accessible
--    STATUS  current
--    DESCRIPTION
--          "A list of information contained in the swL2LimitedMulticastTable."
--    INDEX   { swL2LimitedMulticastPortIndex }
--    ::= { swL2LimitedMulticastTable 1 }
--
--  SwL2LimitedMulticastEntry ::=
--    SEQUENCE {
--      swL2LimitedMulticastPortIndex
--          INTEGER,
--      swL2LimitedMulticastFromIp
--          IpAddress,
--      swL2LimitedMulticastToIp
--          IpAddress,
--      swL2LimitedMulticastAccess
--          INTEGER,
--      swL2LimitedMulticastState
--          INTEGER
--    }
--
--  swL2LimitedMulticastPortIndex OBJECT-TYPE
--    SYNTAX  INTEGER (1..65535)
--    MAX-ACCESS  read-only
--    STATUS  current
--    DESCRIPTION
--          "Indicates the port ."
--    ::= { swL2LimitedMulticastEntry 1 }
--
--  swL2LimitedMulticastFromIp OBJECT-TYPE
--    SYNTAX    IpAddress
--    MAX-ACCESS  read-write
--    STATUS    current
--    DESCRIPTION
--      ""
--    ::= { swL2LimitedMulticastEntry 2 }
--
--  swL2LimitedMulticastToIp OBJECT-TYPE
--    SYNTAX    IpAddress
--    MAX-ACCESS  read-write
--    STATUS    current
--    DESCRIPTION
--      ""
--    ::= { swL2LimitedMulticastEntry 3 }
--
--  swL2LimitedMulticastAccess OBJECT-TYPE
--    SYNTAX    INTEGER{
--            none(1),
--            permit(2),
--            deny(3)
--            }
--    MAX-ACCESS  read-write
--    STATUS    current
--    DESCRIPTION
--      ""
--    ::= { swL2LimitedMulticastEntry 4 }
--
--  swL2LimitedMulticastState OBJECT-TYPE
--        SYNTAX  INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--    MAX-ACCESS  read-write
--    STATUS    current
--    DESCRIPTION
--      ""
--    ::= { swL2LimitedMulticastEntry 5 }
--
--  swL2LimitedMulticastResetPort OBJECT-TYPE
--    SYNTAX  PortList
--    MAX-ACCESS  read-write
--    STATUS  current
--    DESCRIPTION
--          "This object resets the Limited Multicast address on the specified port.
--           It always return a null message."
--    ::= { swL2LimitedMulticastMgmt 2 }

-- ----------------------------------------------------------------------------	
     swL2MulticastFilterProfileTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterProfileEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
 		" A table that contains information about multicast filter address."
     	::={swL2LimitedMulticastMgmt 1}

     swL2MulticastFilterProfileEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterProfileEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of multicast filter address information for each profile ID. "
	INDEX {swL2MulticastFilterProfileIndex}
     	::={swL2MulticastFilterProfileTable 1}

     SwL2MulticastFilterProfileEntry ::=
     	SEQUENCE{
	swL2MulticastFilterProfileIndex
     		INTEGER,
     	swL2MulticastFilterProfileName
     		DisplayString,
     	swL2MulticastFilterStatus
     	        RowStatus	
     	}

     swL2MulticastFilterProfileIndex OBJECT-TYPE
    	SYNTAX INTEGER(1..24)
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Indicates index for each profile."
	::={swL2MulticastFilterProfileEntry 1}
	
     swL2MulticastFilterProfileName OBJECT-TYPE
    	SYNTAX DisplayString(SIZE(1..32))
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
		"Specifies a profile name for each multicast filter profile."
    	::={swL2MulticastFilterProfileEntry 2}
	    	
     swL2MulticastFilterStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
             "This object indicates the status of this entry."
        ::= { swL2MulticastFilterProfileEntry 3 }    	
    	
-- ----------------------------------------------------------------------------    	
    swL2MulticastFilterProfileAddressTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterProfileAddressEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
 		" A table that contains information about multicast filter address."
     	::={swL2LimitedMulticastMgmt 2}

     swL2MulticastFilterProfileAddressEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterProfileAddressEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of multicast filter address information for each profile ID. "
	INDEX {swL2MulticastFilterProfileIdIndex,swL2MulticastFilterFromIp,swL2MulticastFilterToIp}
     	::={swL2MulticastFilterProfileAddressTable 1}

     SwL2MulticastFilterProfileAddressEntry ::=
     	SEQUENCE{
	swL2MulticastFilterProfileIdIndex
     		INTEGER,
     	swL2MulticastFilterFromIp
     		IpAddress,
     	swL2MulticastFilterToIp
     		IpAddress,	
     	swL2MulticastFilterAddressState
     		RowStatus
     	}

     swL2MulticastFilterProfileIdIndex OBJECT-TYPE
    	SYNTAX INTEGER(1..24)
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Indicates index for each profile."
	::={swL2MulticastFilterProfileAddressEntry 1}
	
     swL2MulticastFilterFromIp OBJECT-TYPE
    	SYNTAX IpAddress
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies the head IP address of a multicast address range which will
		be binded to a multicast filter profile."
	::={swL2MulticastFilterProfileAddressEntry 2}
	
     swL2MulticastFilterToIp OBJECT-TYPE
    	SYNTAX IpAddress
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies the tail IP address of a multicast address range which will
		be binded to a multicast filter profile."
	::={swL2MulticastFilterProfileAddressEntry 3}
	
    swL2MulticastFilterAddressState OBJECT-TYPE
    	SYNTAX RowStatus
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
		"This object indicates the status of this entry.
		Setting value to createAndGo(4) will add the multicast address list specified in
		swL2MulticastFilterFromIp and swL2MulticastFilterToIp to multicast filter profile.
		Setting value to destroy(6) will remove the multicast address list specified in
		swL2MulticastFilterFromIp and swL2MulticastFilterToIp from multicast filter profile."
	::={swL2MulticastFilterProfileAddressEntry 4}	
     		
-- ----------------------------------------------------------------------------
     swL2LimitedMulticastFilterPortTable  OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2LimitedMulticastFilterPortEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
 		" A table that used to bind port to profile id."
     	::={swL2LimitedMulticastMgmt 3}

     swL2LimitedMulticastFilterPortEntry OBJECT-TYPE
     	SYNTAX SwL2LimitedMulticastFilterPortEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of information that used to bind port to profile id. "
	INDEX {swL2LimitedMulticastFilterPortIndex}
     	::={swL2LimitedMulticastFilterPortTable 1}

     SwL2LimitedMulticastFilterPortEntry ::=
     	SEQUENCE{
	swL2LimitedMulticastFilterPortIndex
     		INTEGER,
     	swL2LimitedMulticastFilterPortProfileID
                DisplayString,
        swL2LimitedMulticastFilterPortAccess
        	INTEGER,
        swL2LimitedMulticastFilterPortProfileStatus
     		INTEGER
     	}

     swL2LimitedMulticastFilterPortIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies port as an index."
	::={swL2LimitedMulticastFilterPortEntry 1}

     swL2LimitedMulticastFilterPortAccess OBJECT-TYPE
     	SYNTAX INTEGER {
     		permit(1),
     		deny(2)
     		}
     	MAX-ACCESS read-write
     	STATUS current
     	DESCRIPTION
     		"This object indicates the access status for each port."
     	::= {swL2LimitedMulticastFilterPortEntry 2}
     	
     swL2LimitedMulticastFilterPortProfileID OBJECT-TYPE
    	SYNTAX DisplayString
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
		"This object specifies a profile ID list for each port."
	::={swL2LimitedMulticastFilterPortEntry 3}	
     	
     swL2LimitedMulticastFilterPortProfileStatus OBJECT-TYPE
    	SYNTAX INTEGER {
    		other(1),
    		add(2),
    		delete(3)
    		}
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
    		"Controls the multicast filter profile list which bind to each port.
		When set add(2), multicast filter profile ID list which specifies in
		swL2LimitedMulticastFilterPortProfileID will be bound to the port.
		When set delete(3), multicast filter profile ID list which specifies in
		swL2LimitedMulticastFilterPortProfileID will be unbound from the port.
		The attribute value reverts to 'other' once the action has been done."
	::={swL2LimitedMulticastFilterPortEntry 4}

-- ----------------------------------------------------------------------------    	
     swL2MulticastFilterPortMaxGroupTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterPortMaxGroupEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
 		" A table that contains information about max group number based on port."
     	::={swL2LimitedMulticastMgmt 4}

     swL2MulticastFilterPortMaxGroupEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterPortMaxGroupEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of max group number information for each port. "
	INDEX {swL2MulticastFilterPortMaxGroupPortIndex}
     	::={swL2MulticastFilterPortMaxGroupTable 1}

     SwL2MulticastFilterPortMaxGroupEntry ::=
     	SEQUENCE{
	swL2MulticastFilterPortMaxGroupPortIndex
     		INTEGER,
     	swL2MulticastFilterPortMaxGroup
     	        INTEGER	
     	}

     swL2MulticastFilterPortMaxGroupPortIndex OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
		"Specifies port number as table index."
	::={swL2MulticastFilterPortMaxGroupEntry 1}
    	
     swL2MulticastFilterPortMaxGroup OBJECT-TYPE
        SYNTAX  INTEGER(1..256)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
             "Specifies maximum multicast filter group numbers for each port.
             Default value is 256."
        ::= { swL2MulticastFilterPortMaxGroupEntry 2 }
        
-- -----------------------------------------------------------------------------
--        swL2QOSMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 6 }
-- -----------------------------------------------------------------------------

	swL2QOSBandwidthControlTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOSBandwidthControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 1 }
	
	swL2QOSBandwidthControlEntry OBJECT-TYPE
		SYNTAX  SwL2QOSBandwidthControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in the swL2QOSBandwidthControlTable."
		INDEX   { swL2QOSBandwidthPortIndex }
		::= { swL2QOSBandwidthControlTable 1 }
	
	SwL2QOSBandwidthControlEntry ::=
		SEQUENCE {
		  swL2QOSBandwidthPortIndex
		      INTEGER,
		  swL2QOSBandwidthRxRate
		      INTEGER,
		  swL2QOSBandwidthTxRate
		      INTEGER,   
		  swL2QOSBandwidthRadiusRxRate 
		      INTEGER,
		  swL2QOSBandwidthRadiusTxRate
		      INTEGER    
	      
		}
	
	swL2QOSBandwidthPortIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..768)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the port ."
		::= { swL2QOSBandwidthControlEntry 1 }
	
	swL2QOSBandwidthRxRate OBJECT-TYPE
		SYNTAX  INTEGER (64..1024001)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates RX Rate(64Kbit/sec) of the specified port. Value 1024001 means no limit."
		::= { swL2QOSBandwidthControlEntry 2 }
	
	swL2QOSBandwidthTxRate OBJECT-TYPE
		SYNTAX  INTEGER (64..1024001)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates TX Rate(64Kbit/sec) of the specified port. Value 1024001 means no limit."
		::= { swL2QOSBandwidthControlEntry 3 }	
	swL2QOSBandwidthRadiusRxRate OBJECT-TYPE
		SYNTAX  INTEGER 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The RxRate value comes from RADIUS server,
		       If an 802.1X port is authenticated, this value 
		       will overwrites the locally configured RxRate. "
		::= { swL2QOSBandwidthControlEntry 4 }	
	swL2QOSBandwidthRadiusTxRate OBJECT-TYPE
		SYNTAX  INTEGER 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The TxRate value comes from RADIUS server,
		       If an 802.1X port is authenticated, this value 
		       will overwrites the locally configured TxRate. "
		::= { swL2QOSBandwidthControlEntry 5 }			
	
-- -----------------------------------------------------------------------------
    
	swL2QOSSchedulingTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOSSchedulingEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 2 }
	
	swL2QOSSchedulingEntry OBJECT-TYPE
		SYNTAX  SwL2QOSSchedulingEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in the swL2QOSSchedulingTable."
		INDEX   { swL2QOSSchedulingClassIndex }
		::= { swL2QOSSchedulingTable 1 }
	
	SwL2QOSSchedulingEntry ::=
		SEQUENCE {
			swL2QOSSchedulingClassIndex
		    	INTEGER,
			swL2QOSSchedulingMaxPkts
		    	INTEGER,    
			swL2QOSSchedulingMechanism
		    	INTEGER
--			swL2QOSSchedulingMaxLatency
--				INTEGER    		
		}
	
	swL2QOSSchedulingClassIndex OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the hardware queue number."
		::= { swL2QOSSchedulingEntry 1 }
	
	swL2QOSSchedulingMaxPkts OBJECT-TYPE
		SYNTAX  INTEGER (0..255)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the maximum number of packets the hardware priority queue will be allowed
		      to transmit before allowing the next lowest priority queue  to transmit its packets.
		      a value between 0 and 15 can be specified."
		::= { swL2QOSSchedulingEntry 2 }	
		
	swL2QOSSchedulingMechanism OBJECT-TYPE
		SYNTAX	INTEGER {
               strict(1),
               roundrobin(2),
               weightfair(3)
               }
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the mechanism of QoS scheduling."
		::= { swL2QOSSchedulingEntry 3 }

--	swL2QOSSchedulingMaxLatency OBJECT-TYPE
--	    SYNTAX  INTEGER (0..255)
--	    MAX-ACCESS  read-write
--	    STATUS  current
--	    DESCRIPTION
--          "Indicates the maximum amount of time the hardware priority queue will be allowed
--           to transmit packets before allowing the next lowest priority queue to begin transmitting
--           its packets. A value between 0 and 255 can be specified- with this value multiplied
--           by 16 ms to arrive at the total allowed time for queue to transmit packets.
--           For example, a value of 3 specifies 316=48 ms. The queue will continue transmitting
--           the last packet until it is finished when the max_latency timer expires. "
--    	::= { swL2QOSSchedulingEntry 4}
    	
-- -----------------------------------------------------------------------------
    
	swL2QOS8021pUserPriorityTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOS8021pUserPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 3 }
	
	swL2QOS8021pUserPriorityEntry OBJECT-TYPE
		SYNTAX  SwL2QOS8021pUserPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in the swL2QOS8021pUserPriorityTable."
		INDEX   { swL2QOS8021pUserPriorityIndex }
		::= { swL2QOS8021pUserPriorityTable 1 }
	
	SwL2QOS8021pUserPriorityEntry ::=
		SEQUENCE {
		  swL2QOS8021pUserPriorityIndex
		      INTEGER,
		  swL2QOS8021pUserPriorityClass
		      INTEGER
		}
	
	swL2QOS8021pUserPriorityIndex OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The 802.1p user priority  ."
		::= { swL2QOS8021pUserPriorityEntry 1 }
	
	swL2QOS8021pUserPriorityClass OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The number of the switch's hardware priority queue. The switch has seven hardware 
		       priority queues available. They are numbered between 0 (the lowest priority)
		        and 6 (the highest priority)."
		::= { swL2QOS8021pUserPriorityEntry 2 }

-- -----------------------------------------------------------------------------
    
	swL2QOS8021pDefaultPriorityTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2QOS8021pDefaultPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "."
		::= { swL2QOSMgmt 4 }
	
	swL2QOS8021pDefaultPriorityEntry OBJECT-TYPE
		SYNTAX  SwL2QOS8021pDefaultPriorityEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in the swL2QOS8021pDefaultPriorityTable."
		INDEX   { swL2QOS8021pDefaultPriorityIndex }
		::= { swL2QOS8021pDefaultPriorityTable 1 }
	
	SwL2QOS8021pDefaultPriorityEntry ::=
		SEQUENCE {
		  swL2QOS8021pDefaultPriorityIndex
		      INTEGER,
		  swL2QOS8021pDefaultPriority
		      INTEGER,
		  swL2QOS8021pRadiusPriority
		      INTEGER
		}
	
	swL2QOS8021pDefaultPriorityIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..768)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the port number ."
		::= { swL2QOS8021pDefaultPriorityEntry 1 }
	
	swL2QOS8021pDefaultPriority OBJECT-TYPE
		SYNTAX  INTEGER (0..7)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "The priority value to assign to untagged packets received by the
		       switch ports on the switch.."
		::= { swL2QOS8021pDefaultPriorityEntry 2 }
       swL2QOS8021pRadiusPriority OBJECT-TYPE
		SYNTAX  INTEGER 
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "The value of 802.1p comes from RADIUS server.
		      If an 802.1X port is authenticated, this value 
		      will overwrite the local configured value."
		::= { swL2QOS8021pDefaultPriorityEntry 3 }
		
	swL2QOSSchedulingMechanismCtrl OBJECT-TYPE
		SYNTAX	INTEGER {
               strict(1),
               roundrobin(2),
               weightfair(3)
               }
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "This object controls QoS scheduling Mechanism."
		::= { swL2QOSMgmt 5 }	
	
--	swL2QOSHolPreventionCtrl OBJECT-TYPE
--		SYNTAX	INTEGER {
--               other(1),
--               disabled(2),
--               enabled(3)
--               }
--		MAX-ACCESS  read-write
--		STATUS  current
--		DESCRIPTION
--		      "Controls QoS HoL Prevention"
--		::= { swL2QOSMgmt 6 }		
		
-- -----------------------------------------------------------------------------
--        swL2PortSecurityMgmt      OBJECT IDENTIFIER ::= { swL2MgmtMIB 7 }
-- -----------------------------------------------------------------------------
	
	swL2PortSecurityControlTable OBJECT-TYPE
		SYNTAX  SEQUENCE OF SwL2PortSecurityControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A port security feature which controls the address leaning capability and      
		       traffic forwarding decisions. Each port can be enabled or disabled for this function.
		       When it is enabled and a number is given said N, which allows N addresses to be
		       learned on this port, the first N learned addresses are locked at this port as
		       static entries. When the learned addresses number reaches N, any incoming packet 
		       without learned source addresses are discarded (e.g. dropped) and no more new 
		       addresses can be learned on this port."
		::= { swL2PortSecurityMgmt 1 }
	
	swL2PortSecurityControlEntry OBJECT-TYPE
		SYNTAX  SwL2PortSecurityControlEntry
		MAX-ACCESS  not-accessible
		STATUS  current
		DESCRIPTION
		      "A list of information contained in the swL2PortSecurityControlTable."
		INDEX   { swL2PortSecurityPortIndex }
		::= { swL2PortSecurityControlTable 1 }
	
	SwL2PortSecurityControlEntry ::=
		SEQUENCE {
		  swL2PortSecurityPortIndex
		      INTEGER,
		  swL2PortSecurityMaxLernAddr
		      INTEGER,
		  swL2PortSecurityMode
		      INTEGER,
		  swL2PortSecurityAdmState
		      INTEGER,
		  swL2PortSecurityEntryClearCtrl
		      INTEGER
		}
	
	swL2PortSecurityPortIndex OBJECT-TYPE
		SYNTAX  INTEGER (1..768)
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
		      "Indicates the secured port to lock address learning."
		::= { swL2PortSecurityControlEntry 1 }
	
	swL2PortSecurityMaxLernAddr OBJECT-TYPE
		SYNTAX  INTEGER (0..64)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates allowable number of addresses to be learned on this port."
		::= { swL2PortSecurityControlEntry 2 }
	
	swL2PortSecurityMode OBJECT-TYPE
		SYNTAX  INTEGER {
		           other(1),
                   permanent(2),
                   deleteOnTimeout(3),
                   deleteOnReset(4)
		      }
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the mode of locking address.
		       In deleteOnTimeout(3) mode - the locked addresses can be aged out after 
		       the aging timer expires. In this mode, when the locked address is aged
		       out, the number of addresses that can be learned has to be		                                   increased by one.
		       In deleteOnReset(4) mode - Locked addresses never age out unless the system 
		       restarts which will prevent port movement or intrusion."
		::= { swL2PortSecurityControlEntry 3 }
	
	swL2PortSecurityAdmState OBJECT-TYPE
		SYNTAX  INTEGER {
		          other(1),
		          enable(2),
		          disable(3)
		      }
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates administration state of locking address."
		::= { swL2PortSecurityControlEntry 4 }
		
	swL2PortSecurityEntryClearCtrl  OBJECT-TYPE
		SYNTAX INTEGER  {
			other(1),
			start(2)
        		}
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"Used to clear port security entries by port.
			 Setting this value to 'start' will execute the clear action,
			 Once cleared, the value returns to 'other'."
        	::= { swL2PortSecurityControlEntry 5 }
        
-- -----------------------------------------------------------------------------

	swL2PortSecurityDelCtrl OBJECT IDENTIFIER ::= { swL2PortSecurityMgmt 2 }
	
	swL2PortSecurityDelVlanName OBJECT-TYPE
		SYNTAX	DisplayString (SIZE (0..32))  
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates VLAN name."
		::= { swL2PortSecurityDelCtrl 1 }	
	        
    swL2PortSecurityDelPort OBJECT-TYPE
		SYNTAX  INTEGER (1..768)
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
		      "Indicates the port."
		::= { swL2PortSecurityDelCtrl 2 }    
	
	swL2PortSecurityDelMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Specifies a MAC address."
        ::= { swL2PortSecurityDelCtrl 3 }   	
        
    swL2PortSecurityDelActivity  OBJECT-TYPE
		SYNTAX INTEGER  {
			none(1),
			start(2)
        }
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
			"."
        ::= { swL2PortSecurityDelCtrl 4 }    	
	
-- -----------------------------------------------------------------------------
	swL2PortSecurityTrapLogState OBJECT-TYPE
        	SYNTAX  INTEGER {
                    other(1),
                    enable(2),
                    disable(3)
                }
        	MAX-ACCESS  read-write
        	STATUS  current
        	DESCRIPTION
                "When enabled(2),whenever there's a new MAC address that violates 
                 the pre-defined port security configuration, traps will be sent out 
                 and the relevant information will be logged into the system."
            ::= { swL2PortSecurityMgmt 3 }
	
-- -----------------------------------------------------------------------------
--  swL2DhcpRelayMgmt        OBJECT IDENTIFIER ::= { swL2MgmtMIB 8 }
-- -----------------------------------------------------------------------------
    swL2DhcpRelayState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates if the DHCP relay function is enabled or 
            disabled."
        ::= { swL2DhcpRelayMgmt 1 }
        
    swL2DhcpRelayHopCount OBJECT-TYPE
        SYNTAX  INTEGER (1..16)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the maximum number of router hops that 
             DHCP packets can cross."
        ::= { swL2DhcpRelayMgmt 2 }
        
    swL2DhcpRelayTimeThreshold OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the minimum time in seconds within which
            the switch must relay the DHCP request. If this time is 
            exceeded, the switch will drop the DHCP packet."
        ::= { swL2DhcpRelayMgmt 3 }
    
    swL2DhcpRelayOption82State OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates if the DHCP relay agent information option 82 
            function is enabled or disabled."
        ::= { swL2DhcpRelayMgmt 4 }
    
    swL2DhcpRelayOption82Check OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates if the checking mechanism of DHCP relay agent 
            information option 82 is enabled or disabled."
        ::= { swL2DhcpRelayMgmt 5 }
        
    swL2DhcpRelayOption82Policy OBJECT-TYPE
        SYNTAX  INTEGER {
               replace(1),
               drop(2),
               keep(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the reforwarding policy of DHCP relay agent 
            information option 82.
            
            replace(1)  - replace the exiting option 82 field in messages.
            drop(2)     - discard messages with existing option 82 field.
            keep(3)     - retain the existing option 82 field messages."             
        ::= { swL2DhcpRelayMgmt 6 }

    swL2DhcpRelayCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2DhcpRelayCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifies the IP address as a destination to forward
            (relay) DHCP packets to."
        ::= { swL2DhcpRelayMgmt 7 }

    swL2DhcpRelayCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2DhcpRelayCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information that specifies the IP address as a destination
            to forward (relay) DHCP packets to."
        INDEX  { swL2DhcpRelayCtrlInterfaceName,  swL2DhcpRelayCtrlServer}
        ::= { swL2DhcpRelayCtrlTable 1 }

    SwL2DhcpRelayCtrlEntry ::= 
        SEQUENCE {
            swL2DhcpRelayCtrlInterfaceName
                DisplayString,
            swL2DhcpRelayCtrlServer
                IpAddress,
            swL2DhcpRelayCtrlState
                INTEGER    
        }

    swL2DhcpRelayCtrlInterfaceName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE(1..12))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The name of the IP interface."
        ::= { swL2DhcpRelayCtrlEntry 1 }
        
    swL2DhcpRelayCtrlServer OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS  read-only
        STATUS current
        DESCRIPTION
            "The DHCP server IP address."
        ::= { swL2DhcpRelayCtrlEntry 2 }

    swL2DhcpRelayCtrlState OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),
                    invalid(2),
                    valid(3)
                }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry.
 
            other(1) - this entry is currently in use but the conditions
                under which it will remain so are different from each of
                the following values.
            invalid(2) - writing this value to the object, and then the
                corresponding entry will be removed from the table.
            valid(3) - this entry resides in the table."
        ::= { swL2DhcpRelayCtrlEntry 3 }	
		

-- -----------------------------------------------------------------------------
--  swL2TrunkMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 9 }
-- -----------------------------------------------------------------------------

    swL2TrunkMaxSupportedEntries OBJECT-TYPE
        SYNTAX  INTEGER (0..5)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Maximum number of entries in the trunk configuration table
            (swL2TrunkCtrlTable)."
        ::= { swL2TrunkMgmt 1 }

    swL2TrunkCurrentNumEntries OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Current active number of entries in the trunk configuration
            table."
        ::= { swL2TrunkMgmt 2 }

    swL2TrunkCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrunkCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifies which ports group a set of ports(up to 8)
            into a single logical link."
        ::= { swL2TrunkMgmt 3 }

    swL2TrunkCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2TrunkCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information that specifies which ports group a set of 
            ports(up to 8) into a single logical link."
        INDEX  { swL2TrunkIndex }
        ::= { swL2TrunkCtrlTable 1 }

    SwL2TrunkCtrlEntry ::= 
        SEQUENCE {
            swL2TrunkIndex
                INTEGER,
--            swL2TrunkName
--                DisplayString,
            swL2TrunkMasterPort
                INTEGER,
            swL2TrunkMember
                PortList,
--            swL2TrunkFloodingPort
--                INTEGER,
            swL2TrunkType
                INTEGER,        
            swL2TrunkState
                RowStatus,
            swL2TrunkActivePort  
                PortList
        }

    swL2TrunkIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..5)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The index number of the logical port trunk group. The trunk group 
             number depends on the existence of unit and module."
        ::= { swL2TrunkCtrlEntry 1 }

--    swL2TrunkName OBJECT-TYPE
--        SYNTAX  DisplayString (SIZE (0..12))
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--            "The name of logical port trunk group."
--        ::= { swL2TrunkCtrlEntry 2 }


    swL2TrunkMasterPort OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "The object indicates the master port number of the port trunk
            entry. When using Port Trunk, you cannot configure the other 
            ports of the group except the master port.
            Their configuration must be same as the master port (e.g. speed,
            duplex, enabled/disabled, flow control, and so on)." 
        ::= { swL2TrunkCtrlEntry 3 }

    swL2TrunkMember OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Indicates the number of ports included in this Trunk group.
	     The trunk port number depends on the existence of the module.
             The maximum number of ports is 8 for one trunk group."
        ::= { swL2TrunkCtrlEntry 4 }

--    swL2TrunkFloodingPort OBJECT-TYPE
--        SYNTAX  INTEGER (1..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "The object indicates the flooding port number of the port trunk
--            entry. The first port of the Trunk group is implicitly configured to 
--            be the flooding port." 
--        ::= { swL2TrunkCtrlEntry 5 }
    
    swL2TrunkType OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
                static(2),
                lacp(3)
          	  }
       	MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "This object indicates the type of trunk group.
            static : is static trunk group
            lacp : is LACP trunk group . "   			
        ::= { swL2TrunkCtrlEntry 6 }          
    
    swL2TrunkState OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
             "This object indicates the status of this entry."
        ::= { swL2TrunkCtrlEntry 7 }
 
    swL2TrunkActivePort OBJECT-TYPE
       SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
       DESCRIPTION
            "The object indicates the active port of a special trunk group." 
        ::= { swL2TrunkCtrlEntry 8 }
 
 
 
 
        
    swL2TrunkAlgorithm OBJECT-TYPE
        SYNTAX  INTEGER {
                other(1),
--                mac-source(2),
--                mac-destination(3),
                mac-source-dest(4),
--                ip-source(5),
--                ip-destination(6),
                ip-source-dest(7)
            }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object configures to part of the packet examined by the 
            switch when selecting the egress port for transmitting 
            load-sharing data."
        ::= { swL2TrunkMgmt 4 }    	    

    swL2TrunkLACPPortTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrunkLACPPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifies which ports group a set of ports(up to 8)
            into a single logical link."
        ::= { swL2TrunkMgmt 5 }
        
    swL2TrunkLACPPortEntry   OBJECT-TYPE
        SYNTAX  SwL2TrunkLACPPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information specifies which ports group a set of 
            ports(up to 8) into a single logical link."
        INDEX  { swL2TrunkLACPPortIndex }
        ::= { swL2TrunkLACPPortTable 1 }

    SwL2TrunkLACPPortEntry ::= 
        SEQUENCE {
            swL2TrunkLACPPortIndex
                INTEGER,
            swL2TrunkLACPPortState
                INTEGER
        }

    swL2TrunkLACPPortIndex OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The index of logical port LACP. "
        ::= { swL2TrunkLACPPortEntry 1 }

    swL2TrunkLACPPortState OBJECT-TYPE
        SYNTAX  INTEGER{
                  active(1),
                  passive(2)
                  }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of logical port LACP."       
        ::= { swL2TrunkLACPPortEntry 2 }
    swL2TrunkVLANTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrunkVLANEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table is used to manage the VLAN trunking feature of the device."
        ::= { swL2TrunkMgmt 6 }        
        
    swL2TrunkVLANEntry   OBJECT-TYPE
        SYNTAX  SwL2TrunkVLANEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This object is used to configure the VLAN trunking settings for each port."
        INDEX  { swL2TrunkVLANPort }
        ::= { swL2TrunkVLANTable 1 }
        
     SwL2TrunkVLANEntry ::= 
        SEQUENCE {
            swL2TrunkVLANPort
                INTEGER,
            swL2TrunkVLANState
                INTEGER
        }

    swL2TrunkVLANPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port being configured."
        ::= { swL2TrunkVLANEntry 1 }

    swL2TrunkVLANState OBJECT-TYPE
        SYNTAX  INTEGER{
                  enabled(1),
                  disabled(2)
                  }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The state of the logical port LACP."       
        ::= { swL2TrunkVLANEntry 2 }          
        
-- -----------------------------------------------------------------------------
--  swPortMirrorPackage   	           OBJECT IDENTIFIER ::= { swL2MgmtMIB 10 }           
-- -----------------------------------------------------------------------------
	
	swL2MirrorLogicTargetPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates which switch port will sniff another 
	     port. A trunk port member cannot be configured as a target 
	     snooping port. The port number is the sequential (logical) 
 	     number which is also applied to the bridge MIB, etc."
        ::= { swL2MirrorMgmt 1 }

    swL2MirrorPortSourceIngress OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This represents the port where ingress packets will be sniffed."
        ::= { swL2MirrorMgmt 2 }
        
    swL2MirrorPortSourceEgress OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This represents the port where egress packets will be sniffed."
        ::= { swL2MirrorMgmt 3 }

    swL2MirrorPortState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the port mirroring state.
 
            other(1) - this entry is currently in use but the conditions 
                under which it will remain so are different from each of the
                following values.
            disabled(2) - After writing this value to the object, the
		corresponding entry will be removed from the table.
            enabled(3) - This entry resides in the table."
        ::= { swL2MirrorMgmt 4 }

        
-- -----------------------------------------------------------------------------
--  swL2IGMPMgmt            OBJECT IDENTIFIER ::= { swL2MgmtMIB 11 }
-- -----------------------------------------------------------------------------

    swL2IGMPMaxSupportedVlans OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Maximum number of VLANs in the layer 2 IGMP control table
            (swL2IGMPCtrlTable)."
        ::= { swL2IGMPMgmt 1 }

    swL2IGMPMaxIpGroupNumPerVlan OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "Maximum number of multicast IP groups per VLAN in the layer 2 
             IGMP information table(swL2IGMPQueryInfoTable)."
        ::= { swL2IGMPMgmt 2 }

--    swL2IGMPLastQueryIPAddr OBJECT-TYPE
--        SYNTAX  IpAddress
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the IP address of last sent IGMP query packet."
--        ::= { swL2IGMPMgmt 3 }

    swL2IGMPCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table controls the VLAN's IGMP function. Its scale depends
             on the current VLAN state (swL2VlanInfoStatus). If the VLAN is disabled, 
             there is only one entry in the table, with an index of 1. If the            
             VLAN is in Port-Base or 802.1q mode, the maximum number of entries can be 12, 
             with an index range from 1 to 12."
        ::= { swL2IGMPMgmt 3 }

    swL2IGMPCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The entry in IGMP control table (swL2IGMPCtrlTable). The entry
            is effective only when IGMP capture switch 
            (swL2DevCtrlIGMPSnooping) is enabled."
        INDEX  { swL2IGMPCtrlVid }
        ::= { swL2IGMPCtrlTable 1 }

    SwL2IGMPCtrlEntry ::= 
        SEQUENCE {
--            swL2IGMPCtrlIndex
--                INTEGER,
            swL2IGMPCtrlVid
                INTEGER,
            swL2IGMPQueryInterval
                INTEGER,
            swL2IGMPMaxResponseTime
                INTEGER,
            swL2IGMPRobustness
                INTEGER,
            swL2IGMPLastMemberQueryInterval
                INTEGER,
            swL2IGMPHostTimeout
                INTEGER,
            swL2IGMPRouteTimeout
                INTEGER,
            swL2IGMPLeaveTimer
                INTEGER,
            swL2IGMPQueryState
                INTEGER,
            swL2IGMPCurrentState
                INTEGER,
            swL2IGMPCtrlState
                INTEGER,
            swL2IGMPFastLeaveState
                INTEGER,
            swL2IGMPQueryVersion
                INTEGER
        }

--    swL2IGMPCtrlIndex OBJECT-TYPE
--        SYNTAX  INTEGER (1..12)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the IGMP control entry number. Its scale
--            depends on the current VLAN state (swL2VlanInfoStatus). If the 
--	      VLAN is disabled, there is only one entry in the table, with index 1.
--            If VLAN is in Port-Base or 802.1q mode, the maximum number of entries 
--	      is 12, with an index range from 1 to 12."
--        ::= { swL2IGMPCtrlEntry 1 }

    swL2IGMPCtrlVid OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the IGMP control entry's VLAN ID. If the VLAN
	     is disabled, the VID is always 0 and cannot be changed by management users. 
	     If the VLAN is in Port-Base mode, the VID is arranged from 1 to 12, in a 
	     fixed form. If the VLAN is in 802.1q mode, the VID setting can be changed 
	     from 1 to 4094 by the management user, and the VID in each entry must be 
	     unique within the IGMP Control Table."
        ::= { swL2IGMPCtrlEntry 1 }

    swL2IGMPQueryInterval OBJECT-TYPE
        SYNTAX INTEGER (1..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The frequency at which IGMP Host-Query packets are
             transmitted on this switch."
        DEFVAL      { 125 }
        ::= { swL2IGMPCtrlEntry 2 }
        
    swL2IGMPMaxResponseTime OBJECT-TYPE
        SYNTAX INTEGER (1..25)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The maximum query response time on this switch."
        DEFVAL      { 10 }
        ::= { swL2IGMPCtrlEntry 3 }
        
    swL2IGMPRobustness OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Robustness Variable allows tuning for the expected
             packet loss on a subnet. If a subnet is expected to be
             lossy, the Robustness Variable may be increased. IGMP is
             robust to (Robustness Variable-1) packet losses."
        DEFVAL      { 2 }
        ::= { swL2IGMPCtrlEntry 4 }

    swL2IGMPLastMemberQueryInterval OBJECT-TYPE
        SYNTAX INTEGER (1..25)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Last Member Query Interval is the Max Response Time
            inserted into Group-Specific Queries sent in response to
            Leave Group messages, and is also the amount of time between
            Group-Specific Query messages."
        DEFVAL      { 1 }
        ::= { swL2IGMPCtrlEntry 5 }
        
    swL2IGMPHostTimeout OBJECT-TYPE
        SYNTAX  INTEGER (1..16711450)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The timer value for sending IGMP query packets when none were 
            sent by the host on the LAN. The timer works on a per-VLAN basis. 
            Our device will be activated to send the query messages if the 
            timer expires. Please reference RFC2236-1997."
        DEFVAL  { 260 }
        ::= { swL2IGMPCtrlEntry 6 }

    swL2IGMPRouteTimeout OBJECT-TYPE
        SYNTAX  INTEGER (1..16711450)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "The Router Timeout is how long a host must wait after hearing 
            a Query before it may send any IGMPv2 messages."
        DEFVAL  { 260 }
        ::= { swL2IGMPCtrlEntry 7 }

    swL2IGMPLeaveTimer OBJECT-TYPE
        SYNTAX  INTEGER (1..16711450)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "When a querier receives a Leave Group message for a group that
            has group members on the reception interface, it sends
            Group-Specific Queries every swL2IGMPLeaveTimer to the group 
            being left."
        DEFVAL  { 1 }
        ::= { swL2IGMPCtrlEntry 8 }
    
    swL2IGMPQueryState OBJECT-TYPE
        SYNTAX INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object decides if the IGMP query is enabled or disabled."
        ::= { swL2IGMPCtrlEntry 9 }
        
    swL2IGMPCurrentState OBJECT-TYPE
        SYNTAX INTEGER {
               other(1),
               querier(2),
               non-querier(3)
               }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object indicates the current IGMP query state."
        ::= { swL2IGMPCtrlEntry 10 }
        
    swL2IGMPCtrlState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disable(2),
               enable(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of this entry.

            other(1) - this entry is currently in use but the conditions under
                which it will remain so are different from each of the following
                values.
            disable(2) - IGMP function is disabled for this entry.
            enable(3) -  IGMP function is enabled for this entry."
        ::= { swL2IGMPCtrlEntry 11 }
        
    swL2IGMPFastLeaveState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disable(2),
               enable(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the fast_leave status of this entry.

            other(1) - this entry is currently in use but the conditions under
                which it will remain so are different from each of the following
                values.
            disable(2) - IGMP fast-leave function is disabled for this entry.
            enable(3) -  IGMP fast-leave function is enabled for this entry."
        ::= { swL2IGMPCtrlEntry 12 }
        
     swL2IGMPQueryVersion OBJECT-TYPE
        SYNTAX  INTEGER (1..3)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Configure the IGMP version of query packet which will be sent by router."
        ::= { swL2IGMPCtrlEntry 13 }


    swL2IGMPQueryInfoTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPQueryInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table contains the number current IGMP query packets which
            are captured by this device, as well as the IGMP query packets
            sent by the device."
        ::= { swL2IGMPMgmt 4 }

    swL2IGMPQueryInfoEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPQueryInfoEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about current IGMP query information, provided that
            swL2DevCtrlIGMPSnooping and swL2IGMPCtrState of the associated VLAN
            entry are all enabled."
        INDEX  { swL2IGMPInfoVid }
        ::= { swL2IGMPQueryInfoTable 1 }

    SwL2IGMPQueryInfoEntry ::= 
        SEQUENCE {
--            swL2IGMPInfoIndex
--                INTEGER,
            swL2IGMPInfoVid
                INTEGER,
            swL2IGMPInfoQueryCount
                INTEGER,
            swL2IGMPInfoTxQueryCount
                INTEGER
        }

--    swL2IGMPInfoIndex OBJECT-TYPE
--        SYNTAX  INTEGER (1..12)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the IGMP query information entry 
--            number. It could be up to 12 entries, depending on the current 
--            number of VLAN entries."
--        ::= { swL2IGMPQueryInfoEntry 1 }

    swL2IGMPInfoVid OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of associated IGMP info table
            entry. It follows swL2IGMPCtrlVid in the associated entry of 
            IGMP control table (swL2IGMPCtrlTable)."
        ::= { swL2IGMPQueryInfoEntry 1 }

    swL2IGMPInfoQueryCount OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the number of query packets received 
            since the IGMP function was enabled, on a per-VLAN basis."
        ::= { swL2IGMPQueryInfoEntry 2 }

    swL2IGMPInfoTxQueryCount OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the send count of IGMP query messages, in
            per-VLAN basis. In case of IGMP timer expiration, the switch
            sends IGMP query packets to related VLAN member ports and
            increment this object by 1."
        ::= { swL2IGMPQueryInfoEntry 3 }
       
-- -----------------------------------------------------------------------------
--  swL2IGMPRouterPortTable	OBJECT IDENTIFIER ::= { swL2IGMPMgmt 6 }        
-- -----------------------------------------------------------------------------              
    swL2IGMPRouterPortTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPRouterPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The information of the router port table."
        ::= { swL2IGMPMgmt 6 }

    swL2IGMPRouterPortEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPRouterPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The entry of swL2IGMPRouterPortTable."
        INDEX  { swL2IGMPRouterPortVlanid }
        ::= { swL2IGMPRouterPortTable 1 }

    SwL2IGMPRouterPortEntry ::= 
        SEQUENCE {
            swL2IGMPRouterPortVlanid
                INTEGER,
            swL2IGMPRouterPortVlanName
                DisplayString,
            swL2IGMPRouterPortStaticPortList
                PortList,
            swL2IGMPRouterPortDynamicPortList
                PortList,
            swL2IGMPRouterPortForbiddenPortList
                PortList
        }
        
    swL2IGMPRouterPortVlanid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN ID of the router port entry."
        ::= { swL2IGMPRouterPortEntry 1 }
        
    swL2IGMPRouterPortVlanName OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..32))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VLAN name of the router port entry."
        ::= { swL2IGMPRouterPortEntry 2 }   
            
    swL2IGMPRouterPortStaticPortList OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the static portlist of the router port entry."
        ::= { swL2IGMPRouterPortEntry 3 }   

    swL2IGMPRouterPortDynamicPortList OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the dynamic portlist of the router port entry."
        ::= { swL2IGMPRouterPortEntry 4 }      

    swL2IGMPRouterPortForbiddenPortList OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the forbidden portlist of the router port entry."
        ::= { swL2IGMPRouterPortEntry 5 } 

-- -----------------------------------------------------------------------------
--  swL2IGMPMulticastVlanTable	OBJECT IDENTIFIER ::= { swL2IGMPMgmt 7 }        
-- -----------------------------------------------------------------------------
--    swL2IGMPMulticastVlanTable OBJECT-TYPE
--        SYNTAX  SEQUENCE OF SwL2IGMPMulticastVlanEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "The information of the IGMP snooping multicast VLAN table."
--        ::= { swL2IGMPMgmt 7 }
        
--    swL2IGMPMulticastVlanEntry OBJECT-TYPE
--        SYNTAX  SwL2IGMPMulticastVlanEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "The entry of swL2IGMPMulticastVlanTable."
--        INDEX  { swL2IGMPMulticastVlanid}
--        ::= { swL2IGMPMulticastVlanTable 1 }

--    SwL2IGMPMulticastVlanEntry ::=
--        SEQUENCE {
--            swL2IGMPMulticastVlanid
--                INTEGER,
--            swL2IGMPMulticastVlanName
--                DisplayString,
--            swL2IGMPMulticastVlanSourcePort
--                PortList,
--            swL2IGMPMulticastVlanMemberPort
--                PortList,
--            swL2IGMPMulticastVlanTagMemberPort
--            	PortList,
--            swL2IGMPMulticastVlanState
--            	INTEGER,
--            swL2IGMPMulticastVlanReplaceSourceIp
--            	IpAddress,
--            swL2IGMPMulticastVlanRowStatus
--                RowStatus,
--            swL2IGMPMulticastVlanRemoveAllMcastAddrListAction
--            	INTEGER
--        }
        
--    swL2IGMPMulticastVlanid OBJECT-TYPE
--        SYNTAX  INTEGER (2..4094)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the VLAN ID of the IGMP snooping multicast
--             VLAN entry."
--        ::= { swL2IGMPMulticastVlanEntry 1 }

--    swL2IGMPMulticastVlanName OBJECT-TYPE
--        SYNTAX  DisplayString (SIZE (0..32))
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the VLAN name of the IGMP snooping multicast
--             VLAN entry."
--        ::= { swL2IGMPMulticastVlanEntry 2 }
            
--    swL2IGMPMulticastVlanSourcePort OBJECT-TYPE
--        SYNTAX  PortList
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object indicate the portlist of the source ports of IGMP
--             snooping multicast VLAN. The source ports will be set as tag ports
--             of the VLAN entry. And the IGMP control messages received from the
--             member ports would be forwarded to the source ports. "
--        ::= { swL2IGMPMulticastVlanEntry 3 }

--    swL2IGMPMulticastVlanMemberPort OBJECT-TYPE
--        SYNTAX  PortList
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object indicate the portlist of the member ports of the IGMP
--             snooping multicast VLAN. The source ports will be set as untagged ports
--             of the VLAN entry. And the IGMP control messages received from the
--             member ports would be forwarded to the source ports. "
--        ::= { swL2IGMPMulticastVlanEntry 4 }
        
--    swL2IGMPMulticastVlanTagMemberPort OBJECT-TYPE
--        SYNTAX  PortList
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "This object indicate the portlist of the tag member ports of IGMP
--             snooping multicast VLAN."
--        ::= { swL2IGMPMulticastVlanEntry 5 }
    		
--    swL2IGMPMulticastVlanState OBJECT-TYPE
--        SYNTAX  INTEGER{
--        	enabled(1),
--        	disabled(2)
--        	}
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            " This object can be enabled or disabled IGMP_snooping multicast VLAN."
--        ::= { swL2IGMPMulticastVlanEntry 6 }
            
--    swL2IGMPMulticastVlanReplaceSourceIp OBJECT-TYPE
--    	SYNTAX  IpAddress
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "The replace source IP of this multicast vlan."
--        ::= { swL2IGMPMulticastVlanEntry 7 }
        
--    swL2IGMPMulticastVlanRowStatus OBJECT-TYPE
--        SYNTAX  RowStatus
--        MAX-ACCESS  read-create
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the status of this entry."
--        ::= { swL2IGMPMulticastVlanEntry 8 }
        
--    swL2IGMPMulticastVlanRemoveAllMcastAddrListAction OBJECT-TYPE
--    	SYNTAX INTEGER {
--    		other(1),
--    		start(2)
--    	}
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--    		"This object indicates if remove all the multicast address
--    		list from the IGMP multicast VLAN or not."
--    	::= { swL2IGMPMulticastVlanEntry 9 }
    	
-- -----------------------------------------------------------------------------
--  swL2IGMPMulticastVlanGroupTable	OBJECT IDENTIFIER ::= { swL2IGMPMgmt 8 }
-- -----------------------------------------------------------------------------   
--    swL2IGMPMulticastVlanGroupTable OBJECT-TYPE
--        SYNTAX  SEQUENCE OF SwL2IGMPMulticastVlanGroupEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "The table containing the IGMP snooping multicast VLAN group information"
--        ::= { swL2IGMPMgmt 8 }

--    swL2IGMPMulticastVlanGroupEntry OBJECT-TYPE
--        SYNTAX  SwL2IGMPMulticastVlanGroupEntry
--        MAX-ACCESS  not-accessible
--        STATUS  current
--        DESCRIPTION
--            "Information about current IGMP snooping multicast VLAN group."
--        INDEX  { swL2IGMPMulticastVlanGroupVid,swL2IGMPMulticastVlanGroupFromIp,swL2IGMPMulticastVlanGroupToIp }
--        ::= { swL2IGMPMulticastVlanGroupTable 1 }

--    SwL2IGMPMulticastVlanGroupEntry ::=
--        SEQUENCE {
--            swL2IGMPMulticastVlanGroupVid
--                INTEGER,
--            swL2IGMPMulticastVlanGroupFromIp
--                IpAddress,
--            swL2IGMPMulticastVlanGroupToIp
--                IpAddress,
--           swL2IGMPMulticastVlanGroupStatus
--                RowStatus
--        }
    
--    swL2IGMPMulticastVlanGroupVid	OBJECT-TYPE
--	SYNTAX  INTEGER (0..65535)
--        MAX-ACCESS  read-only
--        STATUS  current
--        DESCRIPTION
--            "This object indicates the Vid of IGMP snooping multicast VLAN group."
--        ::= { swL2IGMPMulticastVlanGroupEntry 1 }
    
--    swL2IGMPMulticastVlanGroupFromIp	OBJECT-TYPE
--    	SYNTAX      IpAddress
--    	MAX-ACCESS  read-only
--    	STATUS      current
--    	DESCRIPTION
--       		"Specifies the multicast address list for this VLAN."
--    	::= { swL2IGMPMulticastVlanGroupEntry 2  }
    		
--    swL2IGMPMulticastVlanGroupToIp	OBJECT-TYPE
--    	SYNTAX      IpAddress
--    	MAX-ACCESS  read-only
--    	STATUS      current
--    	DESCRIPTION
--       		"Specifies the multicast address list for this VLAN."
--    	::= { swL2IGMPMulticastVlanGroupEntry 3  }
    	
--    swL2IGMPMulticastVlanGroupStatus	OBJECT-TYPE
--        SYNTAX   RowStatus
--        MAX-ACCESS read-create
--        STATUS   current
--        DESCRIPTION
--        	"This object indicates the status of this entry."		
--       ::= { swL2IGMPMulticastVlanGroupEntry 4 }


        
-- swIGMPSnoopingGroupTable          OBJECT IDENTIFIER ::= { swL2IGMPMgmt 11 }
-- -----------------------------------------------------------------------------
    swIGMPSnoopingGroupTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwIGMPSnoopingGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "The table contains the current IGMP snooping group information captured by
            the device."
        ::= { swL2IGMPMgmt 11 }

    swIGMPSnoopingGroupEntry OBJECT-TYPE
        SYNTAX  SwIGMPSnoopingGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "Information about the current IGMP snooping group information which has been captured by
            the device."
        INDEX  { swIGMPSnoopingGroupVid , swIGMPSnoopingGroupGroupAddr , swIGMPSnoopingGroupSourceAddr}
        ::= { swIGMPSnoopingGroupTable 1 }

    SwIGMPSnoopingGroupEntry ::=
        SEQUENCE {
            swIGMPSnoopingGroupVid
                INTEGER,
            swIGMPSnoopingGroupGroupAddr
                IpAddress,
            swIGMPSnoopingGroupSourceAddr
                IpAddress,
            swIGMPSnoopingGroupIncludePortMap
                PortList,
            swIGMPSnoopingGroupExcludePortMap
                PortList,
            swIGMPSnoopingGroupReportCount
            	INTEGER,
            swIGMPSnoopingGroupUpTime
            	TimeTicks,
            swIGMPSnoopingGroupExpiryTime
            	TimeTicks,
            swIGMPSnoopingGroupRouterPorts
            	PortList            	
        }

    swIGMPSnoopingGroupVid OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the VID of the individual IGMP snooping group table entry."
        ::= { swIGMPSnoopingGroupEntry 1 }

    swIGMPSnoopingGroupGroupAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object identifies the group IP address which has been captured from
            the IGMP packet, on a per-VLAN basis."
        ::= { swIGMPSnoopingGroupEntry 2 }

    swIGMPSnoopingGroupSourceAddr OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object identifies the source addresses."
        ::= { swIGMPSnoopingGroupEntry 3 }

    swIGMPSnoopingGroupIncludePortMap OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port list under INCLUDE mode."
        ::= { swIGMPSnoopingGroupEntry 4 }

    swIGMPSnoopingGroupExcludePortMap OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port list under EXCLUDE mode."
        ::= { swIGMPSnoopingGroupEntry 5 }
        
    swIGMPSnoopingGroupReportCount OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates how many report packets were received by our
 		device corresponding with this entry that has the IGMP function enabled,
 		on a per-group basis."
        ::= { swIGMPSnoopingGroupEntry 6 }

    swIGMPSnoopingGroupUpTime OBJECT-TYPE
        SYNTAX  TimeTicks
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates how long since the group was detected."
        ::= { swIGMPSnoopingGroupEntry 7 }
        
    swIGMPSnoopingGroupExpiryTime OBJECT-TYPE
        SYNTAX  TimeTicks
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the time left before this group will be aged out."
        ::= { swIGMPSnoopingGroupEntry 8 }
        
    swIGMPSnoopingGroupRouterPorts OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the port number of the router ports."
        ::= { swIGMPSnoopingGroupEntry 9 }

-- -----------------------------------------------------------------------------
--  swL2IGMPDynIpMultMgmt    OBJECT IDENTIFIER ::= { swL2IGMPMgmt 12  }
-- -----------------------------------------------------------------------------
swL2IGMPDynIpMultMgmt    OBJECT IDENTIFIER ::= { swL2IGMPMgmt 12 }

    swL2IGMPDynIPMultMaxEntry OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object specifies the maximum number of entries which can be learned by dynamic IP multicast"
        ::= { swL2IGMPDynIpMultMgmt 1 }


    swL2IGMPDynIPMultCtrlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPDynIPMultCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table is used to manage the IGMP dynamic IP multicast."
        ::= { swL2IGMPDynIpMultMgmt 3 }

    swL2IGMPDynIPMultCtrlEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPDynIPMultCtrlEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of manageable entities for IGMP dynamic IP multicast."
        INDEX  { swL2IGMPCtrlVid }
        ::= { swL2IGMPDynIPMultCtrlTable 1 }

    SwL2IGMPDynIPMultCtrlEntry ::=
        SEQUENCE {
        	swL2IGMPDynIPMultVlanState
        		INTEGER,
        	swL2IGMPDynIPMultVlanAge
        		INTEGER
--        	swL2IGMPDynIPMultGroupExpiryTime
--        		INTEGER		
        }
    swL2IGMPDynIPMultVlanState OBJECT-TYPE
        SYNTAX  INTEGER{
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object is used to disable or enable the dynamic IP multicast feature in this VLAN."
        ::= { swL2IGMPDynIPMultCtrlEntry 1 }

     swL2IGMPDynIPMultVlanAge OBJECT-TYPE
        SYNTAX  INTEGER{
               enabled(1),
               disabled(2)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object is used to enable or disable aging on the dynamic IP multicast entry in this VLAN."
        ::= { swL2IGMPDynIPMultCtrlEntry 2 }

--    swL2IGMPDynIPMultGroupExpiryTime OBJECT-TYPE
--        SYNTAX  INTEGER (0..65535)
--        MAX-ACCESS  read-write
--        STATUS  current
--       DESCRIPTION
--           "This object indicates the dynamic IP multicast Group Expiry Time."
--       ::= { swL2IGMPDynIPMultCtrlEntry 3  }

---------------------------------------------------------------------
--  swL2IGMPAccessAuthTable       OBJECT IDENTIFIER ::= { swL2IGMPMgmt 20 }
---------------------------------------------------------------------
    swL2IGMPAccessAuthTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2IGMPAccessAuthEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table is used to manage the IGMP Access Authentication
            configurations of the device."
        ::= { swL2IGMPMgmt 20 }

    swL2IGMPAccessAuthEntry OBJECT-TYPE
        SYNTAX  SwL2IGMPAccessAuthEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of manageable entities for IGMP Access Authentication.
            The configuration is done per port."
        INDEX  { swL2IGMPAccessAuthPort }
        ::= { swL2IGMPAccessAuthTable 1 }

    SwL2IGMPAccessAuthEntry ::=
        SEQUENCE {
        	swL2IGMPAccessAuthPort
        		INTEGER,
        	swL2IGMPAccessAuthState
        		INTEGER
        }

   swL2IGMPAccessAuthPort OBJECT-TYPE
      SYNTAX INTEGER (0..65535)
       MAX-ACCESS read-only
       STATUS current
       DESCRIPTION
           "The index of the swL2IGMPAccessAuthTable.
           This object corresponds to the port being configured."
       ::= { swL2IGMPAccessAuthEntry 1 }

   swL2IGMPAccessAuthState OBJECT-TYPE
      SYNTAX INTEGER {
               other(1),
               disable(2),
               enable(3)
		}
       MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
           "This object denotes the status of IGMP Access Authentication of the port."
       ::= { swL2IGMPAccessAuthEntry 2 }
        
-- -----------------------------------------------------------------------------
--  swL2TrafficMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 12 }
-- -----------------------------------------------------------------------------

-- -----------------------------------------------------------------------------
--  swL2TrafficSegMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 14 }
-- -----------------------------------------------------------------------------
	 swL2TrafficSegTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF SwL2TrafficSegEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table specifies that the port can just forward traffic to the 
            specific port list."
        ::= { swL2TrafficSegMgmt 1 }

    swL2TrafficSegEntry OBJECT-TYPE
        SYNTAX  SwL2TrafficSegEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "A list of information which specifies the port with its traffic 
            forwarding list."
        INDEX  { swL2TrafficSegPort }
        ::= { swL2TrafficSegTable 1 }

    SwL2TrafficSegEntry ::= 
        SEQUENCE {
            swL2TrafficSegPort
                INTEGER,
            swL2TrafficSegForwardPorts
                PortList
        }

    swL2TrafficSegPort OBJECT-TYPE
        SYNTAX  INTEGER (0..65535)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "The port number of the logical port."
        ::= { swL2TrafficSegEntry 1 }
        
    swL2TrafficSegForwardPorts OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "The port list to which the specific port can forward traffic."
        ::= { swL2TrafficSegEntry 2 }
  
  
-- -----------------------------------------------------------------------------
--  swL2StpMgmt                 OBJECT IDENTIFIER ::= { swL2MgmtMIB 15 }
-- -----------------------------------------------------------------------------

-- -----------------------------------------------------------------------------
--        swL2CosMgmt               OBJECT IDENTIFIER ::= { swL2MgmtMIB 16 }
-- -----------------------------------------------------------------------------

-- ----------------------------------------------------------------------------
--  swL2MulticastFilterMode	OBJECT IDENTIFIER ::= { swL2MgmtMIB 17 }
-- ----------------------------------------------------------------------------
     swL2MulticastFilterModeVlanTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2MulticastFilterModeVlanEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
		" A table that contains information about VLAN multicast filter mode."
	::={swL2MulticastFilterMode 1}
     
     swL2MulticastFilterModeVlanEntry OBJECT-TYPE
     	SYNTAX SwL2MulticastFilterModeVlanEntry
     	MAX-ACCESS not-accessible
     	STATUS current
     	DESCRIPTION
     		"A list of multicast filter mode information for each VLAN. "
     	INDEX {swL2MulticastFilterVid}
     	::={swL2MulticastFilterModeVlanTable 1}
     
     SwL2MulticastFilterModeVlanEntry ::=
     	SEQUENCE{
     	swL2MulticastFilterVid
     		INTEGER,
     	swL2MulticastFilterVlanMode
     		INTEGER
     	}
 
     swL2MulticastFilterVid OBJECT-TYPE
    	SYNTAX INTEGER(1..65535)
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
    		"Indicates VID for each VLAN."
	::={swL2MulticastFilterModeVlanEntry 1}
	
    swL2MulticastFilterVlanMode OBJECT-TYPE
    	SYNTAX INTEGER{
--    	forward_all_groups(1),
    	forward-unregistered-groups(2),
    	filter-unregistered-groups(3)
    	} 
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
    		"Specifies multicast filter mode for each VLAN."
    	::={swL2MulticastFilterModeVlanEntry 2}
    
-- ----------------------------------------------------------------------------    	
--    	swL2MulticastFilterModePortTable OBJECT-TYPE
--     	SYNTAX SEQUENCE OF SwL2MulticastFilterModePortEntry
--     	MAX-ACCESS not-accessible
--     	STATUS current
--     	DESCRIPTION
--		" A table that contains information about port multicast filter mode."
--     ::={swL2MulticastFilterMode 2}
--     
--     swL2MulticastFilterModePortEntry OBJECT-TYPE
--     	SYNTAX SwL2MulticastFilterModePortEntry
--     	MAX-ACCESS not-accessible
--     	STATUS current
--     	DESCRIPTION
--     		"A list of multicast filter mode information for each port. "
--	INDEX {swL2MulticastFilterPortIndex}
--     	::={swL2MulticastFilterModePortTable 1}
--     
--     SwL2MulticastFilterModePortEntry ::=
--     	SEQUENCE{
--	swL2MulticastFilterPortIndex
--     		INTEGER,
--     	swL2MulticastFilterPortMode
--     		INTEGER
--     	}
-- 
--     swL2MulticastFilterPortIndex OBJECT-TYPE
--    	SYNTAX INTEGER(1..65535)
--    	MAX-ACCESS read-only
--    	STATUS current
--    	DESCRIPTION
--		"Specifies the port number."
--	::={swL2MulticastFilterModePortEntry 1}
--	
--     swL2MulticastFilterPortMode OBJECT-TYPE
--    	SYNTAX INTEGER{
--    		forward-all-groups(1),
--    		forward-unregistered-groups(2),
--    		filter-unregistered-groups(3)
--    	} 
--    	MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--		"Specifies multicast filter mode for each port."
--    	::={swL2MulticastFilterModePortEntry 2} 	
  
-- ----------------------------------------------------------------------------
--  swL2LoopDetectMgmt           OBJECT IDENTIFIER ::= { swL2MgmtMIB 18 }
-- ----------------------------------------------------------------------------

    swL2LoopDetectCtrl           OBJECT IDENTIFIER ::= { swL2LoopDetectMgmt 1 }

    swL2LoopDetectAdminState OBJECT-TYPE
        SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the loopback detection status for the system."
        ::= { swL2LoopDetectCtrl 1 }

    swL2LoopDetectInterval OBJECT-TYPE
        SYNTAX      INTEGER (1..32767)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the interval value, the range is from 1 to 32767 seconds."
        ::= { swL2LoopDetectCtrl 2 }

    swL2LoopDetectRecoverTime OBJECT-TYPE
        SYNTAX      INTEGER (0..1000000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the recover time, the range is from 60 to 1000000.
             The value of 0 disables the recover function."
        ::= { swL2LoopDetectCtrl 3 }

    swL2LoopDetectMode OBJECT-TYPE
        SYNTAX      INTEGER {
                       vlan-based(1),
                       port-based(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the loopback detection mode for the system."
        ::= { swL2LoopDetectCtrl 4 }

    swL2LoopDetectTrapMode OBJECT-TYPE
        SYNTAX      INTEGER {
                       none(1),
                       loop-detected(2),
                       loop-cleared(3),
                       both(4)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the loopback detection trap mode for the system."
        ::= { swL2LoopDetectCtrl 5 }
            
-- ----------------------------------------------------------------------------
    swL2LoopDetectPortMgmt       OBJECT IDENTIFIER ::= { swL2LoopDetectMgmt 2 }

    swL2LoopDetectPortTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF SwL2LoopDetectPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table specifies the loopback detection function specified by port."
        ::= { swL2LoopDetectPortMgmt 1 }

    swL2LoopDetectPortEntry OBJECT-TYPE
        SYNTAX      SwL2LoopDetectPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The table specifies the loopback detection function specified by port."
        INDEX  { swL2LoopDetectPortIndex }
        ::= { swL2LoopDetectPortTable 1 }

    SwL2LoopDetectPortEntry ::=
        SEQUENCE {
            swL2LoopDetectPortIndex
                INTEGER,
            swL2LoopDetectPortState
                INTEGER,
            swL2LoopDetectPortLoopVLAN
                DisplayString,
            swL2LoopDetectPortLoopStatus
                INTEGER
        }

    swL2LoopDetectPortIndex OBJECT-TYPE
        SYNTAX      INTEGER (1..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the module's port number. The range is from 1 to
             the maximum port number specified in the module"
        ::= { swL2LoopDetectPortEntry 1 }

    swL2LoopDetectPortState OBJECT-TYPE
        SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object indicates the loopback detection function state on the port."
        ::= { swL2LoopDetectPortEntry 2 }

    swL2LoopDetectPortLoopVLAN OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the VLAN list that has detected a loopback."
        ::= { swL2LoopDetectPortEntry 3 }

    swL2LoopDetectPortLoopStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                       normal(1),
                       loop(2),
                       error(3),
                       none(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the port status."
        ::= { swL2LoopDetectPortEntry 4 }
         
-- -----------------------------------------------------------------------------
--  Layer 2  Trap
-- -----------------------------------------------------------------------------
     
        
	swL2Notify	OBJECT IDENTIFIER ::= { swL2MgmtMIBTraps 1 }  
	  
	swL2NotifyMgmt		OBJECT IDENTIFIER ::= { swL2Notify 1 }  
	swL2NotifyPrefix	OBJECT IDENTIFIER ::= { swL2Notify 2 }  
	
	swL2NotifFirmware OBJECT IDENTIFIER ::= { swL2NotifyPrefix 0 }  
	

	
-- -----------------------------------------------------------------------------
--	swL2NotifyMgmt
-- -----------------------------------------------------------------------------
--    swL2macNotificationSeverity OBJECT-TYPE
--        SYNTAX  AgentNotifyLevel 
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicate the level of  macNotification detection."
--        ::= { swL2NotifyMgmt 1 }
        
--    swL2PortSecurityViolationSeverity OBJECT-TYPE
--        SYNTAX  AgentNotifyLevel 
--        MAX-ACCESS  read-write
--        STATUS  current
--        DESCRIPTION
--            "Indicate the level of PortSecurityViolation detection."
--        ::= { swL2NotifyMgmt 2 }         
 

-- -----------------------------------------------------------------------------
--	swL2NotifFirmware OBJECT IDENTIFIER ::= { swL2NotifyPrefix 0 }
-- -----------------------------------------------------------------------------
    swL2macNotification NOTIFICATION-TYPE
        OBJECTS {
              		swL2macNotifyInfo
        		}
        STATUS  current        		
        DESCRIPTION
            " This trap indicates the MAC addresses variation in address table . "            
        ::= { swL2NotifFirmware 1 }	

    swL2PortSecurityViolationTrap NOTIFICATION-TYPE
        OBJECTS { 
        			swL2PortSecurityPortIndex,
        		  	swL2PortSecurityViolationMac        					
                }        
        STATUS  current
        DESCRIPTION
            "When the port_security trap is enabled, new MAC addresses that violate 
            the pre-defined port security configuration will trigger trap messages 
            to be sent out."             
        ::= { swL2NotifFirmware 2 }  

    swL2PortLoopOccurred  NOTIFICATION-TYPE
        OBJECTS {
                    swL2LoopDetectPortIndex
                }
        STATUS current
        DESCRIPTION
               "The trap is sent when a Port loop occurs."
        ::={ swL2NotifFirmware 3 }

    swL2PortLoopRestart  NOTIFICATION-TYPE
        OBJECTS {
                    swL2LoopDetectPortIndex
                }
        STATUS current
        DESCRIPTION
              "The trap is sent when a Port loop restarts after the interval time."
        ::={ swL2NotifFirmware 4 }

    swL2VlanLoopOccurred  NOTIFICATION-TYPE
        OBJECTS {
                    swL2LoopDetectPortIndex,
                    swL2VlanLoopDetectVID
                }
        STATUS current
        DESCRIPTION
               "The trap is sent when a Port with a VID loop occurs."
        ::={ swL2NotifFirmware 5 }

    swL2VlanLoopRestart NOTIFICATION-TYPE
        OBJECTS {
                    swL2LoopDetectPortIndex,
                    swL2VlanLoopDetectVID
                }
        STATUS current
        DESCRIPTION
               "The trap is sent when a Port with a VID loop restarts after the interval time."
        ::={ swL2NotifFirmware 6 }
      
-- -----------------------------------------------------------------------------
--	notificationBidings
-- -----------------------------------------------------------------------------
	 
    swl2NotificationBidings OBJECT IDENTIFIER ::= { swL2NotifyPrefix 1 }
                
    swL2macNotifyInfo   OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE (0..1024))
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object indicates the last time reboot information."
        ::= { swl2NotificationBidings 1 }
       
    swL2PortSecurityViolationMac OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  accessible-for-notify
        STATUS  current
        DESCRIPTION
            "This object indicates the MAC address that violates the port security configuration."
        ::= { swl2NotificationBidings 2 } 
    
    swL2VlanLoopDetectVID OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS  accessible-for-notify
        STATUS current
        DESCRIPTION
             "This object indicates the VID that detected a loopback."
        ::= { swl2NotificationBidings 3 }    
          
-- ********************************************************************
--  swL2DhcpLocalRelayMgmt        OBJECT IDENTIFIER ::= { swL2MgmtMIB 24 }
-- ********************************************************************
    swL2DhcpLocalRelayState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of the DHCP local relay 
            function of the switch."
        ::= { swL2DhcpLocalRelayMgmt 1 }

        
	swL2DhcpLocalRelayVLANTable OBJECT-TYPE
     	SYNTAX SEQUENCE OF SwL2DhcpLocalRelayVLANEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION 
	 		"This table is used to manage the DHCP local relay status 
	 		for each VLAN."
	    ::={ swL2DhcpLocalRelayMgmt 2}
	     
	    swL2DhcpLocalRelayVLANEntry OBJECT-TYPE
	    SYNTAX SwL2DhcpLocalRelayVLANEntry
	    MAX-ACCESS not-accessible
	    STATUS current
	    DESCRIPTION
	    	"This object lists the current VLANs in the switch and their
	    	corresponding DHCP local relay status."
		INDEX { swL2DhcpLocalRelayVLANID }
	    ::={ swL2DhcpLocalRelayVLANTable 1 }
     
     SwL2DhcpLocalRelayVLANEntry ::=
     SEQUENCE{
		swL2DhcpLocalRelayVLANID
     		INTEGER,
     	swL2DhcpLocalRelayVLANState
     	    INTEGER	
     }
 
    swL2DhcpLocalRelayVLANID OBJECT-TYPE
        SYNTAX  INTEGER (1..4094)
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
            "This object shows the VIDs of the current VLANS in the switch."
        ::= { swL2DhcpLocalRelayVLANEntry 1 }     
     
    swL2DhcpLocalRelayVLANState OBJECT-TYPE
        SYNTAX  INTEGER {
               other(1),
               disabled(2),
               enabled(3)
               }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "This object indicates the status of the DHCP relay function 
            of the VLAN."
        ::= { swL2DhcpLocalRelayVLANEntry 2 }
     

END
